# How to use tilde or space in includepdf filename?

I'm trying to include a pdf in a document, using `pdfpages` package, but I'm having troubles when filename contains tilde or space.

e.g.

``````\includepdf[pages=-]{C:/Users/MYUSER~1/AppData/Local/Temp/mypdfpdf.pdf}

\includepdf[pages=-]{C:/Users/MYUSER FOO/AppData/Local/Temp/mypdfpdf.pdf}
``````

I've tried to escape for example through `\$\sim\$` but it doesn't work...

Is it possible to escape tilde/space in the filename ?

-
You can try `\string~` for the tilde and enclosing the whole file name in a pair of double quotes `"` for the space. –  egreg Nov 15 '11 at 14:22
@egreg: this should be an answer! –  Herbert Nov 15 '11 at 15:16
@Herbert Martin's already covers it. –  egreg Nov 15 '11 at 15:20
See also David's answer on how to quote special characters in tex.stackexchange.com/a/53646/175 –  Charles Stewart Jun 28 '13 at 10:34

About the tilde: Apparently the `~` is taken in its usually meaning, not as literal `~`. I get a `Package pdfpages Error: Cannot find file `test\nobreakspace {}it'` error for a `test~it` file. Taking the filename verbatim should help. This can be done by `\Verbdef` from the `newverbs` package:

``````\usepackage{newverbs}

% ...

\Verbdef\filename{C:/Users/MYUSER~1/AppData/Local/Temp/mypdfpdf.pdf}
\includepdf[pages=-]{\filename}
``````

It is also possible to write `\string~` instead of `~` every time. You shouldn't use math symbols to "escape" these characters in filenames. Typesetting and file reading are two completely different things.

Finally you can use the e-TeX primitive `\detokenize{...}` to sanitize the file name:

``````\includepdf[pages=-]{\detokenize{C:/Users/MYUSER~1/AppData/Local/Temp/mypdfpdf.pdf}}
``````

To allow spaces you need to wrap the filename in `" "`. At best you should avoid any spaces, tildes or any other special characters in filenames.

-
Actually it's generated through Sweave so I can't avoid tildes and spaces, but thanks this works fine ! :) –  digEmAll Nov 15 '11 at 15:36
@Martin Scharrer - thanks for the `\Verbdef` tip. At my site I've got people who use two or more (!!!) blanks for directory names. FYI: two or more blanks in the directory name get shrunk down to one blank when using `\detokenize` with `\includepdf`. –  infowanna Mar 11 '13 at 13:59

Spaces at file names of PDF files at `\includegraphics` or `\includepdf` are allowed, if you are using package grffile:

``````\usepackage{grffile}
\usepakcage{pdfpages}
% …
\includepdf[pages=-]{test this.pdf}
``````

And for more verbatim interpretation of the file name you may use `\detokenize`:

``````\usepackage{grffile}
\usepakcage{pdfpages}
% …
\includepdf[pages=-]{\detokenize{test~this.pdf}}
``````
-