
Мне нужны разрывы страниц перед каждым \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
следует рассмотреть гибкие классы (например, ), которые предоставляют собственную функциональность.