页眉中的节+小节和页脚中的章节使用书籍(回忆录)

页眉中的节+小节和页脚中的章节使用书籍(回忆录)

book我正在用 LyX 用( ) 样式撰写论文memoir。我想个性化页眉和页脚,但fancy由于我使用的是这种memoir样式,因此无法使用该包。

因此(作为 LaTeX 新手)我尝试使用修改后的现有代码来创建新的页面样式。

页眉工作正常;我分别在偶数页和奇数页上获得了节和子节。我还在两页的页脚上获得了页码,但我无法在页脚上添加章节号。

除了预先存在的页码之外,我该如何获取每页上带有当前章节号的页脚?

  \nouppercaseheads

    \makepagestyle{mystyle}

    \makeheadrule {mystyle}{\textwidth}{\normalrulethickness} 

    \setlength{\headwidth}{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}


    %head
    \makeevenhead{mystyle}{\small\leftmark}{}{} 
    \makeoddhead{mystyle}{}{}{\small\rightmark}

    %foot
    \makeevenfoot {mystyle} {\small\thepage} {\small\leftmark} {}
    \makeoddfoot {mystyle} {} {\small\leftmark} {\small\thepage}

    \makeatletter

    \makepsmarks{mystyle}{%
      \createmark{section}{left}{shownumber}{}{\space}
      \createmark{subsection}{right}{shownumber}{}{\space}
      \createmark{chapter}{right}{shownumber}{\@chapapp\ }{\space }}

    \makeatother

    \pagestyle{mystyle}

答案1

\chapter开始新页面时,实际上不需要使用标记寄存器。常规宏就足够了。以下示例使用\mychapterfoot保存带有章节/附录标题的字符串作为页脚。类memoir定义\f@rhdr保存章节标题的页眉版本。挂钩点是

  • \memendofchapterhook因为\chapter没有星星。
  • \memchapstarinfo因 为\chapter*前面带有 星号\appendix
  • \memappchapstarinfo之后。\chapter\appendix

此外,还应清除标记寄存器\section\subsection标题,以防止泄露上一章的标题。由于章节的第一页通常具有不同的页面样式,并且\subsection该页的页眉中不太可能需要标题,因此调用\markboth{}{}会清除标记寄存器。

例子:

\documentclass{memoir}

\makeatletter
\newcommand*{\mychapterfoot}{}
\g@addto@macro\memendofchapterhook{%
  \protected@xdef\mychapterfoot{%
    \@chapapp\ \thechapter\ \f@rhdr
  }%
  \markboth{}{}%
}
\let\org@memappchapstarinfo\memappchapstarinfo
\renewcommand{\memappchapstarinfo}[2]{%
  \org@memappchapstarinfo{#1}{#2}%
  \protected@xdef\mychapterfoot{\@chapapp\ \f@rhdr}%
  \markboth{}{}%
}
\let\org@memchapstarinfo\memchapstarinfo
\renewcommand*{\memchapstarinfo}[2]{%
  \org@memchapstarinfo{#1}{#2}%
  \protected@xdef\mychapterfoot{\@chapapp\ \f@rhdr}%
  \markboth{}{}%
}
\makeatother

\nouppercaseheads

\makepagestyle{mystyle}

\makeheadrule {mystyle}{\textwidth}{\normalrulethickness}

\setlength{\headwidth}{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}

%head
\makeevenhead{mystyle}{\small\leftmark}{}{}
\makeoddhead{mystyle}{}{}{\small\rightmark}

%foot
\makeevenfoot {mystyle} {\small\thepage} {\small\mychapterfoot} {}
\makeoddfoot {mystyle} {} {\small\mychapterfoot} {\small\thepage}

\makeatletter

\makepsmarks{mystyle}{%
  \createmark{section}{left}{shownumber}{}{\space}%
  \createmark{subsection}{right}{shownumber}{}{\space}%
  \renewcommand*{\chaptermark}[1]{}%
}

\makeatother

\pagestyle{mystyle}

\setcounter{secnumdepth}{3}

\begin{document}
\chapter{Introduction}
\section{Section A}   
\subsection{Subsection B}
\newpage
\null   
\newpage
\null   
\chapter*{Nix}
\newpage
\null   
\end{document}

相关内容