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}