这些图该如何画呢?

这些图该如何画呢?

我正在撰写硕士论文,需要绘制一些如下所示的图表:

我已经绘制了许多费曼图,但我不完全确定是否可以用相同的包(tikz-feynman)绘制,或者我是否需要一些不同的东西。

答案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}

相关内容