如何增加 tikz-feynman 包中玻色子的尺寸?

如何增加 tikz-feynman 包中玻色子的尺寸?

我正在使用该tikz-feynman包制作一些像这样的费曼图:

\documentclass{article}
% Beta decay
\usepackage{tikz}

\usepackage[compat=1.1.0]{tikz-feynman}
\usepackage{feynmf}
\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex (a);
    \vertex [above right = 5 cm of a] (u11);
    \vertex [above left = 5 cm of u11] (u12);
    \vertex [right = 0.4 cm of a] (b);
    \vertex [above right = 5 cm of b] (u21);
    \vertex [above left = 5 cm of u21] (u22);
    \vertex [right = 0.4 cm of b] (c);
    \vertex [above right = 5 cm of c] (u31);
    \vertex [above left = 5 cm of u31] (u32);
    \vertex [above right = 2 cm of u31] (f1);
    \vertex [above right = 3 cm of f1] (f2);
    \vertex [below right = 3 cm of f1] (f3);
    
    \diagram* {
      (a) -- [fermion] (u11) -- [fermion] (u12),
      (b) -- [fermion] (u21) -- [fermion] (u22),
      (c) -- [fermion] (u31) -- [fermion] (u32),
      (u31) -- [boson] (f1),
      (f1) -- [fermion] (f2);
      (f1) -- [fermion] (f3);
    };
  \end{feynman}
\end{tikzpicture}

\end{document}

但我有两个问题:

  1. 我无法得到玻色子的锯齿线,它看起来和光子一模一样。软件包支持锯齿线feynmf,但我不确定是否可以将其合并到使用 TikZ 的图表中。

  2. 我希望能够让玻色子显得更突出,这样波的振幅应该更大,但我也不知道该怎么做。我尝试了更改size=#或使用键的选项large,但都不起作用。

答案1

tikz-feynman您可以使用命令修改元素(例如boson)的样式\tikzfeynmanset。但是,通常此命令会附加到预定义样式而不是覆盖它,在这种情况下,这意味着您仍然可以获得玻色子的正弦波混合与其他一些模式一样。

要实际重新定义元素,您可以boson@@使用设置内部元素\tikzfeynmanset。由于此名称包含@符号,因此您需要在代码周围放置\makeatletter\makeatother以进行修改。除此之外,您只需从中复制源代码的相关部分tikz-feynman并修改样式的任何部分即可。

锯齿形图案在 TikZdecorations.pathmorphing库中已预定义,可选择amplitude影响图案的大小。此库已加载tikz-feynman(用于其他装饰,例如光子的正弦波),因此您无需单独加载该库。

梅威瑟:

\documentclass{article}
\usepackage{tikz-feynman}
\makeatletter
\tikzfeynmanset{/tikzfeynman/every boson@@/.style={
    /tikz/draw=none,
    /tikz/decoration={name=none},
    /tikz/postaction={
      /tikz/draw,
      /tikz/decoration={
        zigzag,
        amplitude=2mm,
      },
      /tikz/decorate=true,
    }
}}
\makeatother
\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    \vertex (a);
    \vertex [above right = 5 cm of a] (u11);
    \vertex [above left = 5 cm of u11] (u12);
    \vertex [right = 0.4 cm of a] (b);
    \vertex [above right = 5 cm of b] (u21);
    \vertex [above left = 5 cm of u21] (u22);
    \vertex [right = 0.4 cm of b] (c);
    \vertex [above right = 5 cm of c] (u31);
    \vertex [above left = 5 cm of u31] (u32);
    \vertex [above right = 2 cm of u31] (f1);
    \vertex [above right = 3 cm of f1] (f2);
    \vertex [below right = 3 cm of f1] (f3);
    
    \diagram* {
      (a) -- [fermion] (u11) -- [fermion] (u12),
      (b) -- [fermion] (u21) -- [fermion] (u22),
      (c) -- [fermion] (u31) -- [fermion] (u32),
      (u31) -- [boson] (f1),
      (f1) -- [fermion] (f2);
      (f1) -- [fermion] (f3);
      (f2) -- [photon] (f3);
    };
  \end{feynman}
\end{tikzpicture}

\end{document}

结果:

在此处输入图片描述

为了进行比较,我还在两个随机节点之间添加了一个光子(这可能违反了某些物理定律)。

注意:为了使您的代码更清晰,最好不要混合tikz-feynmanfeynmf,除非绝对必要。

答案2

可以按照手册中的说明创建自己的样式。这里我创建了yourboson蓝色的样式(当然可以修改)。

\tikzfeynmanset{
yourboson/.style={
blue,
decoration={zigzag,amplitude=2mm,segment length=4mm,pre,pre length=2pt, post,post length=2pt},decorate}
}

其优点是可以保持原有的风格。

截屏

\documentclass[border=5mm]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\usetikzlibrary {decorations}

\tikzfeynmanset{
yourboson/.style={
blue,
decoration={zigzag,amplitude=2mm,segment length=4mm,pre,pre length=2pt, post,post length=2pt},decorate}
}

\begin{tikzpicture}
  \begin{feynman}
    \vertex (a);
    \vertex [above right = 5 cm of a] (u11);
    \vertex [above left = 5 cm of u11] (u12);
    \vertex [right = 0.4 cm of a] (b);
    \vertex [above right = 5 cm of b] (u21);
    \vertex [above left = 5 cm of u21] (u22);
    \vertex [right = 0.4 cm of b] (c);
    \vertex [above right = 5 cm of c] (u31);
    \vertex [above left = 5 cm of u31] (u32);
    \vertex [above right = 2 cm of u31] (f1);
    \vertex [above right = 3 cm of f1] (f2);
    \vertex [below right = 3 cm of f1] (f3);
    
    \diagram* {
      (a) -- [fermion] (u11) -- [fermion] (u12),
      (b) -- [fermion] (u21) -- [fermion] (u22),
      (c) -- [fermion] (u31) -- [fermion] (u32),
      (u31) -- [yourboson] (f1),
      (f1) -- [fermion] (f2);
      (f1) -- [fermion] (f3);
    };
  \end{feynman}
  
\end{tikzpicture}

\end{document}

相关内容