
Estou tentando criar um gráfico de Feynman usando o pacote feynmf. Meu exemplo mínimo é
\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}
Depois de compilar uma vez, tenho o gráfico, mas não os rótulos (como esperado, eu acho...). eu recebo o erro
pdflatex> feynmf: Label file diagram.t1 not found:
pdflatex> feynmf: Process diagram.mf with METAFONT and then reprocess this file.
OK, então faço o que foi dito e tento processar o arquivo .mf com Metafont no meu terminal (usando Xubuntu) com
mpost diagram.mf
E então eu fico preso. Começa e para com um ponto de interrogação e não sei como proceder ou o que o Metapost está tentando me dizer:
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;
?
Alguém pode ajudar? Como posso obter minhas etiquetas? Muito obrigado!
Responder1
O programa a ser chamado não é o Metapost, mas sim o Metafont:
mf diagram.mf
Porém, é melhor usar feynmp
que tenha a mesma sintaxe e produza arquivos Metapost: você obterá diagram.mp
e executará mpost diagram.mp
.
Existe outra possibilidade:
\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}
O pacote feynmp-auto
(do qual sou o autor) evita até mesmo a necessidade de execução manual mpost
: o diagrama é compilado no final de uma execução ( pdflatex
somente se a fonte tiver sido modificada na execução atual do LaTeX) e irá colocá-lo corretamente em a próxima execução do LaTeX.