我尝试使用 feynmp 在图形环境中放置两个费曼图,以便它们可以有标题,并且它们的编号与其他图形相同。然而,这样做会导致它们以与插入顺序相反的顺序出现,但标题的顺序是正确的。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{natbib}
\usepackage{graphicx}
\usepackage{feynmp-auto}
\usepackage{float}
\begin{document}
\begin{figure}[H]
\centering
\begin{fmffile}{diagram}
\begin{fmfgraph*}(160,100)
\fmfleft{i1,i2} \fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{fermion}{i2,v1,o2}
\fmfv{label=$g$,label.angle=90}{v1}
\fmfdot{v1}
\end{fmfgraph*}
\end{fmffile}
\caption{ONE}
\label{fig:one}
\end{figure}
\begin{figure}[H]
\centering
\begin{fmffile}{diagram}
\begin{fmfgraph*}(160,100)
\fmfleft{i1} \fmfright{o1,o2}
\fmf{fermion}{i1,v1,o1}
\fmf{photon}{v1,o2}
\fmfv{label=$g$,label.angle=90}{v1}
\fmfdot{v1}
\end{fmfgraph*}
\end{fmffile}
\caption{TWO}
\label{fig:two}
\end{figure}
\end{document}
这样,首先写入没有光子的图表,标题为“ONE”,然后写入带有光子的图表,标题为“TWO”。但是输出将带有光子的图表放在没有光子的图表之前,并且还为带有光子的图表加上标题“ONE”。
答案1
如果将来其他人遇到此问题(或者更现实的情况是我再次遇到此问题并忘记了解决方案),则图表需要在 中使用不同的名称\begin{fmffile}{diagram}
,即一个可以是\begin{fmffile}{diagram1}
,另一个可以是\begin{fmffile}{diagram2}
。我不知道为什么或这个参数的作用是什么,但这解决了它。