PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle: vertikaler Pfeil über mehrere Zeilen



Zizibee
09-03-2009, 09:34
Hallo zusammen,

ich will bei einer Tabelle einen vertikalen Pfeil über mehrere Zeilen machen. Die Zellen sind verbunden und die Trennstriche habe ich auch rausbekommen, nur ist der Pfeil leider nur so hoch wie eine Zelle und geht nicht über alle zusammengefügten Zellen.

Hier jetzt mal ein Beispiel, wie ich das versucht habe und wo man (hoffentlich) das Problem sieht.

\documentclass[11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{multirow} % vertikal Zellen in Tabelle verbinden

\begin{document}
\begin{table}[htbp]
\centering
\begin{tabular}{||c|c||}
\hline
\multicolumn{2}{||c||}{\begin{large}\textbf{Übersc hrift}\end{large}}\\
\hline \hline
\textbf{Zeit} &
\textbf{Zeitverlauf} \\
\hline
5:31 & \multirow{3}{2,3cm}{\centering$\downarrow$} \\
\cline{1-1}
6:24 & \\
\cline{1-1}
8:18 & \\
\hline
\end{tabular}
\end{table}
\end{document}


Der Pfeil rechts sollte über drei Zeilen gehen, geht aber nur über eine. Wie bekomme ich den länger?

Schonmal vielen Dank!

edico
09-03-2009, 18:35
Du kannst pst-tricks benutzen:



\documentclass[paper=a5,pagesize,11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{multirow} % vertikal Zellen in Tabelle verbinden

\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{pst-node}
\def\nodeCell#1{\pnode{#1}}

\begin{document}
%\begin{table}[htbp]
\centering
\begin{tabular}{|c|c|}\hline
\multicolumn{2}{|c|}{\begin{large}\textbf{Überschr ift}\end{large}}\\\hline
\textbf{Zeit} & \textbf{Zeitverlauf} \\\hline
% 5:31 & \multirow{3}{2,3cm}{\centering$\downarrow$}\\\clin e{1-1}
5:31 & \nodeCell{22}\\%\cline{1-1}
6:24 & \\%\cline{1-1}
8:18 & \nodeCell{52} \\\hline
\end{tabular}
%\end{table}
\ncline[arrows=->,linewidth=1pt,linecolor=black]{22}{52}
\end{document}


Wenn nicht, musst du dich halt mit 'pgf' auseinander setzen.

edico

Zizibee
10-03-2009, 07:58
Danke erstmal, sieht genau so aus, wie ich es haben wollte :)

Aber ist das nicht etwas overkill, wenn ich extra für einen Pfeil ps-tricks verwende? Muss ich dann nicht auch erst alle meine JPG-Bilder umformatieren, um zuerst das DVI erstellen zu können?

So wie es aussieht, sollte ich mich wohl doch mal da reinarbeiten...

edico
10-03-2009, 08:32
... Nun ist mir noch eine Alternative unter pdfTeX eingefallen, so dass du deine alte source und die jpgs benutzen kannst.



...
5:31 & \multirow{3}{2,3cm}{%
\centering\resizebox{12pt}{!}{$\downarrow$}}\\\cli ne{1-1}
...


Dabei wird das graphicx package vorausgesetzt.

edico

Zizibee
10-03-2009, 13:08
Danke sehr, die Lösung finde ich echt gut! :)
Ich werde dann auch nachlesen, was die resizebox genau ist und wozu man die benutzen kann.

Zizibee
11-03-2009, 09:22
Ich hätte da doch noch ein kleines Problem, mein Mimimalbeispiel war wohl etwas zu minimal...
Zur besseren Übersichtlichkeit von größeren Tabellen habe ich es mir angewöhnt jede zweite Zeile grau zu hinterlegen. Dummerweise setzt er jetzt den Pfeil und danach die nächsten grauen Hintergründe darüber, anstatt in den Hintergrund. So wird dann ein Teil des Pfeiles verdeckt...


