PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TikZ: nodes mit definierter Höhe und Breite?



LuPi
14-06-2013, 10:08
Gibt es die Möglichkeit, einem node eine feste Höhe und Breite zuzuweisen (text width und minimum height liefern ja "nur" eine Untergrenze), unabhängig vom Inhalt?

esdd
14-06-2013, 12:09
Hallo,
text width ist eine fest zugewiesene Größe. minimum height wird nur dann angepasst, wenn der Inhalt zu umfangreich ist. Die Frage ist also, was soll mit zu langem Text passieren, wenn man Höhe und Breite fest vorgibt?

Hier ist ein erster Ansatz, der dieses Problem verdeutlicht:

\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{scopes}

\usepackage[ngerman]{babel}
\usepackage{blindtext}

\begin{document}
\begin{tikzpicture}
\node[draw,minimum width=10cm,minimum height=2.5cm](n){};
{
\clip(n.south west)rectangle(n.north east);
\node[text width=10cm-0.6666em] at (n){\blindtext};
}
\end{tikzpicture}

\end{document}
Gruß
Elke

LuPi
14-06-2013, 12:58
Klar, das Problem ist mir schon bewusst: In diesem Fall ist für mich eine
händische Nacharbeit oder eine Anpassung des Inhalts erforderlich. Das
ändert aber nichts daran, dass ich gerne eine "Box" definierter Größe hätte.

esdd
14-06-2013, 13:49
Dann obiger Vorschlag noch einmal etwas anders:

\documentclass{scrartcl}

\usepackage{tikz}
\usetikzlibrary{scopes}

\usepackage[ngerman]{babel}
\usepackage{blindtext}

\newcommand\mynode[4][n]{% syntax \mynode[nodenname]{breite}{hoehe}{inhalt}
\node[draw,minimum width=#2,minimum height=#3](#1){};
{\clip(#1.south west)rectangle(#1.north east);
\node[text width=#2-0.6666em,inner xsep=0.3333em] at (#1){#4};}
}

\begin{document}
\begin{tikzpicture}
\mynode{10cm}{2.5cm}{\blindtext}
\end{tikzpicture}

\end{document}

Gruß
Elke

LuPi
17-06-2013, 08:28
Vielen Dank, das löst mein Problem. Es wäre schön, wenn sich dies auch mit
TikZ-Bordmitteln (sprich: node-Optionen) realisieren ließe. Vielleicht setze
ich mal ein feature request ab.