反应方案中化合物之间的电子移动

反应方案中化合物之间的电子移动

我尝试使用宏绘制一些带有电子运动的反应方案chemfig

问题是:我可以绘制每个电子运动,但只能在反应的某种化合物内绘制。如果绘制箭头的节点位于不同的化合物中,则箭头会出现在我想要它出现的任何其他地方。如果 -order 是\chemmove在化合物不同的箭头之后发布的,也会发生同样的情况。这意味着一旦箭头在节点和部分之间切割化合物,节点看起来就会以某种方式“被破坏” \chemmove

这里有些例子。

这有效:

\documentclass{article}

\usepackage{chemfig}
\usetikzlibrary{decorations}

\usepackage{chemmacros}
\begin{document}
\schemestart
\setchemrel{}{}{8em}
\chemfig{R-[:30](-[:-30,.25,,,draw=none]@{fp}\fplus)=^[:90]O}
\chemrel[\chemfig{*6(-=-=-=[@{b}])}][]{<>}
\schemestop
\chemmove{
\draw[->,red,shorten >=3pt, shorten <=3pt]
(b) .. controls +(-120:8mm) and +(-90:8mm) .. (fp) ;
}

但事实并非如此:

\documentclass{article}

\usepackage{chemfig}
\usetikzlibrary{decorations}

\usepackage{chemmacros}
\begin{document}
\schemestart
\chemfig{R-[:30](-[:-30,.25,,,draw=none]@{fp}\fplus)=^[:90]O}
\arrow{<=>[*{0}\chemfig{*6(-=-=-=[@{b}])}]}[,1.5]
\schemestop
\chemmove{
\draw[->,red,shorten >=3pt, shorten <=3pt]
(b) .. controls +(-120:8mm) and +(-90:8mm) .. (fp) ;
}
\end{document}

我尝试通过使用\chemrel而不是来解决这个问题,\arrow但是这让对齐变得很糟糕。

答案1

当您使用 PS 到 PDF 的编译时,会出现此问题。如果您想使用,\usepackage{chemfig}则应使用 pdflatex (LaTex=>PDF) 进行编译。

答案2

另一个解决方案(不是很好)是手动调整所有偏移量。如果通过 PS 编译为 PDF,这也应该有效:

\documentclass{article}

\usepackage{chemmacros}
\usepackage{chemfig}
\usetikzlibrary{decorations}

\begin{document}

\schemestart
\chemfig{R-[:30](-[:-30,.25,,,draw=none]@{fp}\fplus)=^[:90]O}
\arrow(.340--){<=>[*{0}\chemfig{*6(-=-=-=[@{b}])}]}[,1.5]
\schemestop
\chemmove[->,red,shorten <=3pt,shorten >=3pt]{
\draw([yshift=40pt,xshift=20pt]fp.190)..controls+(-95:8mm)and+(-90:8mm)..([yshift=-4pt,xshift=35pt]b);}

\end{document}

相关内容