改变 TikZ-Feynman 图的长宽比

改变 TikZ-Feynman 图的长宽比

我有一个 tikz-feynman 图,其纵横比很宽,我想将纵横比更改为更方形。

级联.txt:

\documentclass[tikz]{standalone}
\def\axisdefaultwidth{12cm}
\def\axisdefaultheight{9cm}
\usepackage{tikz-feynman}
\begin{document}
\feynmandiagram [small, layered layout, vertical=a to b] {
  alpha -- [photon, edge label=\(\gamma_o\)] a0,
  a0 -- [anti fermion, edge label=\(e^{+}\)] a1 ,
  a0 -- [fermion, edge label=\(e^{-}\)] a2 ,
  a1 -- [photon, edge label=\(\gamma\)] a3 ,
  a1 -- [anti fermion, edge label=\(e^{+}\)] a4 ,
  a2 -- [photon, edge label=\(\gamma\)] a5 ,
  a2 -- [fermion, edge label=\(e^{-}\)] a6 ,
  a3 -- [anti fermion, edge label=\(e^{+}\)] a7 ,
  a3 -- [fermion, edge label=\(e^{-}\)] a8 ,
  a4 -- [photon, edge label=\(\gamma\)] a9 ,
  a4 -- [anti fermion, edge label=\(e^{+}\)] a10 ,
  a5 -- [anti fermion, edge label=\(e^{+}\)] a11 ,
  a5 -- [fermion, edge label=\(e^{-}\)] a12 ,
  a6 -- [photon, edge label=\(\gamma\)] a13 ,
  a6 -- [fermion, edge label=\(e^{-}\)] a14 ,
  a7 -- [photon, edge label=\(\gamma\)] a15 ,
  a7 -- [anti fermion, edge label=\(e^{+}\)] a16 ,
  a8 -- [photon, edge label=\(\gamma\)] a17 ,
  a8 -- [fermion, edge label=\(e^{-}\)] a18 ,
  a9 -- [anti fermion, edge label=\(e^{+}\)] a19 ,
  a9 -- [fermion, edge label=\(e^{-}\)] a20 ,
  a10 -- [photon, edge label=\(\gamma\)] a21 ,
  a10 -- [anti fermion, edge label=\(e^{+}\)] a22 ,
  a11 -- [photon, edge label=\(\gamma\)] a23 ,
  a11 -- [anti fermion, edge label=\(e^{+}\)] a24 ,
  a12 -- [photon, edge label=\(\gamma\)] a25 ,
  a12 -- [fermion, edge label=\(e^{-}\)] a26 ,
  a13 -- [anti fermion, edge label=\(e^{+}\)] a27 ,
  a13 -- [fermion, edge label=\(e^{-}\)] a28 ,
  a14 -- [photon, edge label=\(\gamma\)] a29 ,
  a14 -- [fermion, edge label=\(e^{-}\)] a30 ,
};
\end{document}

编译方式如下:

$ lualatex cascade.tex

呈现如下效果:级联.pdf它必须缩小太多才能适合 A4 页面。当我将其包含在主文档中时,我可以强制宽度和高度,但这也会扭曲文本标签,使其看起来很糟糕。

如何才能使纵横比更加方正而不扭曲文本标签?

答案1

您只需添加xscale和即可更改纵横比yscale

\RequirePackage{luatex85}
\documentclass[tikz]{standalone}
\usepackage{tikz-feynman}
\begin{document}
\feynmandiagram [small, tree layout,xscale=0.5] {
  alpha[particle=\(\gamma_0\)] -- [photon] a0,
  a0 -- [anti fermion, edge label=\(e^{+}\)] a1 ,
  a0 -- [fermion, edge label=\(e^{-}\)] a2 ,
  a1 -- [photon, edge label=\(\gamma\)] a3 ,
  a1 -- [anti fermion, edge label=\(e^{+}\)] a4,
  a2 -- [photon, edge label=\(\gamma\)] a5,
  a2 -- [fermion, edge label=\(e^{-}\)] a6 ,
  a3 -- [anti fermion, edge label=\(e^{+}\)] a7 ,
  a3 -- [fermion, edge label=\(e^{-}\)] a8 ,
  a4 -- [photon, edge label=\(\gamma\)] a9 ,
  a4 -- [anti fermion, edge label=\(e^{+}\)] a10 ,
  a5 -- [anti fermion, edge label=\(e^{+}\)] a11 ,
  a5 -- [fermion, edge label=\(e^{-}\)] a12 ,
  a6 -- [photon, edge label=\(\gamma\)] a13 ,
  a6 -- [fermion, edge label=\(e^{-}\)] a14,
  a7 -- [photon] a15[particle=\(\gamma\)] ,
  a7 -- [anti fermion] a16[particle=\(e^{+}\)] ,
  a8 -- [photon] a17[particle=\(\gamma\)] ,
  a8 -- [fermion] a18[particle=\(e^{-}\)] ,
  a9 -- [anti fermion] a19[particle=\(e^{+}\)] ,
  a9 -- [fermion] a20[particle=\(e^{-}\)] ,
  a10 -- [photon] a21[particle=\(\gamma\)] ,
  a10 -- [anti fermion] a22[particle=\(\gamma\)] ,
  a11 -- [photon, edge label=\(\gamma\)] a23 ,
  a11 -- [anti fermion] a24[particle=\(e^{+}\)] ,
  a12 -- [photon] a25[particle=\(\gamma\)] ,
  a12 -- [fermion] a26[particle=\(e^{-}\)] ,
  a13 -- [anti fermion] a27[particle=\(e^{+}\)] ,
  a13 -- [fermion] a28[particle=\(e^{-}\)] ,
  a14 -- [photon] a29[particle=\(\gamma\)] ,
  a14 -- [fermion] a30[particle=\(e^{-}\)] ,
};
\end{document}

我还将初始和最终状态粒子远离边缘,从而消除了重叠的标签。(顺便说一句,您的图表中vertical=a to b没有节点a,因此没有效果b,所以我放弃了它。)编辑:将文档类别改回独立,非常感谢@egreg!

在此处输入图片描述

相关内容