资源

本文介绍了如何使用 fancyhdr 宏包来设定文章的页眉页脚。本文以 \LoadClass[a4paper,twoside,openright]{ctexrep} 模板为例( A4 纸张,双面排版,章节在奇数页开始),介绍了页眉页脚的设置过程。在本例中共设计了三种样式的页眉页脚,分别应用到正文之前、正文和附录中。

1 LaTeX 预定义页面风格介绍

在介绍 fancyhdr 宏包的使用之前,我们先了解一下 LaTeX 预定义的页面风格(page style)。Latex 预定义了以下几种页眉页脚的页面风格:

empty 没有页眉页脚;

plain 没有页眉,页脚是居中的页码;

heading 没有页脚,页眉是章节名称的页码;

myheading 没有页脚,页眉是页码和用户自定义的内容。

可以使用 \pagestyle{} 设置整体页面风格,也可以用 \thispagestyle{} 单独设置当前页的风格。book 类默认使用 heading 风格,report 和 article 默认使用 plain 风格,中文的几个 ctex 文档类则都默认使用 heading 风格。

LaTex 已经对一些必要的地方自动设置好了页面风格。如在标题页(包括手工或自动由 \maketitle 生成的 titlepage 环境),会使用 empty 风格禁用所有页眉页脚;而在不单独成页的 \maketitle ,单独成页的 \part,以及 \chapter 命令所在的一页,则使用 plain 风格。

上面内容引自刘海洋——《LaTeX入门》。

2 基本应用

fancyhdr 宏包提供了新的页面风格 fancy ,我们可以通过 fancy 风格来设置我们的页眉页脚。页眉页脚的设置一般都放在导言区或文档类模板中。本文的例子中所有的代码都是放置到自定义的文档类模板中,因此使用的包加载命令为 \RequirePackage ,但效果和 \usepackage 是一样的。首先我们先使用 \RequirePackage{fancyhdr} 或 \usepackage{fancyhdr} 命令引入 fancyhdr 宏包。

fancyhdr 将页面布局分成如下几个部分:

页面布局

可以看到由页面页脚左中右共6个部分组成,考虑到双面文档的奇数页和偶数页则共有12个部分。另外还有2个装饰性的分割线。下面是一个常用的使用示例:

\pagestyle{fancy}

\fancypagestyle{preContent}{

\fancyhead{}

\renewcommand\headrulewidth{0pt}

\fancyfoot[C]{\thepage}

}

fancyhdr 提供了多个命令都可以达到相同的设置效果。上面使用的是较为方便和常用的命令。首先设定了页面风格为 fancy,然后定义了一种名为 preContent 的页面风格:

\fancyhead{} 由于里面没有任何参数,所以这条命令用来清空所有的页眉设置。

\renewcommand\headrulewidth{0pt} 取消页眉中的装饰分割线。

\fancyfoot[C]{\thepage} 在页脚居中位置添加页码。

定义好 pagestyle 之后,我们就可以在任何需要的位置使用 preContent 风格了,如下代码表示使用 preContent 风格并使用罗马数字设置页码。

\pagestyle{preContent}

\pagenumbering{Roman}

这也是常用在正文之前的页面风格。

2 命令介绍及高级应用

2.1 命令介绍

前面通过一个简单的序言页面风格设置我们应该已经大体的了解到了 fancyhdr 宏包的使用。下面对其中常用的命令和参数进行介绍。

前面我们用 \fancyhead{} 命令清除页眉设置,如果想清除页脚设置可以使用 \fancyfoot{} 命令,如果想同时清除页眉页脚设置可以使用 \fancyhf{}。

前面我们用 \renewcommand\headrulewidth{0pt} 来清除页眉中的分割线,如果想清除页脚中的分割线可以使用 \renewcommand\footrulewidth{0pt}。

前面设置页脚时,使用到了 C 可选参数,完整的可选参数如下:

参数

意义

分组

E

