
Я использую этот код
\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}}