在 xelatex 中使用 \usepackage 指令使用 titlesec 宏包时,可以指定一些格式选项,如下:

\usepackage[center]{titlesec}

其中 center 可使标题居中,还可设为 raggedleft (居左,默认), raggedright (居右)。
标题由标签与标题内容构成,其格式通常在 xelatex 文档导言区通过 titlesec 宏包提供的指令 \titleformat 进行设定。 \titleformat 指令用法如下:

\titleformat{command}[shape]{format}{label}{sep}{before}[after]

各参数含义如下:

command 是要重新定义的各种标题命令,比如 \part,\chapter,\section,\s section,\s s section,\paragraph,\s paragraph等;shape 是用来设定段落形状的,可选的参数有 hang 、 block 、 display 等,详见 titlesec 文档,位于: $TEXLIVE/$VERSION/texmf-dist/doc/latex/titlesec
format 用于定义标题外观,比如使标题居中、字体加粗等;

label 用于定义定义标题的标签,就是标题内容前面的标号;sep 定义标题的标签与标题内容之间的间隔距离。
before 用于在标题内容前再加些内容;

after 用于在标题内容后再加些内容。这个指令看似很复杂,但在实际应用中,通常只使用它的几个参数而已。比如,要把文档中的章标题格式由默认的 “Chapter xxx 标题内容” 修改为 “第 xxx 章 标题内容” 格式,如此这般即可:

\titleformat{\chapter}{\centering\Huge\bfseries}{第\,\thechapter\,章}{1em}{}

其 中, shape 、 before 、 after 参 数 都 被 省 略 掉 了。 format 参 数 将章标题设置为居中( \centering )显示、字号为 \Huge,字体被加粗显示 \bfseries ;在设置 s section 格式,未采用居中,而是采用默认的居左,另外将标题的字号也降了一级( \large )。 label 参数将标题的标签设置为 “第 xxx 章”格式。 sep 参数设置标签与标题内容之间以一个字(1em)的宽度为间隔。以上设置的章标题效果如下图所示:

 

如果为上面设置章标题的命令添加一个 shape 参数 “display”,如下:
\titleformat{\chapter}[display]{\Huge\bfseries}{第\,\thechapter\,章}{1em}{}
这样设置后的章标题效果如下图所示:

只要弄明白了 \titleformat 用法,基本上可以实现 xelatex 排版时将文档的章节标题修改为符合中文阅读习惯的格式。另外,可以在这里了解titlesec的更详细的用法。

使用 fancyhdr 设置页眉页脚
在 xelatex 文档导言区使用以下指令可载入宏包 fancyhdr,并将页眉页脚风格设置为 fancy:

\usepackage{fancyhdr}
\pagestyle{fancy}

fancyhdr 宏包将页面分为奇数页(Odd page)和偶数页(Even page),将页眉与页脚各分为三个区域,分别称为左区(Left field)、中区(Center field)和右区(Right field)。这三个区域之间没有分界线,左区中的内容会左对齐在页眉或页脚的左边界,放在右区的内容会对齐在页眉或页脚的右边界,中区内容在整个页眉或 页脚区域内居中放置。各区之中的内容不可过长,以避免各区之间发生重叠现象。另外,在默认情况下会显示页眉线,宽度为 0.4pt;页脚线宽都为 0pt,意即不显示。
设置页眉的命令为 \fancyhead,设置页脚的命令为 \fancyfoot,其用法如下:
\fancyhead[选项参数] {内容}
\fancyfoot[选项参数] {内容}
\fancyhead 的选项参数页眉或页脚的区域与奇(偶)数页标记的组合,其中页眉(脚)区域用 L (左),C (中),R( 右) 表示,奇数页与偶数页分别用字母 O,E 表示。
下面来做一个例子,对于 book 格式的 xelatex 文档,让偶数右区域显示章标题,其左区域显示页码,中间区域为空;让奇数页的页眉左区域显示节标题,其右区域显示页码,其中间区域为空;页脚为空。这个可以在文档导言区中采用以下指令实现:

