如何使用 chemfig 标签绘制酯化方案(负责环境中的@tags)?

如何使用 chemfig 标签绘制酯化方案(负责环境中的@tags)?

所以,我实在搞不懂 chemfig。我花了好几个小时尝试复制反应机制,老实说,我后悔没有使用 photoshop。但我们做到了。

我正在尝试复制什么。

我不知道如何在电荷的位置放置正确的标签来复制此操作。无论我将其放置在哪里,它都只会显示我在图中设置为字符的标签,而不是标签。然后我尝试只使用我已经拥有的键的位置,但移动箭头原点也不是一种选择。你能帮帮我吗?这是我到目前为止的代码

\setchemfig{scheme debug=false}
\schemestart
\chemfig[atom sep=2em]{
    H-[0]C(-[2]H)(-[6]H)
    -[0]C(-[2]H)(-[6]H)
    -[0]C
    (=[@{DB}1]\charge{[circle]0=\|, 90=\|}{O})
    -[7]O
    -[0]H
}
\+
\chemfig{
\charge{[circle]45:3pt=$+$}{H}
}
\arrow{<=>}
\schemestop
\chemmove[]{
\draw[shorten <=5pt,shorten >=2pt] (DB) .. controls +(2:3) and +(10:5) .. (DB);
%   \draw(dnl)..controls +(90:1cm)and+(north:1cm)..(atoc);
%   \draw[shorten >=6pt](db)..controls +(north:5mm)and+(100:1cm)..(atoh);
}

这让我想到:

目前结果

顺便问一下:您知道如何修复通向“带电氧原子”的键吗?由于某种原因,该键非常短,尤其是与其他键相比。

答案1

您需要定义箭头的起点和终点(@{...})

\documentclass[border=2mm,12pt]{standalone}
\usepackage{amsmath}
\usepackage{chemfig}

\begin{document}

\setchemfig{scheme debug=false}
\schemestart
\chemfig[atom sep=2em]{H-[0]C(-[2]H)(-[6]H)-[0]C(-[2]H)(-[6]H)-[0]C(=[@{DB}1]@{DB2}\charge{0=\|, 90=\|}{O})-[7]O-[0]H}
\+
\chemfig{@{DB3}\charge{45:3pt=+}{H}}
\arrow{<=>}
\chemfig[atom sep=2em]{H-[0]C(-[2]H)(-[6]H)-[0]C(-[2]H)(-[6]H)-[0]\charge{100:5pt=\ $\oplus $}{C}(-[1]\charge{90=\|, 150=\|}{O}-H)-[7]O-[0]H}
\schemestop
\chemmove[]{
    \draw[red, shorten <=2pt,shorten >=-1pt] (DB) .. controls +(150:10mm) and +(140:5mm) .. (DB2);
      \draw[red,shorten <=3pt,shorten >=2pt](DB2)..controls +(0:10mm)and+(90:15mm)..(DB3);
}

\end{document}

在此处输入图片描述

相关内容