如何在 tikz 中让节点大小相等?

如何在 tikz 中让节点大小相等?

我看到的所有内容都说要使用最小尺寸,但无论我做什么,一位数和两位数的节点都是不同的尺寸。这是我的代码供参考。

    \begin{tikzpicture}[transform shape]
      \foreach \x in {1,...,16}{%
        \pgfmathparse{(\x-1)*360/16}
        \node[draw,circle,inner sep=0.09em,font=\scriptsize] (N-\x) at (\pgfmathresult:1cm) {$\x$};
      } 
      \foreach \x [count=\xi from 1] in {1,...,15}{%
        \foreach \y in {\x,...,16}{%
         \path (N-\x) edge[ultra thin,-] (N-\y);
      }
    }
    \end{tikzpicture}

答案1

您可以设置minimum width为包含数字的内容:

在此处输入图片描述

\node[draw,
      circle,
      inner sep = 0.09em,
      font = \scriptsize,
      minimum width = 15pt
     ] (N-\x) at (\pgfmathresult:2cm) {$\x$};

或者,您可以使用以下方法自动计算宽度\eqmakebox或者,你eqparbox包裹

\node[draw,
      circle,
      inner sep = 0.09em,
      font = \scriptsize
     ] (N-\x) at (\pgfmathresult:2cm) {\eqmakebox[circlenode]{$\x$}};

后一种选择需要至少两次编译才能确定所有标记为 的节点的最大宽度circlenode

相关内容