我怎样才能将页码放在我需要的位置?

我怎样才能将页码放在我需要的位置?

我需要将每个页码放在文档右上角。目前,除了每章的第一页外,该条件都满足。也就是说,对于包含章节标题的页面,数字位于页面底部(中间)。有人能帮忙吗?

答案1

默认情况下,每个页面的第一页都使用基本下的页面样式\chapter进行设置plainbookreport文档类。要了解为什么会出现这种情况,请考虑以下\chapter宏:

\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

请注意 的设置\thispagestyle{plain}。如果您希望更改它,您可以创建新的页面样式并更新plain

  • 创建新样式:

    使用fancyhdr您可以使用默认fancy页面样式,也可以创建自己的页面样式。以下是创建自己的页面样式的方法:

    \fancypagestyle{main}{
      \fancyhf{}% Clear all headers/footers
      \fancyhead[R]{\thepage}% Page in Right header
      \renewcommand{\headrulewidth}{0.4pt}% Header rule
      \renewcommand{\footrulewidth}{0pt}% No footer rule
    }
    

    用法类似于titleps很相似:

    \newpagestyle{main}{
      \sethead{}% Left header
        {}% Centre header
        {\thepage}% Right header
      \setfoot{}{}{}% Clear footer
      \setheadrule{.4pt}% Header rule
      \setfootrule{0pt}% Not footer rule
    }
    

    现在,您可以使用以下方式手动在章节页面上插入此样式

    \chapter{My chapter}
    \thispagestyle{main}
    

    或者你可以通过补丁来更新它,以便在全球范围内实施。下面是一个使用etoolbox(将其放在您的文档序言中):

    \usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
    \patchcmd{\chapter}% <cmd>
      {plain}% <search>
      {main}% <replace>
      {}{}% <success><failure>
    
  • 更新plain

    这与上面的解决方案类似。对于fancyhdr,使用

    \fancypagestyle{plain}{%
      % your new plain settings
    }
    

    用来titleps

    \renewpagestyle{plain}{%
      % your new plain settings
    }
    

如果您使用双面文档设置,上述内容会略有变化。但是,如果您使用其他文档类别,则会发生巨大变化。

相关内容