chemfig chemname 对齐,chemnameinit 似乎没有做任何事情?

chemfig chemname 对齐,chemnameinit 似乎没有做任何事情?

我试图让化学名称在这个反应中垂直对齐,但由于某种原因,设置\chemnameinit为匹配较大的分子似乎没有任何效果。

    \chemnameinit{\chemfig{C(-[6]CH_2OPO_3^{2-})(-[4]H)(-[0]OH)(-[2]C(=[1]O)(-[3]H))}}
\schemestart[0,2.5,thick]  %argument specifies arrow angle, length, style
    \chemname{\chemfig{C(=[0]O)(-[2]CH_2OH)(-[6]CH_2OPO_3^{2-})}}{Dyhydroxyacetone phophate}
    \arrow{<=>[Triose phophate isomerase]}
    \chemname{\chemfig{C(-[6]CH_2OPO_3^{2-})(-[4]H)(-[0]OH)(-[2]C(=[1]O)(-[3]H))}}{D-Glyceradldehyde 3-phophate}
\schemestop

enter image description here

答案1

你必须在箭头上使用锚点:当你移除箭头时,两个结构会在中心碳上对齐。因此,将箭头的定义更改为

\arrow(.base east--.base west){<=>[Triose phophate isomerase]}

给出中心碳的比对结果。因此,完整的示例如下:

\documentclass[]{article}
\usepackage{chemfig}

\begin{document}         
    \chemnameinit{%
        \chemfig{C(-[6]CH_2OPO_3^{2-})(-[4]H)(-[0]OH)(-[2]C(=[1]O)(-[3]H))}}
    \schemestart[0,2.5,thick][north]  %argument specifies arrow angle, length, style
    \chemname{%
         \chemfig{C(=[0]O)(-[2]CH_2OH)(-[6]CH_2OPO_3^{2-})}}%
              {Dyhydroxyacetone phophate}
    \arrow%
        (.base east--.base west)% <----ensures alignment on baseline
        {<=>[Triose phophate isomerase]}
    \chemname{%
         \chemfig{C(-[6]CH_2OPO_3^{2-})(-[4]H)(-[0]OH)(-[2]C(=[1]O)(-[3]H))}}%
              {D-Glyceradldehyde 3-phophate}
    \schemestop
\end{document}

(顺便说一句,在这里给出一个完整的代码示例被认为是一种很好的形式,从到,\documentclass{...}以便\end{document}其他人更容易编译你的示例并查看出了什么问题(并使用它找到解决方案)

相关内容