带有化学宏的数学模式

带有化学宏的数学模式

我是初学者chemmacros,在编译过程中,当我想在命令中使用希腊字母时,遇到了问题\ch{}。以下是一个例子:

\ch{\Delta E=h.\nu}

一个解决方案是这么写:

\ch{$\Delta E=h.\nu$}

但是,我知道还有另一种解决方案,因为初始命令已在另一台计算机上编译。而且由于我有一个 10,000 行的文件,我无法手动修复所有内容...

这是我加载的包:

 \usepackage{upgreek}
 \usepackage{chemmacros}
 \usepackage{textgreek} 
 \chemsetup{greek=textgreek}
 \usepackage{amsmath}

我正在使用 MacTeX2016、LaTeX v3.62 和最新的 chemmacros 版本。
有什么想法吗?非常感谢您的帮助。

答案1

\ch{\Delta E=h.\nu}应该绝不已经奏效了(我当然从未打算这样做)。而且它没有意义:$\Delta E=h\nu$数学配方,而不是化学配方。如果你需要化学公式中的数学chemformula用来包围条目,$…$正如您已经发现的那样。

使用\ch{$\Delta E=h.\nu$}仍然是错误的——不仅在语义上:间距也是错误的。用于\ch化学公式和方程式,数学模式用于数学表达式和方程式。

\documentclass{article}
\usepackage{chemformula}

\begin{document}

wrong: \ch{$\Delta E=h.\nu$} \par
correct: $\Delta E=h\cdot\nu$\par
correct: $\Delta E=h\nu$

\bigskip

correct: \ch{H2SO4} \par
wrong: $H_2SO_4$

\end{document}

在此处输入图片描述

答案2

\Delta E=h.\nu对于环境来说,语法无效chemmacros \ch,但可以在\ce环境中进行编译mhchem

包含upgreek将从 nu 中清除斜体。

\documentclass{article}
\usepackage{mhchem}
\usepackage{upgreek}
\begin{document}

{a.} \ce{\Delta E=h.\nu}\\

{b.} $\Delta E=h.\nu$ 

\end{document}

在此处输入图片描述

相关内容