![插入几个 pdf 文件的每 'n' 页](https://linux22.com/image/316865/%E6%8F%92%E5%85%A5%E5%87%A0%E4%B8%AA%20pdf%20%E6%96%87%E4%BB%B6%E7%9A%84%E6%AF%8F%20'n'%20%E9%A1%B5.png)
我有 3 个 pdf 文件(a.pdf
和b.pdf
c.pdf
),每个文件有 50 张图片。我需要逐一插入每个 pdf 的每一页(一行 3 个)。并非所有页面来自第一个 pdf,所有内容都来自另一个,但有一页来自a.pdf
,一页来自b.pdf
和c.pdf
期望输出是一份包含以下页面的文档:1a、1b、1c、2a、2b、2c、3a、3b、3c....50a、50b、50c
平均能量损失
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\begin{document}
\includepdfmerge[nup=1x3]
{a.pdf, 1,2,3,
b.pdf, 1,2,3,
c.pdf, 1,2,3}
\end{document}
答案1
这只是一条评论,因为对于正常评论来说它有点太长了。
做
\includepdfmerge[nup=1x3]{a.pdf, 1,b.pdf, 1, c.pdf, 1}
\includepdfmerge[nup=1x3]{a.pdf, 2,b.pdf, 2, c.pdf, 2}
...
有效吗?因为这可以通过一个简单的 latex 循环来完成
这似乎有效
\documentclass[a4paper]{memoir}
\usepackage{pdfpages,pgffor}
\begin{document}
\foreach\n in{1,...,5}{
\includepdfmerge[nup=1x3]{a.pdf,\n,b.pdf,\n,c.pdf,\n}
}
\end{document}
答案2
这扩展了回答daleif 添加了在 PDF 模式下使用 pdfTeX 时自动检索所包含文档的页数的功能。该命令\pdflastximagepages
在调用之前返回先前包含的 PDF 文档的页数\pdflastximagepages
:
\documentclass[a4paper]{memoir}
\usepackage{pdfpages,pgffor}
\begin{document}
\sbox0{\includegraphics{a.pdf}}
\edef\PagesA{\number\pdflastximagepages}
\foreach\n in{1,...,\PagesA}{
\includepdfmerge[nup=1x3]{a.pdf,\n,b.pdf,\n,c.pdf,\n}
}
\end{document}
答案3
它适用于两个文件(可以适应更多文件),即使它们的页数不同。
\documentclass{report}
\usepackage[landscape,margin=0pt,a3paper]{geometry}
\usepackage{pdfpages,pgffor}
\begin{document}
\pagestyle{empty}
\sbox0{\includegraphics{new.pdf}}
\edef\PagesA{\number\pdflastximagepages}
\sbox1{\includegraphics{old.pdf}}
\edef\PagesB{\number\pdflastximagepages}
\newcounter{Min}
\newcounter{Max}
\setcounter{Min}{\minof{\PagesA}{\PagesB}}
\setcounter{Max}{\maxof{\PagesA}{\PagesB}}
\foreach\n in{1,...,\theMin}{
\includepdfmerge[nup=2x1]{new.pdf,\n,old.pdf,\n}
}
\ifnum\theMin=\PagesA
\addtocounter{Min}{1}
\foreach\n in{\theMin,...,\theMax}{
\includepdfmerge[nup=2x1]{old.pdf,\n}
}
\else
\addtocounter{Min}{1}
\foreach\n in{\theMin,...,\theMax}{
\includepdfmerge[nup=2x1]{new.pdf,\n}
}
\fi
\end{document}