![feynmf:保持图表宽度不变](https://linux22.com/image/349508/feynmf%EF%BC%9A%E4%BF%9D%E6%8C%81%E5%9B%BE%E8%A1%A8%E5%AE%BD%E5%BA%A6%E4%B8%8D%E5%8F%98.png)
代码
\documentclass[class=minimal,border=20pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{feynmf}
\begin{document}
\begin{fmffile}{diagram}
\begin{fmfgraph*}(250, 250)
\fmfleft{i1,i2,i3}
\fmfright{o1,o2,o3}
\fmftop{t1,t2,t3,t4}
\fmf{fermion,label=$q_{1}$}{i1,vp1,o1}
\fmf{fermion,label=$q_{2}$}{i2,vp2,o2}
\fmffreeze
\fmf{gluon}{vp1,vp2}
\fmf{gluon}{vp2,t3}
\end{fmfgraph*}
\end{fmffile}
\end{document}
我怎样才能使 q1 和 q2 对应的线的长度保持相等?
答案1
您需要\fmfstraight
命令。默认情况下,侧面和顶部和底部的画廊是弯曲的,因为这通常会产生更美观的外观,但可以使用命令将它们切换为直线\fmfstraight
。这应该插入 fmfgraph 块中。抱歉,我无法包含图表,但我无法访问带有 feynmf 的 LaTeX 安装。
\documentclass[class=minimal,border=20pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{feynmf}
\begin{document}
\begin{fmffile}{diagram}
\begin{fmfgraph*}(250, 250)
\fmfstraight
\fmfleft{i1,i2,i3}
\fmfright{o1,o2,o3}
\fmftop{t1,t2,t3,t4}
\fmf{fermion,label=$q_{1}$}{i1,vp1,o1}
\fmf{fermion,label=$q_{2}$}{i2,vp2,o2}
\fmffreeze
\fmf{gluon}{vp1,vp2}
\fmf{gluon}{vp2,t3}
\end{fmfgraph*}
\end{fmffile}
\end{document}
答案2
很简单的:
\documentclass[class=minimal,border=20pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{feynmf}
\begin{document}
\begin{fmffile}{diagram}
\begin{fmfgraph*}(250,250)
\fmfleft{i0,i1,i2,i3}
\fmfright{o0,o1,o2,o3}
\fmf{fermion,label=$q_{1}$}{i1,vp1,o1}
\fmf{fermion,label=$q_{2}$}{i2,vp2,o2}
\fmffreeze
\fmf{phantom}{i3,t3,o3}
\fmf{gluon}{vp1,vp2}
\fmf{gluon}{vp2,t3}
\end{fmfgraph*}
\end{fmffile}
\end{document}