偶数页

1

O

奇数页

1

L

左区域

2

C

中间区域

2

R

右区域

2

H

页眉

3

F

页脚

3

这些参数应用在 \fancyhead{},\fancyfoot{} 和 \fancyhf{} 命令中。其中第三组参数只应用在 \fancyhf{} 命令中。通常我们只用 \fancyhf{} 命令来清空页眉页脚,而真正的设置都是使用带前两组参数的 \fancyhead{} 和 \fancyfoot{} 来完成。

下面的代码用来设置正文的页面样式:

\fancypagestyle{mainFancy}{

\fancyhf{}

\renewcommand\headrulewidth{.5pt} % 页眉横线

\renewcommand\footrulewidth{0pt}

\fancyhead[OC]{\fzkai{\leftmark}} % 页眉章标题

\fancyhead[EC]{\fzkai{\@title}} % 页眉文章题目

\fancyhead[OR,EL]{\thepage} % 页眉编号

\fancyfoot[r]{\thumb} % 将拇指放到没有被使用的页眉或页脚处

}

可以看到不同组的参数在使用过程中可以进行组合,如 OR 表示奇数页右区域,EL 表示偶数页左区域。而 \fancyhead[OR,EL]{\thepage} 表示页眉的奇数页右侧和偶数页左侧放置页码。

2.2 附加说明

最后一行在页脚的右侧放置了一个拇指索引,这个拇指索引的定义参考了 《LaTeX入门》的拇指索引 的内容。拇指的定义应该放到上面的代码前面,定义如下:

\RequirePackage{fancyhdr}

\RequirePackage{zhnumber}

\RequirePackage{titlesec, titletoc}

\RequirePackage{tikz,pgf}

\usetikzlibrary{shapes,calc}

% 参考:http://www.latexstudio.net/archives/8967.html

% 拇指

