includepdfmerge 不适用于文件名中的数字

includepdfmerge 不适用于文件名中的数字

我正在尝试将一些 pdf 文件合并到一个文档中。我的文件名是数字,但\includepdfmerge使用数字作为文件名会出现问题。有人有解决方案吗?

\documentclass{article}
\usepackage{pdfpages}
\begin{document}


\includepdfmerge[]{test.pdf, 1} %works
\includepdfmerge[]{133.pdf, 1} %does not work

\end{document} 

答案1

这是 旧版本中的一个错误pdfpages,它尝试解析参数以检查它是文件名还是页码,但由于文件名以数字开头而失败。您应该更新系统以修复此问题。同时,这里有一个补丁可以修复页码的错误检测(不确定它与 的其余部分交互效果如何,pdfpages所以您确实应该更新):

\documentclass{article}
\usepackage{pdfpages}

% Fix pdfpages < 2019
\makeatletter
\@ifundefined{AM@checkinteger@}{%
\def\AM@checkinteger#1{%
  \expandafter\AM@checkinteger@\expandafter{#1}}
\def\AM@checkinteger@#1{%
  \begingroup
  \def\do##1{\uccode`##1=`\%}%
  \do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9%
  \makeatletter
  \catcode`\%=9
  \endlinechar\m@ne
  \uppercase{\scantokens{\def\AM@temp{#1}}}%
  \ifx\AM@temp\@empty
    \global\AM@integertrue
  \else
    \global\AM@integerfalse
  \fi
  \endgroup}%
}{}
\makeatother

\begin{document}

\includepdfmerge[]{testx.pdf, 1} %works
\includepdfmerge[]{133.pdf, 1} %also works

\end{document}

相关内容