我正在使用memoir
documentclass,并且希望在中设置roman
页码。有人知道如何操作吗?或者可以给我一些参考资料吗?front matter
italic
PS我正在寻找只是用于roman
斜体前言的页码和不是用于修补多个东西(我只想添加我理解的内容,因为我是新手,所以我只了解一点)
答案1
实现此目的的一种简单方法是重新定义内部命令\thepage
,并在命令后重置为直立。参见以下示例:\textit{...}
\frontmatter
\mainmatter
\documentclass{memoir}
\usepackage{lipsum}
\begin{document}
\frontmatter
%% Making italic page number in frontmatter
\def\thepage{\textit{\roman{page}}}
\chapter{Preface}
\lipsum
\mainmatter
%% Making upright page number in mainmatter
\def\thepage{\arabic{page}}
\chapter{One}
\lipsum
\end{document}
答案2
\ThePage
一种方法是在页面样式定义中使用新的宏。在\frontmatter
部分中,它先扩展为\textit{\thepage}
,然后\mainmatter
扩展为\thepage
。
示例文件:
\documentclass{memoir}
\newcommand*{\FrontMatterThePageFont}[1]{\textit{#1}}
\newcommand*{\MainMatterThePageFont}[1]{#1}
\newcommand*{\ThePage}{%
\MainMatterThePageFont{\thepage}%
}
\makeatletter
% \frontmatter
\addtodef*{\@memfront}{}{%
\pagenumbering{Roman}%
\renewcommand*{\ThePage}{%
\FrontMatterThePageFont{\thepage}%
}%
}
% \mainmatter
\addtodef*{\@memmain}{}{%
\renewcommand*{\ThePage}{%
\MainMatterThePageFont{\thepage}%
}%
}
\makeatother
\makeevenfoot{plain}{}{\ThePage}{}
\makeoddfoot{plain}{}{\ThePage}{}
\makeevenhead{simple}{\ThePage}{}{}
\makeoddhead{simple}{}{}{\ThePage}
\makeevenhead{headings}{\ThePage}{}{\slshape\leftmark}
\makeoddhead{headings}{\slshape\rightmark}{}{\ThePage}
\makeevenhead{myheadings}{\ThePage}{}{\slshape\leftmark}
\makeoddhead{myheadings}{\slshape\rightmark}{}{\ThePage}
\makeevenfoot{ruled}{\ThePage}{}{}
\makeoddfoot{ruled}{}{}{\ThePage}
\makeevenfoot{Ruled}{\ThePage}{}{}
\makeoddfoot{Ruled}{}{}{\ThePage}
% ...
\usepackage{lipsum}
\begin{document}
\frontmatter
\chapter{Introduction}
\newpage
\lipsum[1]
\mainmatter
\chapter{Experiments}
\newpage
\lipsum[2]
\end{document}
评论:
我已经用
\@memfront
和\@memmain
代替\frontmatter
和\mainmatter
。因为课程memoir
提供了星号表格(星号表格不会更改页码)。我添加了一个列表,将一些预定义的页面样式更改
\thepage
为\ThePage
。在您自己的页面样式定义中,只需使用\ThePage
而不是\thepage
。