Wie verschiebt man die Position der Beschriftung in Feynmp?

Wie verschiebt man die Position der Beschriftung in Feynmp?

Was ist, wenn ich eine Beschriftung auf der anderen Seite des Scheitelpunkts möchte oderFermion?

    \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}

Ich möchte v_new auf eine andere Seite verschieben Es gibt auch ein Problem, wenn ich nicht benutze\fmfpen{dick oder dünn}und die zweite Zeile von oben ist im Vergleich zu den anderen automatisch dünn. d. h.

    \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}

das gibt,

Bildbeschreibung hier eingeben

Ich formuliere das Problem noch einmal anhand dieses Bildes:

  1. Die 2. Linie von oben ist im Vergleich zu den anderen dünn

  2. Ich weiß nicht, wie ich die Bezeichnung $v_{new}$ auf die andere Seite verschiebt.

Antwort1

Hier ist eine alternative Antwort, die nicht verwendet feynmf, sondern ein neues Paket namensTikZ-Feynman(CTAN). TikZ-Feynman verfügt über integrierte Unterstützung für Impulspfeile, die in diesem Fall verwendet werden können, um die Geschwindigkeit und Spinrichtung von Fermionen anzuzeigen:

\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}

Ausgabe

Antwort2

Sie müssen eine explizite Labelposition im Argument von deklarieren \fmf; in Ihrem Fall sollte der Code lauten

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

Ich habe mir erlaubt, \mathrmals Index „neu“ hinzuzufügen.

Was Ihren anderen Punkt betrifft, fürchte ich, dass ich Ihnen nicht helfen kann. Ich bekomme alle Linien mit der gleichen Dicke. Ist es vielleicht ein Rendering-Problem? Beachten Sie außerdem, dass in Ihrem ersten Codestück

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

die Deklaration \fmfpen{thin}ist nutzlos: du zeichnest keine Linie und stellst den Stift direkt danach auf dick ein.

verwandte Informationen