![chemfig chemname 对齐,chemnameinit 似乎没有做任何事情?](https://linux22.com/image/374456/chemfig%20chemname%20%E5%AF%B9%E9%BD%90%EF%BC%8Cchemnameinit%20%E4%BC%BC%E4%B9%8E%E6%B2%A1%E6%9C%89%E5%81%9A%E4%BB%BB%E4%BD%95%E4%BA%8B%E6%83%85%EF%BC%9F.png)
我试图让化学名称在这个反应中垂直对齐,但由于某种原因,设置\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
答案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}
其他人更容易编译你的示例并查看出了什么问题(并使用它找到解决方案)