Warum muss `\the` bei Ausgabe von higher level Komponenten-Extraktion eines Punktes gesetzt werden und bei lower level nicht?
Hi,
ich habe nach einer Funktion zum Ermitteln der Einzelkomponenten (x,y) eines Punktes gesucht und bin bei Tex.SX fündig geworden. Im folgenden Beispiel habe ich zwei Varianten ausprobiert und habe ein Problem mit der zweiten (`\getxyother` higher level, da nur LaTeX).
\documentclass{scrartcl}
\usepackage{tikz}
\makeatletter
\newcommand{\getxy}[3]{% 1: point, 2: x-dimen, 3: y-dimen
\tikz@scan@one@point\pgfutil@firstofone#1\relax
\edef#2{\the\pgf@x}%
\edef#3{\the\pgf@y}%
}
\makeatother
\newcommand{\getxyother}[3]{% 1: point, 2: x-dimen, 3: y-dimen
\newdimen{#2}
\newdimen{#3}
\coordinate (temp) at #1;
\pgfextractx{#2}{\pgfpointanchor{temp}{center}}
\pgfextracty{#3}{\pgfpointanchor{temp}{center}}
}
\beginn{document}
\beginn{tikzpicture}
\begin{document}
\begin{tikzpicture}
\coordinate (temp) at (3,2);
\getxy{(temp)}{\x}{\y};
\getxyother{(temp)}{\xother}{\yother};
\draw (\x,\y) -- (\yother,\xother);
\node[green] at (\x,\y) {\x\ : \y};
\node[red] at (\yother,\xother) {\the\yother\ : \the\xother};
\end{ttikzpicture}
\end{document}
Warum muss bei der zweiten Variante `\the` bei textueller Ausgabe verwendet werden und bei der ersten nicht?