chemmacros:为所有实验环境仅设置一次 \sisetup

chemmacros:为所有实验环境仅设置一次 \sisetup

我正在使用实验环境chemmacros光谱模块。现在我正在\sisetup{}为环境的每个实例运行它,现在想知道是否有办法避免每次都调用它。

在我的 MWE 中,我将仅使用其中一个设置作为示例。

\documentclass{scrbook}

\usepackage{chemmacros}
\chemsetup{modules=spectroscopy}

\sisetup{
    round-mode = figures
}

\begin{document}
    \num{3.456789}

    \begin{experimental}
        \sisetup{round-mode=off}
        \num{3.456789} % I use \val{}, but this is for comparison
    \end{experimental}

\end{document}

基本上,我想跑\sisetup{}一次全部 实验环境。

答案1

您可以使用该包在环境开始时etoolbox自动设置:\sisetup{round-mode=off}experimental

\documentclass{scrbook}

\usepackage{chemmacros}
\chemsetup{modules=spectroscopy}

\sisetup{
    round-mode = figures
}

\usepackage{etoolbox}
\AtBeginEnvironment{experimental}{\sisetup{round-mode=off}}

\begin{document}
    \num{3.456789}

    \begin{experimental}
%        \sisetup{round-mode=off}
        \num{3.456789} % I use \val{}, but this is for comparison
    \end{experimental}

    \num{3.456789}

\end{document}

相关内容