我正在尝试制作一个费曼图,它只是 2 个传入费米子在顶点 v1 处相遇,并有 2 个传出费米子。我希望在顶点上方放置一个标签。但是 feynmp 默认将其放在顶点的右侧,我无法将其修复,因此它位于上方。
\begin{fmffile}{diagram}
\begin{fmfgraph*}(80,50)
\fmfleft{i1,i2} \fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{fermion}{i2,v1,o2}
\fmflabel{$v_1$}{v1}
\fmfdot{v1}
\end{fmfgraph*}
\end{fmffile}
我曾尝试在 \fmflabel 中放入 label.side=above,但这似乎不接受此参数。我曾尝试定义顶点 v1 本身,如 \fmf{vertex,label=g,label.side=above}{v1},但这不起作用。我也曾尝试对第一个费米子做同样的事情,但这会在费米子的每个腿上方放置两个标签,而不是在中心放置一个标签。
答案1
这文档feynMF 状态(第 23 页):
\fmflabel
使用户无法控制标签的位置(使用\fmfv
宏进行更细粒度的控制)
\fmfv
除其他外,该宏具有label
有关标签文本和label.angle
标签位置的参数。
梅威瑟:
\documentclass{article}
\usepackage{feynmf}
\begin{document}
\begin{fmffile}{diagram}
\begin{fmfgraph*}(80,50)
\fmfleft{i1,i2} \fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{fermion}{i2,v1,o2}
\fmfv{label=$v_1$,label.angle=90}{v1}
\fmfdot{v1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
结果: