答案1
箭头参数的处理会以某种方式干扰数学模式。一种解决方法是定义两个小宏,将内容隐藏足够长的时间以便正常处理:
\documentclass{article}
\usepackage{chemmacros}
\def\kf{k_f}
\def\kb{k_b}
\begin{document}
\begin{equation}
\sum_{s=1}^{N_s}\nu'_s \ch{X}_s \ch{<=>[$\kf$][$\kb$]} \sum_{s=1}^{N_s}\nu''_s \ch{X}_s
\end{equation}
\end{document}
这当然不是理想的,但如果您不需要很多不同的变量下标组合那么它可能是一个可以接受的解决方案。
答案2
严格来说,这个表达式不是一个等式,而是一个反应(准确地说,是化学动力学中通用基本反应的定义)。我认为使用模块中的标记环境reaction
更适合这种情况:这样,人们以后也可以在文本和反应列表中解决它。chemmacros
reactions
至于化学环境中的数学问题,chemformula
手册很好地涵盖了这种情况(这也已被提及波林在评论中):
8.2. 数学
如果您特别想输入数学,只需将其括在 中即可
$ $
。此输出与转义文本不同,因为它后面有一个空格。这背后的原因是,我假设数学将主要用于替代化学计量因子。
\ch{ $⟨escaped math⟩$ }
chemformula
退出解析并进入数学模式的 两种可能性之一。
\ch{ \(⟨escaped math⟩\) }
chemformula
将解析转为数学模式的 两种可能性中的第二种。
此外,我将使用罗马字体来表示文本下标,而不是斜体,并使用动力学中更常用的符号来表示正向和反向速率:分别使用 k_fwd 和 k_rev 而不是 k_f 和 k_b。例如,下标“f”含义模糊,在物理化学中表示“形成”或“融合”。
\documentclass[12pt]{article}
\usepackage{chemmacros}
\chemsetup{modules=all}
\begin{document}
\begin{reaction}
$\sum_{s=1}^{N\sb{s}}\nu'_s$ X_{$s$}
<=>[ $k_\mathrm{fwd}$ ][ $k_\mathrm{rev}$ ]
$\sum_{s=1}^{N\sb{s}}\nu''_s$ X_{$s$}
"\label{rxn:generic-kinetic-model}"
\end{reaction}
Reaction \ref{rxn:generic-kinetic-model} is elementary.
\listofreactions
\end{document}