文档的两种不同别名页面样式(或页码问题的另一种解决方案)

文档的两种不同别名页面样式(或页码问题的另一种解决方案)

有没有办法为文档的不同部分创建两个不同的 aliaspagestyle。也就是说,我是否可以为目录的第一页创建一个 aliaspagestyle,而为文档的其余部分创建一个不同的 aliaspagestyle?

我想要修复的问题:

前言页应显示为 i ii iii,而文档的其余部分应显示为 1/10 2/10 3/10 等。同时,保留第一页、目录和章节的页眉抑制,并可以选择单独编辑其余目录页的页眉与主要页。

\documentclass[12pt,a4paper,onecolumn,oneside,final]{memoir}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{newcent}
\usepackage[utf8x]{inputenc}
\usepackage[textwidth=14cm,textheight=22cm]{geometry}
\usepackage{lipsum}


\makepagestyle{TOC} % For the mainmatter
\makepsmarks{TOC}{\nouppercaseheads
\createplainmark{toc}{left}{\contentsname}}
\makeoddhead{TOC}{Something}{}{}
\makeoddfoot{TOC}{}{}{\thepage}

\makepagestyle{HDR} % For the mainmatter
\makepsmarks{HDR}{\nouppercaseheads
    \createmark{chapter}{left}{nonumber}{}{\space}
    \createmark{section}{right}{nonumber}{}{\space} 
    \makefootrule{HDR}{14cm}{\normalrulethickness}{8pt}
    \makeheadrule{HDR}{14cm}{\normalrulethickness}
    \createplainmark{toc}{left}{\contentsname}
    \createplainmark{lof}{left}{\listfigurename}
    \createplainmark{lot}{left}{\listtablename}
    \createplainmark{bib}{left}{\bibname}
    \createplainmark{index}{both}{\indexname}
    \createplainmark{glossary}{both}{\glossaryname}}
\makeoddhead{HDR}{Something else}{}{}
\makeoddfoot{HDR}{}{}{\thepage\ / \thelastpage}

\makepagestyle{ALI} % Alias for the mainmatter
\makeoddfoot{ALI}{}{}{\small \thepage\ / \thelastpage}
\makefootrule{ALI}{14cm}{\normalrulethickness}{8pt}
\aliaspagestyle{chapter}{ALI}
\aliaspagestyle{part}{ALI}

\begin{document}
\frontmatter
\tableofcontents \pagestyle{TOC}
\mainmatter \pagestyle{HDR}
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\chapter{A chapter}
\lipsum
\end{document}

我制作了大量 Lipsum 章节,以便您能在目录中看到我的意思。唯一的问题是第一页的编号。

答案1

我不完全确定我是否理解了您的问题,但我认为您只是想控制文档不同部分的页脚,而主要问题是,例如,章节第一页的页眉和页脚与其他页面的页眉和页脚不同。

您的代码似乎有两个问题。首先,您应该设置页面样式您希望更改生效的页面——目前,您切换到TOC样式,例如,在编写之后。同样,您需要在切换样式之前用或\tableofcontents结束页面。其次,您需要为目录的第一页设置新的页面样式。\clearpage\newpage

您可以通过定义类似以下内容来解决第二个问题:

\makepagestyle{ALItoc} % Alias for the mainmatter
\makepsmarks{ALItoc}{\nouppercaseheads
  \makeoddfoot{ALItoc}{}{}{\small \thepage}
  \makefootrule{ALItoc}{14cm}{\normalrulethickness}{8pt}
  \makeoddhead{ALItoc}{}{}{}
}

现在你可以使用以下方法解决剩余的问题:

\frontmatter
\pagestyle{TOC}
\aliaspagestyle{chapter}{ALItoc}
\tableofcontents\clearpage
\aliaspagestyle{chapter}{ALI}
\pagestyle{HDR}
\mainmatter

如果我理解了你的问题那么我认为这回答了你的问题。

相关内容