Seite 1 von 2

Tabelle in Tabelle mit senkrechten Pfeilen

Verfasst: Do 15. Jul 2010, 13:27
von Sheila
Hallo zusammen!

Habe Probleme mit folgnder Tabelle:
\documentclass[12pt,draft]{scrreprt}
\usepackage{setspace}		
\usepackage[T1]{fontenc}	
\usepackage[latin1]{inputenc} 
\usepackage[ngerman]{babel}
\usepackage{longtable}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{dcolumn}
\usepackage{array}
\usepackage{booktabs}
\usepackage[belowskip=12pt]{caption}
\usepackage{colortbl}
\usepackage{amsfonts}
\usepackage{amsmath}		
\usepackage{url}
\usepackage[numbers]{natbib}

\begin{document}
\setlength\extratabsurround{5pt}

\begin{tabular}{|ccc|}
\firsthline
Top & & High\\
& \begin{tabular}[t]{|c|} \firsthline 
			Privileged Creditors	 \\
			\hline
			Secured Creditors \\
			\hline
			Unsecured Creditors \\
			\hline
			Subordinated Creditors \\
			\hline
			Shareholders \\\lasthline 
			\end{tabular}   & \\\lasthline 
Bottom & &Low \\
\end{tabular}

\end{document}
Ich hätte gerne noch zwei senkrechte Pfeile eingebaut: Zum einen zwischen Top und Bottom (Top <--> Bottom) mit der Pfeilüberschrift "Priority Ranking" und zum anderen zwischen High und Low (High <--> Low) mit der Pfeilüberschrift "Recovery". Ich habe zwar im Internet nach Lösungsvorschlägen recherchiert, aber leider nichts dazu gefunden! Bin für jeden Tipp dankbar!!

Viele Grüsse!

Verfasst: Mo 26. Jul 2010, 23:30
von Sheila
Keiner eine Idee?

Verfasst: Di 27. Jul 2010, 08:54
von KOMA
Irgendwie mit TikZ, in der Richtung:
\documentclass[12pt,draft]{scrreprt}
\usepackage[T1]{fontenc}  
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\setlength\extratabsurround{5pt}

\begin{tikzpicture}
\matrix[draw,column sep=0pt,row sep=0pt]
{%
\node(top){Top}; & & \node(high){High};\\
& \node{ \begin{tabular}[t]{|c|} \firsthline
         Privileged Creditors    \\
         \hline
         Secured Creditors \\
         \hline
         Unsecured Creditors \\
         \hline
         Subordinated Creditors \\
         \hline
         Shareholders \\\lasthline
         \end{tabular} }; & \\
\node(bottom){Bottom}; & & \node(low){Low}; \\
};
\draw [<->,red,thick] (top.center) -- (bottom.center);
\draw [<->,red,thick] (high.center) -- (low.center);
\end{tikzpicture}

\end{document}

Verfasst: Di 27. Jul 2010, 10:48
von Sheila
Vielen Dank für Deine Antwort, Koma. Das sieht schon mal sehr gut aus :)

Hab nun die Beschriftung noch reingemacht. Leider ist diese waagerecht, obwohl ich sie gerne senkrecht hätte. Kann man da noch irgendwas machen?
\documentclass[12pt,draft]{scrreprt}
\usepackage{setspace}		
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage[belowskip=12pt]{caption}
\usepackage{colortbl, booktabs}
\usepackage{amsfonts}
\usepackage{amsmath}	
\usepackage{tikz} 
\usetikzlibrary{matrix} 
\def\nodeCell#1{\pnode{#1}}
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont} 

\begin{document}
\setlength\extratabsurround{5pt} 
\begin{tikzpicture}[auto]
\matrix[draw,column sep=0pt,row sep=0pt] 
{% 
\node(top){Top}; & & \node(high){High};\\ 
& \node{ 

\begin{tabular}[t]{|c|} \firsthline 
         Privileged Creditors    \\ 
         \hline 
         Secured Creditors \\ 
         \hline 
         Unsecured Creditors \\ 
         \hline 
         Subordinated Creditors \\ 
         \hline 
         Shareholders \\\lasthline 
         \end{tabular} }; & \\ 
\node(bottom){Bottom}; & & \node(low){Low}; \\ 
}; 
\draw [<->,black,thick] (top) -- (bottom) node [midway] {Priority Ranking}; 
\draw [<->,black,thick] (high) -- (low)  node [midway] {Recovery Expectations}; 
\end{tikzpicture} 
\end{document}

