如何在节点的大括号内使用算术?我有这个,它会在圆圈中打印例如“0+1”。我希望有圆圈显示其坐标的总和。
\begin{tikzpicture}
\foreach \x in {0,1,2,3}
\foreach \y in {0,1,2,3}
\draw [] (\x,\y) circle [radius=0.4] node {\x + \y};
\end{tikzpicture}
答案1
在这个仅涉及整数的简单情况下,您可以使用进行算术运算\numexpr
。
\documentclass[tikz]{standalone}
\usepackage{pgffor}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,1,2,3}
\foreach \y in {0,1,2,3}
\draw [] (\x,\y) circle [radius=0.4] node {\the\numexpr\x + \y\relax};
\end{tikzpicture}
\end{document}
这使
但一定存在某种 TikZ 方法。
注意:\numexpr
自 2004 年以来,默认在 TeXLive 发行版的 pdflatex 中提供。但我认为用户级文档并不多。
答案2
试试这个代码:
\documentclass[tikz,border=5pt]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,1,...,5}
\foreach \y in {0,1,2,3}{%
\pgfmathsetmacro\z{int(\x+\y)}
\draw (\x,\y) circle [radius=0.4] node {\z};
}
\end{tikzpicture}
\end{document}
输出为:
如果你更改此行:
\pgfmathsetmacro\z{int(\x+\y)}
在这一行中:
\pgfmathsetmacro\z{\x+\y}
输出为:
(注意:忘记边界线!)