LaTeX学习笔记

LaTeX学习笔记 4 | 长度单位、水平间距与正文段落

2017-01-18  本文已影响367人  纸山
LaTeX吉祥物

本文目录

题外话

最近做了个小手术,昨晚一回到家就赶紧拿起了刘教授的书,LaTeX的学习进度耽搁了不少,罪过罪过。另,身体是革命的本钱,好好锻炼身体才是王道。

长度单位

作为一个排版软件,必定要精益求精,因此对长度的精确控制不可或缺。刘教授的书中,介绍了很多可用的长度单位,我感觉很乱也很杂,不知道是否要全部掌握,也不知全部掌握的意义何在,此处留个疑问。

TeX中可用的长度单位如下表。

单位名称 大小
pt point点,欧美传统排版单位 ,亦称磅
pc pica,1 pc = 12 pt, 相当于四号字大小
dd didot point,欧洲大陆使用,1157 dd = 1238 pt
cc cicero,欧洲大陆使用,1 cc = 12 dd
in inch,英寸,1 in = 72.27pt
bp big point,1 in = 72 bp
cm 厘米,1 in = 2.54 cm
mm 毫米
sp scaled point, 最小的长度单位,1 pt = 65536 sp
em 与字号有关,相当于M的宽度,亦等于\quad的长度
ex 与字号和字体有关,相当于x的高度

水平间距

命令\hspace{距离}可以产生指定的水平间距,它可以产生随内容可伸缩的距离,即橡皮长度。橡皮长度的存在是为了分行时行末的对齐。我对此的理解是,因为LaTeX是一个非常优秀的自动排版软件,有些细节不需要我们过度关注,只要我们设置为橡皮长度,允许它可伸缩,它就会自动调节文字和标点等之间的距离以使得每一行等长并获得最佳的视觉效果。

橡皮长度的语法是<普通长度>plus<可伸长长度>minus<可缩短长度>。比如,可写成如下形式:

\hspace{2em plus 1em minus 0.25em}

这样,水平间距的变化范围就是1.75em-3em,具体为多少LaTeX决定。一个特殊又实用的橡皮长度是\fill,它可以从零开始无限延伸。这样的设定看似无用,实则好处多多,比如可以把几个内容均匀排在一行之中,如下图。


可以这样理解,每个\fill都是等阶的无穷大,两个在同一行时便会产生等分的效果。\hfill\hspace{\fill}的缩写。而命令\stretch{倍数}能改变\fill的阶数,比如\stretch{2}就相当于两倍的\fill

\hfill功能类似的,还有\hrulefill\dotfill,只不过它们两个分别是用横线和点填充,很明显,这两个功能将挺好用。

正文段落

缩进

段间距

段间距由\parskip控制,其默认值是橡皮长度0pt plus 1pt。在中文排版中常常使用:

\setlength\parskip{0pt}

把段间距定义为固定长度,禁止段落间距离伸长。

对齐方式

LaTeX提供了三个环境来排版不同对齐方式的文字,flushright环境左对齐,flushleft环境右对齐和center环境居中。

首字下沉效果

经常在一些期刊中看到这样的效果,这次终于知道是怎样搞出来的了。使用lettrine宏包,语法如下:

心形段落效果

shapepar宏包提供了一些预定义的形状,可以方便地排出一些有趣地效果,比如下面这个心形图:


或者说,五角形:

还有其他很多形状,具体见这里

后记

有个疑问,为什么排版西文时速度很快,使用ctexart排版中文速度非常慢,慢了不止一点两点。Knuth对算法玩得转,他开发的软件效率肯定好,ctex宏包是后人开发的,难道是因为代码效率问题吗?如果真是这样,那就太好了,那我也有机会为LaTeX的发展尽一份力了!

上一篇 下一篇

猜你喜欢

热点阅读