“Chemmacros” 在 Springer LaTeX 模板中不起作用,错误“\state”已定义

“Chemmacros” 在 Springer LaTeX 模板中不起作用,错误“\state”已定义

在 Springer LaTeX 中模板. 添加时\usepackage{chemmacros}会导致错误

!LaTeX cmd 错误:命令 '\state' 已定义。如需立即帮助,请输入 H . ...
l.5552 ...:nnnnnn} {#1} {#2} {#3} {#4} {#5} {#6} }
?

该文件中.cls

%% Address tagging 
\newcommand{\orgdiv}[1]{#1}%
\newcommand{\orgname}[1]{#1}%
\newcommand{\orgaddress}[1]{#1}%
\newcommand{\street}[1]{#1}%
\newcommand{\postcode}[1]{#1}%
\newcommand{\city}[1]{#1}%
\newcommand{\state}[1]{#1}%
\newcommand{\country}[1]{#1}%

我猜删除\newcommand{\state}[1]{#1}%会导致模板出现其他问题。那么,如何在不删除 的情况下修复它\newcommand{\state}[1]{#1}%

答案1

在序言中你可以写

\let\springerstate\state 
\let\state\relax 
\usepackage{chemmacros}

这会起作用,并且意味着\state版本chemmacros

但是由于 springer 地址宏实际上不做任何事情,我怀疑它们被外部工具用来提取地址进行索引,所以如果你有一个地址需要一个\state字段,最好将它放回本地,而不是使用\springerstate

所以

\let\springerstate\state 
\let\state\relax 
\usepackage{chemmacros}
\let\chemstate\state
\let\state\springerstate

\state地址命令和化学也是如此(如果你愿意,你可以在地址之后\chemstate重新设置)\state

相关内容