TikZで最大ノード幅を設定することは可能ですか

TikZで最大ノード幅を設定することは可能ですか

これら 2 つのノードを同じサイズ (小さい方のサイズ) にしたいと思います。 本質的には設定できるようにしたいのですmaximum size=6mmが、そのようなオプションはありません。 どうすれば設定できますか?

\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}  

ここに画像の説明を入力してください

答え1

キーはありませんがmaximum sizetext width(およびおそらくinner 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}

結果:

ここに画像の説明を入力してください

minimum sizeもう 1 つのオプションとしては、 のように に大きな値を選択することですminimum size=8mm

古い\tikzstyle構文をより適切な\tikzset. 構文に変更しました。

答え2

minimum size別の解決策としては、 を固定して、ノードの内容を中央揃えのラベルで書き込むことが考えられます。labelsは で描画されpostaction、ノードのサイズには影響しません。

\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} 

ここに画像の説明を入力してください

答え3

私のブロック ダイアグラムでは、通常の短いテキスト ノード用に 1 つのスタイル セットがあり、長いテキスト ノード用に別のスタイル セットがあります。これは、center問題が原因です。

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
}

結果は許容範囲内ですが、20mm 以内では厳密ではありません (人によって見方が異なります)。

関連情報