Seite 1 von 1

Pyradmide mit tikz

Verfasst: Mi 20. Mai 2015, 08:39
von dako5004
Hallo!

Für ein Dokument möchte ich gerne eine Pyramide mit Text nutzen, das vielleicht einige auch von einer Rechtspyramide her kennen.
Im Netz habe ich ein Beispiel gefunden, mit dem ich allerdings noch ein Problem habe.

Das Problem ist, dass ich keinen Zeilenumbruch hinbekomme, wenn ich in einer Reihe der Pyramide einen langen Text schreiben will. Hat jemand eine Idee, wie ich das Problem lösen kann?

Hier das MB:
\documentclass[landscape]{standalone}
\usepackage[ngerman]{babel}
\usepackage[latin9]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\centering
\begin{tikzpicture}[scale=0.73]

\def \h {9};
\def \f {.7};

\foreach \y in  {0,1,2,3,4,5,6} {
    \def \w { \h*\f-\y*\f };
    \def \v { \y*\f-\h*\f };
    \draw (\v,\y) -- (\w,\y);
}

\draw (-\h*\f,0)  -- (0,\h);
\draw (\h*\f,0)  -- (0,\h);

\node at (0,0) [above] {G};
\node at (0,1) [above] {F};
\node at (0,2) [above] {E};
\node at (0,3) [above] {D};
\node at (0,4) [above] {C; Hier ein langer Text, der breiter ist als die Zeile, den ich daher gerne mit \textbackslash tiny kleiner machen und umbrechen w"urde; \textbackslash\textbackslash\ bringt eine Fehlermeldung, \textbackslash newline funktioniert nicht};
\node at (0,5) [above] {B};
\node at (0,6) [above] {A};
\end{tikzpicture}
\end{document}
Besten Dank im Voraus und Gruß
Daniel

Verfasst: Mi 20. Mai 2015, 09:15
von Beinschuss
Du kannst den langen Text in eine tabular-Umgebung packen:
\node at (0,4) [above] {\tiny{\begin{tabular}{l}Hier ein langer Text,\\ der breiter ist als die Zeile,\\ den ich daher gerne mit ...\end{tabular}}};
Helmut

Verfasst: Mi 20. Mai 2015, 09:23
von esdd
Du kannst als Nodenoption eine Ausrichtung für den Text setzen und die Schriftgröße einstellen. Allerdings ist der Text in Deinem Beispiel dann immer noch zu lang.
\documentclass[landscape]{standalone} 
\usepackage{tikz} 
\begin{document} 
\begin{tikzpicture}[scale=0.73] 
\def \h {9}; 
\def \f {.7}; 
\foreach \y in  {0,1,2,3,4,5,6} { 
     \def \w { \h*\f-\y*\f }; 
     \def \v { \y*\f-\h*\f }; 
     \draw (\v,\y) -- (\w,\y); 
} 
\draw (-\h*\f,0)  -- (0,\h); 
\draw (\h*\f,0)  -- (0,\h); 

\node at (0,0) [above] {G}; 
\node at (0,1) [above] {F}; 
\node at (0,2) [above] {E}; 
\node at (0,3) [above] {D}; 
\node[align=center,font=\tiny] at (0,4) [above] {C; Hier ein langer Text, der breiter\\ ist als die Zeile,den ich daher gerne\\kleiner machen und umbrechen w"urde}; 
\node at (0,5) [above] {B}; 
\node at (0,6) [above] {A}; 
\end{tikzpicture} 
\end{document}
Gruß
Elke

Verfasst: Mi 20. Mai 2015, 09:40
von Beinschuss
Elkes Lösung ist schon eleganter - wieder was gelernt.

Helmut