「TeXBook筆記」修訂間的差異
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 151: | 行 151: | ||
|- | |- | ||
| 5 | | 5 | ||
| | | [\n] | ||
| 換行 | | 換行 | ||
|- | |- |
於 2025年1月2日 (四) 17:27 的修訂
講plainTeX的書。讀這本書建議搭配 TeX for the Impatient 這本書,查詢 plainTeX指令或變數的定義。
\show\controlSequence 可以查詢controlSequence(姑且可理解為指令)的定義。
Ch1
講命名TeX的緣由
Ch2
講字元的輸入用法
kerning/ligature 自動啟用
kerning:VA中間自動adjust縮小間隙
ligature:合字(differ的iff)
- \thinspace
- \lq:英文左雙引號
- \rq:英文右雙引號
Ch3, 4
\xxx 是control sequence,比如:
- control word:\input␣MS(␣代表半形空白字元,下同)
- control symbol:\+符號+字母(不空白)
- \␣:指1個空格
- \␣\␣:指2個空格
連續空格代表同一個空格
\TeX␣\␣Ignore \TeX後面接空格以示區隔;\␣指空白
plainTeX有900以上指令,300+左右是Primitive不能細分的
\show\sl 回傳
\sl=macro:
\fam\slfam\tensl
- \slfam: slanted math mode font
- \tensl: 10 pt slanted
- \rm 羅馬體
- \sl slanted
- \it italic
- \tt monospace
- \bf bold font
the {\bf bold} font,中間的{}指定group
\/:義大利體修正
一個特例:{\bf f\/}
=>方能正確顯示出來
\temrm: set to 10pt roman \ninerm: set to 9pt roman
兩個都是字型變數
字型大小改變,會在基線上安排位置
\font\cs=外部字型
TeX只有16fonts
Ch5 Grouping
{ }:group character
{}定義在裡面的不會跑到外面
{\TeX}這樣可以避免吃掉空白的字元
或是\TeX{},{}是空群組
\centerline{要置中的文字}
{\it xxx},不會弄得外面也是義大利體
Ch6
(running TeX)
TeX有互動命令列
輸出log
\hrule 水平線
\vskip 1pt(6pt, .5cm,...) 垂直間距
\centerline
\sl
.~空白不換行
\vfill 充滿一頁
\eject跳出頁面
Ch7 TeX如何讀取輸入文字
輸入的行和輸出的行不相關。
- \n如空白
- 兩個空白於一列如同一個空白
- 空行表示段落結束
- 本章和次章講述非常首先的環節,TeX如何處理資料。
- TeX對文字有15分類,將ASCII 256字元分類如下:
類號 | 範例 | 說明 |
---|---|---|
0 | \ | 脫逸字元 |
1 | { | 群組頭 |
2 | } | 群組尾 |
3 | $ | 數學切換 |
4 | & | 表格定位 |
5 | [\n] | 換行 |
6 | # | 函數參數 |
7 | ^ | 上標 |
8 | _ | 下標 |
9 | < null > | 忽視字元 |
10 | <半形空白> | 空白字元 |
11 | [A-Za-z] | (一般字母) |
12 | 其他字元 | 其他字元 |
13 | ~ | active character |
14 | % | 註釋字元 |
15 | < delete > | 不合法字元(invaild) |
{ } $ & # ^ _ % ~ 不能用一般字元的寫法,原則上要加脫逸字元\_、\$等,但是\用\backslash
\^ 和 \~表diacritics於字母。
每一個character除了control sequence都是token,包含1個空白字元。