使用 chemname 对齐反应中的分子名称

使用 chemname 对齐反应中的分子名称

我想在不移动结构的情况下对齐成分的化学名称。有人知道这是怎么做的吗?

\schemedebug{true}
\schemestart
\setcrambond{2pt}{}{}
\chemname{\chemfig{H-[2,0.5](-[2,0.5]OH)-[,,,,
line width=2pt](-[6,0.5]OH)(-[2,0.5]H)>[1,0.7](-[6,0.5]OH)(-[2,0.5]H)-[3,0.7]
O-[4]?(-[2,0.3]-[3,0.5]OH)-[5,0.7](-[2,0.5]H)(-[6,0.5,,2]HO)<[7,0.7]}}{D-Glukose}
\arrow{-U>[\tiny ADP+NAD][\tiny ATP+NADH][][][60]}[,1.5]
2 \arrow{0}[,0]\chemname{\setatomsep{1.78500em}\chemfig{-[2](=[:150]O)-[:30](=[2]O)-[:-30]O^{-}}}{Pyruvat}
\arrow{-U>[\tiny NADH][\tiny NAD][][][60]}[,1.5]
2 \arrow{0}[,0]\chemname{\setatomsep{1.78500em}\chemfig{-[2](-[:150]OH)-[:30](=[2]O)-[:-30]O^{-}}}{Lactat}
\schemestop
\chemnameinit{} 

答案1

如果你使用\arrow(.base east--.base west)你会看到\chemname确实使用了正确的深度。秘诀是为分子选择合适的基线(记住总是第一的公式内的原子chemfig决定了整个分子的基线。

\documentclass{article}
\usepackage{chemfig}
% \usepackage{showframe}
\begin{document}

\setatomsep{1.78500em}
\setcrambond{2pt}{}{}
\schemestart
  \setatomsep{1.5em}
  \chemname{%
    \chemfig{
      -[1,1.4](-[2]-[3]HO)-[,2]O-[7,1.4]
      (-[2]H)(-[6]OH)
      <[5,1.4](-[2]H)(-[6]OH)
      -[4,2,,,line width=2pt](-[2]H)(-[6]OH)
      >[3,1.4](-[6]H)(-[2]OH)
    }%
  }{D-Glukose}
  \arrow(.base east--.base west){-U>[\tiny ADP+NAD][\tiny ATP+NADH][][][60]}[,1.5]
  2
  \chemname{%
    \chemfig{O=[:-30](-[:-90])-[:30](=[:90]O)-[:-30]O^{-}}%
  }{Pyruvat}
  \arrow(.base east--.base west){-U>[\tiny NADH][\tiny NAD][][][60]}[,1.5]
  2
  \chemname{%
    \chemfig{HO-[:-30](-[:-90])-[:30](=[:90]O)-[:-30]O^{-}}%
  }{Lactat}
\schemestop

\end{document}

在此处输入图片描述

相关内容