Как переместить позицию маркировки в фэйнмп?

Как переместить позицию маркировки в фэйнмп?

Что делать, если я хочу метку на другой стороне вершины илифермион?

    \begin{center}
    \begin{fmffile}{elecdig}
    \begin{fmfgraph*}(150,100)
    \fmfpen{thin}
    \fmfleft{i1,i2,ip,i3,i4} 
    \fmfright{o1,o2,op,o3,o4}
    \fmfpen{thick}
    \fmf{fermion,tension=1,label=$v$}{i3,o3}
    \fmf{fermion,tension=1,label=Spin Direction}{i4,o4}
    %\fmf{fermion,tension=1,label=$spin=+\frac{1}{2}$}{v2,o2}
    \fmf{dashes,label=It can't be ${\hat{e}_R}$ but it is $e_R$}{ip,op}
    \fmf{phantom,tension=1}{o2,o1}
    \fmf{phantom,tension=1}{i2,i1}
    \fmf{fermion,tension=1,label=$v_{new}$}{o2,i2} 
    \fmf{fermion,tension=1,label=Spin Direction}{i1,o1}
    %\fmf{fermion,tension=1,label=$spin=+\frac{1}{2}$}{v1,o1}
    \fmflabel{Frame $1$.}{i3}
    \fmflabel{Frame $2$.}{i2}
    \end{fmfgraph*} 
    \end{fmffile}
    \end{center}

Я хочу переместить v_new на другую сторону Также есть проблема, когда я не использую\fmfpen{толстый или тонкий}и вторая строка сверху автоматически становится тоньше по сравнению с другими. т.е.

    \begin{center}
    \begin{fmffile}{elecdig}
    \begin{fmfgraph*}(150,100)
    %\fmfpen{thin}
    \fmfleft{i1,i2,ip,i3,i4} 
    \fmfright{o1,o2,op,o3,o4}
    %\fmfpen{thick}
    \fmf{fermion,tension=1,label=$v$}{i3,o3}
    \fmf{fermion,tension=1,label=Spin Direction}{i4,o4}
    %\fmf{fermion,tension=1,label=$spin=+\frac{1}{2}$}{v2,o2}
    \fmf{dashes,label=It can't be ${\hat{e}_R}$ but it is $e_R$}{ip,op}
    \fmf{phantom,tension=1}{o2,o1}
    \fmf{phantom,tension=1}{i2,i1}
    \fmf{fermion,tension=1,label=$v_{new}$}{o2,i2} 
    \fmf{fermion,tension=1,label=Spin Direction}{i1,o1}
    %\fmf{fermion,tension=1,label=$spin=+\frac{1}{2}$}{v1,o1}
    \fmflabel{Frame $1$.}{i3}
    \fmflabel{Frame $2$.}{i2}
    \end{fmfgraph*} 
    \end{fmffile}
    \end{center}

это дает,

введите описание изображения здесь

Я переформулирую проблему, ссылаясь на это изображение:

  1. 2-я строка сверху тонкая по сравнению с другими

  2. Я не знаю, как переместить метку $v_{new}$ на другую сторону.

решение1

Вот альтернативный ответ, который не использует feynmf, но использует новый пакет под названиемТикZ-Фейнман(КТАН). ТикZ-Feynman имеет встроенную поддержку стрелок импульса, которые в данном случае можно использовать для указания скорости и направления спина фермионов:

\documentclass{article}

\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}\noindent
\feynmandiagram [horizontal=a to b] 
                {a -- [fermion, momentum=\(v\), momentum'=spin] b}; \newline
\feynmandiagram [horizontal=a to b] 
                {a -- [fermion, reversed momentum=\(v\), momentum'=spin] b}; \newline
\end{document}

выход

решение2

Вам необходимо явно указать позицию метки в аргументе \fmf; в вашем случае код должен выглядеть так:

\fmf{fermion,tension=1,label=$v_{\mathrm{new}}$,label.side=left}{o2,i2}

Я позволил себе добавить \mathrmв качестве нижнего индекса слово «новый».

Что касается вашего другого пункта, боюсь, я не смогу вам помочь. У меня все линии одинаковой толщины. Может быть, это проблема рендеринга? Обратите внимание, что в вашем первом фрагменте кода

\fmfpen{thin}
\fmfleft{i1,i2,ip,i3,i4} 
\fmfright{o1,o2,op,o3,o4}
\fmfpen{thick}

это объявление \fmfpen{thin}бесполезно: вы не рисуете никакой линии, а сразу после нее устанавливаете толстую ручку.

Связанный контент