
Я хотел бы включить файлы pdf, для которых я использовал команду
\includepdf[]{filename}
, которая отлично работает. По сути, весь мой документ состоит из файлов pdf, поэтому я хотел бы включить заголовки глав сейчас. Однако использование только \chapter{name}
дает пустую страницу только с chaptertitle перед pdf-файлом. Заголовок не обязательно должен быть поверх pdf, так как я могу включить titlename в pdf, но я просто хочу, чтобы заголовок главы отображался в оглавлении.
решение1
- Используйте опцию
addtotoc
для создания записей для оглавления. - Делатьнетпопробуйте кормить
\includepdf
с помощью команд\chapter
,\section
, .... Это не сработает. - Используйте опцию
picturecommand*
, чтобы написать что-нибудь на первой странице прилагаемого PDF-файла. (Это может выглядеть как заголовок раздела, если вы используете\thesection
, ...)
Вот пример:
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{hyperref}
\newcommand\mytitle{}
\newcommand\doctitle[1]{\def\mytitle{#1}}
\begin{document}
\tableofcontents
\doctitle{Title AAA}
\includepdf[
pages=-,
addtotoc={1, section, 1, \mytitle, sec:file-1},
picturecommand*={\put(100,700){\LARGE\thesection\ \mytitle}}
]{file-1.pdf}
\doctitle{Title BBB}
\includepdf[
pages=-,
addtotoc={1, section, 1, \mytitle, sec:file-2},
picturecommand*={\put(100,700){\LARGE\thesection\ \mytitle}}
]{file-2.pdf}
\end{document}
решение2
Это обрезает старые нижние и верхние колонтитулы и заменяет их новыми. Это предполагает общую разметку страницы.
\documentclass{book}
\usepackage{pdfpages}
\makeatletter
\newcommand{\mychapter}[1]% #1 = short title (TOC and header only}
{\thispagestyle{plain}%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
}
\makeatother
\edef\toptrim{\the\dimexpr 1in+\topmargin+\headheight+\headsep}
\edef\bottomtrim{\the\dimexpr \paperheight-\toptrim-\textheight}
\begin{document}
\tableofcontents
\cleardoublepage% [openright] doesn't show headers
\includepdf[pages={1},pagecommand={\mychapter{Title}},clip=true,trim=0 {\bottomtrim} 0 {\toptrim}]{test6}% one page only!
\includepdf[pages={2},pagecommand={},clip=true,trim=0 {\bottomtrim} 0 {\toptrim}]{test6}
\end{document}
где test6 был создан с использованием
\documentclass{book}
\usepackage{lipsum}
\begin{document}
\chapter{Title}
\lipsum[1-4]
\end{document}