![chemformula 中的数学模式](https://linux22.com/image/356553/chemformula%20%E4%B8%AD%E7%9A%84%E6%95%B0%E5%AD%A6%E6%A8%A1%E5%BC%8F.png)
如何在 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}