我想我刚刚发现(!)坐标名称是全局的tikz
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[black]
\draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
\end{tikzpicture}
\begin{tikzpicture}[blue]
\draw (alfa) -- (beta);
\end{tikzpicture}
\begin{tikzpicture}[red]
\begin{scope}
\draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
\end{scope}
\end{tikzpicture}
\begin{tikzpicture}[green]
\draw (alfa) -- (beta);
\end{tikzpicture}
\end{document}
...我真的期望
- 第二个错误
tikzpicture
(我没有使用remember picture
!),并且 - 一条
(0,0)--(3,0)
绿线……
所以,
我说的坐标名称对所有
tikzpicture
s 都是全局的,对吗?作为一个附加问题,是否可以创建本地坐标名称?
答案1
是的,我以前就观察到过这种情况。我认为您的解释是正确的,您可以使用 使坐标“本地化” name prefix
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[black]
\draw(0,0) coordinate(alfa) -- (3,0) coordinate(beta);
\end{tikzpicture}
\begin{tikzpicture}[blue]
\draw (alfa) -- (beta);
\end{tikzpicture}
\begin{tikzpicture}[red,name prefix=Rmano]
\begin{scope}
\draw(1,0) coordinate(alfa) -- (2,0) coordinate(beta);
\end{scope}
\end{tikzpicture}
\begin{tikzpicture}[green]
\draw (alfa) -- (beta);
\end{tikzpicture}
\end{document}