![如何在 chemfig 中选择性地改变键长?](https://linux22.com/image/279173/%E5%A6%82%E4%BD%95%E5%9C%A8%20chemfig%20%E4%B8%AD%E9%80%89%E6%8B%A9%E6%80%A7%E5%9C%B0%E6%94%B9%E5%8F%98%E9%94%AE%E9%95%BF%EF%BC%9F.png)
嗨,我正在尝试使用 chemfig 包创建三酰甘油分子。我已经很接近了。主链有三个侧链,C 原子上的双键与前一个侧链相连。理想情况下,如果双键较短或主链分子之间的单键较长,这个问题就会得到解决。我还没能弄清楚如何有选择地改变键长,这样它就不会影响其他键长。
非常感谢您的帮助。
谢谢。
%尝试 1:
\setatomsep{50pt}\chemfig{CH([:45]-[0]O-[1]C(=[::+45]O)-[7]R_2)([:90]-CH_2 -[0]O-[1]C(=[::+45]O)-[7]R_1)([:-90]-CH_2 -[0]O-[1]C(=[::+45]O)-[7]R_3)}
% 尝试 2:
\definesubmol{x}{\setatomsep{2em}-[1]C(=[::+45]O)-[7]R_2}
\definesubmol{y}{\setatomsep{2em}-[1]C(=[::+45]O)-[7]R_1}
\definesubmol{z}{\setatomsep{2em}-[1]C(=[::+45]O)-[7]R_3}
\chemfig{CH([:45]-[0]O!x)([:90]-CH_2-[0]O!y)([:-90]-CH_2-[0]O!z)}
答案1
Chemfig 的键有一个可选参数,它采用几个参数,其中一个是缩放键长的因子:
<bond>[<angle spec>,<length factor>,<other parameters>]
因此,您只需将该选项添加到您想要更短的债券中即可:
\documentclass[a4paper,11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{chemfig}
\begin{document}
\setatomsep{50pt}
\chemfig{
CH
(-O-[:30]C(=[:90,.7]O)-[:-30]R_2)
(-[:90]CH_2-O-[:30]C(=[:90,.7]O)-[:-30]R_1)
(-[:-90]CH_2-O-[:30]C(=[:90,.7]O)-[:-30]R_3)
}
\end{document}