俄罗斯 babel 和 chemformula

俄罗斯 babel 和 chemformula

我想用德语为主的文本写出化学公式,其中包含少量俄语单词。为此,我使用babelchemformula,但它们产生了严重的冲突。我的 MWE:

\documentclass{report}
\usepackage[T2A,T1]{fontenc}
\usepackage[russian,ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{chemformula}
\begin{document}
Deutscher Text
\selectlanguage{russian}{русский текст}
\ch{H2O}
\end{document}

我收到以下错误消息:

[path]/chemformula.sty.1168:"xparse/command-already-defined"! 有关更多信息,请参阅 LaTeX3 文档。{ \chemformula_ch:nn { #1 } { #2 } }

chemformula.sty 的第 1167-8 行包含以下内容:

\NewDocumentCommand \ch { O{}m }
  { \chemformula_ch:nn { #1 } { #2 } }

有什么方法可以把这些包合并起来吗?

答案1

俄罗斯模块babel定义\ch了“双曲余弦”算子。

\documentclass{report}
\usepackage[T2A,T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,ngerman]{babel}

%%% save the command for the hyperbolic cosine
\let\Ch\ch
%%% undefine \ch
\let\ch\relax
%%%

\usepackage{chemformula}

\begin{document}

Deutscher Text

\selectlanguage{russian}{русский текст}
\ch{H2O}

\end{document}

如果需要“ch”表示双曲余弦,请输入\Ch

在此处输入图片描述

相关内容