chemformula 中的数学模式

chemformula 中的数学模式

如何在 chemformula 中使用数学模式?第一个例子有效,包括下标和上标。在第二个例子中,下标不起作用。

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{chemmacros}
\chemsetup{modules={reactions}}
\begin{document}
\begin{reactions}
X -> Y  &\hfill &   \text{because\ $E=m_{x}c^2$}
\end{reactions}
\begin{reactions}
A + B &->[$E_{a,1}$] AB \\
A + K + B &->[$E_{a,2}$] AK ->[$E_{a,3}$] AB + P
\end{reactions}
\end{document}

在此处输入图片描述

答案1

reactions环境中,_会改变其含义;您可以\sb在其位置使用 。因为^\sp

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{chemmacros}
\chemsetup{modules={reactions}}
\begin{document}
\begin{reactions}
X -> Y  &\hfill &   \text{because\ $E=m\sb{x}c^2$}
\end{reactions}
\begin{reactions}
A + B &->[$E\sb{a,1}$] AB \\
A + K + B &->[$E\sb{a,2}$] AK ->[$E\sb{a,3}$] AB + P
\end{reactions}
\end{document}

在此处输入图片描述

答案2

使用时,chemformula重要的是要知道空格将环境内部的不同部分分隔开\ch{..},因此也分隔reaction环境内部的不同部分。这意味着->[ $E_{a,1}$ ]可以工作。只有一件事需要记住:chemformula默认情况下在数学部分之前插入一些空格。(我不再相信这是最好的默认行为,但是……)

\ch{...}顺便说一句:在中写入文本部分也没有多大意义(恕我直言,这实际上是错误的)\text。建议的方式是使用:chemformula转义文本。"...""because\ $E=m_{x}c^2$"

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{chemmacros}
\chemsetup{
  modules={reactions} ,
  formula = chemformula ,
  chemformula/math-space = 0pt
}
\begin{document}

\begin{reactions}
  X -> Y  & & "because\ $E=m_{x}c^2$"
\end{reactions}

\begin{reactions}
  A + B &->[ $E_{a,1}$ ] AB \\
  A + K + B &->[ $E_{a,2}$ ] AK ->[ $E_{a,3}$ ] AB + P
\end{reactions}

\end{document}

在此处输入图片描述

相关内容