Ist es möglich, eine maximale Knotenbreite in TikZ festzulegen?

Ist es möglich, eine maximale Knotenbreite in TikZ festzulegen?

Ich möchte, dass diese beiden Knoten die gleiche Größe haben – die Größe des kleineren. Eigentlich möchte ich das einstellen können, maximum size=6mmaber es gibt keine solche Option. Wie kann ich das machen?

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \tikzstyle{mystyle}=[circle,minimum size=6mm,draw=black,fill=white]
    \node (9) at (0,0) [mystyle] {9};
    \node (10) at (1,0) [mystyle] {10};
\end{tikzpicture}
\end{document}  

Bildbeschreibung hier eingeben

Antwort1

Obwohl es keinen Schlüssel gibt , können Sie (und möglicherweise auch ) maximum sizeverwenden, um das gewünschte Ergebnis zu erhalten:text widthinner sep

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}

\tikzset{
mystyle/.style={
  circle,
  inner sep=0pt,
  text width=6mm,
  align=center,
  draw=black,
  fill=white
  }
}

\begin{document}
\begin{tikzpicture}
    \node (9) at (0,0) [mystyle] {9};
    \node (10) at (1,0) [mystyle] {10};
\end{tikzpicture}
\end{document}

Das Ergebnis:

Bildbeschreibung hier eingeben

Eine andere Möglichkeit wäre gewesen, einen größeren Wert für zu wählen minimum size, beispielsweise minimum size=8mm.

Ich habe die alte \tikzstyleSyntax durch die passendere \tikzset.-Syntax ersetzt.

Antwort2

Eine alternative Lösung könnte darin bestehen, ein zu fixieren minimum size, den Inhalt des Knotens jedoch mit einer zentrierten Beschriftung zu schreiben. labelswerden mit einem gezeichnet postactionund haben keinen Einfluss auf die Größe des Knotens:

\documentclass[tikz, border=10]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \tikzstyle{mystyle}=[circle,minimum size=6mm,draw=black,fill=white]
    \node[mystyle] (9) at (0,0) {9};
    \node[mystyle, label=center:10] (10) at (1,0) {};
    \node[mystyle, label=center:100] (100) at (2,0) {};
    \node[mystyle, label=center:1000] (1000) at (3,0) {};
\end{tikzpicture}
\end{document} 

Bildbeschreibung hier eingeben

Antwort3

In meinem Blockdiagramm habe ich einen Stil für gewöhnliche Kurztextknoten und einen anderen für Langtextknoten festgelegt. Dies liegt an centerdem Problem.

mylong/.style={
  draw,
  rectangle,
  text width=20mm, % text is longer than 20mm.
  thick,
  % align=center,
  font=\itshape
},
myshort/.style={
  draw,
  rectangle,
  minimum size=6mm,
  thick,
  % align=center,
  font=\itshape
}

Das Ergebnis ist akzeptabel, obwohl es nicht streng innerhalb von 20 mm liegt (hängt von der Sichtweise ab).

verwandte Informationen