我需要帮助来格式化化学方程式,以创建一个包含标签并按箭头对齐方程式的列表。目前,我使用 mhchem 包来处理化学方程式,使用 amsmath 包来对齐方程式。虽然我对这些组件很熟悉,但我不确定如何有效地将它们组合在一起。
为了将方程式创建为列表,我使用了enumitem
包含以下代码的包
\begin{enumerate}[label=\textbf{\Roman*}, labelsep=2em]
\item \ce{NaCl(aq) + 3H2O(l) -> NaClO3(aq) + 3H2(g)}
\item \ce{3NaOCl(aq) -> NaClO3(aq) + 2NaCl(aq)}
\item \ce{NaClO3(aq) + KCl(aq) -> KClO3(aq) + NaCl(aq)}
\end{enumerate}
另一方面,为了通过箭头对齐方程式,我使用了对齐环境:
\begin{align*}
\ce{NaCl(aq) + 3H2O(l) &-> NaClO3(aq) + 3H2(g)} \\
\ce{3NaOCl(aq) &-> NaClO3(aq) + 2NaCl(aq)} \\
\ce{NaClO3(aq) + KCl(aq) &-> KClO3(aq) + NaCl(aq)}
\end{align*}
产生
但是,我很难将这两种技术结合起来。该enumitem
软件包要求将每个方程式添加为单独的项目,这使得使用对齐环境变得具有挑战性。如果您能提供任何关于如何实现所需格式的建议,或者有更好的替代方案,我将不胜感激。
答案1
看看以下解决方案是否可以接受:
\documentclass{article}
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
\usepackage{lipsum} % for dummy text
%---------------------------------------------------------------%
\usepackage{amsmath}
\usepackage[version=4]{mhchem}
\begin{document}
\begin{flalign*}
\mathbf{I} && \ce{NaCl(aq) + 3H2O(l) & -> NaClO3(aq) + 3H2(g)} & \\
\mathbf{II} && \ce{3NaOCl(aq) &-> NaClO3(aq) + 2NaCl(aq)} & \\
\mathbf{III} && \ce{NaClO3(aq) + KCl(aq) &-> KClO3(aq) + NaCl(aq)} &
\end{flalign*}
\end{document}