TikZ: Node-Breite in Abhängigkeit vom längsten Text

Tabellen und Grafiken erstellen und anordnen


mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

TikZ: Node-Breite in Abhängigkeit vom längsten Text

Beitrag von mofehl »

Moin,

gibt es eine Möglichkeit, bei TikZ-Nodes deren Breite in Abhängigkeit vom längsten Text zu setzen? Folgendes Minimalbeispiel soll mein Problem verdeutlichen. Ich möchte, dass die vier Nodes alle dieselbe Breite aufweisen. Allerdings möchte ich die Breite nicht händisch bestimmen (so wie im Beispiel getan). Sie soll sich vielmehr nach dem breitesten Text richten. Ist das möglich?
\documentclass[11pt,margin=2pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[
	every node/.style={fill=blue!20!white},
]

\node (a) [text width=14cm]				{Kondition\\(Ausdauer, Kraft, Schnelligkeit, Beweglichkeit)};
\node (b) [text width=14cm,below=of a]	{Technik\\(Koordination, Klettertechnik)};
\node (c) [text width=14cm,below=of b]	{Taktik\\(Gedankliche Analyse, situative Anwendung von Koennen, Wissen und Erfahrung)};
\node (d) [text width=14cm,below=of c]	{Psychologische Persoenlichkeitsmerkmale\\(Motivation, Angst)};

\end{tikzpicture}
\end{document}
Bild
Dateianhänge
Verdeutlichung.jpg
Verdeutlichung.jpg (79.43 KiB) 1306 mal betrachtet

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

Beitrag von esdd »

Eine Möglichkeit ist die Verwendung des Paketes eqparbox:
\documentclass[11pt,margin=2pt]{standalone} 
\usepackage{tikz} 
\usetikzlibrary{positioning} 

\usepackage{eqparbox}

\begin{document} 
\begin{tikzpicture}[ 
    every node/.style={fill=blue!20!white}, 
] 

\node (a) {\eqparbox{mybox}{Kondition\\(Ausdauer, Kraft, Schnelligkeit, Beweglichkeit)}}; 
\node (b) [below=of a] {\eqparbox{mybox}{Technik\\(Koordination, Klettertechnik)}}; 
\node (c) [below=of b] {\eqparbox{mybox}{Taktik\\(Gedankliche Analyse, situative Anwendung von Koennen, Wissen und Erfahrung)}}; 
\node (d) [below=of c] {\eqparbox{mybox}{Psychologische Persoenlichkeitsmerkmale\\(Motivation, Angst)}}; 

\end{tikzpicture} 
\end{document}
Alle Boxen, die die gleiche Breite haben sollen, müssen das gleiche eindeutige Label erhalten. Damit die Breite richtig eingestellt ist, braucht es zwei Durchläufe.

Gruß
Elke

mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Beitrag von mofehl »

Hallo Elke, vielen Dank für deine Lösung! Sie entspricht genau dem, wonach ich gesucht habe!

Antworten