我正在开发一个复杂的系统,它可以对包含的 PDF 执行许多操作。太复杂了,我想定义一个宏。不幸的是,我的许多用户的文件名中都有空格和下划线。我一直无法弄清楚如何创建一个\includepdf
以文件名为宏运行的宏,该宏允许包含空格的文件。
也就是说,我想让这个程序运行:
\documentclass[10pt]{book}
\usepackage{pdfpages}
\newcommand{\mycommand}[1]{
Including file: #1 (on next page).
\clearpage
\includepdf{#1}
}
\begin{document}
\mycommand{demo_include1.pdf}
\end{document}
但我得到的错误是:
! Missing $ inserted.
<inserted text>
$
l.11 \mycommand{demo_include1.pdf}
? ^D
! Emergency stop.
<inserted text>
$
l.11 \mycommand{demo_include1.pdf}
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on d.log.
那么我该如何修复我的 LaTeX 文件?
答案1
像这样?(注意使用fontenc
。)
\documentclass[10pt]{book}
\usepackage[T1]{fontenc}
\usepackage{pdfpages}
\newcommand{\mycommand}[1]{%
Including file: \detokenize{#1} (on next page).
\includepdf{#1}}
\begin{document}
\mycommand{demo_include.pdf}
\end{document}