如何定义自定义轴属性以重用多个轴设置?

如何定义自定义轴属性以重用多个轴设置?

编辑:这篇文章最初名为“为什么 siunitx 在 newcommand 中抛出 \endcsname?”,但我认为重命名确实更好地反映了问题的意图。

为什么此代码 (追踪到 siunitx\unit命令) 会抛出\endcsname? 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}

谢谢

答案1

我觉得这没什么麻烦。你被链接答案的其余部分吓到了吗?

\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}

相关内容