\includepdf[pages={34-40},nup=2x2,frame,landscape,scale=0.8,%
pagecommand=\chapter{fracture}\section{Theoretical}]{Dam-Nonlinear.pdf}
\clearpage
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8,%
pagecommand={\section{blablah}}]{ASCE-Cyclic-Joint-Model.pdf,1,%
ASCE-Cyclic-Joint-Test.pdf,1}
\includepdf[scale=0.8,nup=2x2,pages={9-13},frame,landscape,%
pagecommand=\section{Experimental Work}]{Ageing-Shaking-Cracking.pdf}
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8]{cement-concrete-slowik.pdf,1,%
Optical_Fiber-in-FPZ.pdf,1}
结果是
- 更正第 1 章(断裂)和第 1.1 节(理论)的标题,然后附上要包含的 pdf 文件(这占用两页)
- 第一个问题,在第 3 页,我再次看到:第 2 章 Fracture 和 2.1 Theoretical,然后是空白。明显错误
- 然后我正确地得到了第 2.2 节等等内容,后面跟着要包含的 pdf(一页)。
- 我在第一页上正确地得到了 2.4 实验工作,但第二页(共两页)的页眉又是相同的。
答案1
该pagecommand
选项仅适用于“非物质”事物,例如\thispagestyle
。您使用它的方式将开始新的篇章在每个包含的页面上。
我假设你正在使用一种类似书本的类,其中新章节总是从右页开始。第二页插入的空白页\chapter
才是真正混乱的。
我建议搬出去\chapter
并\section
完全远离\includepdf
:
\chapter{fracture}\section{Theoretical}
\includepdf[pages={34-40},nup=2x2,frame,landscape,scale=0.8,%
pagecommand={}]{texbook.pdf}
\clearpage
\section{blablah}
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8,%
pagecommand={}]{texbook.pdf,%
1,texbook.pdf,1}
\section{Experimental Work}
\includepdf[scale=0.8,nup=2x2,pages={9-13},frame,landscape,%
pagecommand={}]{texbook.pdf}
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8]{texbook.pdf,%
1,texbook.pdf,1}
当然,我无法判断这是否是您想要的,因为您对此提供的细节很少。
答案2
您可以两次包含 pdf。第一次仅包含第一页。第二次包含所有其他页面,但不包含标题。
\includepdf[pages=34,nup=2x2,frame,landscape,scale=0.8,
pagecommand=\chapter{fracture}\section{Theoretical}]{Dam-Nonlinear.pdf}
\includepdf[pages={35-40},nup=2x2,frame,landscape,scale=0.8
{Dam-Nonlinear.pdf}
\clearpage
答案3
也许你想要这样的东西?请注意,这将是很多有了合适的最小示例,操作起来会更容易。这不仅仅是猜测,更重要的是了解你要做什么——更不用说思考如何实现它了。
如果我的猜测是正确的,那么你想要的输出如下:
我不知道为什么要用到横向的东西。 我只是按照问题中的代码来做,尽管它作为输出对我来说没有多大意义。 (也许包含的文件是经过特殊定制的,或者其他什么,这样纵向标题与横向内容看起来就不会很奇怪。)
无论如何,如果需要的话,你可以进行调整。
关键点是,\chapter
and/or \section
etc. 命令仅在任何单个 PDF 包含的第一页上发出。这是通过将这些命令包装在新命令中来实现的
\dynpage{<stuff for first page>}
在 的参数中pagecommand
。此命令的作用是触发一个动态序列,该序列在第一次迭代后重新定义为\relax
。因此,第一页的内容不会排版在第一页以外的任何页面上。
\def\victor@dynpage{\victor@firstpage\global\let\victor@dynpage\relax}
\newcommand*\dynpage[1]{%
\def\victor@firstpage{#1}%
\victor@dynpage}
问题在于,这个命令需要多次执行。因此,我们需要每次都重置它,这样它就不只是\relax
。为此,我们使用\pretocmd
来自电子工具箱将我们的动态序列添加到 的前面\includepdf
。
\pretocmd{\includepdf}{%
\def\victor@dynpage{\victor@firstpage\global\let\victor@dynpage\relax}%
}
完整代码:
\documentclass[a4paper,openany]{book}
\usepackage{geometry,pdfpages,etoolbox}
\geometry{scale=.85}
\makeatletter
\pretocmd{\includepdf}{%
\def\victor@dynpage{\victor@firstpage\global\let\victor@dynpage\relax}%
}
\newcommand*\dynpage[1]{%
\def\victor@firstpage{#1}%
\victor@dynpage}
\makeatother
\begin{document}
\includepdf[pages={-},nup=2x2,frame,landscape,scale=0.8,%
pagecommand=\dynpage{\chapter{fracture}\section{Theoretical}}]{k}
\clearpage
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8,%
pagecommand={\section{blablah}}]{example-image-a4,1,%
example-image-a4,1}
\includepdf[scale=0.8,nup=2x2,pages={-},frame,landscape,%
pagecommand=\dynpage{\section{Experimental Work}}]{k}
\includepdfmerge[nup=1x2,frame,landscape,scale=0.8]{example-image-a4,1,%
example-image-a4,1}
\end{document}