我修改了来自该来源的一个示例:
http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/fmfsamples.pdf
(查找 5.3 交叉图)我的目标是给“四个”费米子传播子中的每一个都贴上脉冲标签。
我的问题是,显示交叉图只会给我要标记的传播子,但我想要四个。所以我的问题是:1. 有没有一种好的方法可以用 4 个脉冲标记 2 个传播子?2. 有没有更好的方法来编码四个传播子的交叉图(以显示四夸克算子)?
\begin{fmffile}{Diagram0th}
\begin{fmfgraph*}(100,100)
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmflabel{$x_3$}{i1}
\fmflabel{$x_1$}{i2}
\fmflabel{$x_4$}{o1}
\fmflabel{$x_2$}{o2}
\fmflabel{z}{v1}
\fmf{fermion, label=$p_1$}{i1,v1,o2}
\fmf{fermion}{i2,v2,o1}
\fmf{photon}{v1,v2}
\fmfv{decoration.shape=square}{v1}
\end{fmfgraph*}
\end{fmffile}
祝好,德克
答案1
我不完全理解你的问题。我认为你试图制作的图表中有 5 个传播器,每个都可以单独标记。值得记住的是,这\fmf{type,options...}{v1,v2,v3...}
只是 的简写\fmf{type,options...}{v1,v2} \fmf{type,options...}{v2,v3...}
,因此你可以拆分任何传播器组并单独编写它们,然后独立控制每个传播器的选项。例如,我认为你的问题是你想用不同的消息标记i1,v1
和i1,o2
,但目前这两者被合并为,v1,i1,o2
但这只是一种简写,所以一旦分开就很容易了。
另外,需要注意的是,使用你的代码,光子不可见,v1
并且v2
最终会位于同一位置。可以按照你链接的示例中的相同方式修复此问题,即使用虚线绘制,并使用或tension=0
在其后绘制其他线\fmffreeze
我尝试根据您认为需要的内容修复您的代码,结果如下:
\fmfleft{i1,i2}
\fmfright{o1,o2}
\fmflabel{$x_3$}{i1}
\fmflabel{$x_1$}{i2}
\fmflabel{$x_4$}{o1}
\fmflabel{$x_2$}{o2}
\fmflabel{z}{v1}
\fmf{fermion, label=$p_2$}{v2,o2}
\fmf{fermion, label=$p_4$}{v1,o1}
\fmf{photon}{v1,v2}
\fmf{phantom}{v1,i1}
\fmf{phantom}{v2,i2}
\fmffreeze
\fmf{fermion}{i1,i1a,v2}
\fmf{fermion,rubout}{i2,i2a,v1}
\fmf{phantom,label=$p_1$,tension=0}{i2,i2a}
\fmf{phantom,label=$p_3$,tension=0}{i1,i1a}
\fmf{phantom,tension=0.5}{i2a,v1}
\fmf{phantom,tension=0.5}{i1a,v2}
输出结果如下: