如何使用 将多个反应与反应箭头对齐chemfig
?
在 MWE 中,我想要将两个反应与箭头对齐。
\documentclass{minimal}
\usepackage{chemfig}
\begin{document}
\chemfig{Cl}\chemsign+\chemfig{O_3}
\chemrel{->}
\chemfig{ClO}\chemsign+\chemfig{O_2}
\chemfig{ClO}\chemsign+\chemfig{O}
\chemrel{->}
\chemfig{Cl}\chemsign+\chemfig{O_2}
\end{document}
答案1
这是
chemfig
唯一的方法:将其\startscheme ... \stopscheme
机制与不可见的“箭头”0
和 TikZ 节点的锚定结合使用。这里的技巧是:\arrow(@c1.south east--.north east){0}[-90,.1]
{0}
一个向下的不可见箭头(-90
) 和缩短的 (.1
) 将复合词c1
与新词连接起来,前者是锚定的south east
,后者是。如果在方案前添加,north east
你可以看到什么被视为复合词。chemfig
\schemedebug{true}
\documentclass{article} \usepackage{chemfig} \begin{document} \schemestart Cl \+ \printatom{O_3} \arrow ClO \+ \printatom{O_2} \arrow(@c1.south east--.north east){0}[-90,.1] ClO \+ O \arrow Cl \+ \printatom{O_2} \schemestop \end{document}
正如你所注意到的在你自己答案中
chemfig
也可以与 的对齐环境结合使用amsmath
,类似于以下提议像问题中所示的简单反应也可以用
mhchem
和排版amsmath
:\documentclass{article} \usepackage{mhchem} \usepackage{amsmath} \begin{document} \begin{align*} \cee{Cl + O3 &-> ClO + O2} \\ \cee{ClO + O &-> Cl + O2} \end{align*} \end{document}
另一种可能性是
chemformula
:amsmath
chemmacros
\documentclass{article} \usepackage[ghsystem=false]{chemmacros}% loads amsmath and chemformula \begin{document} \begin{align*} \ch{Cl + O3 &-> ClO + O2} \\ \ch{ClO + O &-> Cl + O2} \end{align*} \begin{reactions*} Cl + O3 &-> ClO + O2 \\ ClO + O &-> Cl + O2 \end{reactions*} \end{document}
答案2
chemfig
可以在环境中使用align
。因此,可以这样做
\documentclass{minimal}
\usepackage{chemfig}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\chemfig{Cl}\chemsign+\chemfig{O_3}
& \chemrel{->}
\chemfig{ClO}\chemsign+\chemfig{O_2} \\
\chemfig{ClO}\chemsign+\chemfig{O}
& \chemrel{->}
\chemfig{Cl}\chemsign+\chemfig{O_2}
\end{align*}
\end{document}
这个答案的缺点是反应在内部align
而不是chemfig
。例如,你不能轻易缩放方程。