使用 FeynMF 绘制垂直气泡(环路)图

使用 FeynMF 绘制垂直气泡(环路)图

我想用 FeynMF 制作以下费曼图;问题在于如何在垂直方向上渲染环(粒子空穴气泡);此外,如何用阴影或灰色阴影填充垂直气泡。

图表

答案1

这很难做到,因为 feynmf 没有提供填充任意路径循环的简单方法,也没有提供它为您创建的路径的简单界面。您可以绘制一个多边形并对其进行阴影处理,但这样一来,您就很难将箭头放在它的侧面。面对这种复杂程度,通常更容易在原始 Metapost 中绘制图表,根据feynmp需要使用宏。

这是使用此方法尝试拍摄的图片。

在此处输入图片描述

prologues := 3;
outputtemplate := "%j%c.eps";

input feynmp

beginfig(1);
w = 180; h = 200;

z1 = (0,0); z2 = (w,0);
z3 = (0,h); z4 = (w,h);

x5 = x6 = x7 = 1/2 w;
y5 = 0; y6 = 1/3 h; y7 = 2/3 h;

draw_dashes_arrow z1 -- z5;
draw_dashes_arrow z5 -- z2;

draw_plain_arrow z3 -- z7;
draw_plain_arrow z7-- z4;

path a[];
a1 = z5 .. (z5+12up) rotatedabout( 1/2[z5,z6], 90) .. z6; 
a2 = a1 rotatedabout( 1/2[z5,z6], 180);
a3 = a1 shifted (z6-z5);
a4 = a1 rotatedabout(z6,180);

fill a3 .. a4 .. cycle withcolor .8 white;
%shade a3 .. a4 .. cycle;

draw_plain_arrow a1;
draw_plain_arrow a2;

draw_dashes_arrow a3;
draw_dashes_arrow a4;

label.bot(btex $\ell$ etex, z7);
label.top(btex $\ell$ etex, z6);

%dotlabels.top(1,2,3,4,5,6,7);

endfig;
end.

用 编译此文件mpost以生成一个.eps文件,您可以将其转换为 PDF 或直接包含。如果您喜欢用对角线着色,请注释掉该fill行并取消注释该shade行。如果您想查看我为每个顶点分配的数字,请取消注释该dotlabels行。

  • shade
  • draw_plain_arrow
  • draw_dashes_arrow

由我提供,feynmp.mp已包含在顶部。

相关内容