我想包含使用命令的 pdf 文件
\includepdf[]{filename}
,该命令运行良好。基本上我的整个文档都是由 pdf 文件组成的,所以我现在想包含章节标题。但是,使用 只会\chapter{name}
产生一个空白页,其中只有 pdf 文件前的章节标题。标题不必位于 pdf 的顶部,因为我可以在 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}