# Use of @ in coordinate names (Tikz)

I was writing some macros for drawing timelines in Tikz and thought that it might be good to name the internal help coordinates with an @ in it. The idea is that in this way it will not conflict with the coordinates of a potential user of those macros (not that I will be able to produce a package because of my recurrent coding problems).

However, I was surprised that I can use an @ in the name of a coordinate without placing it within \makeatletter and \makatother:

\begin{tikzpicture}
\draw (0,0)--(2,0) coordinate (A@1);
\draw (1,1)--(A@1);
\end{tikzpicture}

My question is: why does it work?

Then, if the @ can be used freely, the help coordinates will not be protected against an unintentional use.

• The fact that one can use @ in coordinate names is well known and has used e.g. in tex.stackexchange.com/a/316050/121799. The idea is still that using these makes it less likely that "random users" accidentally use the same symbols. Same is true for underscores, e.g. \begin{tikzpicture} \draw (0,0) --(2,0) coordinate (A@1) (4,0) coordinate (X_Y); \draw (1,1)--(A@1) -- (X_Y); \end{tikzpicture}. – user121799 Apr 27 at 19:23