使用 pdfpages 的范围失败

使用 pdfpages 的范围失败

文档内容如下:

例如:pages=-将插入文档的所有页面[...]

然而,当我放入\includepdf[pages=-]{foobar.pdf}我的 LaTeX 文档(使用 编译xelatex)时,出现此错误:

! Package pdfpages Error: Cannot find file `-'.

类似地,只需使用类似的范围即可\includepdf[pages={1,3,5-last}]{foobar.pdf}得到以下结果:

 <use  "foobar.pdf" >
! Missing = inserted for \ifnum.
<to be read again> 
                   -
l.91 ...df[pages={1,3,5-last}]{foobar.pdf}

我正在使用pdfpages从 CTAN 下载的最新版本。

知道问题可能出在哪里吗?

编辑:
MWE:

\documentclass{article}
\usepackage{pdfpages}
\usepackage[czech]{babel}
\begin{document}

\includepdf[pages={1,3-5}]{foobar.pdf}
\end{document}

答案1

问题与斯洛伐克语(和捷克语)babel 给出了 cmidrule 和 cline 的问题:该czech选项将使babel字符变成-速记,这会破坏该pages选项的工作。

快速解决:

\shorthandoff{-}\includepdf[pages=1,3-5]{foobar.pdf}\shorthandon{-}

更好的解决方法:

\documentclass{article}
\usepackage[czech]{babel}
\usepackage{pdfpages}

\usepackage{regexpatch}

\makeatletter
\xpatchparametertext{\AM@checkrange}{-}{\cA-}{}{}
\xpatchparametertext{\AM@checklast}{-}{\cA-}{}{}
\regexpatchcmd{\AM@readlisti}{-}{\cA-}{}{}
\makeatother

\begin{document}

\includepdf[pages={1,3-4}]{largefrac.pdf}

\end{document}

请注意,由于某些原因,该last关键字不适用于 XeLaTeX,但指定3-3-last可以。

答案2

我只是复制了这段代码,效果很好

\documentclass{report}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{31roegel.pdf}
\end{document}  

对于第二个问题使用

\documentclass{report}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={1,5-}]{31roegel.pdf}
\end{document}  

相关内容