Saturday, August 30, 2008

Latex下自定义页眉页脚

在latex中用自定义页眉页脚, 一般都要使用宏包fancy. 关键是琢磨一下下面的例子, 在看看相应的说明,
一般就可以得到你想要的结果了. 下面的内容主要来自CTEX - 在线文档, 例子部分已经修改过来了, 可以直接编译.

在用 LaTeX 排版文章、书籍时,缺省定义了四种页眉页脚的格式:

empty 没有页眉和页脚
plain 没有页眉,页脚中部放置页码。
headings 没有页脚,页眉包含章节的标题和页码。
myheadings 没有页脚,页眉页码和使用者所定义的信息。

article 缺省使用 plain 格式,而 book 则使用headings 格式。 也可用 \pagestyle
命令在你的文档中设定所用的格式,例如在文档中使用 \pagestyle{empty} 则使得此后的页面没有页眉和页脚。
一般情况下,这四种格式基本可满足排版的要求。但在某些情况下,特别是 使用者想定义自己的页眉和页脚格式时,就会遇到很多限制和麻烦。这时, 使用
fancyhdr 宏包可以很容易地达到目的。

利用 fancyhdr 宏包提供的命令,可以方便的作到:

自定义页眉和页脚。
为页眉和页脚加上装饰性的横线。
页眉和页脚的宽度可以超过正文文本的宽度。
多行的页眉和页脚。
奇偶页使用不同格式的页眉和页脚。
每章的首页使用不同格式的页眉和页脚。
浮动对象页使用不同格式的页眉和页脚。
控制页眉和页脚的字体,包括字形,字族,大小写等。
简单的例子:

\documentclass{article}


\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{}
\chead{}
\rhead{\bfseries The performance of new graduates}
\lfoot{From: K. Grant}
\cfoot{To: Dean A. Smith}
\rfoot{\thepage}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
%......
\begin{document}
......

test!
\end{document}

上面例子中,\thepage 给出了当前页的页码,而 \bfseries 则使 LaTeX
使用粗体字排版页眉。如果想在文档中改用其它形式,比如在第一页不要页眉和页脚,则可在 \begin{document} 和
\maketitle 后使用命令

\thispagestyle{empty}

缺省情况下,\maketitle 命令会自动设置其所在页的格式为 plain 。因此,如果你想在该页使用 fancy 格式的话,应该在
\maketile 后面使用命令 \thispagestyle{fancy}。

下面是一个双面页版式下的例子:

\documentclass{book}
\usepackage{fancyhdr}
\fancyhead{} % clear all fields
\fancyhead[RO,LE]{\bfseries The performance of new graduates}
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,CE]{From: K. Grant}
\fancyfoot[CO,RE]{To: Dean A. Smith}
\renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt}
\begin{document}
......

test!
\end{document}

这里方括号中字母代表的意义为:

E 偶数页
O 奇数页
L 页眉或页脚的左边部分
C 页眉或页脚的中间部分
R 页眉或页脚的右边部分
H 页眉
F 页脚


在配合 CJK 排版中文文档时,要把带有中文的页眉和页脚的定义用 \begin{CJK}{...}{...} 和 \end{CJK}
括起来。最简单的办法是将其放到 \begin{document} 和 \begin{CJK}{...}{...} 之后。如:

\documentclass{book}
\usepackage{CJK}
\usepackage{fancyhdr}
%......
\begin{document}
\begin{CJK}{GBK}{song}
\pagestyle{fancy}
\fancyhead{} % clear all fields
\fancyhead[RO,LE]{\CJKfamily{hei} \bfseries \LaTeX{} 排版系统}
\fancyhead[LO,RE]{\CJKfamily{hei>} \bfseries \leftmark}
\fancyfoot[LE,RO]{\thepage}
\fancyfoot[LO,RE]{\CJKfamily{kai} 公元二零零零年七月}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
%......

test!
\end{CJK}
\end{document}

有关 fancyhdr 更详细的使用说明可参考它所带的用户手册(英文版,PDF 格式).

更多TeX学习分类的文章列表

1 comment: