Por que não posso dar um alias a uma coordenada usando "opções tardias"?

Por que não posso dar um alias a uma coordenada usando "opções tardias"?

Aqui está um pequeno documento:

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    %\coordinate (A) at (0, 0);                     % Line A
    %\node [coordinate] (A) at (0, 0) {};           % Line B
    %\node (A) at (0, 0) {};                        % Line C
    %\coordinate [alias=AA] (A) at (0, 0);          % Line D
    %\node [coordinate, alias=AA] (A) at (0, 0) {}; % Line E
    %\path (A) [late options = {alias=AA}];         % Line ABC
    \coordinate (B) at (1, 0);
    \draw (AA) -- (B);
\end{tikzpicture}

\end{document}
  1. Remova o comentário das linhas A e ABC e você obterá "Erro de pacote pgf: nenhuma forma chamada AA é conhecida".
  2. Comente novamente a linha A e remova o comentário da linha B e você obterá o mesmo resultado.
  3. Comente novamente a linha B e remova o comentário da linha C e o documento será compilado com êxito.
  4. Comente novamente as linhas C e ABC e remova o comentário da linha D e o documento será compilado com sucesso.
  5. Comente novamente a linha D e remova o comentário da linha E e o documento será compilado com sucesso.

Parece que se um nó tiver uma coordenada de forma, você poderá fornecer um alias a ele, mas não usando o mecanismo de opções posteriores. Se você tentar fazer isso com opções tardias, o TikZ não reporta um erro, mas não faz nada.

Estou usando o PGF/TikZ versão 2.10.

Responder1

A maneira mais infalível de garantir que o TikZ identifique corretamente o nó ao qual as "opções tardias" serão aplicadas é fornecer a propriedade "nome" (usando o nome existente do nó) dentro da lista de opções "opções tardias":

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
    \coordinate (A) at (0, 0);
    \path [late options = {name=A,alias=AA}];
    \coordinate (B) at (1, 0);
    \draw (AA) -- (B);
\end{tikzpicture}

\end{document}

Como mostra o exemplo da pergunta, a capacidade do TikZ de identificar o nó implicitamente (como o manual 2.10 sugere que deveria) é um tanto propensa a erros. O manual da versão 3.00 (que pode ser obtido baixando o TikZ/PGF versão 3.00 ema página Sourceforge do projeto) altera (página 251) o conteúdo da página 201 do manual 2.10 para sugerir que a propriedade "nome" é oapenasforma correta de indicar o nó ao qual serão aplicadas as “opções tardias”; a sugestão de que o TikZ identificará automaticamente o nó correto no contexto foi eliminada.

Obrigado a Andrew Swann e percussão.

informação relacionada