Tabelle in Tabelle mit senkrechten Pfeilen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Tabelle in Tabelle mit senkrechten Pfeilen

von Sheila » Fr 27. Aug 2010, 18:36

Super vielen Dank!!!! :)

von esdd » Fr 27. Aug 2010, 18:24

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

von Sheila » Fr 27. Aug 2010, 17:52

Danke für den Tipp. Hab etwas rumprobiert, aber leider nichts vernünftiges rausbekommen. Sonst noch jemand eine Idee?

von Nerd 032F » Fr 27. Aug 2010, 12:54

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?

von Sheila » Do 26. Aug 2010, 21:32

Hat vielleicht jemand eine Idee, wie man das Problem mit der Breite lösen könnte? Bin für jeden Tipp dankbar!

von Sheila » Di 27. Jul 2010, 17:22

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?

von KOMA » Di 27. Jul 2010, 13:36

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.

von Sheila » Di 27. Jul 2010, 10:48

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}

von KOMA » Di 27. Jul 2010, 08:54

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}

von Sheila » Mo 26. Jul 2010, 23:30

Keiner eine Idee?

Nach oben