带有 tikz 的“紧密贴合”圆节点

带有 tikz 的“紧密贴合”圆节点

这是一个最小的 tikz 图形:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \node [circle,draw] {A};
\end{tikzpicture}
\end{document}

在此处输入图片描述

“A” 周围的圆圈比我想要的大。我希望它看起来更像这样。(“A” 的大小应与上一张图片中的大小相同,圆圈较小。)

在此处输入图片描述

我怎样才能做到这一点? 之前有几个关于更改节点大小的问题,但它们似乎要么是关于空节点的大小,要么是关于使其变大,这可以通过minimum size或实现inner sep。 (我不确定这些命令的作用或区别是什么,但它们似乎不是我想要的。) 我的目标只是准确指定节点的半径,而不管其标签的大小如何。

圆圈是图中的一个节点,当将箭头连接到它时,它应该表现为正确大小的节点。

我想我可以写一个\newcommand来绘制一个正确大小的空节点,然后在其上面写上标签,但感觉这不是使用 tikz 的预期方式,所以我想知道正确的方法是什么。

答案1

为了获得完美的对齐,无论使用什么字母,都必须设置文本的height和:depth

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
  \tikzset{
    circled node/.style={circle,draw, inner sep=0, minimum size=1.5em},
    better circled node/.style={circled node,text height=.8em,text depth=.25em},
  }
  \foreach \letter[count=\c] in {A,B,H,Q,Z,a,f,g,É}{
    \path (\c*6mm, 0) node [circled node] (N-\c) {\letter};
    \path (\c*6mm, -1) node [better circled node] (M-\c) {\letter};
  }
  \draw[red,very thin,dashed] (N-1.base) -- ++(5cm,0);
  \draw[red,very thin,dashed] (M-1.base) -- ++(5cm,0);
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

哦,这比我想象的要简单。必须按照以下方式组合神秘的调用inner sep和:minimum size

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \node [circle,draw, inner sep=0, minimum size=1.5em] {A};
\end{tikzpicture}
\end{document}

在此处输入图片描述

它看上去有点偏离中心,但我可以忍受。

我想这一定有其工作原理,而且它写在这本 1000 页的手册的某个地方。我希望我生活在一个有时间阅读它的世界里。

相关内容