the texbook(11~15)
盒子
-
盒子与粘连:将单个字符放在一起生成一个大的单元,再将大的单元放在一起生成更大的单元
-
\(\TeX\) 中的盒子是长方形的二维对象,有三个相应的尺寸:高度,宽度,深度
-
来自字体非单个字符就是盒子
-
字符形状不需要处在盒子的边界内,例如矩阵的括号
-
倾斜校正:对每个字符要规定一个数字的,大概说明字符要伸出其右边界多少,再加上一点富余量
-
如果在字符后面输入了
\/
,这个修正就会加到正常宽度上。当从倾斜字体转到非倾斜字体时要用\/
-
知道黑色盒子是啥
-
\(\TeX\) 用 字符盒子和标尺盒子 组合粘连在一起
-
盒子粘连的方法:水平和垂直。使基准点在同一水平行/垂直列上
-
\(\TeX\)排版思路:锁好一行得到 hbox,再将各个 hbox 放入一个 vbox中
-
除了特殊需求外,\(\TeX\)会自动把字符变成单词,把单词变成行,把行变成页
粘连
-
\(\TeX\) 将小盒子垂直或水平组成大盒子时,小盒子之间就有粘连
-
粘连的属性:正常间距,伸长能力,收缩能力
-
自然宽度
-
一旦粘连被设定,它就变成固定的了,就不能再伸缩了,并且得到的盒子本质上不能再分解开
-
粘连的收缩能力不得超过其收缩能力,但是粘连允许任意伸长,只要伸长量是正值
-
一些重要的事情:
- Plain TeX 在每句的结尾加入了额外的间距
- 在标点后面自动增加伸长能力
-
\(\ldots\) :要得到三个连着的句点,需要在数学模式中利用 Plain TeX 中定义的
\ldots
来输入 -
避免如
Mr.
中的句点被判断为一个句子的结束,在其后使用~
来插入一个正常的空格 -
在句子中出现的常用缩写后面输入
~
-
对于参考文献中的空格适用
\
模式
-
\(\TeX\) 中的六种模式
- 垂直模式。[构建主垂直列,输出的页面源于此。]
- 内部垂直模式。[构建 vbox 的垂直列。]
- 水平模式。[构建段落的水平列。]
- 受限水平模式。[构建 hbox 的水平列。]
- 数学模式。[构建数学公式,并放在水平列中。]
- 陈列数学模式。[暂时中断当前段,构建数学公式并单独放在一行上。]
-
一般来说
- 处理的是页面上一乐互相叠放的盒子和粘连时,就处在一种垂直模式中
- 处理的是沿基线对其的一列紧挨着的盒子和粘连时,就处于一种水平模式
- 遇到公式时,就处于一种数学模式
分段为行
带子的使用,带子是活动字符,表示不可断行的空格
- 不要在
~
后面留下空白,会把它们看作是额外的空格
需要加带子的场景
-
文档中涉及到命名的部分
Chapter~12
Theorem~1.2
Appendix~A
Table~\hbox{B-8}
Figure~3
Lemmas 5 and~6
-
在人名之间和多个姓之间
Donald~E. Knuth
Luis~I. Trabb~Pardo
Bartel~Leendert vanderWaerden
Charles~XII
-
在数学符号和其名称之间
dimension~\(d\)
width~\(w\)
function~\(f(x)\)
string~\(s\) of length~\(l\)
-
在一列符号之间
1,~2, or~3
\(a\),~\(b\), and~\(c\).
1,~2, \dots,~\(n\).
-
当符号与前面的内容密切相关时
of~\(x\)
from 0 to~1
increase \(z\) by~1
in common with~\(m\).
-
当数学惯用语出现在句子中时:
equals~\(n\) less than~\(\epsilon\) (given~\(X\))
mod~2
modulo~\(p^e\)
for all large~\(n\)
-
当在段落中列举各种情况时:
(b)~Show that \(f(x)\) is (1)~continuous; (2)~bounded.
要阻止计算机在连字或破折号处断行,使用\hbox,TeX不会分割盒子的内容。 Table~\hbox{B-8},TeX 并不经常在连字处断行,在需要修正的时候再用
~
和\hbox的区别,~
得到的空白将会与同一行的其他空白行同时伸缩,但是 hbox 中的空白是固定宽度的,改粘连被一劳永逸地设定了
组行为页
\(\TeX\)的自动分页方法基本够用,如果想要强制分页,可以使用\eject
来实现
但是\eject
会使页面伸长以充满页面
如果要得到一个短的页面并将底部用空白充满,则需要用\vfill\eject