\newcommand\thumb{%

\if@mainmatter

\begingroup

\catcode`\$=3

\tikzpicture[remember picture,overlay] % thumb index

\ifodd\value{page}

\node[fill=gray,text=black,anchor=north east,xshift=2mm,

yshift=-22mm-\arabic{chapter}*20mm,

shape=semicircle,shape border rotate=90,

minimum height=10mm,minimum width=5mm,

font=\normalfont\sffamily\bfseries\Huge]

at (current page.north east)

{\llap{\arabic{chapter}\hspace{1mm}}};

\else

\node[fill=gray,text=black,anchor=north west,xshift=-2mm,

yshift=-22mm-\arabic{chapter}*20mm,

shape=semicircle,shape border rotate=270,

minimum height=10mm,minimum width=5mm,

font=\normalfont\sffamily\bfseries\Huge]

at (current page.north west)

{\rlap{\hspace{1mm}\arabic{chapter}}};

\fi

\endtikzpicture

\endgroup

\fi}

这个拇指会自动的在非装订侧产生(奇数页右侧,偶数页左侧),并且每一章会依次向下错开。就像我们可以在字典的侧面定位到不同首字母一样,通过这个拇指我们可以从侧面定位到指定的章节。效果如下:

拇指示例

事实上这个拇指我们可以放到任何未被使用的页眉页脚区域,效果是一样的。这里放到页脚的右侧是因为这个区域没有被使用。

这个拇指的设置不属于本文所讨论的内容,因此不会使用也没有关系,可以直接跳过这个部分。

2.3 文档中页面风格切换

最后我们再定义一个附录的页眉页脚样式如下:

\fancypagestyle{appendixFancy}{

\fancyhf{}

\renewcommand\headrulewidth{.5pt}

\renewcommand\footrulewidth{0pt}

\fancyhead[OC]{\fzkai{\leftmark}} % 页眉章标题

\fancyhead[EC]{\fzkai{\@title}} % 页眉文章题目

\fancyhead[OR,EL]{\thepage} % 页眉编号

}

附录的页眉页脚样式和正文中的基本一样,只是去掉了页面中的拇指。这是因为我们在附录章节一般会使用 \appendix 命令来清除章节编号,如果这时候使用拇指的话会出现章节为0的拇指,这并不符合我们的需求。

在文档中进行风格切换依然使用的是 \pagestyle{} 命令,如文档的开始使用 \pagestyle{preContent} 设置前言的页面风格,正文之前使用 \pagestyle{mainFancy} 设置正文页面风格,附录之前使用 \pagestyle{appendixFancy} 设置附录的页面风格。一般情况下我们会同时修改附录的标题样式,所以更常用的做法是将 \pagestyle{appendixFancy} 和标题样式的设置组合到一个新的命令中,如下所示:

%% Appendix Chapter 标题及页眉页脚样式

\newcommand{\AppendixChapter}{

\pagestyle{appendixFancy} % 附录页眉页脚格式

\titleformat{\chapter}

[display]

{\CJKfamily{fzkai}\Large \filcenter}

{}

{1ex}

{\Huge}

[{\titlerule[2pt]}]

}

这样在正文中使用 \AppendixChapter 命令就可以同时切换页面风格和标题样式了,关于 \titleformat{} 命令设置标题样式可以参考 latex 标题、段落及行距 。

3 附加说明

前面第一节我们提到了,在单独成页的 chapter 这一页。会自动应用 plain 风格。因此如果希望改变章首页的样式,则应该定义 plain 样式。这部分内容请参考 fancyfoot different on first page of new chapter 。如:

\fancypagestyle{plain}{

\fancyhf{}

\fancyfoot[C]{\sffamily\thepage}

\renewcommand{\headrulewidth}{0pt}

}

如果我们想在页眉或页脚上只显示节编号而不显示章编号,如显示 3 软件介绍 而不是 1.3 软件介绍 则可以参考 Get sectionmark in fancyhdr without chapter number 。如:

\documentclass{book}

\usepackage[a6paper]{geometry}

\usepackage{fancyhdr}

\usepackage{lipsum}

\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\renewcommand{\sectionmark}[1]{\markright{\arabic{section}.\ #1}}

\lhead[\thepage]{\leftmark}

\rhead[\nouppercase{\rightmark}]{\thepage}

\begin{document}

\chapter{Test chapter}

\section{Test section}

\lipsum[1-4]

\end{document}

效果如下:

页眉示例

可以看到图中页眉右侧显示的是 1.Test section 而不是 1.1 Test section。

latex中页眉怎么去掉_latex 页眉页脚设置相关推荐

  1. latex中表格怎么加标题_Latex中表格添加注释的方法

    latex中表格添加注释,网上方法较多,然而很多注释添加之后并不美观,最好的注释肯定是,注释和表格同宽,注释左对齐.要做到这点,有一组代码可以实现,如何操作需要在这里详细说明. 就像上图的注释. st ...

  2. latex中表格怎么加标题_latex中如何设置两个标题

    满意答案 luojiao686 2014.01.17 采纳率:51%    等级:12 已帮助:5313人 如果是用report模板的,我找到一种方法可以做 title{这是中文标题\\This is ...

  3. latex 分页_latex 图片跨页显示问题???

    latex 中一个页面有很多图片,超出一页就显示不出来了:请问怎么让后续图片显示在一个新页面中? 图片显示代码如下每行显示三张: \begin{figure} \centering \includeg ...

  4. Word术语A4(210×297)上、下3.8cm,左、右3.2cm,页眉、页脚3.0cm如何在LaTeX中设置

    某学位论文要求: A4(210×297),幅面白色,上.下3.8cm,左.右3.2cm,页眉.页脚3.0cm 那么如何在 LATEX \LaTeX中实现呢?首先你必须要明白Word术语和 LATEX ...

  5. latex中如何设置页边距和页眉页脚?

    ##页面和分栏 1.页边距, 1in 2. \oddsidemargin或\evensidemargin,奇数或偶数页左边距,46pt: 3. \textwidth,正文宽度,360pt. 4. 剩下 ...

  6. latex页眉页脚设置

    首先设置页码:在正文中调用页码命令\pagenumbering{数字形式}.其中数字形式可取值如下: arabic, 阿拉伯数字 roman, 小写罗马数字 Roman,大写罗马数字 alpha, 小 ...

  7. latex如何把目录页的页码去掉?

    页眉的显示与关闭,清空,还有样式之间的切换,需要用到如下几个命令: \pagestyle  用于设置当前页以及后续页面的页眉显示情况(可称为页版式).中间页版式可由\thispagestyle命令来指 ...

  8. Word中设置不同页面的页眉不一样的方法(页脚、页码同理)

    目录 1.不同部分页眉的修改 2.如何删除页眉中的横线 1.不同部分页眉的修改 在Word中设置也没的时候默认每页都是一样的,如果我们想要不同部分的页眉内容不一样,则需要在不同的部分之间加入分节符,注 ...

  9. Latex中表格过长如何实现跨页表格——跨页表格宏包longtable的使用?

    先看效果图如下所示: latex中表格跨页,需要用到超级表格,常用的超级表格有 supertabular 和 longtable 宏包.下面介绍longtable 的使用. 直接附上可在texlive ...

  10. word文档中的毕业论文的页眉与页脚设置

    最近在写毕业论文了,页眉与页脚的设置真是麻烦,要求如图: 经过一番研究,终于弄好了,记录下步骤: 1.首先将每一个章节分节,插入一个分节符 分节符word中位置:界面布局-分节符-下一页 2.开始在每 ...

最新文章

  1. javascript 函数 add(1)(2)(3)(4)实现无限极累加 —— 一步一步原理解析
  2. 对新手的忠告:拒绝创意,回归基础
  3. mysql 分词搜索_实战 | canal 实现Mysql到Elasticsearch实时增量同步
  4. pat 乙级 1002 写出这个数(C++)
  5. java script 技巧_java script 技巧
  6. c#中textbox属性_C#.Net中带有示例的TextBox.Multiline属性
  7. 学生信息管理系统的价值PHP,php技术对学生管理系统实现的价值研究
  8. git版本库的创建和yaf框架环境的部署
  9. Fiddler的一系列学习瞎记3
  10. Java多组输入实现 C++多组输入实现
  11. 【数据分析与挖掘】淘宝用户行为分析(带数据集和代码)
  12. Linux C编程(五) 之 gdb详解
  13. linux蓝屏漏洞,WIN 10漏洞:访问特定本地设备导致系统崩溃
  14. 使用Visual Studio Code编写markdown文件以及转成PDF格式和markdown常用语法
  15. 微信小程序 小程序全局数据共享(笔记)
  16. 阿里云ACP/ACE认证考试指南
  17. C++设计模式——备忘录模式(高屋建瓴)
  18. Looking for the Devil in the Details:Learning Trilinear Attention Sampling Network for FGVC-笔记
  19. 手游图片素材提取_如果你想获得心爱手游中的图片素材,可以试试这款软件!...
  20. SpringBoot教程目录

热门文章

  1. 【二】如何用Python创建一个docx文档
  2. 记录虚拟机ubuntu 复制粘贴到主机window
  3. 【转载】KDiff3 Merge工具的使用 极简教程
  4. 用户增长——AARRR模型
  5. 图层蒙版和图层剪贴路径_:图层蒙版和剪贴蒙版.ppt
  6. t480 拆触摸板_ThinkPad T480 如何关闭触摸板?
  7. nxp EIQ无法使用脚本导入数据集:ssl.SSLCertVerificationError
  8. 用c语言寸件照换底颜色,怎么给证件照换底色【使用步骤】
  9. 3DMAX场景渲染失败怎么办?
  10. 什么是对象存储?OSD架构及原理