Почему подраздел появляется в заголовке раньше, чем в документе?

Почему подраздел появляется в заголовке раньше, чем в документе?

Я использую этот код

\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
\lhead{\textit{\leftmark}}
\rhead{\textit{\rightmark}}
\rfoot{\textit{Page \thepage}}

\renewcommand{\sectionmark}[1]{\xdef\leftmark{\thesection\quad#1}\xdef\rightmark{}}
\renewcommand{\subsectionmark}[1]{\xdef\rightmark{\thesubsection\quad#1}}

для печати заголовка подраздела в заголовке. Однако у меня проблема в том, что если подраздел напечатан в верхней части страницы, то он отображается в заголовке предыдущей страницы. Это показано ниже. введите описание изображения здесь

Это раздел 1.1, но в заголовке указан раздел 1.2. Как это исправить? Мое текущее решение — сделать следующее.

\begin{Def}
Let $\{M_i:i \in \{1,\ldots ,k\} \}$ be a family of submodules of an $R$-module $M$. Then $M$ is the \textit{direct sum} of $M_1,\ldots ,M_k$ if\\
\indent  i) $M=M_1\oplus \ldots \oplus M_k\coloneqq \{ m_1+\ldots +m_k: m_i \in M_i\}$; \\
\indent  ii) $M_i \cap M_j = \emptyset $ for all $i \neq j$.
\end{Def} 

\newpage

Поэтому я просто добавляю \newpageкоманду в конец страницы, и это решает проблему.

решение1

В вашем коде замените \xdef\leftmarkна \markboth, и \xdef\rightmarkна \markright, так чтобы две строки, переопределяющие \sectionmarkи , \subsectionmarkвыглядели следующим образом:

\renewcommand{\sectionmark}[1]{\markboth{\thesection\quad#1}{}}
\renewcommand{\subsectionmark}[1]{\markright{\thesubsection\quad#1}}

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