Pyradmide mit tikz

Tabellen und Grafiken erstellen und anordnen


dako5004
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 90
Registriert: Fr 24. Apr 2009, 04:05
Wohnort: Lebach

Pyradmide mit tikz

Beitrag 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
Ich weiß, dass ich nichts weiß. (Sokrates)

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 808
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag 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

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 808
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Elkes Lösung ist schon eleganter - wieder was gelernt.

Helmut

Antworten