Por alguns motivos (para fazer um nó influenciar o estilo de uma seta apontando para ele no tikzcd), preciso executar um código que leia \tikzlastnode
para obter o nome da posição atual em uma matriz tikz(cd), mas isso é definido somente após a criação do nó. Infelizmente, append after command
espera um caminho (aparentemente, um caminho vazio não é uma entrada válida), então preciso criar um nó falso e vazio apenas para executar um caminho, e parece muito sujo, e temo que possa causar problemas ( acrescentando espaço, atrapalhando os próximos caminhos…). Podemos correr append after command
(ou equivalente) sem perturbar o caminho?
MWE:
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-cd}
\begin{document}
\makeatletter
\begin{tikzcd}
A \rar[/utils/exec={\message{BBBBB The message above (AAAA) should be equal to \tikzcd@ar@target}}, draw=\myfillcolor] & |[append after command={
%%% Creating an empty node + /utils/exec sounds really dirty:
node[/utils/exec={%
\message{AAAA I need to have access to the name of the current node \tikzlastnode}%
\gdef\myfillcolor{red}
}%
] {}
}
]| B
\end{tikzcd}
\end{document}
EDITAR
Alguém propôs \pgfextra ... \endpgfextra
e funciona! Obrigado!
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-cd}
\begin{document}
\makeatletter
\begin{tikzcd}
A \rar[/utils/exec={\message{BBBBB The message above (AAAA) should be equal to \tikzcd@ar@target}}, draw=\myfillcolor] & |[append after command={%
\pgfextra% this syntax with \endpgfextra completely turns off the tikz syntax, that might be safer than \pgfextra{...}.
\message{AAAA I need to have access to the name of the current node \tikzlastnode}%
\gdef\myfillcolor{red}%
\endpgfextra%
}]| B
\end{tikzcd}
\end{document}