分子上反应箭头的下标

分子上反应箭头的下标

我正在写一份需要对化学反应进行编号的报告,并使用以下代码来实现:

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{chemformula}

\begin{document}

\begin{subequations}
\begin{eqnarray}
\label{eq:formloss1}
\ch{HCHO + ^.OH -> CHO^. + H2O} \\
\ch{HCHO + \textit{hv_{uv}} ->[O2] CHO^. + HO2} \\
\label{eq:formloss2}
\ch{HCHO + \textit{hv_{uv}} -> CO + H2}
\end{eqnarray}
\end{subequations}
\end{document}

但在第二个方程中,O2(位于反应箭头上方)没有对 2 进行下标,而我需要它这样做。我怎样才能强制它对此进行下标?如果需要更改我正在使用的软件包,我该如何保持方程的编号?

答案1

来自chemformula的手册:

chemformula区分不同类型的输入。这些不同的部分以空格分隔:

\ch{part1 part2 part3 part4}

箭头上方或下方的公式也是如此。这意味着你必须写

->[ O2 ]

chemformula需要用空格括起来的公式才能正确检测输入是公式/化学计量因子/箭头……

其次,我会写成$h\nu_{\textup{uv}}$而不是\textit{hv_{uv}}。通过使用数学模式,您将获得普朗克常数和频率之间的正确间距。另外,我很确定您想要的是频率\nu而不是v(速度?)。下标似乎是一个标签,因此它应该再次直立。

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage{chemformula}

\begin{document}

\begin{subequations}
  \begin{gather}
    \ch{HCHO + ^.OH -> CHO^. + H2O} \label{eq:formloss1} \\
    \ch{HCHO + $h\nu_{\textup{uv}}$ ->[ O2 ] CHO^. + HO2} \\
    \ch{HCHO + $h\nu_{\textup{uv}}$ -> CO + H2} \label{eq:formloss2}
  \end{gather}
\end{subequations}

\end{document}

在此处输入图片描述

顺便问一下:你真的需要 eqnarray? 我建议你读一下避免eqnarray由 Lars Madsen 撰写,您可自行决定。

答案2

我使用了mhchem包,它解决了你的问题。这是代码。你也应该安装chemgreekmhchem。(请注意,化学方程式的命令是\ce。)

\documentclass[12pt,a4paper]{article}
\usepackage{amsmath}
\usepackage[version=4]{mhchem}

\begin{document}

\begin{subequations}
\begin{eqnarray}
\label{eq:formloss1}
\ce{HCHO + ^.OH -> CHO^. + H2O} \\
\ce{HCHO + $hv_{uv}$ ->[O2] CHO^. + HO2} \\
\label{eq:formloss2}
\ce{HCHO + $hv_{uv}$ -> CO + H2}
\end{eqnarray}
\end{subequations}

\end{document}

相关内容