我通常处理费曼图的方式是仅将\usepackage{feynmf-auto}
整个代码包含并写入fmffile
主 tex 文件中。
然而,我看到有些人设法为每个图表创建一个单独的 tex 文件,并以某种方式生成该图表的 pdf 图片。后来他们使用 将这些 pdf 图片嵌入到主文件中includegraphics
。
我的问题是如何使用费曼图制作这些独立的 pdf feynmp
?
例如考虑下面的代码
\documentclass[10pt]{article}
\usepackage[usenames]{color} %used for font color
\usepackage{amssymb} %maths
\usepackage{amsmath} %maths
\usepackage[utf8]{inputenc} %useful to type directly diacritic characters
\usepackage{feynmp} %Feynman diagrams
\begin{document}
\begin{align*}\begin{fmffile}{feyngraph}
\begin{fmfgraph*}(110,80)
\fmfleft{l1,l2}
\fmfright{r1}
\fmf{fermion,label=$k_1$}{l2,v1}
\fmf{fermion,label=$k_2$}{v1,l1}
\fmflabel{$j$}{l1}
\fmflabel{$i$}{l2}
\fmf{photon,label=$k_3$}{v1,r1}
\fmflabel{$b, \mu$}{r1}
\end{fmfgraph*}
\end{fmffile}
\end{align*}
\end{document}
不知怎的,这会变成只有图表的图片,但如果我尝试编译它,我会得到一张 A4 页面,底部有一张图表
答案1
这篇文章的评论帮助我想出了这个用于生成独立 feynmf 图的模板
\RequirePackage[l2tabu, orthodox]{nag} % Issues warnings if deprecated packages are used
\documentclass{standalone}
% my standard packages
\usepackage{mathtools,amsfonts}
\usepackage{xcolor}
\usepackage[UKenglish]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{feynmp-auto}
\newcommand{\fmfinclude}{%
% new style definitions come here
}
% commas in feynmp sometimes lead to strange errors, use \comma instead
\DeclareMathSymbol{\comma}{\mathpunct}{letters}{"3B}
\begin{document}
\begin{fmffile}{fmf_temp_file}
\fmfframe(5,20)(10,15){% adjust the padding here to avoid labels being out of bounds
\begin{fmfgraph*}(100,100)
% the actual graph
\end{fmfgraph*}
}
\end{fmffile}
\end{document}