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

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

我昨天遇到的问题与使用 chemfig 绘制纤维素分子有关。特别是我对 tikz 不熟悉,所以我在对齐单体时遇到了问题。

我以前用过 xymtec,但当我转到 debian wheezy 时,我很快发现它已经过时了。所以我现在又开始尝试重新学习了。

这是我尝试解决问题的一个例子。这是一个反复试验的过程。我相信有更优雅的解决方案。

我花了将近半天的时间才找到这个粗略的代码,所以我想知道它是否可以改进。

我在这里写这篇文章,因为这个网站非常有用,所以我想回馈一些东西。

\documentclass{minimal}
\usepackage{chemfig}

\definesubmol{glucoBeta}{
       ?(4-[:190,0.7])
        -[:-50](-[:170]HO)
        -[:10](-[:-55,0.7]OH)
        -[:-10]1(-[6,0.7]H)(-[:10]O)
        -[:130]{\color{red}{O}}
        -[:190]?(-[:150,0.7]-[2,0.7]OH)
}

\begin{document}

FIRST EXAMPLE \\
\chemfig[][scale=0.85]{!{glucoBeta}}
\vflipnext
 \chemfig[][scale=0.85]{!{glucoBeta}}
\chemfig[][scale=0.85]{!{glucoBeta}}
\vflipnext
 \chemfig[][scale=0.85]{!{glucoBeta}}\\
\bigskip

SECOND EXAMPLE\\

\chemfig[][scale=0.85]{!{glucoBeta}}
\vflipnext
 \chemfig[yshift=-7mm][scale=0.85]{!{glucoBeta}}
\chemfig[][scale=0.85]{!{glucoBeta}}
\vflipnext
 \chemfig[yshift=-7mm][scale=0.85]{!{glucoBeta}}


\end{document}

输出

在此处输入图片描述

答案1

我认为更好的想法是定义两个子分子:

  1. 葡萄糖,即亚摩尔,以“4”开始,以“1”结束
  2. 第二个与第一个相同,但所有角度都是镜像的

然后,您只需将一个葡萄糖一个地放入\chemfig{}即可获得纤维素结构。无需翻转和手动调整垂直移位。恕我直言,这在语义上也更好,因为您将拥有代表纤维素的分子结构。

\documentclass[margin=5pt]{standalone}
\usepackage{chemfig}

% this submol starts at the left-most bond (to C4)
% and ends at the right-most bond (from C1);
% it does not use the ?-syntax to avoid unwanted
% connections between different instances of the
% glucose rings:
\definesubmol{glucoBeta}{
  -[:10,.7]4
  (
    -[:-10](-[:150,0.7]-[2,0.7]OH)
    -[:10]{\color{red}{O}}-[:-50,.75]
  )
  -[:-50](-[:170]HO)
  -[:10](-[:-55,0.7]OH)
  -[:-10]1(-[6,0.7]H)
  -[:10,.7]O
}

% this submol is the same as the one before except
% that every bond has been changed to the opposite direction:
\definesubmol{turned-glucoBeta}{
  -[:-10,.7]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]O
}

\begin{document}

% both submols can now be used together in one call of
% \chemfig in order to draw the cellulose structure:
\chemfig{HO!{glucoBeta}!{turned-glucoBeta}!{glucoBeta}!{turned-glucoBeta}H}

\end{document}

在此处输入图片描述

相关内容