我尝试使用宏绘制一些带有电子运动的反应方案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}