化学方程式中双鱼叉上方和下方的数学方程式如何写出?

化学方程式中双鱼叉上方和下方的数学方程式如何写出?

我正在尝试写一个化学方程式,其中 k_f 和 k_b(在数学模式下)分别位于双鱼叉的上方和下方。我编写了以下代码,它使用了化学宏指令包裹:

\begin{equation}
\sum_{s=1}^{N_s}\nu'_s \ch{X}_s  \ch{<=>[$k_f$][$k_b$]}   \sum_{s=1}^{N_s}\nu''_s \ch{X}_s 
\label{eq:chemical_reaction_f_b}
\end{equation}

结果如下:

在此处输入图片描述

如您所见,两个 k 字母中的 f 和 b 未按要求置于下标中。我该如何纠正这个问题?

答案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更适合这种情况:这样,人们以后也可以在文本和反应列表中解决它。chemmacrosreactions

至于化学环境中的数学问题,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}

相关内容