Warum wird der Unterabschnitt in der Kopfzeile und nicht im Dokument angezeigt?

Warum wird der Unterabschnitt in der Kopfzeile und nicht im Dokument angezeigt?

Ich verwende diesen Code

\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}}

um den Unterabschnittstitel in der Kopfzeile zu drucken. Ich habe jedoch das Problem, dass, wenn der Unterabschnitt oben auf der Seite gedruckt wird, er in der Kopfzeile der vorherigen Seite angezeigt wird. Dies wird unten gezeigt. Bildbeschreibung hier eingeben

Dies ist Abschnitt 1.1, aber die Überschrift zeigt Abschnitt 1.2. Wie behebe ich das? Meine aktuelle Lösung besteht darin, Folgendes zu tun.

\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

Also füge ich einfach \newpageam Ende der Seite einen Befehl hinzu und das Problem ist behoben.

Antwort1

Ersetzen Sie in Ihrem Code \xdef\leftmarkdurch \markbothund \xdef\rightmarkdurch \markright, sodass die beiden Zeilen, die \sectionmarkund neu definieren, \subsectionmarkwie folgt aussehen:

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

verwandte Informationen