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}

関連情報