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