使用以下代码在标题中获取旧式(阿拉伯)数字,使序言页码(罗马数字)消失。这是一个最小的工作示例:
\documentclass{book}
\usepackage{fancyhdr}
\usepackage{lmodern}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{textcomp}
\usepackage{pdfpages}
\pagestyle{fancy}
\fancyhead[LE]{\oldstylenums{\thepage}}
\fancyhead[RO]{\oldstylenums{\thepage}}
\begin{document}
\frontmatter
\lipsum
\mainmatter
\lipsum
\end{document}
如您所见,在前言中,标题没有分页(尽管底部仍有分页)。谢谢。
答案1
\makeatletter
\fancyhead[LE]{\if@mainmatter\oldstylenums{\arabic{page}}\else\thepage\fi}
\fancyhead[RO]{\if@mainmatter\oldstylenums{\arabic{page}}\else\thepage\fi}
\makeatother
答案2
\thepage 在前言中给出了罗马数字。\oldstylenums 不知道如何处理它。如果您想在页眉中使用数字,请使用 \fancyhead[LE]{\oldstylenums{\arabic{page}}}。
答案3
\def\isnum#1{%
\if!\ifnum9<1#1!\else_\fi
\oldstylenums{#1}\else#1\fi}
\fancyhead[LE]{\isnum{\thepage}}}
\fancyhead[RO]{\isnum{\thepage}}}