如何使用回忆录类在标题中使用 \book 章节标题

如何使用回忆录类在标题中使用 \book 章节标题

我正在尝试定义一个页面样式,将文档标题放在偶数标题中,将当前书籍部分的标题放在奇数标题中,但无法使其正常工作。偶数标题是正确的,但奇数标题只显示页码。这是我的测试文档:

\documentclass[twoside]{memoir}
\usepackage{lipsum}

\title{Generic Document}
\makepagestyle{xHeadings}
\clearmark{chapter}

\makepsmarks{xHeadings}{%
\nouppercaseheads
\createmark{book}{both}{nonumber}{}{}
\createplainmark{toc}{both}{\contentsname}
\createplainmark{lof}{both}{\listfigurename}
\createplainmark{lot}{both}{\listtablename}
\createplainmark{bib}{both}{\bibname}
\createplainmark{index}{both}{\indexname}
\createplainmark{glossary}{both}{\glossaryname}}

\makeevenhead{xHeadings}{\thepage}{\textsc{\thetitle}}{}
\makeoddhead{xHeadings}{}{\textsc{\rightmark}}{\thepage}

\begin{document}
\pagestyle{xHeadings}

\book{Alpha}
\chapter{Able}
\lipsum[1-20]

\book{Beta}
\lipsum[21-40]
\end{document}

有趣的是,如果我使用\part{...}而不是\book{...}并更改\createmark{book}...为 ,\createmark{part}...一切都会按预期进行。

答案1

与大多数分段命令一样,有一个标记与 关联\book,称为\bookpagemark。它的默认设置类似于 ,\@gobble因为它只打印/不对其参数执行任何操作。您可以将其更改为\rightmark,这将为奇数页设置它:

在此处输入图片描述

\documentclass[twoside]{memoir}
\usepackage{lipsum}

\title{Generic Document}
\makepagestyle{xHeadings}
\clearmark{chapter}

\makepsmarks{xHeadings}{%
  \nouppercaseheads
  \createmark{book}{both}{nonumber}{}{}
  \createplainmark{toc}{both}{\contentsname}
  \createplainmark{lof}{both}{\listfigurename}
  \createplainmark{lot}{both}{\listtablename}
  \createplainmark{bib}{both}{\bibname}
  \createplainmark{index}{both}{\indexname}
  \createplainmark{glossary}{both}{\glossaryname}}

\makeevenhead{xHeadings}{\thepage}{\textsc{\thetitle}}{}
\makeoddhead{xHeadings}{}{\textsc{\rightmark}}{\thepage}
\renewcommand{\bookpagemark}{\markright}% Mark \book on odd pages

\begin{document}
\pagestyle{xHeadings}

\makeatother

\book{Alpha}
\chapter{Able}
\lipsum[1-20]

\book{Beta}
\lipsum[21-40]
\end{document}

相关内容