Fotón sin flechas usando feynmp-auto
Tengo este MWE creado con feynmp-auto,
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools,amssymb}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{draw}
\begin{fmfgraph*}(100,100)
\fmfleft{i}
\fmfright{o}
\fmfv{label=$p$,l.a=60}{i}
\fmfv{label=$p$,l.a=120}{o}
\fmf{photon,tension=1,l.side=right}{i,v1}
\fmf{photon,tension=1}{v2,o}
\fmf{fermion,left,tension=0.4,label=$p-k$}{v1,v2}
\fmf{fermion,left,tension=0.4,label=$k$}{v2,v1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
¿Pero el fotón no tiene las flechas como esta imagen?
He leído las documentaciones: fmfman, fmfsamplesy latex_feynman [CMS Wiki Pages]aunque todos los fotones son sin flechas (izquierda o derecha).
Respuestas
Agregar un wiggly_arrowestilo es bastante fácil, pero (a) se ve horrible y (b) no creo que esto tenga ningún significado en un diagrama de Feynman ...
\documentclass[a4paper,12pt]{article}
\usepackage{mathtools,amssymb}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{draw}
\fmfcmd{style_def wiggly_arrow expr p =
cdraw wiggly p;
cfill (arrow wiggly p);
enddef;}
\begin{fmfgraph*}(100,100)
\fmfleft{i}
\fmfright{o}
\fmfv{label=$p$,l.a=60}{i}
\fmfv{label=$p$,l.a=120}{o}
\fmf{wiggly_arrow,tension=1}{i,v1}
\fmf{wiggly_arrow,tension=1}{v2,o}
\fmf{fermion,left,tension=0.4,label=$p-k$}{v1,v2}
\fmf{fermion,left,tension=0.4,label=$k$}{v2,v1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
Segundo intento
Esto se ve mejor, pero todavía me preocupa que no "signifique" nada en un diagrama de Feynman.
\documentclass[border=5mm]{standalone}
\usepackage{mathtools,amssymb}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{draw}
\fmfcmd{style_def wiggly_arrow expr p =
draw wiggly p withcolor 3/4 [foreground, background];
cfill (arrow wiggly p);
enddef;}
\fmfcmd{style_def directed_photon expr p =
interim ahangle := 30;
drawarrow (wiggly subpath (0, arctime arclength p - 2.4 ahlength of p) of p)
.. {direction infinity of p} point infinity of p
cutafter fullcircle scaled 2 shifted point infinity of p
withcolor foreground;
enddef;}
\begin{fmfgraph*}(100,100)
\fmfleft{i}
\fmfright{o}
\fmfv{label=$p$,l.a=60}{i}
\fmfv{label=$p$,l.a=120}{o}
\fmf{directed_photon,tension=1}{i,v1}
\fmf{directed_photon,tension=1}{v2,o}
\fmf{fermion,left,tension=0.4,label=$p-k$}{v1,v2}
\fmf{fermion,left,tension=0.4,label=$k$}{v2,v1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
Notas
¿Que esta pasando aqui?
el
feynmppaquete proporciona la\fmfcmdsecuencia de control que le permite insertar bits arbitrarios de código Metapost en sus diagramas.He utilizado un
\fmfcmdpara definir un par de macros de "estilo" nuevas.Podemos definir macros de "estilo" usando la
style_defmacro proporcionada por elfeynmppaquete.style_deffunciona de forma muy parecida a,vardefpero también configura algunos comandos de dibujo y las definiciones que le permiten utilizar un nombre de estilo con una\fmfsecuencia de control.Mi primero se llamó "wiggly_arrow" y usó dos comandos proporcionados por
feynmp:cdrawycfillpara dibujar el camino y poner una punta de flecha en el medio. La ruta a dibujar está representada por el parámetropy la definición la modifica utilizando lawigglymacro anterior, que devuelve una, er, versión ondulada de la ruta.El segundo intento abandona los comandos y proporcionados
cdrawycfillrecurre a ladrawarrowmacro MP simpleLa complicación es que estoy tratando de hacer que la flecha se vea bien. Para hacer esto, solo voy a aplicar meneando a la parte principal del camino, y estoy tratando de dejar rectos los últimos milímetros para que la flecha se vea mejor.
La longitud del camino
pen puntos esarclength pLa longitud de una punta de flecha MP simple es
ahlengthEntonces, la longitud del camino que quiero mover es
arclength p - 2.4 ahlengthAsí que queremos movernos
subpath (0, arctime a of p) of pdondeaestá la longitud de arriba.y queremos conectarnos sin problemas al final normal de
p, por lo que conectamos la subruta ondulada a.. {direction infinity of p} point infinity of ppero finalmente queremos detenernos un poco, para que la punta de la punta de la flecha sea más visible, cortamos el camino para dibujar después del borde de un círculo completo escalado a 2 puntos y desplazado al extremo más alejado de
p.¿Lo tengo?
Todas las veces que he visto una flecha unida a una línea de fotones (o gluones), la flecha se dibuja desplazada como se muestra en verde en su ejemplo.
Para mi doctorado, agregué bastantes estilos de flechas a feynmp y los incluí a continuación. Hay 3 tipos de flechas y dos lados de la línea para un total de 6 nuevos estilos de línea. Los estilos 'flecha' y 'far_arrow' simplemente dibujan una punta de flecha pero desplazada de la línea original, el estilo 'line_arrow' dibuja una flecha completa con un tallo que cubre la mitad central de la línea en la que se basa (de 1/4 a 3/4) pero nuevamente cambiado.
Querrá usar \ fmffreeze o tension = 0, ya que querrán que se dibujen al igual que la línea de fotones o gluones.
Aquí está el código que incluye ejemplos de los tres tipos (en diferentes colores para que quede claro).
\documentclass[class=minimal,border=20pt]{standalone}
\usepackage{mathtools,amssymb}
\usepackage{feynmp-auto}
\begin{document}
\begin{fmffile}{draw}
\fmfcmd{
vardef middir(expr p,ang) =
dir(angle direction length(p)/2 of p + ang)
enddef;
style_def arrow_left expr p =
shrink(.7);
cfill(arrow p
shifted(4thick*middir(p,90)));
endshrink
enddef;
style_def arrow_right expr p =
shrink(.7);
cfill(arrow p
shifted(4thick*middir(p,-90)));
endshrink
enddef;
style_def far_arrow_left expr p =
shrink(.7);
cfill(arrow p
shifted(8thick*middir(p,90)));
endshrink
enddef;
style_def far_arrow_right expr p =
shrink(.7);
cfill(arrow p
shifted(8thick*middir(p,-90)));
endshrink
enddef;
style_def line_arrow_right expr p =
drawarrow subpath (1/4, 3/4) of p shifted 6 middir(p,-90) withpen pencircle scaled 0.4;
enddef;
style_def line_arrow_left expr p =
drawarrow subpath (1/4, 3/4) of p shifted 6 middir(p,90) withpen pencircle scaled 0.4;
enddef;}
\begin{fmfgraph*}(100,100)
\fmfleft{i}
\fmfright{o}
\fmfv{label=$p$,l.a=60}{i}
\fmfv{label=$p$,l.a=120}{o}
\fmf{wiggly,tension=1}{i,v1}
\fmf{wiggly,tension=1}{v2,o}
\fmf{fermion,left,tension=0.4,label=$p-k$}{v1,v2}
\fmf{fermion,left,tension=0.4,label=$k$}{v2,v1}
\fmf{arrow_right,tension=0,foreground=green}{i,v1}
\fmf{far_arrow_right,tension=0,foreground=red}{i,v1}
\fmf{line_arrow_right,tension=0}{v2,o}
\end{fmfgraph*}
\end{fmffile}
\end{document}