feynmf を使用したファインマン グラフのラベルが欠落している

feynmf を使用したファインマン グラフのラベルが欠落している

feynmfパッケージを使ってファインマングラフを作成しようとしています。私の最小限の例は次のとおりです。

\documentclass{article}

\usepackage{feynmf}

\begin{document}

\begin{fmffile}{diagram}

  \begin{fmfgraph*}(40,25)
    \fmfleft{i1,i2}
    \fmfright{o1,o2}
    \fmfbottom{b}
    \fmf{fermion}{i2,v1,o2}
    \fmf{photon}{v1,b}
    \fmflabel{i1}{i1}
    \fmflabel{i2}{i2}
    \fmflabel{o1}{o1}
    \fmflabel{o2}{o2}
    \fmflabel{b}{b}
  \end{fmfgraph*}

\end{fmffile}

\end{document}

一度コンパイルすると、グラフは表示されますが、ラベルは表示されません(予想どおりだと思いますが...)。エラーが発生します

pdflatex> feynmf: Label file diagram.t1 not found:

pdflatex> feynmf: Process diagram.mf with METAFONT and then reprocess this file.

では、言われたとおりに、ターミナル(Xubuntuを使用)でMetafontを使って.mfファイルを処理してみます。

mpost diagram.mf

そして、行き詰まってしまいます。疑問符が表示されて始まり、止まってしまいます。どう進めばいいのか、Metapost が何を伝えようとしているのかわかりません。

This is MetaPost, version 1.803 (kpathsea version 6.1.1)
(mpost.mp (/usr/share/texlive/texmf-dist/metapost/base/plain.mp
Preloading the plain mem file, version 1.004) ) (./diagram.mf
(/usr/share/texmf/metafont/feynmf/feynmf.mf
>> mode_setup
! Isolated expression.
<to be read again> 
                   ;
l.117 mode_setup;

? 

誰か助けてくれませんか?ラベルはどうやって入手できますか?どうもありがとうございます!

答え1

呼び出すプログラムはMetapostではなくMetafontです。

mf diagram.mf

feynmpただし、同じ構文を持ち、Metapost ファイルを生成する を使用する方が適切です。 を取得しdiagram.mpて実行すれmpost diagram.mpば十分です。

もう一つの可能​​性もあります:

\documentclass{article}

\usepackage{feynmp-auto} % or \usepackage{feynmp}

\begin{document}

\begin{fmffile}{diagram}

  \begin{fmfgraph*}(40,25)
    \fmfleft{i1,i2}
    \fmfright{o1,o2}
    \fmfbottom{b}
    \fmf{fermion}{i2,v1,o2}
    \fmf{photon}{v1,b}
    \fmflabel{i1}{i1}
    \fmflabel{i2}{i2}
    \fmflabel{o1}{o1}
    \fmflabel{o2}{o2}
    \fmflabel{b}{b}
  \end{fmfgraph*}

\end{fmffile}

\end{document}

このパッケージfeynmp-auto(私が作成したもの) は、手動で実行する必要性さえ回避しますmpost。ダイアグラムは実行の最後にコンパイルされ (pdflatex現在の LaTeX 実行でソースが変更された場合のみ)、次の LaTeX 実行時に正しく配置されます。

ここに画像の説明を入力してください

関連情報