The LaTeX graphics package deals with several different types of
DVI (or other) output drivers; each one of them has a potential
to deal with a different selection of graphics formats. The package
therefore has to be told what graphics file types its output driver
knows about; this is usually done in the ‹driver›def
file
corresponding to the output driver you’re using.
The error message arises, then, if you have a graphics file whose
extension doesn’t correspond with one your driver knows about. Most
often, this is because you’re being optimistic: asking
dvips to deal with a png
file, or PDFTeX to deal with
a eps
file: the solution in this case is to transform the graphics
file to a format your driver knows about.
If you happen to know that your device driver deals with the
format of your file, you are probably falling foul of a limitation of
the file name parsing code that the graphics package uses. Suppose
you want to include a graphics file home.bedroom.eps using the
dvips driver; the package will conclude that your file’s
extension is bedroom.eps
, and will complain.
The grffile package deals with the last problem (and others — see the package documentation); using the package, you may write:
or you may even write\usepackage{graphicx} \usepackage{grffile} ... \includegraphics{home.bedroom.eps}
and graphicx will find a\includegraphics{home.bedroom}
eps
or pdf
(or whatever) version, according to what version of (La)TeX you’re
running.
If for some reason you can’t use grffile, you have three unsatisfactory alternatives:
\newcommand*{\DOT}{.} \includegraphics{home\DOT bedroom.eps}
\includegraphics
command:
\includegraphics[type=eps,ext=.eps,read=.eps]{home.bedroom}
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=unkgrfextn