\renewcommand{\chaptermark}[]{\markboth{\small 第\,\thechapter\,章\q? #}{}}
\renewcommand{\sectionmark}[]{\markright{\small\thesection\q? #}{}} \fancyhf{}
\fancyhead[ER]{\leftmark}
\fancyhead[OL]{\rightmark}
\fancyhead[EL,OR]{$\cdot$\ \thepage\ $\cdot$}
\renewcommand{\headrulewidth}{.4pt}

\fancyhf{} 命令可将已设或页眉页脚的默认设置清空。
重新定义了 \chaptermark 与 \sectionmark,这两个重定义一定要记住放在 \pagestyle{fancy}之后,因为在 fancyhdr 宏包中对这两个命令重新进行了定义,在 \pagestyle{fancy} 之后重定义它们就可将 fancyhdr 中的相应命令覆盖掉。
还 需要解释的是 \leftmark 与 \rightmark,它们分别表示页眉左区域内容与右区域内容。在 book 格式文档中,\leftmark 默认为当前的章标题,\rightmakr 默认为当前的节标题;对于 article 格式文档而言,\leftmark 表示当前节标题,\rightmark 表示当前小节标题。
转自:http://blog.wgzhao.com/2008/04/01/Titlesec-the-use-of-macro-package-set-up-the-title-format.html

LaTeX中titlesec宏包的使用的更多相关文章

  1. LaTeX使用titlesec宏包改变章节编号形式的方法

    1.titleformat宏包命令详解 LaTeX中可以用titlesec宏包中的titleformat命令来改变标题形式: 导入宏包: \usepackage{titlesec} 改变标题的代码如下 ...

  2. LaTeX的一些宏包及细节知识

    文章来源:LaTeX的一些宏包及细节知识http://blog.chinaunix.net/uid-20289887-id-1710422.html ps:我的机器上软件并不能直接运行通,下面“代码” ...

  3. Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程

    本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...

  4. LaTeX手动安装宏包(package)以及生成帮助文档的整套流程

    注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...

  5. LaTeX源代码显示宏包listings应用备忘之新语言定义

      我目前了解的LaTeX中有关源代码显示的宏包有两个,这里介绍其中的listings宏包.listings宏包中已经定义了部分计算机语言的显示样式,但还是有些语言没有定义,我们一起看一下如何定义新的 ...

  6. LaTeX的tasks宏包

    tasks 宏包 LaTeX的列表(list)通常是将项(item,条目)一个一个垂直的平行显示,所谓"列"表的由来. 水平分列列表,即将多个项分散到各列而不是一列,在出考卷的选择 ...

  7. latex中页面距离的设置

    1.页面设置 a4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包和命令 \layout . 2.改变长度 在latex里改变长度的命令是 \addtolength 和 \set ...

  8. LaTeX中的各种距离设置总结

    LaTeX中的各种距离设置总结   1. 页面设置 A4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包  和  命令 \layout . 2. 改变长度 在latex里改变长度 ...

  9. 一个LaTeX 中文文档的简单而实用的模板

    网上找的一个latex中文模板,感觉很简单,在我机器上有点小问题,完善记录一下. %要运行该模板,LaTex需要安装CJK库以支持汉字. %字体大小为12像素,文档类型为article %如果你要写论 ...

随机推荐

  1. TextView之一:子类的常用属性

    TextView常见的子类包括EditText,Button,CheckBox, RadioButton等. 1.EditText EditText继承自TextView,因此TextView所有属性 ...

  2. project euler 19: Counting Sundays

    import datetime count = 0 for y in range(1901,2001): for m in range(1,13): if datetime.datetime(y,m, ...

  3. Catch That Cow(BFS)

    Catch That Cow Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  4. 使用NPOI将数据库里信息导出Excel表格并提示用户下载

    使用NPOI进行导出Excel表格大家基本都会,我在网上却很少找到导出Excel表格并提示下载的 简单的代码如下 //mvc项目可以传多个id以逗号相隔的字符串 public ActionResult ...

  5. Loadrunner11 录制手机App脚本多种方法介绍

    总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装Android ...

  6. @Scheduled(cron="") spring定时任务时间设置

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  7. Delphi中的异常处理(10种异常来源、处理、精确处理)

    一.异常的来源 在Delphi应用程序中,下列的情况都比较有可能产生异常. 1.文件处理 2.内存分配 3.windows资源 4.运行时创建对象和窗体 5.硬件和操作系统冲突 6.网络问题 7.数据 ...

  8. Qt浅谈之二十App自动重启及关闭子窗口(六种方法)

    一.简介 最近因项目需求,Qt程序一旦检测到错误,要重新启动,自己是每次关闭主窗口的所有子窗口但有些模态框会出现问题,因此从网上总结了一些知识点,以备以后的应用. 二.详解 1.Qt结构 int ma ...

  9. C# Url编码 HtmlUrl编码

    今天看了Artwl的一片关于编码的文章,感觉写的非常好,而且人家那博客园的样式都比哥的好看得多,一幕了然,尤其是那黑色背景的H1,妈个B了,哥太喜欢了.既然如果,就来就着它的文章跟样式,顺便来总结一下 ...

  10. shell printf格式化输出语句

    printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...