Is there a way to draw an atomic orbital in a chemfig
structure? I think you can better understand if you see want I want to get:
Here is what I've already done. Any improvement would be appreciated.
\documentclass[a4paper,12pt,twoside,openright,titlepage]{book}
\usepackage{chemfig,chemmacros,chemnum,modiagram}
\usepackage[version=3]{mhchem}
\makeatletter
\def\CF@node@content{%
\expandafter\expandafter\expandafter
\printatom\expandafter\expandafter\expandafter
{\csname atom@\number\CF@cnt@atomnumber\endcsname}%
\ensuremath{\CF@node@strut}%
}
\makeatother
\chemsetup[chemformula]{format=\sffamily}
%\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1}}}
\renewcommand*{\printatom}[1]{{\sffamily\cf{#1}}}
\setdoublesep{0.32500 em} % 'Bond Spacing'
\setatomsep{1.78500 em} % 'Fixed Length'
\setbondoffset{0.18265 em} % 'Margin Width'
\newcommand{\bondwidth}{0.06642 em} % 'Line Width'
\setbondstyle{line width = \bondwidth}
\begin{document}
\schemestart
\setbondoffset{0pt}
\chemsetup[orbital]{
overlay ,
opacity = 0.5 ,
p/scale = 1.25 ,
s/color = gray!50 ,
s/scale = 1.25
}
\chemfig{*6(-=(-(-[,.2,,,draw=none]\Lewis{0.,}\orbital{s}))-=(-[,.4,,,draw=none]\Lewis{0.,}{\orbital[half,angle=90]{p}})-=-)}
\arrow
\setbondoffset{0pt}
\chemsetup[orbital]{
overlay ,
opacity = 0.5 ,
p/scale = 1.25 ,
s/color = gray!50 ,
s/scale = 1.25
}
\chemfig{[:-60]*6(-=-(=)-(-[,.0,,,draw=none]\Lewis{0.,}\orbital{s})-(-[,.4,,,draw=none]\Lewis{0.,}{\orbital[half,angle=90]{p}})=)}
\arrow
\setbondoffset{0pt}
\chemsetup[orbital]{
overlay ,
opacity = 0.5 ,
p/scale = 1.25 ,
s/color = gray!50 ,
s/scale = 1.25
}
\chemfig{*6(-=(-\orbital{s})-=-=)}
\schemestop
\end{document}
chemmacros
is a 3d image of the orbital, I wanted to draw a scheme similar to that of the image. Moreover, I didn't find anywhere how insert the electron (the dots) in the orbital.chemmacros
' orbitals aretikzpictures
internally. You can use the same procedure: define macros that draw the orbitals in the way you want them and then place those macros in place of the atoms like in the post I linked