我知道这\pagenumbering{gobble}
会导致页码消失。但是当我\pagenumbering{arabic}
再次使用时,页码会从 1 开始。如何让它从偏移量开始?
答案1
你必须看看\pagenumbering
实际上发生了什么,才能理解为什么(从LaTeX 内核):
\def\pagenumbering#1{%
\global\c@page \@ne % <---------------------------- 1
\gdef\thepage{\csname @#1\endcsname \c@page}}% <--- 2
注意\pagenumbering{<scheme>}
二事物:
- 全局(重新)将页码计数器设置
\c@page
为 1; - 全局(重新)定义
\thepage
为根据的页面计数器的表示<type>
。这里<scheme>
定义为宏\@<scheme>
。因此,\pagenumbering{gobble}
结果为\@gobble
。
现在您知道它(重新)将页码设置回 1,您有几个选择:
存储页码前将其设置为
gobble
,并在恢复编号方案时使用它。\documentclass{article} \usepackage[paper=a5paper]{geometry}% Just for this example \usepackage{fancyhdr,lipsum} \newcounter{savepage} \begin{document} \sloppy% Just for this example \lipsum[1-20] \setcounter{savepage}{\value{page}}% Store page number on page 6 \pagenumbering{gobble}% Remove page number \lipsum[1-2] \pagenumbering{arabic}% Restore page numbering \setcounter{page}{\numexpr\value{savepage}+2}% Restore original numbering + offset (should be page 8) \lipsum[3-20] \end{document}
\setcounter{page}{<number>}
只需在恢复编号方案(例如,使用)后直接使用设置页码即可\pagenumbering{arabic}
。使用的技术与上述 (1) 类似。使用页面样式来更改页码的外观(或将其删除),而计数器保持不变。
\documentclass{article} \usepackage[paper=a5paper]{geometry}% Just for this example \usepackage{fancyhdr,lipsum} \fancypagestyle{strangepage}{% \fancyhf{}% Remove header/footer \renewcommand{\headrulewidth}{0pt}% Remove header rule \renewcommand{\footrulewidth}{0pt}% Remove footer rule (default) \fancyhead[C]{non-default header}% Header \fancyfoot[C]{no page number}% Footer } % Set default fancy header \fancyhf{}% Clear header/footer \renewcommand{\headrulewidth}{0pt}% Remove header rule \renewcommand{\footrulewidth}{0pt}% Remove footer rule \fancyhead[C]{default header}% Header \fancyfoot[C]{\thepage}% Footer \pagestyle{fancy}% Set page style \begin{document} \sloppy% Just for this example \lipsum[1-20] \thispagestyle{strangepage}% Change page style *just* for this page \lipsum[1-20] \end{document}
答案2
关于什么\thispagestyle{empty}
?
这应该不会在放置此命令的页面上打印页码(假设为 73),而是像往常一样继续对下一页(74)进行编号。