答案1
这是实现此目的的众多方法之一。为了在旋转周围添加白色光环,可以使用preaction
预先绘制更粗的白色箭头的键。除此之外,可以使用库方便地完成图案设计patterns.meta
。(如果您的旧安装中尚无库,则可以patterns
与一起使用north east lines
,但定制起来比较困难。)子图可以放在矩阵中。
\documentclass[tikz,border=3mm]{standalone}
\usepackage{braket}
\usetikzlibrary{arrows.meta,patterns.meta}
\begin{document}
\begin{tikzpicture}[>={Triangle[length=2mm,width=1mm,round]},
spin up/.style={preaction={draw,white,line width=2pt,
-{Triangle[length=4mm,width=1.7mm,round]},shorten >=-1.6pt},
black,->,shorten >=0pt},
spin down/.style={preaction={draw,white,line width=2pt,
{Triangle[length=4mm,width=1.7mm,round]}-,shorten <=-1.6pt},
black,<-,shorten <=0pt},
font=\sffamily,
atom/.style={circle,minimum size=2cm,
pattern={Lines[angle=45,distance={4.5pt}]},
label={[anchor=center,circle,fill,inner sep=0.6ex,alias=core]center:}
}]
\matrix[column sep=1em,row sep=1em]{
\node[atom,label=left:{$\ket{++},\ket{1}$}]{};
\draw[spin up] (-0.3,-0.2) -- ++ (0,0.4);
\draw[spin up] (0,0.3) -- ++ (0,0.4);
\draw[<-] (0.3,0.7) -- ++ (45:0.5) node[above right]{electron};
\draw[<-] (core) -- ++ (-20:1.2) node[right]{proton};
&
\node[atom,label=left:{$\ket{-+},\ket{3}$}]{};
\draw[spin up] (-0.3,-0.2) -- ++ (0,0.4);
\draw[spin down] (0,0.3) -- ++ (0,0.4);
\\
\node[atom,label=left:{$\ket{+-},\ket{2}$}]{};
\draw[spin up] (-0.3,-0.2) -- ++ (0,0.4);
\draw[spin down] (0,0.3) -- ++ (0,0.4);
&
\node[atom,label=left:{$\ket{--},\ket{4}$}]{};
\draw[spin down] (-0.3,-0.2) -- ++ (0,0.4);
\draw[spin down] (0,0.3) -- ++ (0,0.4);
\\
};
\end{tikzpicture}
\end{document}