![选项1](https://linux22.com/image/383926/%E9%80%89%E9%A1%B91.png)
我提供了两个解决我的问题的起点:
选项1
我试图将箭头移动到更高的点(在 p 轨道上部中间的某个位置),并使硼原子位于 p 轨道的顶部而不是下方,如下图所示:
我目前的代码是:
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\makeatletter
\usepackage{chemfig}
\usepackage{tikz}
\usepackage{chemmacros}
\usechemmodule{orbital}
\makeatother
\usepackage{babel}
\begin{document}
\setchemfig{cram width=3pt}
\chemsetup[orbital]{
overlay ,
opacity = .55,
}
\schemestart
\chemfig{H>:[:40,0.8]@{N}\Lewis{2:,N}(<[:-110,0.8]H)-[:-40]H}
\+
\chemfig{F-@{B}B(-[2,0.1,,,draw=none]{{\orbital[phase=-]{p}}})(<[:-20]F)<:[:20]F}
\arrow{->}
\chemfig{H>:[:-40,0.8]\chembelow[0.5pt]{N}{\scriptstyle\hspace{4.5mm}\oplus}(<[:110,0.8]H)(-[:40]H)-[:-90]\chemabove[0.5pt]{B}{\scriptstyle\hspace{4.5mm}\ominus}(<:[:-40,0.8]F)(<[:-70,0.8]F)-[:-140]F}
\schemestop
\chemmove[shorten <=2pt]{
\draw (N) ..controls +(90:1cm)and+(90:2cm)..(B);
}
\end{document}
我将如何做上述建议的事情:
(1)将箭头位置改为p轨道上叶中间
(2)将硼原子置于 P 轨道之上
选项 2
另外,我很乐意将以下 tikz 图片放置在硼所在的位置,而不是化学大轨道:
\begin{tikzpicture}[scale=1]
\node (B) at (0,0) {B};
\draw (-0.1,0.2) ..controls +(120:1) and +(60:1).. (0.1,0.2);
\draw[fill=black!10] (-0.1,-0.2) ..controls +(-120:1) and +(-60:1).. (0.1,-0.2);
\end{tikzpicture}
不幸的是,当我尝试将其包含在化合物中时,反应方案箭头会移到页面的左下角,而 tikzpicture 会覆盖大部分化合物。我希望化合物能够正常出现,并且箭头再次进入 p 轨道上叶中间的某个位置(由 定义的形状\draw (-0.1,0.2) ..controls +(120:1) and +(60:1).. (0.1,0.2);
)
答案1
将轨道移动到任意位置相当容易:在 chemfig 中放置一个不可见的 B,然后绘制轨道,然后在每个覆盖层上绘制真实的 B。
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[outline]{contour}
\usepackage{chemfig}
\usepackage{tikz}
\usepackage{chemmacros}
\usechemmodule{orbital}
\usepackage{babel}
\newsavebox\Orbital
\begin{lrbox}{\Orbital}
\orbital[phase=-,color=gray!70]{p}
\end{lrbox}
\begin{document}
\setchemfig{cram width=3pt}
\chemsetup[orbital]{
overlay ,
opacity = .55,
}
\schemestart
\chemfig{H>:[:40,0.8]@{N}\Lewis{2:,N}(<[:-110,0.8]H)-[:-40]H}
\+
\chemfig{F-@{B}{\phantom{B}}(-[2,0.1,,,draw=none]{})(<[:-20]F)<:[:20]F}
\arrow{->}
\chemfig{H>:[:-40,0.8]\chembelow[0.5pt]{N}{\scriptstyle\hspace{4.5mm}\oplus}(<[:110,0.8]H)(-[:40]H)-[:-90]\chemabove[0.5pt]{B}{\scriptstyle\hspace{4.5mm}\ominus}(<:[:-40,0.8]F)(<[:-70,0.8]F)-[:-140]F}
\schemestop
\chemmove[shorten <=2pt,shorten >=7pt]{
\node (B') at (B) {\usebox\Orbital};
\node (B'') at (B) {\contour{white}{B}};
\draw (N) ..controls +(90:1cm)and+(90:2cm)..(B);
}
\end{document}
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage[outline]{contour}
\usepackage{chemfig}
\usepackage{tikz}
\usepackage{chemmacros}
\usechemmodule{orbital}
\usepackage{babel}
\begin{document}
\setchemfig{cram width=3pt}
\chemsetup[orbital]{
overlay ,
opacity = .55,
}
\schemestart
\chemfig{H>:[:40,0.8]@{N}\Lewis{2:,N}(<[:-110,0.8]H)-[:-40]H}
\+
\chemfig{F-@{B}{\phantom{B}}(-[2,0.1,,,draw=none]{})(<[:-20]F)<:[:20]F}
\arrow{->}
\chemfig{H>:[:-40,0.8]\chembelow[0.5pt]{N}{\scriptstyle\hspace{4.5mm}\oplus}(<[:110,0.8]H)(-[:40]H)-[:-90]\chemabove[0.5pt]{B}{\scriptstyle\hspace{4.5mm}\ominus}(<:[:-40,0.8]F)(<[:-70,0.8]F)-[:-140]F}
\schemestop
\tikz[overlay,remember picture]{
\begin{scope}[overlay,shift={(B)}]
\draw[-] (-0.1,0.2) ..controls +(120:1) and +(60:1) .. (0.1,0.2);
\draw[-,fill=black!10] (-0.1,-0.2) ..controls +(-120:1) and +(-60:1) ..
+(0.2,0);
\end{scope}
\node[fill=white,inner sep=1pt] at (B){B};
\draw[-latex,shorten <=2pt] (N) ..controls +(90:1cm)and+(90:2cm)..
([yshift=8pt]B.north);
}
\end{document}