grffile / feynmp-auto compatibility in Texlive14

Since I reinstalled Texlive14 from scratch (I was using Texlive13 before) I ran into problems compiling my presentations that use both grffile and feynmf-auto. It appears that, due to the presence of grffile, the testdiagram.1 output file is not found during compilation, while it is present in the folder and removing grffile suppresses the error and lets the diagram appear smoothly onto my slides.

I am also using gmp to make labels visible (no labels are there in the following MWE, though).

I use xelatex to compile, for other reasons. Here is a minimal example reproducing the error:

\documentclass{beamer}

\usepackage{graphicx}
\usepackage{grffile}
\usepackage{gmp}
\usepackage{feynmp-auto}

\begin{document}
\begin{frame}{Test}
Test diagram
\begin{figure}
\centering
\begin{fmffile}{testdiagram}
\begin{fmfgraph*}(150,100)
\fmfpen{thin}
\fmfleft{a}
\fmfright{lept1,lept2,nu}
\fmf{fermion}{a,mixing}
\fmf{fermion,label.side=left,label.dist=3thick,tension=2}{mixing,decay}
\fmf{fermion,tension=0.8}{decay,nu}
\fmf{phantom}{a,mixing}
\fmf{wiggly,tension=2}{decay,Wdecay}
\fmf{fermion}{lept1,Wdecay,lept2}
\fmf{phantom}{lept1,Wdecay}
\fmfv{l=$\gamma$,l.a=-90,decoration.shape=circle,decoration.size=4.2,decoration.filled=hatched}{mixing}
\end{fmfgraph*}
\end{fmffile}
\end{figure}
\end{frame}
\end{document}


And here is the error stack I get:

ERROR Cannot determine size of graphic in testdiagram.1. (no BoundingBox). \end{frame}

WARNING Font shape 'OT1/cmss/m/n' in size <4> not available(Font) size <5> substituted

WARNING Size substitutions with differences(Font) up to 1.0pt have occurred.

Is this a bug that I should report, or can this be overcome somehow?

• Workaround: \usepackage[multidot=false]{grffile} – Heiko Oberdiek May 7 '15 at 9:23
• Weird: if I try the same with the article class (by just changing the document class and commenting \begin{frame} and \end{frame}), it works. It doesn't depend on feynmp-auto in particular, however, because the same happens with \usepackage{feynmp}. For some reasons, when beamer is used, grffile makes LaTeX look for testdiagram.1. (with a trailing period). – egreg May 7 '15 at 9:32
• @egreg: actually for me it fails anyway, regardless of the documentclass used. – elgicse May 7 '15 at 14:48

This seems to be a bug in grffile, I'm afraid.

The minimal example is

\documentclass{article}
\usepackage{grffile}

\DeclareGraphicsRule{*}{eps}{*}{}

\begin{document}
\includegraphics{testdiagram.1}
\end{document}


that stops with the same identical error

! LaTeX Error: File testdiagram.1.' not found.


where testdiagram.1 is a file built by Metapost. This only when compiling with XeLaTeX.

Passing the multidot=false option to grffile seems to be a workaround.

\documentclass{article}
\usepackage[multidot=false]{grffile}

\DeclareGraphicsRule{*}{eps}{*}{}

\begin{document}
\includegraphics{testdiagram.1}
\end{document}

• Thanks, multidot=false solves the problem also in beamer. I will try to file a bug report for grffile`, because with this option it loses most of its purpose.. EDIT: I hadn't realized that @HeikoOberdiak already noticed. – elgicse May 7 '15 at 14:50