陈硕的Blog

吾尝终日而思矣,不如须臾之所学也。吾尝跂而望矣,不如登高之博见也。……君子生非异也,善假于物也。

原创 LaTeX 常用功能收藏

新一篇: LaTeX 与字体 | 旧一篇: 变长参数的 Tracer

1. 段首缩进

  中文习惯在段首缩进两格,在LaTeX中,\parindent 表示段首缩进的长度,我们将它设置为当前字号的两个大写字母M的宽度,大约正好是两个汉字的宽度:

\setlength{\parindent}{2em}

LaTeX 默认每节的第一段的段首不缩进,这不符合中文排版习惯。我们希望正文的每一段都要缩进,使用indentfirst宏包就可办到:

\usepackage{indentfirst}

2. 段距行距

  LaTeX 用\baselineskip表示当前的行距,其默认值大约是当前字号的1.2倍,如果当前字号是10pt,那么\baselineskip12pt。这对英文排版是合适的,对中文就显得太拥挤了,因为英文正文多为小写字母,字高与小写的x差不多(即1ex)。如果字号为10pt,那么1ex =4.3pt。我通常把行距设为字号的1.8倍:

\setlength{\baselineskip}{1.8em}

这个值随时可以改,对更改点以后的文字有效。

  LaTeX 用\parskip表示段距,我一般把它设为1ex

\setlength{\parskip}{1ex}

注意这些修改长度的命令最好都放在正文区(即\begin{document}之后)。

3. 页眉页脚

我通常用fancyhdr宏包来设置页眉和页脚。

\documentclass[10pt, a4paper]{book}
\usepackage
{fancyhdr}

我们在 LaTeX 中先把 page style 设为fancy,再设置这个style中的页眉和页脚。但是它默认每章的第一页的page style是plain,需要单独处理。

% 设置 plain style 的属性
\fancypagestyle{plain}{%
\fancyhf{}                    % 清空当前设置

% 设置页眉 (head)

\fancyhead[RE]{\leftmark}     % 在偶数页的右侧显示章名
\fancyhead[LO]{\rightmark}    % 在奇数页的左侧显示小节名
\fancyhead[LE,RO]{~\thepage~} % 在偶数页的左侧,奇数页的右侧显示页码

% 设置页脚:
在每页的右下脚以斜体显示书名
\fancyfoot[RO,RE]{\it Typesetting with \LaTeX}

\renewcommand{\headrulewidth}{0.7pt} % 页眉与正文之间的水平线粗细
\renewcommand{\footrulewidth}{0pt}
}

\pagestyle{fancy}             % 选用 fancy style
% 其余同 plain style

\fancyhf{}                   
\fancyhead[RE]{\leftmark}
\fancyhead[LO]{\rightmark}
\fancyhead[LE,RO]{~\thepage~}
\fancyfoot[RO,RE]{\it Typesetting with \LaTeX}
\renewcommand{\headrulewidth}{0.7pt}
\renewcommand{\footrulewidth}{0pt}

% 设置章名和节名的显示方式
\renewcommand{\chaptermark}[1]{\markboth{~第~\thechapter~章~~~#1~}{}}
\renewcommand{\sectionmark}[1]{\markright{~\thesection~~#1~}{}}

4. 章节标题

我通常用titlesec宏包来设置正文中出现的章节标题的格式:

\usepackage{titlesec}

设置章名为右对齐,字号为\Huge,字型为黑体,章号用粗体,并设置间距:

\titleformat{\chapter}{\flushright\Huge\hei}{{\bf \thechapter}}{0pt}{}
\titlespacing{\chapter}{0pt}{-20pt}{25pt}

设置节名的字号为\Large,字型为黑体,节号用粗体,并设置间距:

\titleformat{\section}{\Large \hei }{{\bf \thesection\space}}{0pt}{}
\titlespacing*{\section}{0pt}{1ex plus .3ex minus .2ex}{-.2ex plus .2ex}

其中\hei的定义为:

\newcommand{\hei}{\CJKfamily{hei}}

5. 纸张大小

毕业论文要求用b5纸,单面打印,我用geometry宏包来设置纸张和版心大小:

\documentclass[10pt, b5paper]{report}
\usepackage[body={12.6cm, 20cm}, centering, dvipdfm]{geometry}
% 以上将版心宽度设为 12.6cm,高度 20cm,版心居中,且自动设置PDF文件的纸张大小。

 

发表于 @ 2004年05月03日 01:06:00|评论(loading...)|编辑

新一篇: LaTeX 与字体 | 旧一篇: 变长参数的 Tracer

评论

#PigArk(皮呷客) 发表于2004-05-03 16:24:00  IP: 218.197.131.*
看了这篇文章,汗如雨下~~~~~~好像要记住很多标记和宏耶 :-S
#Solstice 发表于2004-05-03 17:37:00  IP: 218.246.68.*
哪里哪里?我一般写一个样板文件,把常用的格式控制命令都用上一遍,以后忘了就打开查一查。有了什么新发现,也写到这个文件里。这是我的百宝箱。
这里有一个更好的:
http://learn.tsinghua.edu.cn/homepage/2001315450/tex_example.html
#Solstice 发表于2004-05-03 17:39:00  IP: 218.246.68.*
LaTeX 的常用宏不比 C++ 标准库的函数多:) 记住十来个最常用的,剩下的查帮助啦。
#yzfboy521 发表于2007-06-07 16:41:39  IP: 218.27.205.*
陈硕您好:我想章节的输出改变一下,现在输出第一章,能不能让它输出第一部分,试了好多方法不行呀,请你帮助好吗,我的信箱yzfboy521@163.com先谢谢了
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 陈硕