在 TikZ 中写字母

在 TikZ 中写字母

我在使用命令在 TikZ 中的特定位置写字母时遇到了困难\node

这是我遇到困难的命令:

\node at (2,5) (nodeS) {S};

我发现这个命令被用来放置字母这里。但是,当我运行该命令时,我得到了以下信息:

带有文本

这是我原来有的:

无文字

如您所见,有一个不应该存在的黑点,并且图形移动了很大距离。此外,当我更改命令的坐标时,“S”会随图形一起移动\node。有人知道这里出了什么问题吗?

这是完整的代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\pagestyle{empty}

\def\rowA{0,1,...,4}
\def\rowB{0,1,...,4}
\def\rowC{0,1,...,4}
\def\rowD{0,1,...,4}
\def\rowE{0,1,...,4}


\begin{document}

\begin{tikzpicture}[x=1.75cm,
                    y=1.75cm,
                    every node/.style={circle,
                                       inner sep=2pt,
                                       fill=black}
                   ]

  \foreach \x in \rowA { \node (A\x) at (\x,2)  {}; }
  \foreach \x in \rowB { \node (B\x) at (\x,1)    {}; }
  \foreach \x in \rowC { \node (C\x) at (\x,0)    {}; }
  \foreach \x in \rowD { \node (D\x) at (\x,-1)   {}; }
  \foreach \x in \rowE { \node (E\x) at (\x,-2)   {}; }

  \foreach \x/\y in {0/0,1/1,2/2,3/3,4/4} {\draw (A\x) -- (E\y) {};}

  \draw (A0) -- (A4);
  \draw (B0) -- (B4);
  \draw (C0) -- (C4);
  \draw (D0) -- (D4);
  \draw (E0) -- (E4);

  \draw (B0) -- (A1);
  \draw (C0) -- (A2);
  \draw (D0) -- (A3);
  \draw (E0) -- (A4);
  \draw (E1) -- (B4);
  \draw (E2) -- (C4);
  \draw (E3) -- (D4);

  \node at (2,5) (nodeS) {S};

\end{tikzpicture}
\end{document}

答案1

您正在定义every node/.style={circle, fill=black}。这也适用于包含 的节点S,因此最终会得到一个大黑圈。您可以说\node [fill=none] at (2,5) (nodeS) {S};禁用节点的填充S,也可以every node通过说 重置样式\tikzset{every node/.style=}

您的屏幕截图中的杂散S显然是您使用的编译器的产物。

相关内容