我需要在每个文档前添加分页符\section{...}
。根据此主题:每个部分都开始新的一页我应该添加以下命令:
\newcommand{\sectionbreak}{\clearpage} % page break before section
toc
但是使用with存在一个问题hyperref
。toc
每个部分的超链接都设置在它们实际页面位置之前一页。在以下示例中:
- 如果
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
两个都hyperref
和titlesec
操纵重要,有关的文档的元素。因此,应始终考虑加载顺序。在这种情况下,加载顺序应类似于
\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
应该考虑提供自身功能的灵活类(如)。