这学期我用 chemfig 做化学课,遇到分子、箭头、+ 符号以及名称的对齐问题。基本上一切都乱了,哈哈。
有人能解释一下如何正确操作吗?我希望分子的中心位于一条水平线上,箭头和 + 号与该线对齐,名称水平对齐在最大分子的正下方。
提前致谢,丽莎
\begin{figure}[width=\textwidth]
\scriptsize
\begin{scheme}
\schemestart
\chemname{\chemfig{OH-[:210,,1]-[:270]=_[:210]-[:150]=_[:90]-[:30](=_[:330])-[:90](-[:30,,,1]OH)=[:150]O}}{salicylic acid}
\+{2em}
\chemname{\chemfig{-[:30](=[:90]O)-[:330]O-[:30](-[:330])=[:90]O}}{acetic anhydride}
\arrow{->}
\chemname{\chemfig{OH-[:210,,1](=[:150]O)-[:270]=_[:330](-[:30]O-[:330](=[:270]O)-[:30])-[:270]=_[:210]-[:150]=_[:90](-[:30])}}{acetylsalicylic acid}
\+{2em}
\chemname{\chemfig{-[:30](-[:330,,,1]OH)=[:90]O}}{acetic acid}
\schemestop
\end{scheme}
\caption{Reaction for synthesizing acetylsalicylic acid} \label{fig:reaction}
\end{figure}
答案1
主要秘诀是用正确的原子启动分子:公式的第一个原子决定了相应分子的基线。其余的只是使用手册中描述的可选参数稍微移动箭头:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{center}
\setatomsep{1.8em}
\small
\schemestart
\chemname{%
\chemfig{
OH-[:210,,1]-[:270]=_[:210]-[:150]
=_[:90]-[:30](=_[:330])
-[:90](-[:30,,,1]OH)=[:150]O}%
}{salicylic acid}
\+
\chemname{%
\chemfig{
(-[:-150])(=[:90]O)-[:330]O-[:30](-[:330])=[:90]O}%
}{acetic anhydride}
\arrow{->[][][9pt]}
\chemname{%
\chemfig{
{\vphantom{H}}-[:-150](=[:-90]O)-[:150]
O-[:210,,1]-[:270]=_[:210]-[:150]
=_[:90]-[:30](=_[:330])
-[:90](-[:30,,,1]OH)=[:150]O}%
}{acetylsalicylic acid}
\+
\chemname{%
\chemfig{(-[:-150])(-[:330,,,1]OH)=[:90]O}%
}{acetic acid}
\schemestop
\end{center}
\end{document}