为什么对于同一个命令,红色节点较大,而蓝色节点较小

为什么对于同一个命令,红色节点较大,而蓝色节点较小

这是我们的Tex代码,不知道为什么下面蓝色的比较小,另外想问一下,如何改变节点中文字的粗细:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[circle,draw,fill=red!50, inner sep=0pt ] (a) at (0,0){+};
\node[circle,draw,fill=blue!50, inner sep=0pt ] (b) at (1,0){-};
\end{tikzpicture}
\end{document}

答案1

问题是,-在文本模式下,不会呈现“减号”,而是呈现连字符(除法、连字符)。连字符与+在数学模式和文本模式下呈现的加号不兼容。当您想要打印减号时,切勿打印连字符。即始终将其置于-数学模式中:$-$。试试这个:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[circle,draw,fill=red!50, inner sep=0pt ] (a) at (0,0){+};
\node[circle,draw,fill=blue!50, inner sep=0pt ] (b) at (1,0){$-$};
\end{tikzpicture}
\end{document}

答案2

问题是+-字符的大小不同。如果您希望节点具有相同的大小,则需要设置(足够大的)最小大小。在这种情况下3.5mm似乎有效:

在此处输入图片描述

我还建议TikZ为你的节点定义一个样式,这样你就不需要输入两次规范了。这样做你的代码就变成了:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\tikzset{
  mynode/.style = {
    circle,
    draw,
    fill=red!50,
    inner sep=0pt,
    minimum size=3.5mm,
  }
}

\begin{document}

  \begin{tikzpicture}
    \node[mynode] (a) at (0,0){+};
    \node[mynode] (b) at (1,0){-};
  \end{tikzpicture}

\end{document}

相关内容