chemfig の反応メカニズムの問題

chemfig の反応メカニズムの問題

なぜこれらの 2 つの矢印が所定の位置にないのでしょうか? 最初の 2 つの chemmoves 行は適切な位置にありますが、他の 2 つは別の位置にあり、コードに問題は見つかりません。何度かコンパイルしました。

また、4 番目の構造を 2 番目の矢印の上に配置したいのですが、そこに矢印を配置することは可能ですか?

\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 は角度と長さを少し調整するだけで済みます。

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} 

ここに画像の説明を入力してください

関連情報