平时在写报告或者论文时,老师或者学校给的模板的页眉页脚都不太一样,一般都需要自己来自定义。所以笔者在这里简单的介绍页眉页脚自定义的代码及其参数。希望能够帮助大家更好的理解和学习!
自定义双边文档的页面样式
如果你的文档是双边的(即奇数页和偶数页的样式不同,例如书籍)且你希望自定义页眉和页脚,那么你可以使用\fancyhead
和\fancyfoot
命令来做到这一点。下面给出一个例子:
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{Overleaf}
\fancyhead[RE,LO]{Guides and tutorials}
\fancyfoot[CE,CO]{\leftmark}
\fancyfoot[LE,RO]{\thepage}
\begin{document}
\chapter{Using different page styles}
Lorem ipsum dolor sit amet, consectetur adipiscing ...
为了自定义文档中的页眉和页脚,你需要首先引入fancyhdr
包:
\usepackage{fancyhdr}
然后,设置"fancy"样式:\pagestyle{fancy}
。
命令\fancyhf{}
会清除页眉和页脚。如果不使用这个命令,默认的“plain”样式会被使用。
然后\fancyhead
是页眉,\fancyfoot
是页脚。
上面两个命令的可选参数包括:【中括号里面的代码】
E
:偶数页O
:奇数页L
:左侧R
:右侧C
:居中例如,\fancyhead[LE,RO]{Overleaf}
会在偶数页的页眉左侧显示“Overleaf”,在奇数页的右侧显示“Overleaf”。
单页文档不用E和O。
你可以使用下面的命令在页眉和页脚中添加自定义信息:
\thepage
\thechapter
\thesection
\chaptername
\leftmark
和\rightmark
当你使用fancyhdr
包的时候,它会在页面显示两种装饰线(分别在页眉和页脚)。页脚的装饰线的宽度被设置为0pt
,所以它默认是不可见的。我们可以改变它的宽度:
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{Overleaf}
\fancyhead[RE,LO]{Guides and tutorials}
\fancyfoot[CE,CO]{\leftmark}
\fancyfoot[LE,RO]{\thepage}
\renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{1pt}
\begin{document}
\chapter{Using different page styles}
Lorem ipsum dolor sit amet, consectetur adipiscing ...
\renewcommand{\headrulewidth}{2pt}
命令将页眉线的宽度设置为2pt
\renewcommand{\footrulewidth}{1pt}
命令将页脚线的宽度设置为1pt
若要用到总页数,则需要导入包lastpage:
\usepackage{lastpage}
此时可以设置页码为如x/x
的格式:(LastPage首字母大写)
\lhead{\thepage/\pageref{LastPage}}
你可以使用·fancyhdr·来改变默认的页面结构。下面给出一个例子:
\documentclass{article}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{Overleaf}
\lhead{Guides and tutorials}
\rfoot{Page \thepage}
\begin{document}
\section{First Section}
Hello, here is some text without a meaning. This
text should show what a printed text will look like at
this place. If you read this text, you will get no information.
Really? Is there no information? Is there a difference between
this ...
\end{document}
下面,我们介绍其他命令的用法:
\rhead{Overleaf}
在页眉的右侧显示大括号之中的文字。
lhead{Guides and tutorials}
在页眉的左侧显示大括号之中的文字。
\chead{}
与上面的例子相似,大括号之中的文字会居中显示。
\rfoot{Page \thepage}
在页脚右侧显示文字“Page”以及当前页的页码(\thepage)。文末列出了一系列自动生成内容的命令(例如章节编码等)。
\lfoot{ }
在页脚左侧显示大括号之中的文字。
\cfoot{ }
在页脚中间显示大括号之中的文字。
页面中页眉和页脚中显示的内容取决于当前页所激活的样式。这些样式的复杂性在书籍中尤为突出:
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\pagestyle{headings}
\begin{document}
\chapter{Sample Chapter}
\section{New section}
Hello, here is some text without a meaning. This text should
show what a printed text will look like at this place. If you
read this text, you will get no information. Really? Is there
no information? Is there a difference between this text and some
nonsense like ``Huardest gefburn? Kjift " not at all!...
\end{document}
命令\pagestyle{headings}
将当前文档的页面样式设置为headings
。
注意上面用的是\pagestyle{fancy}
\pagestyle{}的参数还有有:
empty
:不显示页眉和页脚plain
:这是默认样式;不显示页眉;页脚中显示居中的页码myheadings
:不显示页脚;页眉中显示页码,偶数页的页码显示在右侧,奇数页的页码显示在左侧;除了页码之外,还显示用户自定义的信息;还有一个例外,在每一章的第一页,不显示页眉,页脚显示居中的页码。headings
:没有页脚,页眉包含章节的标题和页码。有些时候我们只需要改变某一页的页面样式,例如,创建一个空页,或者删除当前页的页眉和页脚等:
\chapter{Sample Chapter}
\thispagestyle{empty}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim
}ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat. Duis aute irure dolor in
reprehenderit in voluptate velit es...
\end{document}