![改变 TikZ-Feynman 图的长宽比](https://linux22.com/image/368939/%E6%94%B9%E5%8F%98%20TikZ-Feynman%20%E5%9B%BE%E7%9A%84%E9%95%BF%E5%AE%BD%E6%AF%94.png)
我有一个 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!