\documentclass[11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage{multirow} % vertikal Zellen in Tabelle verbinden
\usepackage{graphicx} % Einbinden von Graphiken
\usepackage{colortbl} % farbiger Tabellenhintergrund

\begin{document}
\begin{table}[htbp]
\centering
\begin{tabular}{||c|c||}
\hline
\multicolumn{2}{||c||}{\begin{large}\textbf{Übersc hrift}\end{large}}\\
\hline \hline
\textbf{Zeit} &
\textbf{Zeitverlauf} \\
\hline \rowcolor[gray]{0.90}
5:31 & \multirow{3}{2,3cm}{%
\centering\resizebox{12pt}{!}{$\downarrow$}}\\\cli ne{1-1}
6:24 & \\
\cline{1-1} \rowcolor[gray]{0.90}
8:18 & \\
\hline
\end{tabular}
\end{table}
\end{document}

Hätte da vielleicht auch noch jemand eine Idee? Zur Not werde wohl das große Feld mit dem Pfeil weiß lassen müssen...

edico
11-03-2009, 13:42
Es ist schon eine Krux mit den Tabellen - hier aber gerade auch dewegen, weil du keine Tabellen, sondern Kästchengraphiken bauen willst. Man kann sicherlich streiten, was gut lesbar, graphisch schön usw. ist. Auf alle Fälle ist z.B. tabsatz.pdf (solltest du dies nicht kennen) eine lohnende Dokumentation zu lesen, wie man sinnvoll Tabellen setzen kann. Ich bin nicht sehr angetan davon, sowohl farbige Zeilen als auch dann noch horizontale Linien zu zeichnen; dass vertikale Linien verpönt sind, sagen auch andere ...

Wenn du gleichwohl dein Ansinnen weiter verfolgen willst, dann musst du die Tabelle 2-mal zeichnen (auch wegen der Linien, die von der Hintergrundfarbe überlagert wird, was du an deiner Tabelle vorbildlich sehen kannst - ein scheussliches Gebilde - so wie man es auf alle Fälle nicht machen sollte): also zunächst die Tabelle mit den Hintergrundfarben, dann die Tabelle mit den Inhalten/Linien und hier jetzt auch noch mit dem ARROW oben auf!



...
%\usepackage{colortbl} % farbiger Tabellenhintergrund, besser:
\usepackage[table]{xcolor}
\usepackage{array}
....
\color{white}
\arrayrulecolor{black}
\begin{tabular}{cc}
\multicolumn{2}{c}{\large\textbf{Überschrift}}\\
\textbf{Zeit} & \textbf{Zeitverlauf} \\
\rowcolor[gray]{0.90}& \multirow{3}{2,3cm}{}\\
& \\
\rowcolor[gray]{0.90}& \\
\end{tabular}\color{black}\makebox[0pt][r]{\begin{tabular}{c|c}\hline
% ACHTUNG: \end{tabular} und \begin{tabular} in _e i n e r_ Zeile
\multicolumn{2}{c}{\large\textbf{Überschrift}}\\\h line%\hline
\textbf{Zeit} & \textbf{Zeitverlauf} \\\hline
5:31 & \multirow{3}{2,3cm}{%
\centering\resizebox{12pt}{!}{$\downarrow$}}\\%\cl ine{1-1}
6:24 & \\%\cline{1-1}
8:18 & \\\hline
\end{tabular}}
...


Ich habe deine Tabelle auf ein Minimum abgespeckt ...

edico

Zizibee
11-03-2009, 13:56
Man kann sicherlich streiten, was gut lesbar, graphisch schön usw. ist. Auf alle Fälle ist z.B. tabsatz.pdf (solltest du dies nicht kennen) eine lohnende Dokumentation zu lesen, wie man sinnvoll Tabellen setzen kann. Ich bin nicht sehr angetan davon, sowohl farbige Zeilen als auch dann noch horizontale Linien zu zeichnen; dass vertikale Linien verpönt sind, sagen auch andere ...

Eine Tabelle ohne vertikale Linien? Kann ich mir gerade gar nicht vorstellen ;)
Werd ich aber gleich mal ausprobieren, wie das aussieht. Du würdest also entweder horizontale Linien oder Hintergrundfarbe machen? Naja, etwas überladen sehen meine Tabellen vielleicht schon aus, vor allem da sie meistens sehr klein sind...

Ich werd hier mal noch etwas mit dem Designe rumspielen.

Auf jeden Fall vielen Dank für deine Hilfe!

mechanicus
11-03-2009, 14:01
Hallo,

was edico mit tabsatz meinte:
http://userpage.fu-berlin.de/~latex/Materialien/tabsatz.pdf

Gruß
Marco