前言中的斜体罗马页码

前言中的斜体罗马页码

我正在使用memoirdocumentclass,并且希望在中设置roman页码。有人知道如何操作吗?或者可以给我一些参考资料吗?front matteritalic

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

相关内容