「TeXBook筆記」修訂間的差異

出自Tan Kian-ting的維基
跳至導覽 跳至搜尋
 
(未顯示同一使用者於中間所作的 12 次修訂)
行 3: 行 3:
講plainTeX的書。讀這本書建議搭配 ''TeX for the Impatient'' 這本書,查詢 plainTeX指令或變數的定義。
講plainTeX的書。讀這本書建議搭配 ''TeX for the Impatient'' 這本書,查詢 plainTeX指令或變數的定義。


\show\controlSequence 可以查詢controlSequence(姑且可理解為指令)
\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字元分類如下:
 
{| class="wikitable"
|-
! 類號
! 範例
! 說明
|-
| 0
| \
| 脫逸字元
|-
| 1
| {
| 群組頭
|-
| 2
| }
| 群組尾
|-
| 3
| $
| 數學切換
|-
| 4
| &
| 表格定位
|-
| 5
| [\n]
| 換行
|-
| 6
| #
| 函數參數
|-
| 7
| ^
| 上標
|-
| 8
| _
| 下標
|-
| 9
| < null >
| 忽視字元
|-
| 10
| <半形空白>
| 空白字元
|-
| 11
| [A-Za-z]
| (一般字母)
|-
| 12
| 其他字元
| 其他字元
|-
| 13
| ~
| active character
|-
| 14
| %
| 註釋字元
|-
| 15
| &lt; delete &gt;
| 不合法字元(invaild)
|}
 
 { } $ &amp; # ^ _ % ~ 不能用一般字元的寫法,原則上要加脫逸字元\_、\$等,但是\用<code>\backslash</code>
 
\^ 和 \~表diacritics於字母。
 
每一個character除了control sequence都是token,包含1個空白字元。


以下未完成


[[category:資訊]]
[[category:資訊]]

於 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個空白字元。