chemfig:对齐多个反应

chemfig:对齐多个反应

如何使用 将多个反应与反应箭头对齐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}
    

    在此处输入图片描述

  • 另一种可能性是chemformulaamsmathchemmacros

    \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。例如,你不能轻易缩放方程。

相关内容