如何为一系列 PDF 文件制作目录?
这是我的代码!
\documentclass{book}
\usepackage{pdfpages}
\usepackage[pdfauthor={<somename>},pdftitle={<sometitle>},pdftex]{hyperref}
\usepackage{fancyhdr}
\usepackage{tocloft}
\usepackage[margin=0.5in,bottom=0.75in,top=0.75in]{geometry}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.4pt}
\fancyhead[L]{X Y Z}
\fancyhead[R]{}
\begin{document}
\tableofcontents
\newpage
\clearpage
\phantomsection
\includepdfset{pages=-,pagecommand=\thispagestyle{fancy}}
\addcontentsline{toc}{chapter}{SAMPLE PDF 1\\ \textit{description}}
\includepdf[pages=-]{template1.pdf}
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{SAMPLE PDF 2\\ \textit{description}}
\includepdf[pages=-]{template2.pdf}
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{SAMPLE PDF 3\\ \textit{description}}
\includepdf[pages=-]{template3.pdf}
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{SAMPLE PDF 4\\ \textit{description}}
\includepdf[pages=-]{template4.pdf}
\clearpage
\phantomsection
\addcontentsline{toc}{chapter}{SAMPLE PDF 5\\ \textit{description}}
\includepdf[pages=-]{template5.pdf}
\end{document}
这是输出。
我的问题是页码与标题不对齐,而是与描述对齐。我还想加点。
我想要的输出如下所示:
答案1
这是根据我曾经为类似目的编写的一些代码改编的。您只需调用宏\insertmydocument
而不是\includepdf
。
就描述而言,它tocloft
可以处理目录中、文本中或两者中的“章节摘要”的排版。这似乎正是您要找的东西。
%The default settings should add dots, but for whatever reason it doesn't. This fixes it.
\renewcommand{\cftchapleader}{\cftdotsfill{\cftchapdotsep}}
\newcommand{\insertmydocument}[4]%
{ % Syntax: \insertmydocument{Toc level}{Title}{Subtitle}{File}
% Requires: tocloft hyperref pdfpages
\newpage
\phantomsection
\cftaddtitleline{toc}{#1}{#2}{\thepage}
\cftchapterprecistoc{#3}
\includepdf[pages=-]{#4}
}
我建议你添加colorlink
选项hyperref
,让链接变成彩色的,而不是方框的。这样可以去掉第一行的大方框。
完整示例
\documentclass{report}
\usepackage{pdfpages}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\cftdotfill{\cftdotsep}}
\usepackage[colorlinks]{hyperref}
\newcommand{\insertmydocument}[4]%
{ % Syntax: \insertmydocument{Toc level}{Title}{Subtitle}{File}
% Requires: tocloft hyperref pdfpages
\newpage
\phantomsection
\cftaddtitleline{toc}{#1}{#2}{\thepage}
\cftchapterprecistoc{#3}
\includepdf[pages=-]{#4}
}
\begin{document}
\tableofcontents
\chapter{A regular chapter}
\insertmydocument{chapter}{A pdf}{Description}{document.pdf}
\chapter{Another chapter}
\end{document}
答案2
addtotoc
对于每个 PDF,您可以使用以下选项pdfpages
:
\includepdf[addtotoc={1,chapter,0,SAMPLE PDF 1,chap:samplepdfone}]{template1.pdf}