Hallo! Ich hätte gerne eine zweispaltige Querformatseite (DIN A5), mit mehreren Textboxen; wegen der Flexibilität am besten mit TikZ. Vom Prinzip her, etwa so: Wie setze ich das am besten um? Bei mir scheint einiges / alles schiefzugehen :( Hinweis: Für den Textteil habe ich eine Parbox verwendet; das muß nicht sein. Eine node wäre sogar besser, weil der Text auch noch eine Hintergrundformatierung erhalten soll (mit backgrounds). Open in writeLaTeX
\documentclass[a5paper, landscape]{scrbook} \usepackage{multicol} \setlength{\columnseprule}{0.1pt} \usepackage{lipsum} \usepackage{tikz} \usetikzlibrary{shadows, fit, matrix, positioning, backgrounds} \newcommand{\Text}{%% \parbox[b]{0.5\columnwidth}{\lipsum[66]} }%% \newcommand{\Bild}{%% \rule{4cm}{5cm} }%% \begin{document} \begin{multicols}{2} \begin{tikzpicture} \matrix (m) [% align=left, matrix of nodes, nodes in empty cells, draw=blue, inner sep=2mm, minimum height=7mm, minimum width=0.5\columnwidth, ] {% \Text & \Bild \\ }; \end{tikzpicture} Wieso bin ich jetzt hier \end{multicols} \end{document} gefragt 31 Okt '14, 16:06 cis
Ergebnis 5 von 7
show 2 more comments
|
Es gibt leider keine gescheite Möglichkeit die breite einer TikZ-Matrix auf eine bestimmte Breite zu beschränken. Daher ist das beste was ich anbieten kann eine Open in writeLaTeX
\documentclass{article} \usepackage[a5paper,landscape]{geometry} \usepackage{multicol} \setlength{\columnseprule}{0.1pt} \usepackage{lipsum} \usepackage{tikz} \usetikzlibrary{matrix,backgrounds} \tikzset{ text image box/.style={ text width=.4\columnwidth, align=left, matrix of nodes, nodes in empty cells, draw=#1, inner sep=2mm, every node/.append style={anchor=north}, }, text image box/.default=blue, } \begin{document} \begin{multicols}{2} \centering \begin{tikzpicture} \matrix (m) [text image box] {% Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula eget, interdum id, facilisis et, nibh. & \rule{\linewidth}{2cm} \\ }; \end{tikzpicture} \begin{tikzpicture} \matrix (m) [text image box=red] {% Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula eget, interdum id, facilisis et, nibh. & \rule{\linewidth}{4cm} \\ }; \end{tikzpicture} \begin{tikzpicture} \matrix (m) [text image box=green] {% Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula eget, interdum id, facilisis et, nibh. & \rule{\linewidth}{1cm} \\ }; \end{tikzpicture} \begin{tikzpicture} \matrix (m) [text image box=purple] {% Nunc sed pede. Praesent vitae lectus. Praesent neque justo, vehicula eget, interdum id, facilisis et, nibh. & \rule{\linewidth}{3cm} \\ }; \end{tikzpicture} \end{multicols} \end{document} beantwortet 20 Dez '14, 22:34 Henri |
Dein Bild und Deine parbox sind zu breit für die vorhandene Spaltenbreite, da die Matrix mehr als
2*0.5\columnwidth
Platz einnimmt und 4cm mehr als.5\columnwidth
ist. Der Rest des Textes ist vermutlich in der zweiten Spalte, weilmulticol
versucht, die beiden Spalten auszubalancieren, wenn sie nicht eine ganze Seite füllen.Ich denke eh, es wäre besser zwei nodes in einer node (der blaue Kasten, dieser muß einheitliche Breite haben) zu verschachteln. Aber ich weiß gerade nicht, wie man das richtig macht. Die Lib matrix war nur eine Idee.
Keine Antwort, aber... vielleicht wäre das
tcolorbox
-Paket was für Dich hierDas könnnte gehen. Ich weiß immer nicht, ob tcolorbox oder mdframed besser ist. Ich versuche es mal.
@cis
mdframed
natürlich, beide Autoren sind hier angemeldet ;-)Auswahlhilfen:
framed
ormdframed
? (Pros/Cons) und What are the relative strong and weak points betweentcolorbox
andmdframed
?Andererseits kann man bei mdframed einen Style
myStyle
definieren und verwenden, das geht bei tcolorbox nur aufwendigmakeatletter
- ohje... was eine Qual, diese Wahl!Andererseits sehe ich bei mdframed grad kein Bsp. für Zeugs neben-einander, also denke ich tcolorbox ist die richtige Wahl.