在 chemfig 内部使用时无法将参数传递给 chemmacros 的轨道模块

在 chemfig 内部使用时无法将参数传递给 chemmacros 的轨道模块

以 1,3-丁二烯为例说明原子轨道chemmacros' 手动的,我收到以下错误:

Argument of \orbital has an extra }. }

梅威瑟:

\documentclass{article}
\usepackage{chemmacros}
    \chemsetup{modules = all}
    \chemsetup[orbital]{overlay}
\usepackage{chemfig}
    \setchemfig{
        atom sep = 2.5em
    }

\begin{document}

\chemfig{
    \orbital{p}
    -[:30]\orbital{p}
    -[:-30]{\orbital[phase=-]{p}}
    -[:30]{\orbital[phase=-]{p}}
}

\end{document}

pdflatex产生以下[不正确的]结构:

1,3-丁二烯的缺陷结构

对于手册中将可选参数传递到\orbital[...]{...}内部的示例,也会出现同样的错误\chemfig{...}。我正在使用完全更新的 TeXLive 2018。

更新(2019-10-19)

我再次尝试了上述 MWE,它使用chemfigTeX Live 2019 中的 v1.41 按预期进行编译,因此问题似乎已得到解决。

答案1

从经验上我发现参数内部{...}(而不是整个\orbital[...]{...}命令)解决了这个问题:

\documentclass{article}
\usepackage{chemmacros}
    \chemsetup{modules = all}
    \chemsetup[orbital]{overlay}
\usepackage{chemfig}
    \setchemfig{
        atom sep = 2.5em
    }

\begin{document}

\chemfig{
    \orbital{p}
    -[:30]\orbital{p}
    -[:-30]\orbital[{phase=-}]{p}
    -[:30]\orbital[{phase=-}]{p}
}

\end{document}

1,3-丁二烯

我仍然不确定是什么原因导致以前的解决方案停止工作;也许这与最近的更新有关chemfig

相关内容