为什么这两个箭头不在它们的位置?前两行 chemmoves 的位置正确,其他两行是其他的,我在代码中找不到问题。我编译了几次。
另外,我想将第四个结构放在第二个箭头上方,可以在那里放箭头吗?
\schemestart
\chemfig{@{b1}\charge{-50:2pt=$\scriptsize\ominus$}{C}(-[:30,.6]Z)(-[:150,.6]Z)-[:-120,.6]H}
\hspace*{1cm}
\chemfig{@{b2}C(-[:120,.6]R)(-[:-120,.6]H)=[@{b3},.6]@{b4}\charge{0=\|,-90=\|}{O}}
\arrow{<=>}
\chemfig{@{a5}C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]@{o1}\charge{45:2pt=$\scriptsize\ominus$}{O}}
\+
\chemfig{@{n1}\charge{140:2pt=$\scriptstyle\oplus$}{N}(-[:115,.6]H)(-[@{b5}:-135,.6]@{h2}H)-[:60,.6]-[:0,.6]-[:-60,.6]-[:-120,.6]-[:180,.6]-[:120,.6]}
\arrow{<=>}
\chemfig{C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]\charge{90=\|,0=\|}{O}-[:-90,.6]H}
\schemestop
\chemmove[-stealth,red]{
\draw[shorten <=8pt,shorten >=1pt](b1).. controls +(-45:15mm) and +(180:8mm).. (b2);
\draw[shorten <=2pt,shorten >=2pt](b3).. controls +(100:5mm) and +(90:5mm).. (b4);
\draw[shorten <=8pt,shorten >=2pt](o1).. controls +(45:4mm) and +(160:4mm).. (h2);
\draw[shorten <=2pt,shorten >=2pt](b5).. controls +(120:4mm) and +(180:4mm).. (n1);
}
答案1
像这样吗?
箭头 3 和 4 需要对角度和长度进行微调,仅此而已。
第四个分子里的环是错的,我重写了这个分子。
\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemfig{@{b1}\charge{-50:2pt=$\scriptsize\ominus$}{C}(-[:30,.6]Z)(-[:150,.6]Z)-[:-120,.6]H}
\hspace*{1cm}
\chemfig{@{b2}C(-[:120,.6]R)(-[:-120,.6]H)=[@{b3},.6]@{b4}\charge{0=\|,-90=\|}{O}}
\arrow{<=>}
\chemfig{@{a5}C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]@{o1}\charge{45:2pt=$\scriptsize\ominus$}{O}}
%
\arrow{<=>[\chemfig{@{n1}\charge{140:2pt=$\scriptstyle\oplus$}{N}*6([,.5]------)(-[:115,.6]H)(-[@{b5}:-135,.6]@{h2}H)}]}[,2]
%
\chemfig{C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]\charge{90=\|,0=\|}{O}-[:-90,.6]H}
\schemestop
\chemmove[-stealth,red]{
\draw[shorten <=8pt,shorten >=1pt](b1).. controls +(-45:15mm) and +(180:8mm).. (b2);
\draw[shorten <=2pt,shorten >=2pt](b3).. controls +(100:5mm) and +(90:5mm).. (b4);
\draw[shorten <=8pt,shorten >=2pt](o1).. controls +(40:6mm) and +(150:6mm).. (h2);
\draw[shorten <=2pt,shorten >=0pt](b5).. controls +(150:6mm) and +(180:4mm).. (n1);
}
\end{document}
使用 XeLatex 进行编译解决方案所示确定问题出在 \arrow 命令中,并提出了一种解决方法,将 \arrow 命令放在 \subscheme 中
\documentclass[border=2mm]{standalone}
\usepackage{chemfig}
\begin{document}
\schemestart
\chemfig{@{b1}\charge{-50:2pt=$\scriptsize\ominus$}{C}(-[:30,.6]Z)(-[:150,.6]Z)-[:-120,.6]H}
\hspace*{1cm}
\chemfig{@{b2}C(-[:120,.6]R)(-[:-120,.6]H)=[@{b3},.6]@{b4}\charge{0=\|,-90=\|}{O}}
\subscheme{\arrow{<=>}}
\chemfig{@{a5}C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]@{o1}\charge{45:2pt=$\scriptsize\ominus$}{O}}
\+
\chemfig{@{n1}\charge{120:2pt=$\scriptstyle\oplus$}{N}*6([,.5]------)(-[:150,.6]H)(-[@{b5}:-135,.6]@{h2}H)}
\subscheme{\arrow{<=>}}
\chemfig{C(-[:30,.6]Z)(-[:150,.6]Z)(-[:-130,.6]H)-[:-60,.6](-[:-120,.6]R)-[,.6]\charge{90=\|,0=\|}{O}-[:-90,.6]H}
%------------------------------------
\chemmove[-stealth,red]{
\draw[shorten <=8pt,shorten >=1pt](b1).. controls +(-45:15mm) and +(180:8mm).. (b2);
\draw[shorten <=2pt,shorten >=2pt](b3).. controls +(100:5mm) and +(90:5mm).. (b4);
\draw[shorten <=8pt,shorten >=2pt](o1).. controls +(40:6mm) and +(150:6mm).. (h2);
\draw[shorten <=2pt,shorten >=0pt](b5).. controls +(150:6mm) and +(180:4mm).. (n1);
}
\schemestop
\end{document}