连接 chemfig 中的原子。两个相邻的分子

连接 chemfig 中的原子。两个相邻的分子

这是 在 chemfig 中绘制纤维素并排列单体

我正在尝试添加一些氢键来改进结构。链内氢键没有问题,但我不知道如何在两个相邻的\chemfig命令中连接原子。这是我的尝试。

请注意,红色键(从OH中出现C6)位置不正确。它应该从 H 中出现,而不是从 中出现O

这是另一个问题,但主要问题是连接H两个链之间的键。

我想我必须操纵边界框,但我不知道如何去做。

\documentclass{article}
\usepackage{chemfig}

\begin{document}

\definesubmol{180-glucoBeta}{
  -[:-10,.7,,,magenta]4
  (
    -[:10](-[:-150,0.7]-[6,0.7]OH)
    -[:-10]O(-[:50,.75])(-[:8,1.1,,,dash pattern=on 1pt off 1pt,green])
  )
  -[:50](-[:-170]HO)
  -[:-10](-[:55,0.7]OH)
  -[:10]1(-[2,0.7]H)
  -[:-10,.7,,,magenta]{\color{magenta}{O}}
}


\definesubmol{glucoBeta_H_bond}{
-[:10,.7,,,magenta]4
  (
    -[:-10](-[:150,0.7]-[2,0.7]OH(-[:100,1,,,dash pattern=on 1pt off 1pt,red]))
    -[:10]O(-[:-50,.75])(-[:-8,1.1,,,dash pattern=on 1pt off 1pt,green])
  )
  -[:-50](-[:170]HO(-[:-80,,,,dash pattern=on 1pt off 1pt,brown]))
  -[:10](-[:-55,0.7]OH)
  -[:-10]1(-[6,0.7]H)
  -[:10,.7,,,magenta]{\color{magenta}{O}} 
}

\chemfig[][scale=.75]{
  -[:-10,.7,,,,dash pattern=on 2pt off 2pt, magenta]O
  !{glucoBeta_H_bond}
  !{180-glucoBeta}
  !{glucoBeta_H_bond}
  !{180-glucoBeta}
  !{glucoBeta_H_bond}
  -[:-10,.7,,,dash pattern=on 2pt off 2pt, magenta]
}


\chemfig[blue][scale=.75]{
  -[:-10,.7,,,dash pattern=on 2pt off 2pt, magenta]O
  !{glucoBeta_H_bond}
  !{180-glucoBeta}
  !{glucoBeta_H_bond}
  !{180-glucoBeta}
  !{glucoBeta_H_bond}
  -[:-10,.7,,,dash pattern=on 2pt off 2pt, magenta]
}

\end{document}

在此处输入图片描述

答案1

两个分子之间的连接

如果问题是如何在通过单独调用 创建的两分子之间绘制连接,\chemfig那么答案原则上很简单。ChemFig 的分子实际上是 TikZ 图片,而原子在这个意义上是节点。因此,它们可以通过 ChemFig 的@{<node name>}语法命名,然后通过某些\tikz[remember picture, overlay]...;ChemFig 的包装器连接起来\chemmove{}

下面的例子

\documentclass{article}
\usepackage{chemfig}
\begin{document}
General idea:\par
\chemfig{-[7]@{a}-[1]}

\vskip2em

\chemfig{-[1]@{b}-[7]}
\chemmove{ \draw[red,dotted] (a)--(b); }
\end{document}

经过两次编译后得到:

在此处输入图片描述

但是,就你的情况而言,我认为这不是最好的方法。为了能够连接节点,它们需要具有唯一的名称。如果你重复使用一个节点名称,则只会记住最后一个实例:

因此,当要连接的节点隐藏在重复的子节点中时,该方法就不是那么好:

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

problem with molecules derived from submols:\par
\definesubmol{foo}{-[7]@{a}-[1]}
\definesubmol{bar}{-[1]@{b}-[7]}

\chemfig{!{foo}!{bar}!{foo}!{bar}}

\vskip2em

