如何将所有分子、+号和箭头排列在同一水平?

如何将所有分子、+号和箭头排列在同一水平?

我使用该chemfig包绘制化学反应中的分子。但是,我无法将分子、符号+和箭头对齐到基线上。我尝试了\vphantom命令,就像在这个问题中。但它不起作用。我无法使用命令 \chemfig{}将分子向上或向下移动。使用时我该如何处理此类问题chemfig?对新chemfig学习者有什么技巧吗?这是我到目前为止的输出: 在此处输入图片描述

我的代码:

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\setatomsep{3em}
\schemestart
\chemname{\chemfig{O=[:-90](-[:-150]H)-[:-30]OH}}{Formic acid} 
\+{2em, 2em, -3em} 
\vphantom{\+{,, -3em}}%
\chemname{\chemfig{CH_3OH}}{Methanol}
\arrow{<=>}
\chemname{\chemfig{O=[:-90](-[:-150]H)-[:-30]O-[:30]}}{Methyl formiate} 
\+{2em, 2em, -3em} 
\chemname{\chemfig{H_2O}}{Water}
\schemestop

\end{document}

答案1

chemfig总是将分子的第一个原子放在基线上,所以如果你写

\chemfig{O=[:-90](-[:-150]H)-[:-30]OH}

氧原子将位于基线上。要将碳原子置于基线上,它必须是第一个原子:

\chemfig{(-[:-150]H)(=[:90]O)-[:-30]OH}

换句话说,你必须从你想要放在基线上的原子开始,并将其他原子视为分支。因此代码

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\setatomsep{3em}
\schemestart
\chemname{\chemfig{(-[:-150]H)(=[:90]O)-[:-30]OH}}{Formic acid}
\+
\chemname{\chemfig{CH_3OH}}{Methanol}
\arrow{<=>}
\chemname{\chemfig{(-[:-150]H)(=[:90]O)-[:-30]O-[:30]}}{Methyl formiate}
\+
\chemname{\chemfig{H_2O}}{Water}
\schemestop
\end{document}

答案2

即使使用像 Chemfig 这样的优秀软件包,化学式也很难正确显示。我会改用像 ChemDraw 这样的专用应用程序,它具有解决此问题所需的所有功能以及其他更复杂示例所需的所有附加功能。

有时人们必须认识到 TeX/LaTeX 并不能做到一切……更可惜的是

相关内容