
\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 «Перелом» и 2.1 «Теоретическая часть», а затем пробел.Явно не прав
- Затем я правильно получаю раздел 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
frometoolboxкоторый добавляет нашу динамическую последовательность к \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}