我正在用 extbook 类写一本书。目录中的 frontmatter 使用罗马数字,mainmatter 使用阿拉伯数字。出版商问我是否可以在任何地方(包括 frontmatter)都只使用阿拉伯数字。
有没有简单的方法可以做到这一点?如果我将序言移到正文中,它会添加章节编号,这不是我想要的。
答案1
我猜你的出版商想要连续编号:将两个页面编号为 1,一个在前言中,另一个在正文中,这实际上没有任何意义。
类中的定义book
是
\newcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{roman}%
}
\newcommand\mainmatter{%
\cleardoublepage
\@mainmattertrue
\pagenumbering{arabic}%
}
所以你只需要修改它们
\documentclass{book}
\makeatletter
\renewcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{arabic}% <--- changed here
}
\renewcommand\mainmatter{%
\cleardoublepage
\@mainmattertrue
%\pagenumbering{arabic}% <--- removed
}
\makeatother
答案2
不要使用\frontmatter
或\mainmatter
。它们都会重置页码,默认情况下页码为阿拉伯语。
答案3
不确定这是否是最佳做法,我使用过这种方法:
\renewcommand\frontmatter{%
\cleardoublepage
%\@mainmatterfalse
\pagenumbering{arabic}}
在主要内容之后(修复目录中的编号问题):
...
\mainmatter
\cleardoublepage
..