下标或上标导致化学键垂直移动

下标或上标导致化学键垂直移动
\documentclass{article}
\usepackage{chemfig}
\begin{document}
     $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {CH=C}(CH_3)OCH_3$\par
     $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {CH_2=C}(CH_3)OCH_3$\par
     $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {H_2C=C}(CH_3)OCH_3$\par
     $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {C_4H_2=C}(CH_3)OCH_3$\par
\end{document}

如您所见,公式中下标垂直移位的化学键较低,我知道这是“chemfig”宏的算法结果。但我想知道如何禁用这种移位?谢谢回答。

在此处输入图片描述


更新:我有一个 tex.cls,它有很多满足自定义功能的 \NewDocumentCommand。所以我不能更改宏。而且由于通用的 NewDocumentCommand,我必须确保原子分离、键偏移和斜体

例如:

\NewDocumentCommand{\myChem}{m}{
   $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig #1\par
}

到目前为止,我已经尝试了 \vphantom 和 chemskipalign 宏,但未能成功解决垂直移位问题。可能是我对此宏的使用有误。希望得到答复,并感谢“andselisk”。

\documentclass{article}
\usepackage{chemfig}
\begin{document}
\begin{enumerate}
    \item $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {CH=C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {CH_2=C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {H_2C=C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {C_4H_2=C}(CH_3)OCH_3$\par
    \item $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig { CH= \chemskipalign C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig { CH_2= \chemskipalign C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {H_2C=\chemskipalign C}(CH_3)OCH_3$\par
    \item  $\rm \setatomsep{2em}\setbondoffset{0pt}\chemfig {C_4H_2=\chemskipalign. C}(CH_3)OCH_3$\par

    \chemfig{A-B-C-D}\qquad \chemfig{E-F-G-H}\par
    \chemfig{A^1-B-C-D}\qquad \chemfig{E_1-F-G-H}\par
    \chemfig{\vphantom{C}A^1-B-C-D}\qquad \chemfig{\vphantom{G}E_1-F-G-H}\par
    \chemfig{A^1-B-{\vphantom{A^1}C}-D}\qquad \chemfig{E_1-F-{\vphantom{E_1}G}-H}\par
    \chemfig{A^1-\chemskipalign B-C-D}\qquad \chemfig{E_1-\chemskipalign F-G-H}\par
\end{enumerate}
\end{document}

在此处输入图片描述 在此处输入图片描述

答案1

我认为这chemfig不是这种公式的最佳方法。使用以下方法更简单chemformula

\documentclass{article}
\usepackage{chemformula}

\setchemformula{bond-length=1em}

\begin{document}

\ch{CH=C(CH3)OCH3}\par
\ch{CH2=C(CH3)OCH3}\par
\ch{H2C=C(CH3)OCH3}\par
\ch{C4H2=C(CH3)OCH3}\par

\end{document}

在此处输入图片描述

相关内容