以下代码使用chemfig
放置在箭头中的equation
方式,导致公式编号位置过低。如何让公式编号与箭头垂直对齐?
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{equation}
\schemestart
\setcrambond{2pt}{}{}
\chemfig{HO-[2,0.5,2]?<[7,0.7](-[2,0.5]OH)-[0,,,,
line width=2pt](-[6,0.5]OH)>[1,0.7](-[6,0.5]OH)-[3,0.7]
O-[4]?(-[2,0.3]-[3,0.5]OH)}\arrow 2
\chemfig{ H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop
\end{equation}
\end{document}
答案1
更新:我查看了 chemfig 手册和代码,由于代码中的注释是法语,因此成功率非常有限。(我并不是说,如果它们不是法语,我就会找到适合所有情况的完美解决方案。;-) 结果是,在您的示例中,您可能只需添加第二个选项即可[base]
,\schemestart
请参阅 chemfig 手册第 5 节的末尾。(我很想写“了解更多详细信息”,但没有任何详细信息,甚至base
没有提及。;-) 因此,这产生了
\documentclass{article}
\usepackage{chemfig}
\usepackage{tikzpagenodes} % only for illustration purposes
\begin{document}
\begin{equation}
\schemestart[][base]
\setcrambond{2pt}{}{}
\chemfig[baseline=(OH2)]{HO-[2,0.5,2]?<[7,0.7](-[2,0.5]@{OH2}OH)-[0,,,,
line width=2pt](-[6,0.5]OH)>[1,0.7](-[6,0.5]OH)-[3,0.7]
O-[4]?(-[2,0.3]-[3,0.5]OH)}\arrow 2
\chemfig[baseline=(H2.base)]{@{H2}H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop
\end{equation}
\begin{equation}
\schemestart
\setcrambond{2pt}{}{}
\chemfig[baseline=(H1.base)]{@{H1}H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop
\end{equation}
\begin{equation}
\schemestart[][base]
\setcrambond{2pt}{}{}
\chemfig{@{H3}H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop
\end{equation}
\begin{tikzpicture}[overlay,remember picture]
\draw[thin,red] (H2.base -| current page text area.west)
-- (H2.base -| current page text area.east);
\draw[thin,red] (H1.base -| current page text area.west)
-- (H1.base -| current page text area.east);
\draw[thin,red] (H3.base -| current page text area.west)
-- (H3.base -| current page text area.east);
\end{tikzpicture}
\end{document}
我添加了一些比较和图形说明。我还保留了我的旧答案,因为很可能确实需要使用特定分子的碱基,并且建议以这样一种方式绘制分子,即从所需的分子开始可能会变得复杂。也就是说,我不知道如何从中间的 OH 开始绘制左侧方案。
旧答案:默认情况下,基线设置为第一个分子的基线。但您可以覆盖此设置。第一步是给分子命名,在下面的示例中,这是通过添加 来完成的@{OH2}
,然后您可以将其用作基线。
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{equation}
\schemestart
\setcrambond{2pt}{}{}
\chemfig[baseline=(OH2)]{HO-[2,0.5,2]?<[7,0.7](-[2,0.5]@{OH2}OH)-[0,,,,
line width=2pt](-[6,0.5]OH)>[1,0.7](-[6,0.5]OH)-[3,0.7]
O-[4]?(-[2,0.3]-[3,0.5]OH)}\arrow 2
\chemfig{@{H1}H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop
\end{equation}
\end{document}
答案2
正如@Manuel 提到的,一个简单的\vcenter{\hbox{ ... }}
工作原理:
\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{equation}
\vcenter{\hbox{\schemestart
\setcrambond{2pt}{}{}
\chemfig{HO-[2,0.5,2]?<[7,0.7](-[2,0.5]OH)-[0,,,,
line width=2pt](-[6,0.5]OH)>[1,0.7](-[6,0.5]OH)-[3,0.7]
O-[4]?(-[2,0.3]-[3,0.5]OH)} \arrow 2
\chemfig{ H-C(-[2]H)(-[6]H)-C(-[2]H)(-[6]H)-OH} +
2 CO2
\schemestop}}
\end{equation}
\end{document}