tikz 中的本地范围坐标名称?

tikz 中的本地范围坐标名称?

我想我刚刚发现(!)坐标名称是全局的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}

四句傻话

...我真的期望

  1. 第二个错误tikzpicture(我没有使用remember picture!),并且
  2. 一条(0,0)--(3,0)绿线……

所以,

  1. 我说的坐标名称对所有tikzpictures 都是全局的,对吗?

  2. 作为一个附加问题,是否可以创建本地坐标名称?

答案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}

在此处输入图片描述

相关内容