Wie definiere ich ein benutzerdefiniertes Achsenattribut, um mehrere Achseneinstellungen wiederzuverwenden?

Wie definiere ich ein benutzerdefiniertes Achsenattribut, um mehrere Achseneinstellungen wiederzuverwenden?

Bearbeiten: Dieser Beitrag hatte ursprünglich den Titel „Warum wirft siunitx einen \endcsname in newcommand?“, aber ich denke, die Umbenennung spiegelt die Absicht der Frage besser wider.

Warum gibt dieser Code (ich habe ihn auf den Befehl siunitx zurückgeführt \unit) ein aus \endcsname? Was sind die allgemeinen Fallstricke bei newcommand?

\documentclass{article}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{compat=1.18}

\begin{document}
    \newcommand{\axissettings}{ymin=-1, xlabel={Test with $\unit{\celsius}$}}
    
    \begin{figure}
        \begin{tikzpicture}
            \begin{axis}[grid, \axissettings]
                \addplot coordinates {(0,0)};
            \end{axis}
        \end{tikzpicture}
    \end{figure}
\end{document}

Danke

Antwort1

Ich finde das nicht so umständlich. Hat Sie der Rest der verlinkten Antwort verwirrt?

\documentclass{article}
\usepackage{pgfplots}
\usepackage{siunitx}
\pgfplotsset{compat=1.18}
\pgfplotsset{yourcustomaxissettings/.style={ymin=-1, xlabel={Test with $\unit{\celsius}$}}}

\begin{document}
    
    \begin{figure}
        \begin{tikzpicture}
            \begin{axis}[grid,yourcustomaxissettings,ymax=1,xmin=-1,xmax=1]
                \addplot coordinates {(0,0)};
            \end{axis}
        \end{tikzpicture}
    \end{figure}
\end{document}

verwandte Informationen