Verfasst: Di 27. Jul 2010, 13:36
von KOMA
Probier mal die Eigenschaft sloped bei den entsprechenden Text-Nodes, also
\draw [<->,black,thick] (top) -- (bottom) node [midway,sloped] {Priority Ranking};
\draw [<->,black,thick] (high) -- (low)  node [midway,sloped] {Recovery Expectations};
Probiert habe ich es nicht, ich muss nämlich dringend weg. Näheres ist im pgfmanual bei der Erklärung zu \node zu finden.

Verfasst: Di 27. Jul 2010, 17:22
von Sheila
Danke! Habs nun mit
\draw [shorten <=10pt,<->,black,thick, shorten >=10pt] (top) -- (bottom) node [midway, rotate=90, above] {Priority Ranking}; 
\draw [shorten <=10pt, <->,black,thick, shorten >=10pt] (high) -- (low)  node [midway, rotate=90, below] {Recovery Expectations}; 
hinbekommen. Das einzige, was mir noch nicht so gut gefällt ist, dass der rechte Pfeil mit dem Text so nah an dem rechten Tabellenrand ist. Hätte gern mehr Platz, so dass der Abstand des linken und des rechten Pfeils zu den Tabellenrändern gleich ist. Wie könnte man das machen?

Verfasst: Do 26. Aug 2010, 21:32
von Sheila
Hat vielleicht jemand eine Idee, wie man das Problem mit der Breite lösen könnte? Bin für jeden Tipp dankbar!

Verfasst: Fr 27. Aug 2010, 12:54
von Nerd 032F
Wenn ich Dein Problem richtig verstehe, musst Du doch nur die beiden Nodes high und low etwas weiter nach rechts schieben. Das geht einfach, indem man den Node mit der inneren Tabelle breiter macht, also beispielsweise nach \end{tabular} noch ein \hspace*{.5em} o. ä. einfügt. Oder geht das nicht?

Verfasst: Fr 27. Aug 2010, 17:52
von Sheila
Danke für den Tipp. Hab etwas rumprobiert, aber leider nichts vernünftiges rausbekommen. Sonst noch jemand eine Idee?

Verfasst: Fr 27. Aug 2010, 18:24
von esdd
Hallo,

Du den Nodes in der Matrix eine Mindestbreite zuordnen. Wenn diese breiter ist als Dein längstes Wort, sind alle Noden gleich breit und damit der Pfeilabstand von den Tabellenrändern auch.
\documentclass{scrreprt} 

\usepackage{colortbl, booktabs} 
\usepackage{tikz} 
\usetikzlibrary{matrix} 

\begin{document} 
\setlength\extratabsurround{5pt} 
\begin{tikzpicture}[auto] 
\matrix(m)[matrix of nodes,draw,column sep=0pt,row sep=10pt,nodes={minimum width=1.5cm}] 
{% 
Top & & High\\ 
&
\begin{tabular}[t]{|c|} \firsthline 
         Privileged Creditors    \\ 
         \hline 
         Secured Creditors \\ 
         \hline 
         Unsecured Creditors \\ 
         \hline 
         Subordinated Creditors \\ 
         \hline 
         Shareholders \\\lasthline 
\end{tabular} & \\ 
Bottom & & Low \\ 
}; 
\draw [shorten <=10pt,<->,black,thick, shorten >=10pt] (m-1-1) -- (m-3-1) node [midway, rotate=90, above] {Priority Ranking}; 
\draw [shorten <=10pt, <->,black,thick, shorten >=10pt] (m-1-3) -- (m-3-3)  node [midway, rotate=90, below] {Recovery Expectations}; 
\end{tikzpicture} 
\end{document} 
Ich habe row sep gleich 10pt gesetzt, weil bei mir Recovery Expectations sonst nicht zwischen High und Low gepasst hat.
Gruß
Elke