Проблема с разрывами страниц перед гиперссылками на разделы и оглавления

Проблема с разрывами страниц перед гиперссылками на разделы и оглавления

Мне нужны разрывы страниц перед каждым \section{...}моим документом. Согласно этой теме:Начинать новую страницу с каждого разделаЯ должен добавить следующую команду:

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

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

Связанный контент