我想使用feynmf
,或者更好的feynmp
是。我的第一个想法是将运行在对应环境后生成的pdflatex
所有文件替换为使用 获得的 PDF 版本。但不幸的是,它抱怨file.[0-9]*
mpost
file.mp
\fmffile{file}
epstopdf
pdflatex
! LaTeX Error: Unknown graphics extension: .1.
显然它不知道这个扩展名的文件类型。我怎么才能告诉 LaTeX 这些是 PDF 文件?文件的名称当然不会明确出现在我的 LaTeX 源中。请注意,我查看了如何将 kile 与 feynmf 或 feynmp 一起使用?这对我来说似乎不起作用。此外,我更喜欢一种允许我同时使用latex
和进行编译的解决方案pdflatex
(当然是在生成相应的feynmf
图形文件之后)。我不介意手动运行feynmf
和。mpost
答案1
Metapost 创建 postscript 文件,因此要将它们包含在pdflatex
-processed 文档中,您需要执行额外的步骤。其中一种方法是使用包pst-pdf
。以下是一个例子。
首先,这是文档(tmp.tex
):
\documentclass{article}
\usepackage{feynmp}
\usepackage{pst-pdf}
\pagestyle{empty}
\begin{document}
\begin{postscript}
\begin{fmffile}{t}
\begin{fmfgraph*}(40,30) \fmfpen{thick}
\fmfleft{i1,i2} \fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1} \fmf{fermion}{i2,v2,o2}
\fmf{photon,label=$q$}{v1,v2} \fmfdot{v1,v2}
\end{fmfgraph*}
\end{fmffile}
\end{postscript}
\end{document}
正如你所见,后记中的内容在postscript
环境中。
现在工作流程
latex tmp # Produces the metapost input
mpost t.mp # Produces t.1 and t.t1. Can be repeated
# for several Feynman diagrams
latex tmp # Creates the dvi file with figures
dvips -o tmp-pics.ps tmp # Creates the ps file with figures
ps2pdf tmp-pics.ps # Creates the pdf file with figures
pdflatex tmp # Compiles the result
结果如下:
ps2pdf tmp-图片.ps