我有几十个pdf
同名的文件,只是末尾的数字不同,例如xyz1.pdf
,,xyz2.pdf
... 我知道该命令,但要将其写入 38 次才能将所有文件包含到我的新文件中xyz38.pdf
,这相当麻烦。\includepdf{}
是否有一些命令包含pdf
从 1 到 38 的所有内容?
答案1
已编辑:我尝试验证它是否有效。
\documentclass{article}
\usepackage{ifthen,pdfpages}
\newcounter{countindex}
\newcommand\includemultipdf[2]{%
\setcounter{countindex}{0}%
\whiledo{\value{countindex}<#2}{%
\stepcounter{countindex}%
\includepdf{#1\arabic{countindex}.pdf}%
}
}
\begin{document}
\includemultipdf{xyz}{38}
\end{document}
答案2
您可以使用包\foreach
的命令tikz
:
\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{pdfpages}
\begin{document}
\foreach \x in {1,2,...,38}{%
\includepdf{xyz\x.pdf}%
}
\end{document}
这样,你也可以使用非数字的参数(例如\foreach \x in {a,...,f}
),或参数对(\foreach \x/\y in {a/1,b/2,c/3,d/4,e/5,f/6}
)— 参见§83. 重复操作:Foreach 语句在里面PGF 手册隐含的语句有多“智能” ,...,
。
答案3
有多个可用的循环宏。
\documentclass{article}
\usepackage{xparse}
\usepackage{pdfpages}
\ExplSyntaxOn
\NewDocumentCommand{\multiincludepdf}{O{}mm}
{
\int_step_inline:nnnn { 1 } { 1 } { #3 }
{
\includepdf[#1]{#2##1}
}
}
\ExplSyntaxOn
\begin{document}
\multiincludepdf[<options for all files>]{xyz}{38}
\end{document}
可以省略选项。
这将加载xyz1.pdf
,xyz2.pdf
依此类推,直到xyz38.pdf
。