tikz-feynman 包 - 使图表对称

tikz-feynman 包 - 使图表对称

我有以下代码,它使用 tikz-feynman 包绘制费曼图。

\feynmandiagram [baseline={(current bounding box.center)},medium, vertical=b to f] {
        a [nudge=(-30:5mm)]
        -- [photon, edge label=\(p_{1}\)] b [label=190:\(\mu_{1}\)]
        -- [fermion, edge label=\(k_{2}\)] c,
        d[nudge=(210:5mm)] -- [photon, edge label'=\(p_{2}\)] c [label=-30:\(\mu_{2}\)],
        c -- [fermion, edge label=\(k_{3}\)] e [label=0:\(\mu_{3}\)] -- [fermion, edge label=\(k_{4}\)] f [label=180:\(\mu_{4}\)] -- [ fermion, edge label=\(k_{1}\)] b,
        g [nudge=(-30:5mm)] -- [photon, edge label'=\(p_{3}\)] e,
        h [nudge=(-30:5mm)] -- [photon, edge label'=\(p_{4}\)] f,
    };

这是可以使用代码绘制的图表。

如何使底部两条波浪形外线与顶部两条波浪形外线的长度相同?

我想让图表对称。

答案1

您正在推动所有顶点,但都朝着同一个方向。也就是说,您正在以 -30° 的角度(即向右略微向下)推动所有外部顶点 5 毫米。如果移除推动,图表看起来是对称的:

在此处输入图片描述

\documentclass[tikz]{standalone}

\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\feynmandiagram [baseline={(current bounding box.center)},medium, vertical=b to f] {
  a
    -- [photon, edge label=\(p_{1}\)] b [label=180:\(\mu_{1}\)]
    -- [fermion, edge label=\(k_{2}\)] c,
  d -- [photon, edge label'=\(p_{2}\)] c [label=0:\(\mu_{2}\)],
  c -- [fermion, edge label=\(k_{3}\)] e [label=0:\(\mu_{3}\)]
    -- [fermion, edge label=\(k_{4}\)] f [label=180:\(\mu_{4}\)]
    -- [fermion, edge label=\(k_{1}\)] b,
  g -- [photon, edge label'=\(p_{3}\)] e,
  h -- [photon, edge label'=\(p_{4}\)] f,
};
\end{document}

如果您想保持轻推(不确定为什么?),请确保相应地调整轻推的方向:

在此处输入图片描述

\documentclass[tikz,border=10pt]{standalone}

\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\feynmandiagram [baseline={(current bounding box.center)},medium, vertical=b to f] {
  a [nudge=(135:1cm)]
    -- [photon, edge label=\(p_{1}\)] b [label=180:\(\mu_{1}\)]
    -- [fermion, edge label=\(k_{2}\)] c,
  d [nudge=(45:1cm)]
    -- [photon, edge label'=\(p_{2}\)] c [label=0:\(\mu_{2}\)],
  c -- [fermion, edge label=\(k_{3}\)] e [label=0:\(\mu_{3}\)]
    -- [fermion, edge label=\(k_{4}\)] f [label=180:\(\mu_{4}\)]
    -- [fermion, edge label=\(k_{1}\)] b,
  g [nudge=(-45:1cm)]
    -- [photon, edge label'=\(p_{3}\)] e,
  h [nudge=(-135:1cm)]
    -- [photon, edge label'=\(p_{4}\)] f,
};
\end{document}

相关内容