答案1
好的,这是在 tikz 中执行此操作的一种方法。一些备注:
- 使用一些半径常量来定位圆圈周围的文本
- 左边的圆圈“按原样”接受极坐标
- 右边的需要一些中心和转变,例如:
\draw (r) to +(40:\RD) ...;
- R 上的 - 在白色背景上画一条白线,使其“不可见”
- 符号为数学模式
pifont
提供子弹\ding{108}
- 因为
tikz-feynman
使用tikz
,这个图适用于两者
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric}
\usepackage{pifont}
% ~~~ some constants ~~~~~~~~~~~~~
\newcommand\RD[0]{12mm}
\newcommand\RDD[0]{8mm}
\newcommand\RDP[0]{5.5mm}
\begin{document}
\tikz [LR/.style={shape=circle,fill=gray!40,draw=black}]{
% ~~~ L and R ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
\node[name=l,LR] at (0,0) {L};
\node[name=r,LR] at (2,0) {R};
% ~~~ + and - ~~~~~~~~~~~~~~~~~~~~~~~
% + , using polar coordinates
\node at (-26:\RDP) {$+$};
% trick: draw white line to node colored in black
\draw [white] (r) to +(-154:\RDP) node [black] {$-$};
% ~~~ drawing the lines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% between circles, with text above
\draw (l) -- node [above] {$\hat P_I$} (r);
% lines leaving L
\draw (l) to (140:\RD) node [fill=white] {$\hat 1 ^-$};
\draw (l) to (210:\RD) node [fill=white] {$n ^+$};
% lines leaving R
\draw (r) to +(40:\RD) node [fill=white] {$\hat 2 ^-$};
\draw (r) to +(15:\RD) node [fill=white] {$3 ^+$};
\draw (r) to +(-6:\RDD) node [fill=white] {\tiny\ding{108}};
\draw (r) to +(-27:\RDD) node [fill=white] {\tiny\ding{108}};
\draw (r) to +(-50:\RD) node [fill=white] {$n-1 ^+$};
}
\end{document}