Использование команды в качестве необязательного аргумента для tikzpicture-environment

Использование команды в качестве необязательного аргумента для tikzpicture-environment
\begin{tikzpicture}[x={(0.5cm, 0cm)}, y={(0cm, 0.5cm)}, z={(0.25cm, 0.25cm)}]
...
\end{tikzpicture}

Работает

\newcommand{\kosXYZ}{[x=\{(0.5cm, 0cm)\}, y=\{(0cm, 0.5cm)\}, z=\{(0.25cm, 0.25cm)\}]}

\begin{tikzpicture}\kosXYZ
...
\end{tikzpicture}

Не

Как и почему?

решение1

Почему не работает? \kosXYZне раскрывается в момент \begin{tikzpicture}поиска необязательного аргумента. Кажется, так и должно быть.

Возможно, так:

\newcommand\Exchange[2]{#2#1}%
\newcommand\Expandsecond[2]{\expandafter\Exchange\expandafter{#2}{#1}}%

\newcommand{\kosXYZ}{[x={(0.5cm, 0cm)}, y={(0cm, 0.5cm)}, z={(0.25cm, 0.25cm)}]}

\Expandsecond{\begin{tikzpicture}}{\kosXYZ}
...
\end{tikzpicture}

Связанный контент