feynmp でラベルの位置を移動するにはどうすればよいですか?

feynmp でラベルの位置を移動するにはどうすればよいですか?

頂点の反対側にラベルを付けたい場合はどうすればいいですか?フェルミオン?

    \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{太いまたは細い}そして上から2番目の線は他の線と比べて自動的に細くなります。つまり、

    \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-ファインマンCTAN)。ティ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下付き文字に「new」を追加してみました。

他の点に関しては、残念ながらお力添えできません。すべての線が同じ太さになります。レンダリングの問題でしょうか? さらに、最初のコード部分に注目してください。

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

この宣言\fmfpen{thin}は無意味です。線を描いていないのに、宣言の直後にペンを太く設定しているからです。

関連情報