chemfig 中分子之间的位置

chemfig 中分子之间的位置

我试图说明两个核苷酸之间的氢键。但是,chemfig 将一个核苷酸置于另一个核苷酸之下。我怎样才能将它们水平相邻放置?

\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}

\chemfig{N*6([:270](-sugar)-=(-)-(=O@{d})-NH@{b}-(=O)-)}{Thymine}

\chemfig[shift={(3,2)}]{[:90]N*6(-*5(-N(-sugar)-=N-)=-(-NH_2@{a})=N@{c}-=)}{Adenine}

\chemmove{ \draw[,,,,,dash pattern=on 2pt off 2pt] (a)--(b); \draw[,,,,,dash pattern=on 2pt off 2pt] (c)--(d); }

\end{document}

腺嘌呤和胸腺嘧啶

答案1

将分子并排放置的一种方法是使用命令\chemname{<molecule>}{<name>},这还有将分子名称放置在分子本身下方的附加效果。

除此之外,我对你的绘图做了一些小改动,使其看起来更美观:

  • 用于[shift={(0,-2.5)}]使两个分子正确地垂直排列。
  • 将节点放置位置移至原子本身,而不是像代码中那样在原子之后。请注意chemfig包文档中的此语法:a node on an atom using the syntax “@{<name>}” immediately before the relevant atom。这将确保您的箭头在正确的位置开始和结束。
  • 改为NH2H2N因为我推测环上的键是与 N 原子相连的,而不是 H 原子。(我的化学知识有点生疏。。:p

腺嘌呤和胸腺嘧啶并列

\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}

    \chemname{%
    \chemfig{N*6([:270](-sugar)-=(-)-(=@{d}O)-N(-@{b}H)-(=O)-)}
    }{Thymine}
    \qquad
    \chemname{%
    \chemfig[shift={(0,-2.5)}]{[:90]N*6(-*5(-N(-sugar)-=N-)=-(-@{a}H_2 N)=@{c}N-=)}
    }{Adenine}

    \chemmove{%
        \draw[dash pattern=on 2pt off 2pt] (a)--(b); 
        \draw[dash pattern=on 2pt off 2pt] (c)--(d); 
    }

\end{document}

附言:我不太确定对于 H 键,哪个箭头应该放在哪里,请根据你的需要进行修改。

答案2

谢谢 Troy。这招奏效了。实际上,我意识到 H 键指向了错误的位置(相互交叉)。以下是更新。

\documentclass[11pt,letterpaper]{article}
\usepackage{chemfig}
\begin{document}

\chemname{%
   \chemfig{
      N*6([:0](-sugar)-(=O)-N(-@{b}H)-(=@{d}O)-(-)=-)
   }
}{Thymine}
\qquad
\chemname{%
   \chemfig[shift={(-0.5,-1.25)}]{
      [:90]N*6(-*5(-N(-sugar)-=N-)=-(-@{a}H_2 N)=@{c}N-=)
   }
}{Adenine}
\chemmove{%
   \draw[-,dash pattern=on 2pt off 2pt] (a)--(d); 
   \draw[-,dash pattern=on 2pt off 2pt] (c)--(b); 
}

\end{document}

腺嘌呤和胸腺嘧啶

相关内容