0

So I've used feynmp and feynmp-auto hundreds of times, but now it seems neither is working on Mac OS Yosemite. I have installed both and when run I get messages like:

I run this:

\documentclass{article}
\usepackage{feynmp-auto}
\usepackage{graphicx}
\begin{document}
\unitlength = 1mm
    \begin{fmffile}{Test}
    \begin{fmfgraph}(40,15)
    \fmfleft{i1,i2}
    \fmfright{o1,o2}
    \fmf{fermion}{i1,v1,v2,o1}
    \fmf{fermion}{o2,v4,v3,i2}
    \fmf{photon,tension=0}{v1,v3}
    \fmf{photon,tension=0}{v2,v4}
    \end{fmfgraph}
    \end{fmffile}
\end{document}

And get this error

feynmp: File Test.1 not found:
feynmp: Process Test.mp with MetaPost and then reprocess this file.

Update: for some reason, when I include the following code (together with relevant packages if any) everything works fine:

\ifpdf
  \DeclareGraphicsRule{*}{mps}{*}{}
\fi

\makeatletter
\def\endfmffile{%
  \fmfcmd{\p@rcent\space the end.^^J%
          end.^^J%
          endinput;}%
  \if@fmfio
    \immediate\closeout\@outfmf
  \fi
  \IfFileExists{\thefmffile.mp}{\immediate\write18{mpost \thefmffile}}{}
  \let\thefmffile\relax
}
\makeatother

I thought feynmp-auto took care of that last problem.

I use TexShop newest version, but I think my TexLive is from 2013.

  • Can you find some runsystem entry in the log file? – egreg Feb 20 '15 at 16:34
  • I think I know how to solve it. The reason for the question is that I don't want to reuse old tex files (which I somehow got to work in the past) because they are slow (I load tens of packages). Now I'm looking through an old Tex file and it looks like I've found a piece of code that solves the problem. I'll get back to you. – Your Majesty Feb 20 '15 at 16:38
  • Do you think that the following code might have anything to do with the fact that it works if it is included (toghether with relevant packages)? < \ifpdf \DeclareGraphicsRule{}{mps}{}{} \fi \makeatletter \def\endfmffile{% \fmfcmd{\p@rcent\space the end.^^J% end.^^J% endinput;}% \if@fmfio \immediate\closeout\@outfmf \fi \IfFileExists{\thefmffile.mp}{\immediate\write18{mpost \thefmffile}}{} \let\thefmffile\relax } \makeatother > – Your Majesty Feb 20 '15 at 16:41
  • Yes, of course it has to do with the problem! It's the code feynmp-auto was built upon! Loading feynmp-auto with that code is a good way to break everything. ;-) – egreg Feb 20 '15 at 16:43
  • Break everything? I don't understand? It works when the code is included. Btw how write codes in comments? – Your Majesty Feb 20 '15 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.