Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have EPS image files (with spaces in their names) in a directory ../../Images space bla bla bla/. The following MWE simulates the real scenario in a simplified way.


a space.eps
b space.png


\def\stripend#1 \stop{\unexpanded{#1}}
    \read\reader to \x
       {../../Images space bla bla bla/\expandafter\stripend\x \stop}%

Because I want to import all image formats and manipulate them with PSTricks, I have to use latex-dvips-ps2pdf sequence. xelatex is not my option because it runs much slower. Shortly speaking, the compilation fails. How to solve it?

Note that the available questions and the corresponding answers in this site do not help. I have read all, none works.

share|improve this question
It works as is with pdflatex (if you replace .eps by an extension pdflatex knows so I think it's probably the graphicx xelatex driver that needs to use the web2c convention of using " to quote filenames more completely. –  David Carlisle Sep 27 '12 at 9:20
@DavidCarlisle: Have you succeeded to compile it with quotes with xetex? –  Please don't touch Sep 27 '12 at 9:26
No and can't delve in that far at work, left comment as a hint of someone else looking at this.. –  David Carlisle Sep 27 '12 at 10:01
My expl3 solution to tex.stackexchange.com/questions/74008/… works, provided you load also the grffile package. I suspect that also your current code will work with that package. –  egreg Sep 27 '12 at 10:20
@egreg: your comment works but now i change to latex-dvips-ps2pdf. –  Please don't touch Sep 29 '12 at 17:16
show 3 more comments

1 Answer 1

up vote 4 down vote accepted

The \special for dvips' EPS file support already uses quotes, e.g.:

PSfile="a b c/d e f.eps" llx=0 lly=0 urx=24 ury=24 rwi=240

However, the graphics package has to do much more:

  • File exists?
  • Without extension? Try out the extensions, given in the extension list.
  • Searching via \graphicspath.
  • Driver specific: \Gread@eps reads the PostScript file to find the bounding box.

Package grffile deals with the first three items, if option space is given. The last item needs patching (at least until I might update grffile):


\patchcmd\Gread@eps{\@inputcheck#1 }{\@inputcheck"#1"\relax}{}{}

\includegraphics{a b c/d e f.eps}
\includegraphics{a b c/d e f}
\graphicspath{{a b c/}}
\includegraphics{d e f.eps}
\includegraphics{d e f}
share|improve this answer
I am sorry. Probably you forgot to update grffile. :-) –  Please don't touch Dec 4 '13 at 2:09
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.