我正在撰写我的最终论文,我想更改默认页码,例如(也在目录中):
1. Introduction 1-1
1.1 Background ......... 1-1
1.1 Object ......... ... 1-2
1.1 Outline ............ 1-4
2. State of the art 2-1
2.1 Introduction ....... 2-1
2.1 Blabla ......... ... 2-4
2.1 Blabla ............. 2-18
...
Reference R-1
Appendix A A-1
Appendix B A-3
其中R
和分别A
代表Reference
和Appendix
。
使用fancyhdr
:
\fancyhead[LE]{ \thechapter - \thepage }
\fancyhead[RO]{ \thechapter - \thepage }
其中,第 5 号是第 2 章的第一页,应为2-1
,第二个页码应为 ,2-2
而不是2-6
。此外, 中的罗马页码frontmatter
应为 ,例如0-XV
etc。
我浏览了一些相关的帖子,但它们都无法解决这个问题。
我想要的是使整个文档的页码以Chapter No. + page No.
开头chapter No. + 1
,并使用默认的罗马数字作为frontmatter
页码without chapter No.
那么该如何解决这个问题呢?
答案1
\thepage
在 的开头重新定义\mainmatter
,并更改内部宏的定义\@chapter
,以便如果开关为真,它也会将页面计数器重置为 1。mainmatter
(请注意,\clearpage
/\cleardoublepage
在 之前调用\@chapter
。)
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\appto{\mainmatter}{\renewcommand*{\thepage}{\thechapter-\arabic{page}}}
\patchcmd{\@chapter}{\if@mainmatter}{\if@mainmatter\setcounter{page}{1}}{}{}
% If \backmatter is used
\appto{\backmatter}{%
\renewcommand*{\thepage}{\arabic{page}}%
\setcounter{page}{1}%
}
\makeatother
\usepackage{lipsum}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\lipsum[1-3]
\mainmatter
\chapter{foo}
\section{foobar}
\lipsum[1-12]
\chapter{gnu}
\section{gnugnat}
\lipsum[1-12]
\cleardoublepage
\renewcommand*{\thepage}{R-\arabic{page}}
\setcounter{page}{1}
\addcontentsline{toc}{chapter}{\bibname}% optional
% "Fake" Bibliography chapter
\begin{thebibliography}{9}
\bibitem{A01} A bibitem.
\end{thebibliography}
\cleardoublepage
\renewcommand*{\thepage}{\thechapter-\arabic{page}}
\appendix
\chapter{appfoo}
\lipsum[1-12]
\end{document}
编辑:如果您坚持手动“编号”附录章节,这里有一个替代方案。另请注意,更新后的页码编号方案不一致(部分章节以 [Prefix-]1 页开头,但并非所有章节都是如此)。
\documentclass{book}
\usepackage{etoolbox}
\makeatletter
\appto{\mainmatter}{\renewcommand*{\thepage}{\thechapter-\arabic{page}}}
\patchcmd{\@chapter}{\if@mainmatter}{\if@mainmatter\setcounter{page}{1}}{}{}
\makeatother
\usepackage{lipsum}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\lipsum[1-3]
\mainmatter
\chapter{foo}
\section{foobar}
\lipsum[1-12]
\chapter{gnu}
\section{gnugnat}
\lipsum[1-12]
\cleardoublepage
\renewcommand*{\thepage}{R-\arabic{page}}
\setcounter{page}{1}
\addcontentsline{toc}{chapter}{\bibname}% optional
% "Fake" Bibliography chapter
\begin{thebibliography}{9}
\bibitem{A01} A bibitem.
\end{thebibliography}
\cleardoublepage
\renewcommand*{\thepage}{A-\arabic{page}}
\setcounter{page}{1}
\backmatter
\chapter{Appendix~A}
\lipsum[1-12]
\chapter{Appendix~B}
\lipsum[1-12]
\end{document}