我想改变页码的位置。
我在这里看到有人建议使用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
还建议使用 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}
请参阅软件包的手册以了解更多信息。