不使用 \section 将编号部分添加到目录中

不使用 \section 将编号部分添加到目录中

我想创建一个与通常编号一致的新部分,但不显示在文本中。我使用命令包含多个 PDF 文件\includepdf。每个文件都是一个子部分,我想将其置于该部分之下。但是,我不能直接使用,\section因为这会在文档中产生一个新的标题,而我不想这样,尤其是因为除了文件之外我没有其他文本,而一个只有标题的空白网站看起来很傻。

例子:

\documentclass{scartcl}
\usepackage{pdfpages}

\begin{document}
\tableofcontents

\includepdf[addtotoc={1,subsection,2,title1,1}]{1.pdf}

\includepdf[addtotoc={1,subsection,2,title2,2}]{2.pdf}

\end{document}

我希望它看起来像

1.Section
   1.1 title1
   1.2 title2

没有几乎空白的页面,因为\section创造了新的标题

答案1

我不知道这是否是所要求的,但将不存在的部分(或任何内容)添加到目录中并在其前面使用部分编号是相当容易的。

用户 cmhughes 已经指向\addcontentsline

请更改标题和相应的章节编号。

\documentclass{article}
\usepackage{pdfpages}



\begin{document}
\tableofcontents

\setcounter{section}{1}
\addcontentsline{toc}{section}{\protect\numberline{\thesection}{YourSectionTitle}}


\includepdf[addtotoc={1,subsection,2,title1,1}]{1.pdf}

\includepdf[addtotoc={1,subsection,2,title2,2}]{2.pdf}

\end{document}

在此处输入图片描述

更新了一些对 hyperref 的支持,这样就不会生成愚蠢的链接

hyperref添加用于超锚点的第 4 个{}参数\contentsline。如果为空,则不会生成锚点和链接。如果hyperref未加载,则空的第 4 个参数{}不会造成任何损害,它可以保留在文件中.toc

\documentclass{article}
\usepackage{pdfpages}

\usepackage{hyperref}

\newcommand{\phantomsectiontotoc}[1]{%
  \addtocontents{toc}{\protect\contentsline{section}{\protect\numberline{\thesection}#1}{}{}}%
}

\begin{document}
\tableofcontents


\setcounter{section}{1}
\phantomsectiontotoc{YourSectionTitle}

\includepdf[addtotoc={1,subsection,2,title1,1}]{1.pdf}

\includepdf[addtotoc={1,subsection,2,title2,2}]{2.pdf}

\end{document}

答案2

仅附录基督徒的第一个例子

要获得正确的自动书签解决方案,\addcontentslinehyperref需要使用\refstepcounter增加section计数器。并且您应该\clearpage在将部分条目添加到目录之前插入,因为否则它不会引用第一个包含的 PDF 页面的页面,而是引用之前的页面:

\documentclass{article}
\usepackage{pdfpages}
\usepackage{hyperref}

\begin{document}
\tableofcontents

\clearpage% to have the section on the correct page
%\stepcounter{section}{0}% If you need section number n instead of the next one, set section number n-1 here, because you still need:
\refstepcounter{section}
\addcontentsline{toc}{section}{\protect\numberline{\thesection}{YourSectionTitle}}


\includepdf[addtotoc={1,subsection,2,title1,1}]{example-image-a.pdf}

\includepdf[addtotoc={1,subsection,2,title2,2}]{example-image-b.pdf}

\end{document}

请注意,该解决方案独立于使用而工作hyperref

相关内容