我正在尝试使用 FeynMP 绘制一个简单的费曼图。我使用以下代码来生成.mp 文件 - 注意我使用 fmfgraphs环境。
\documentclass{article}
\usepackage{feynmp}
\begin{document}
\unitlength = 1mm
\begin{fmffile}{PandS6214}
\begin{fmfgraph*}(40,30)
\fmfleft{i1,i2}
\fmfright{o1}
\fmf{fermion, tension = 1}{i1,d1,v1}
\fmf{fermion, tension = 1}{v1,d2,i2}
\fmflabel{i1}{i1}
\fmflabel{i2}{i2}
\fmflabel{o1}{o1}
\fmf{photon}{v1,o1}
\fmffreeze
\fmf{dashes}{d1,d2}
\fmfdot{v1}
\end{fmfgraph*}
\end{fmffile}
\end{document}
当我运行 TexStudio 时,我得到以下 .mp 文件
% PandS6213.mp -- do not edit, generated automatically by feyneg.tex
input feynmp
require_RCS_revision "1.30";
beginchar(1, 40*2.84526pt#, 30*2.84526pt#, 0);
"feynmf: 1";
LaTeX_unitlength:=2.84526pt;
subgraph (0, 0, w, h);
vinit;
pickup pencircle scaled thin;
vleft (__i1, __i2);
vright (__o1);
vconnect ("fermion, tension = 1", __i1, __d1, __v1);
vconnect ("fermion, tension = 1", __v1, __d2, __i2);
vlabel ("i1", __i1);
vlabel ("i2", __i2);
vlabel ("o1", __o1);
vconnect ("photon", __v1, __o1);
vfreeze;
vconnect ("dashes", __d1, __d2);
vdot (__v1);
vfreeze;
vdraw;
endsubgraph;
endchar;
% the end.
end.
endinput;
我将此代码复制并粘贴到 Troy Henderson 的 Metapost 预览器中:http://www.tlhiv.org/mppreview/图表显示得很完美,但标签却没有!
我使用适用于 Windows 的 TexStudio 编译了 tex 代码...请告诉我我做错了什么!
约翰
答案1
您获得的 MP 文件不会生成标签,标签存储在.t1
与图片关联的文件中。feynmp
包含图像时,它还会根据文件中的数据放置标签.t1
。因此 Metapost 预览器无法显示它们,因为它们不是生成的图片的一部分,并且仅添加到 LaTeX 端。