在这篇博文经过约瑟夫·赖特我发现了一段代码,它重新定义了chemifg
的\printatom
命令以使用mhchem
的\cf
命令,允许(除其他外)进行无衬线排版。
此设置需要使用几个\vphantom
s 来垂直对齐所有粘合线。
\documentclass{article}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}
\makeatletter
\def\CF@node@content{%
\expandafter\expandafter\expandafter
\printatom\expandafter\expandafter\expandafter
{\csname atom@\number\CF@cnt@atomnumber\endcsname}%
\ensuremath{\CF@node@strut}%
}
\makeatother
\renewcommand*{\printatom}[1]{{\sffamily\cf{#1}}}
\begin{document}
% without \vphantom, bad alignment
\chemfig{-CH_2-CH_2-}
\medskip
% with \vphantom, nice alignment but lines too low
\chemfig{\vphantom{\ce{CH2}}-CH_2-\vphantom{\ce{CH2}}CH_2-\vphantom{\ce{CH2}}}
\end{document}
不幸的是,这会使键合线的位置太低,以至于它们没有与字母的中心对齐。有没有办法将所有键合线与字母的垂直中心对齐,就像没有 的示例中的第一条线一样\vphantom
?