如何移动页码?

如何移动页码?

我想改变页码的位置。

我在这里看到有人建议使用fancyhdr包,但我不想使用它——我是 LaTeX 的初学者,所以我不想使用可以改变我已经制作的布局的边距和其他规格的包。有人知道如何移动页码吗?

如果我的担心fancyhdr没有根据,请纠正我。

答案1

作为初学者应该使用包,并尽可能多地使用它们。一般来说,包不会弄乱它们不打算改变的东西,所以你不应该太担心使用它们,特别是如果它们是这里的用户经常推荐的那种包。除非你使用的是特殊的文档类,例如memoir或 KOMA 类之一,否则你应该使用它fancyhdr,因为它提供了一个非常简单的界面来做你想做的事情。

\documentclass{article}
\usepackage{fancyhdr}
\usepackage{lipsum} % only for showing some sample text
\fancyhf{} % clear all header and footers
\renewcommand{\headrulewidth}{0pt} % remove the header rule
\rfoot{\thepage}
%
%lfoot{\thepage} % puts it on the left side instead
%
% or if your document is 2 sided, and you want even and odd placement of the number
%\fancyfoot[LE,RO]{\thepage} % Left side on Even pages; Right side on Odd pages
%
\pagestyle{fancy}
\begin{document}
\lipsum
\end{document}

使用包的最佳理由是包编写者通常很多你比一般的最终用户更有经验,所以软件包可以解决你可能不会想到的问题(即使当你对 LaTeX 更有经验时);另外,当有长期使用记录的好工具可用时,重新发明轮子真的没意义。

也可以看看维基百科上的此页面 一些有用的软件包的推荐。既然你也提到了更改边距,那么你也应该使用该geometry软件包,而不是手动进行更改。

答案2

\documentclass[twoside]{article}

\makeatletter
\def\ps@myPS{%
    \def\@oddfoot{\null\hfill\thepage}
    \def\@evenfoot{\thepage}%
    \def\@evenhead{\null\hfil\slshape\leftmark}%
    \def\@oddhead{{\slshape\rightmark}}}%
\makeatother

\pagestyle{myPS}

\begin{document}

foo
\clearpage
blah
\end{document}

答案3

我完全同意和 Alan Munn 一起但有一个限制:他的回答可能给人的印象是该fancyhdr软件包没有其他选择。但是,还有其他一些软件包可以配置页眉和页脚。

在这里我改编了他的示例以供使用包裹scrlayer-scrpage代替fancyhdr

\documentclass{article}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum} % only for showing some sample text
\clearpairofpagestyles% remove all default elements from page styles scrheadings
                      % and plain.scrheadings
\ofoot*{\pagemark}% add pagination to the outer part of the page footer
\begin{document}
\lipsum
\end{document}

使用 scrlayer-scrpage 在页脚右侧进行分页

scrlayer-scrpage还建议使用 KOMA-Script 类,而scrartcl不是标准类:

\documentclass{scrartcl}
\usepackage{scrlayer-scrpage}
\usepackage{lipsum} % only for showing some sample text
\cfoot*{}% remove the default center pagination from the footer
\ofoot*{\pagemark}% add pagination to the outer part of the page footer
\begin{document}
\lipsum
\end{document}

我在这里使用了另一种解决方案来删除页脚中间的默认分页。您可以scrlayer-scrpage在手册中找到更多使用示例和在 KOMA-Script wiki 中(也提供在德国)。

对于这种仅包含分页的简单页面样式,您还可以使用包裹scrlayer

\documentclass{article}
\usepackage{scrlayer}
\usepackage{lipsum} % only for showing some sample text
\DeclareNewLayer[% declare a new layer
  foreground,% printed in the foreground
  foot,% placed to the page footer
  contents={\hfill\thepage}% with right aligned page number as content
]{pagenumber}
\RedeclarePageStyleByLayers{plain}{pagenumber}% redefine page style plain to use the newly defined layer
\pagestyle{plain}% (re)activate the (re)defined page style
\begin{document}
\lipsum
\end{document}

可以看出, 包scrlayer比 更底层scrlayer-scrpage。 包scrlayer-scrpage为包 添加了额外的用户级别scrlayer

在这里我改编了他的示例以供使用包裹titleps代替fancyhdr

\documentclass{article}
\usepackage{titleps}
\usepackage{lipsum} % only for showing some sample text
\newpagestyle{pagenumberfooterright}{% defining a new page style
  \setfoot{}{}{\thepage}% with page number at the right side
}
\pagestyle{pagenumberfooterright}
\begin{document}
\lipsum
\end{document}

页码位于页脚右侧,带有标题

请参阅软件包的手册以了解更多信息。

相关内容