如何使用 pdfpages 仅包含奇数页或偶数页?

如何使用 pdfpages 仅包含奇数页或偶数页?

有没有更好的解决方案来包含 pdf 文件的所有奇数/偶数页?

    \documentclass{scrartcl} 
    \usepackage{pdfpages}
    
    \begin{document}
    \includepdf[page={1,3,5,7,9,11,13,15,17,19,21,23,25,27
    %\includepdf[page={2,4,6,8,10,12,14,16,18,20,22,24,26,28
    }]{bCh03.pdf}
    \end{document}

答案1

我不知道 pdfpages 包中是否有直接的解决方案。不过,你可以用循环来实现。

首先,您需要提取页数(参见此答案来自 Symbol 1) 经过

\pdfximage{bCh03.pdf}

这将存储宏中的页数\pdflastx图像页面,这是终止标准所必需的。接下来你需要一个循环。为此,创建迭代器整数像这样

\newcounter{int}
\setcounter{int}{-1}

然后启动循环并仅插入与计数器对应的页面

\whiledo{\not{\value{int} > \pdflastximagepages}}{
\includepdf[page={\theint}]{bCh03.pdf}
\addtocounter{int}{2}
}

如果只想添加偶数页,请初始化整数为 2。如果您希望每三页出现一次,则将计数器增加 3。以这种方式,您可以简单地定义自己的宏

\documentclass{scrartcl}

\usepackage{pdfpages}

\newcounter{int}
\newcommand{\myincludepdf}[3]{
    \pdfximage{#1}
    \setcounter{int}{#2}
    \whiledo{\not{\value{int} > \pdflastximagepages}}{
        \includepdf[page={\theint}]{#1}
        \addtocounter{int}{#3}}
}


\begin{document}
    \myincludepdf{bCh03.pdf}{1}{2}
\end{document}

相关内容