假设我们在 Tikz 中有一个节点,并且我们希望有一个名为 \myx 的宏,使用 \edef 将节点的 x 分量分配给 \myx。以下是我的代码:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,4);
\node at (1,1) (A){$A$};
\node at (2,3) (B){$B$};
\node at ($(A)+(B)$) (C){$C$};
\fill[red] let \p1 = (C),
in
(\x1,\y1) circle [radius=0pt]
;
\edef \myx{\x1}
\node at (0,0) {\myx};
\end{tikzpicture}
\end{document}
我知道变量 \x1 在 \fill 之外不可知。但是我们如何使用 \edef 将 \x1 分配给 \myx?
答案1
使用math
tikz 库:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{math}
\begin{document}
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,4);
\node at (1,1) (A){$A$};
\node at (2,3) (B){$B$};
\node at ($(A)+(B)$) (C){$C$};
\fill[red] (C) circle [radius=0pt] ;
\tikzmath{
coordinate \c;
\c=(C);
\x1=\cx;
}
\edef \myx{\x1}
\node at (0,0) {\myx}; % or \node at(0,0) {\x1};
\end{tikzpicture}
\end{document}