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

posted @ 2022-01-03 20:00  blahhhh  阅读(56)  评论(0)    收藏  举报