LaTex:实践——论文写作
页面设置
页面设置常用的有两个宏包:hyperref、geometry等。
hyperref宏包
交叉引用宏包。
geometry宏包
geometry 宏包提供了简单方便的设置页面参数的命令,可以根据所提供的参数对页面的所有度量参数自动加以计算、调节,很容易地得到想要的结果。
在使用 geometry 宏包时可以有两种方法来设置页面式样。一是直接将页面参数作为 \usepackage 的选项传递给 geometry ,另一种是使用 \geometry 宏命令。多个选项之间需用逗号隔开,但并不限制中间有分行,只要没有出现空行就行。
\usepackage[height=10in,a5paper,hmargin={3cm,0.8in}]{geometry}
等价于
\uspackage{geometry}
\geometry{height=10in,a5paper,hmargin={3cm,0.8in}}
其中的参数包括:
页眉页脚设置
页眉页脚设置的常用宏包有:fancyhdr等。
fancyhdr的能完成的功能:
1. 自定义页眉和页脚。
2. 为页眉和页脚加上装饰性的横线。
3. 页眉和页脚的宽度可以超过正文文本的宽度。
4. 多行的页眉和页脚。
5. 奇偶页使用不同格式的页眉和页脚。
6. 每章的首页使用不同格式的页眉和页脚。
7. 浮动对象页使用不同格式的页眉和页脚。
8. 控制页眉和页脚的字体,包括字形,字族,大小写等。
fancyhdr正对book和article定义了四种页眉页脚缺省格式,当然还有其他样式。这些格式可以使用\pagestyle{…}来进行设置:
empty—— 没有页眉和页脚
plain—— 没有页眉,页脚中部放置页码。(article缺省)
headings—— 没有页脚,页眉包含章节的标题和页码。(book缺省)
myheadings—— 没有页脚,页眉页码和使用者所定义的信息。
fancyhdr定义的页眉页脚格式如下:
对应的六个位置分别可以使用\rhead[…]{…},\chead[…]{…},\lhead[…]{…},\rfoot[…]{…},\lfoot[…]{…},\cfoot[…]{…}来进行设置。其中方括号中可选的参数可以设置(可*组合)为:
E — 偶数页
O — 奇数页
L — 页眉或页脚的左边部分
C — 页眉或页脚的中间部分
R — 页眉或页脚的右边部分
H — 页眉
F — 页脚
使用下列两个命令来设置页眉页脚的分隔线: \renewcommand{\headrulewidth}{n pt}
\renewcommand{\footrulewidth}{n pt}
封面
常用命令
1、在新建包\类型需要在文档的前头写上:
包的标识形式: /NeedsTeXFormat{LaTeX2e}[date other-information]
/ProvidesPackage{package}[date other-information]
类的标识形式: /NeedsTeXFormat{LaTeX2e}
/ProvidesClass{class-name}[date other-information]
2、条件变量的重新定义与使用 语法:\newif\ifXXX\XXXture
\newif\iflib\libfalse %定义了一个条件变量lib,并将其的默认值设为false。
语法: \ifXXX ... \else ... \fi
\iflib
\LoadClass[a4paper,twoside,openany]{ctexbook}
\else
\LoadClass[a4paper,twoside]{ctexbook}
\fi
3、选项option参数的定义 语法: \DeclareOption{选项}{代码}
其中的选项就是选项的名称,而代码就是选项要执行的指令集。
\DeclareOption{forlib}{\libtrue} %将lib置为true
4、上载其它类和宏包 语法:\LoadClass[选项]{类}[版本]
\LoadClass[a4paper,twoside,openany]{ctexbook}
\RequirePackage[选项]{宏包}[版本]
\RequirePackage{fancyhdr,hyperref}
5、选项处理 语法:\ProcessOptions
该命令会执行各选项的代码部分。
6、参数选项传递 \PassOptionsToPackage{options-list}{package-name}
\PassOptionsToClass{options-list}{class-name}
7、命令多定义 语法:\let\命令一 =\命令二 或者 \let\命令一 \命令二,
使得\命令一取\命令二当前含义。通常用来在重定义命令前保存原来的定义,从而可以同时使用原来的含义。
8、定义(宏) 语法: \def \XXX{...}
把经常用到的命令和符号的组合用控制系列来表示
\def \xvec{(x_1,\ldots,x_n)}
9、\null 对于文档中的空行,可是取消掉空行分段的作用,但又不输出任何内容。
%\null
aaa
\nul
aaa
%输出结果是:
aaa aaa
%不带\null
aaa
aaa
%输出结果是:
aaa
aaa
10、表格
标准 LaTeX 提供有 array 和 tabular 两个制表环境,它们的完整格式如下: 语法:
\begin{array}[表格位置]{列样式} \end{array}
\begin{tabular}[表格位置]{列样式} \end{tabular}
\begin{tabular*}{表格总宽度}[表格位置]{列样式} \end{tabular*}
这两个环境的选项和参数定义是相同的,不过 array 主要用于数组矩阵的排版,且只能用在数学环境中,如 equation 等。
选项 说明
l——该列左对齐排列
c——该列居中排列
r——该列右对齐排列
p{列宽} ——设置该列宽度,文本顶对齐
@{声明} ——该列每行插入声明中文本
m{列宽} ——设置该列宽度,文本居中对齐
b{列宽} ——设置该列宽度,文本底对齐
>{声明} ——声明可以是命令或插入列元素之前的文本
<{声明} ——声明可以是命令或插入列元素之后的文本
| ——列边或列间加入一条垂直线
!{声明} ——用声明要求的样式取代列间垂直线
11、\raisebox 语法:\raisebox{distance}[extend-above][extend-below]{text}
该命令用于提升或者降低文本内容的高度。第一个参数distance表示提升或者降低的大小,正数为抬高,负数为压低。
12、\hfill
在两边的文本之间插入所需的空白,以撑满1行.
13、表格划线 语法:\cline{i-j},\hline,\vline
14、换行 语法:\par
References:
[1]写给LATEX类和宏包作者
[2]\latex 程序设计
[3]中文 LaTeX 安装与使用
[4]CTEX 宏集手册
[5]http://www.ctex.org
[6]\latex 盒子