章节和目录超链接之前的分页符问题

章节和目录超链接之前的分页符问题

我需要在每个文档前添加分页符\section{...}。根据此主题:每个部分都开始新的一页我应该添加以下命令:

\newcommand{\sectionbreak}{\clearpage} % page break before section

toc但是使用with存在一个问题hyperreftoc每个部分的超链接都设置在它们实际页面位置之前一页。在以下示例中:

  • 如果toc我点击超链接第 1 部分(位于第2页),我将继续第 1 页
  • 如果toc我点击超链接第 2 部分(位于第 3 页),我将会被带到第2页

以下是可供测试的代码:

\documentclass[12pt,a4paper]{scrartcl} % A4 paper and 12pt font size

\usepackage{hyperref} % Hyperlinks
\usepackage{titlesec} % customizing sections

\newcommand{\sectionbreak}{\clearpage} % page break before section

\begin{document}

\tableofcontents

\section{Section 1}
Text
\subsection{Subsection 1.1}
Text
\subsection{Subsection 1.2}
Text

\section{Section 2}
Text
\subsection{Subsection 2.1}
Text
\subsection{Subsection 2.2}
Text
Text

\end{document}

我需要修复错误的链接,toc或者在章节前插入分页符的其他方法,与超链接兼容toc

答案1

两个都hyperreftitlesec操纵重要,有关的文档的元素。因此,应始终考虑加载顺序。在这种情况下,加载顺序应类似于

\usepackage{titlesec}
...
\usepackage{hyperref}

正如暗示的那样hyperref哪些包应该在之后而不是之前加载?。然而,你也会发现memoir.log在关于加载中提及以下内容titlesec

Class scrartcl Warning: Usage of package `titlesec' together
(scrartcl)              with a KOMA-Script class is not recommended.
(scrartcl)              I'd suggest to use the package only
(scrartcl)              if you really need it, because it breaks several
(scrartcl)              KOMA-Script features, i.e., option `headings' and
(scrartcl)              the extended optional argument of the section
(scrartcl)              commands .
(scrartcl)              Nevertheless, using requested
(scrartcl)              package `titlesec' on input line 4.

虽然包旨在扩展文档类所施加的某些“限制”,但memoir应该考虑提供自身功能的灵活类(如)。

相关内容