如何关闭某一页的页码?

如何关闭某一页的页码?

我知道这\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>}事物:

  1. 全局(重新)将页码计数器设置\c@page为 1;
  2. 全局(重新)定义\thepage为根据的页面计数器的表示<type>。这里<scheme>定义为宏\@<scheme>。因此,\pagenumbering{gobble}结果为\@gobble

现在您知道它(重新)将页码设置回 1,您有几个选择:

  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}
    
  2. \setcounter{page}{<number>}只需在恢复编号方案(例如,使用)后直接使用设置页码即可\pagenumbering{arabic}。使用的技术与上述 (1) 类似。

  3. 使用页面样式来更改页码的外观(或将其删除),而计数器保持不变。

    在此处输入图片描述

    \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)进行编号。

相关内容