
Я пытаюсь создать диаграмму Фейнмана, которая просто представляет собой 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}
Я пытался поместить label.side=above в \fmflabel, но это, похоже, не принимает этот аргумент. Я пытался определить саму вершину v1 как \fmf{vertex,label=g,label.side=above}{v1}, но это не работает. Я также пытался сделать то же самое для первого фермиона, но это помещает две метки над каждой ногой фермиона, а не одну в центре.
решение1
Theдокументацияиз 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}
Результат: