本文将介绍关于Latex基于Fancyhdr包的页脚和页眉一些配置问题,并给出一些例子和输出结果。
1. Fancy包的功能介绍
fancyhdr宏包允许您在LATEX中以一种简单的方式定制页面页眉和页脚。通过该包可以定义:
- 页眉和页脚的三部分
- 页眉和页脚的装饰线
- 页眉页脚与文本宽度之比
- 多行页眉和页脚
- 为偶数页和奇数页分别设置页眉和页脚
- 不同的页眉和页脚
- 不同的页眉和页脚与浮动
- 控制字体、大小写显示等。
2. LaTex的页面结构
LATEX文档中的页面是由各种元素构建的,如图1所示。正文包含文档的主要文本以及所谓的浮点数(表和图)。这些页面是由LATEX的输出例程构造的,该例程非常复杂,因此不应该进行修改。LaTex提供了一些包供修改这些参数。下面是有关这些参数的一个例子:
LaTex提供了一些有用的样式,但是它们非常有限。通过键入pagestyle{xxx}命令执行。
documentclass{article}
pagestyle{plain}
begin{document}……test!end{document}
控制奇偶数页不是直接通过用户命令,而是通过修改LATEX输出例程使用的“变量”。因为命令名包含字符“@”,所以应该在包文件中定义它们,可以通过定义表单ps xxx的命令来修改页面样式。或者将它们夹在makeatletter和makeatother命令之间。
pagenumbering命令定义页码的布局。它有一个参数从以下列表:
- arabic 阿拉伯数字
- roman l小写的罗马数字
- Roman 大写的罗马数字
- alph 小写字母
- Alph 大写字母
%--------------------导言--------------------%
从上面的例子可以看出虽然通过一些命令完成了对页面样式控制,但是,是比较有限的。
3. 使用fancyhdr包
3.1 一个简单的例子
%--------------------导言--------------------%
一些解释写在了注释里,其他的请读者自己尝试改动即可了解含义(注:需要导入的ctex和fancyhdr包在一些比较早的LaTex环境中可能需要预先安装)
3.2 奇偶页排版的例子
%--------------------导言--------------------%
命令fancyhead(或fancyfoot)在方括号内的两个参数指定了它们应用于哪些页和(或)部分的页眉(页脚)。
第一个fancyhead命令省略了这个参数,因此适用于所有头字段。一般来说,用于删除默认值或前面的定义。可以在方括号之间使用的选项如下所示。可以将选项组合在一起,这样fancyhead[LE,RO]{text}将为偶数页上的左页眉和奇数页上的右页眉定义字段。如果你没有给出E或O,这个定义就同时适用于两者。(此选项的大小写不敏感)
- E Even page奇数页
- O Odd page偶数页
- L Left field
- C Center field
- R Right field
使用fancyhf 就可以使用下面两个参数指定页眉还是页脚,这样页眉页脚都可以用一个命令控制了。
- H Header
- F Footer
下面是输出结果
3.3 修改可用的显示信息
通常,对于书和报告类文档,在标题中使用Chapter和Section信息(Chapter仅用于单边打印),而对于文章、章节和小节类信息(章节仅用于单边打印)。LATEX用标记机制来记住页面的章节和小节分信息
有两种方法可以使用和更改可用的高级和低级分区信息。
1.l调用宏:leftmark(高)和rightmark(低)包含LATEX处理过的信息,直接使用它们,如第下面一段代码节所示。
%--------------------导言--------------------%
这是一段Eminem的歌词,今后的文本都将采用这段文本。如无特殊改动将不再在代码块声明。
leftmark对应Section信息参数,rightmark对应Chapter信息参数,如果在当前页面上没有这些参数,它们将从前一个页面继承。当然读者也可以去redefine它们,必须将重新定义放在pagestyle{fancy}的第一次调用之后,因为pagestyle{fancy}会设置默认值。
eg:
renewcommand{sectionmark}[1]{markright{thesection- #1}}
将上面这条指令加入程序,就可以实现修改section样式
同理可以实现修改Chapter信息的样式。
常见的页眉页脚先写到这里,等有空慢慢填坑--2020/3/21