\chemfig{!{foo}!{bar}!{foo}!{bar}}
\chemmove{ \draw[green,dashed] (a)--(b); }

\end{document}

在此处输入图片描述

寻找正确的原子

这回答了你的第二个问题:

请注意,红色键(从 C6 中的 OH 中出现)位置不正确。它应该从 H 而不是 O 中出现。

ChemFig 为这一问题提供了解决方案。 中的每个键\chemfig{}都有一个可选参数,其中包含五个参数:

-[<direction>,<length factor>,<departure>,<arrival>,<tikz options>]

这里有趣的是<departure>和,<arrival>它们是整数,指定所需的出发和到达原子的数量。ChemFig 手册中有以下示例:

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

\chemfig{ABCD-[:75,,2,3]EFG}\qquad
\chemfig{ABCD-[:75,,,2]EFG}\qquad
\chemfig{ABCD-[:75,,3,2]EFG}

\end{document}

在此处输入图片描述

建议的解决方案

为了得到两股纤维素,我建议保存两个具有氢键的葡萄糖的亚摩尔数。以下是使用turned-glucoBeta亚摩尔的可能定义我对你链接的问题的回答

\definesubmol{bridged}{
  -[:10,.7,,,glycosid]4
  (
    -[:-10](-[:150,0.7]-[2,0.7]OH)
    -[:10]{\color{red}{O}}(-[:-8,1.2,,,bridge])
    -[:-50,.75]
  )
  -[:-50]
  (
    -[:170]HO
    -[6,,2,2,bridge]
    OH
    -[6,.7]
    -[:-30]
    -[:170]4(-[:-170,.475,,,glycosid])
    -[:-50](-[:170]HO)
    -[:10](-[:-50,.7]OH)
    -[:-10]1(-[6]H)(-[:10,.7,,,glycosid]{\color{glyc}O}!{turned-glucoBeta})
    -[:130]{\color{red}O}(-[:-8,1.2,,,bridge])
    -[:-170]
  )
  -[:10](-[:-55,0.7]OH)
  -[:-10]1(-[6,0.7]H)
  -[:10,.7,,,glycosid]{\color{glyc}O}
  !{turned-glucoBeta}
}

现在可以重复使用此 submol 来获取聚合物:

在此处输入图片描述

完整代码

\documentclass[margin=.5cm]{standalone}
\usepackage{chemfig}
\tikzset{
  bridge/.style={dotted,blue} ,
  glycosid/.style={glyc}
}
\colorlet{glyc}{green}

\definesubmol{turned-glucoBeta}{
  -[:-10,.7,,,glycosid]4
  (
    -[:10](-[:-150,0.7]-[6,0.7]OH)
    -[:-10]{\color{red}{O}}-[:50,.75]
  )
  -[:50](-[:-170]HO)
  -[:-10](-[:55,0.7]OH)
  -[:10]1(-[2,0.7]H)
  -[:-10,.7,,,glycosid]{\color{glyc}{O}}
}
\definesubmol{bridged}{
  -[:10,.7,,,glycosid]4
  (
    -[:-10](-[:150,0.7]-[2,0.7]OH)
    -[:10]{\color{red}{O}}(-[:-8,1.2,,,bridge])
    -[:-50,.75]
  )
  -[:-50]
  (
    -[:170]HO
    -[6,,2,2,bridge]
    OH
    -[6,.7]
    -[:-30]
    -[:170]4(-[:-170,.475,,,glycosid])
    -[:-50](-[:170]HO)
    -[:10](-[:-50,.7]OH)
    -[:-10]1(-[6]H)(-[:10,.7,,,glycosid]{\color{glyc}O}!{turned-glucoBeta})
    -[:130]{\color{red}O}(-[:-8,1.2,,,bridge])
    -[:-170]
  )
  -[:10](-[:-55,0.7]OH)
  -[:-10]1(-[6,0.7]H)
  -[:10,.7,,,glycosid]{\color{glyc}O}
  !{turned-glucoBeta}
}
\begin{document}
\chemfig{!{bridged}!{bridged}!{bridged}}
\end{document}

相关内容