Archiv verlassen und diese Seite im Standarddesign anzeigen : Zwei Tabellen verbinden
Helveticus
09-11-2012, 15:56
Hallo
Ich habe wieder ein kleines Latex Problem. Und zwar würde ich gerne eine Grafik wie im Anhang erstellen. Das sind ja eigentlich zwei separate Tabellen. Mit den Linien dazwischen habe ich aber grosse Probleme (gestrichelte Linie muss nicht sein, durchgezogene reicht).
Hat da vielleicht jemand gerade ein flinkes Händchen und könnte ein Beispiel für die ersten 3 Einträge oder so erstellen?
Thanks and have a nice weekend.
Ich denke nicht, dass das in einer Tabelle machbar ist. Ich würde es als Graphik in Inkscape zeichnen und als Bild einbinden. Alternativ könnte man es mit tikz oder so sicher auch direkt in LaTeX zeichnen.
Wenn du es trotzdem als Tabelle im Tabellenverzeichnis haben willst, geht das mit captionof{table}{TEXT}---mit KOMA-Klassen ohne zusätzliches Paket, sonst mit \usepackage{caption}.
Helveticus
09-11-2012, 16:59
Genau, ich dachte mit Tikz. Da habe ich auch schon Matrixen gemacht (dank dem Forum hier). Aber bei der Grafik hier habe ich Probleme.
Als Ansatz vllt
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[%
BK/.style={rectangle, very thin, minimum width=25mm, minimum height=5mm, draw=black!75},
IT/.style={BK, font=\itshape}%
]
\matrix[row sep=0mm, column sep=25mm]{%
\node{File N}; & \node{File O};\\
\node{Array NA}; & \node{Array OA};\\
\node(na-begin)[IT]{BEGIN}; & \node(oa-begin)[IT]{BEGIN};\\
\node(na-a)[BK]{A}; & \node[BK]{MUCH};\\
\node(na-mass)[BK]{MASS}; & \node[BK]{WRITING};\\
\node(na-of)[BK]{OF}; & \node[BK]{IS};\\
\node[BK]{LATIN}; & \node(oa-like)[BK]{LIKE};\\
\node(na-words)[BK]{WORDS}; & \node(oa-snow)[BK]{SNOW};\\
\node(na-falls)[BK]{FALLS}; & \node(oa-Colon)[BK]{,};\\
\node(na-upon)[BK]{UPON}; & \node(oa-a)[BK]{A};\\
\node(na-the)[BK]{THE}; & \node(oa-mass)[BK]{MASS};\\
\node(na-relevant)[BK]{RELEVANT}; & \node(oa-of)[BK]{OF};\\
\node(na-facts)[BK]{FACTS}; & \node[BK]{LONG};\\
\node(na-like)[BK]{LIKE}; & \node(oa-words)[BK]{WORDS};\\
\node(na-soft)[BK]{SOFT}; & \node[BK]{AND};\\
\node(na-snow)[BK]{SNOW}; & \node[BK]{PHRASES};\\
\node(na-Colon)[BK]{,}; & \node(oa-falls)[BK]{FALLS};\\
\node(na-covering)[BK]{COVERING}; & \node(oa-upon)[BK]{UPON};\\
\node(na-up)[BK]{UP}; & \node(oa-the)[BK]{THE};\\
\node(na-theII)[BK]{THE}; & \node(oa-relevant)[BK]{RELEVANT};\\
\node(na-details)[BK]{DETAILS}; & \node(oa-facts)[BK]{FACTS};\\
\node(na-Period)[BK]{.}; & \node(oa-covering)[BK]{COVERING};\\
\node(na-end)[IT]{END}; & \node(oa-up)[BK]{UP};\\
& \node(oa-theII)[BK]{THE};\\
& \node(oa-details)[BK]{DETAILS};\\
& \node(oa-Period)[BK]{.};\\
& \node(oa-end)[IT]{END};\\
};
\draw (na-begin.east) -- (oa-begin.west);
\draw (na-a.east) -- (oa-a.west);
\draw (na-mass.east) -- (oa-mass.west);
\draw (na-of.east) -- (oa-of.west);
\draw (na-words.east) -- (oa-words.west);
\draw (na-falls.east) -- (oa-falls.west);
\draw (na-upon.east) -- (oa-upon.west);
\draw[dashed] (na-the.east) -- (oa-the.west);
\draw (na-relevant.east) -- (oa-relevant.west);
\draw (na-facts.east) -- (oa-facts.west);
\draw (na-like.east) -- (oa-like.west);
\draw (na-snow.east) -- (oa-snow.west);
\draw (na-Colon.east) -- (oa-Colon.west);
\draw (na-covering.east) -- (oa-covering.west);
\draw (na-up.east) -- (oa-up.west);
\draw[dashed] (na-theII.east) -- (oa-theII.west);
\draw (na-details.east) -- (oa-details.west);
\draw (na-Period.east) -- (oa-Period.west);
\draw (na-end.east) -- (oa-end.west);
\end{tikzpicture}
\end{document}
MfG
Helveticus
09-11-2012, 21:49
Wow, tausend Dank. Genau sowas habe ich gesucht. Du bist mein Held.
Hallo,
mit \usetikzlibrary{matrix} und \foreach lässt sich das noch ein wenig verkürzen:
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}[%
BK/.style={very thin, minimum width=25mm, minimum height=5mm, draw,anchor=center},
IT/.style={BK, font=\itshape}%
]
\matrix[matrix of nodes,row sep=0mm,column sep=25mm,nodes=BK]{%
|[draw=none]|File N &|[draw=none]|File O\\
|[draw=none]|Array NA & |[draw=none]|Array OA\\
|(na-begin)[IT]|BEGIN & |(oa-begin)[IT]|BEGIN\\
|(na-a)|A & MUCH\\
|(na-mass)|MASS & WRITING\\
|(na-of)|OF & IS\\
LATIN & |(oa-like)|LIKE\\
|(na-words)|WORDS & |(oa-snow)|SNOW\\
|(na-falls)|FALLS & |(oa-Colon)|,\\
|(na-upon)|UPON & |(oa-a)|A\\
|(na-the)|THE & |(oa-mass)|MASS\\
|(na-relevant)|RELEVANT & |(oa-of)|OF\\
|(na-facts)|FACTS & LONG\\
|(na-like)|LIKE & |(oa-words)|WORDS\\
|(na-soft)|SOFT & AND\\
|(na-snow)|SNOW & PHRASES\\
|(na-Colon)|, & |(oa-falls)|FALLS\\
|(na-covering)|COVERING & |(oa-upon)|UPON\\
|(na-up)|UP & |(oa-the)|THE\\
|(na-theII)|THE & |(oa-relevant)|RELEVANT\\
|(na-details)|DETAILS & |(oa-facts)|FACTS\\
|(na-Period)|. & |(oa-covering)|COVERING\\
|(na-end)[IT]|END & |(oa-up)|UP\\
& |(oa-theII)|THE\\
& |(oa-details)|DETAILS\\
& |(oa-Period)|.\\
& |(oa-end)[IT]|END\\
};
\foreach \i in {%
begin,a,mass,of,words,falls,upon,relevant,facts,li ke,snow,Colon,%
covering,up,details,Period,end}{%
\draw(na-\i.east)--(oa-\i.west);}
\foreach \i in {the,theII}{\draw[dashed](na-\i.east)--(oa-\i.west);}
\end{tikzpicture}
\end{document}
Gruß
Elke
Helveticus
09-11-2012, 22:16
Ein Problem besteht noch und zwar erscheinen gewisse horizontale Linien dicker als andere und teilweise gibt es auch einen Abstand zwischen den Linien. Siehe Screenshot im Anhang. Kann man das irgendwie noch ausmerzen?
Hallo,
versuchs mal mit etwas vergrößerter minimum height der Noden und einem row sep, der gleich minus der halben line width ist:
...
\begin{tikzpicture}[%
BK/.style={line width=0.3pt,minimum width=25mm, minimum height=5.5mm, draw,anchor=center,outer sep=0pt},
IT/.style={BK, font=\itshape}%
]
\matrix[matrix of nodes,row sep=-0.15pt,column sep=25mm,nodes=BK]{%
...
Gruß
Elke
Helveticus
09-11-2012, 22:40
Vielen Dank. Die Abstände zwischen den Linien sind verschwunden. Allerdings sind die dickeren und dünneren Linien leider immer noch da. Komisch ist auch, dass wenn ich reinzoome oder rauszoome sich dann die Linien ändern, also es werden dann plötzlich andere Linien dicker und andere wieder dünner.
Dann wird es wohl bloß ein Darstellungsproblem sein. Ist das in jedem pdf-Betrachter so? Sind die Linien im Druck gleich dick?
Im SumatraPDF Reader sah es normal aus, im Adobe Reader habe ich den gleichen Effekt.
Mit dem folgenden Code stellt es bei mir auch der Adobe richtig dar:
...
\begin{tikzpicture}[%
BK/.style={very thin,minimum width=25mm, minimum height=5.5mm, draw,anchor=center},
IT/.style={BK, font=\itshape}%
]
\matrix[matrix of nodes,row sep=-0.5\pgflinewidth,column sep=25mm,nodes=BK]{%
...
Gruß
Elke
Helveticus
10-11-2012, 14:48
Vielen Dank, jetzt sieht es super aus. Dafür ist ein neues Problem aufgetaucht. Die obersten 2 Elemente befinden sich jetzt auch in der Tabelle. Siehe Screenshot. Es ist der Code von rais.
Edit: Habs selber mit |[draw=none]| wie es esdd in ihrem Beispiel gemacht hat, hinbekommen.
Vielen Dank für die tolle Hilfe hier. *Daumen hoch*
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.