latex123.pdf - \u5927\u5bb6\u4f86\u5b78 LATEX Version 1.0 2004 \u5e74 3 \u6708 8 \u65e5 By Edward G.J Lee \u674e\u679c\u6b63 Email [email protected]

latex123.pdf - u5927u5bb6u4f86u5b78 LATEX Version 1.0...

This preview shows page 1 out of 178 pages.

Unformatted text preview: 大家來學 LATEX Version 1.0 2004 年 3 月 8 日 By Edward G.J. Lee 李果正 Email : [email protected] 本教學文件之製作,部份接受下列計劃補助: 行政院研考會委辦 「政府機關資料文件交換之電子檔案格式應用研究」 目錄 1 先來說一些故事 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 1 1.1.1 TAOCP(The Art of Computer Programming) . . . . . . . . . . . . . . . . 3 3 1.3 EX 又是什麼呢? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 一般人對 LATEX 的迷思 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 本文的重點方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2 2 Knuth 教授的生平簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 那麼,LAT 4 行前準備 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1 Unix-like 系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 MS Windows 系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 cygwin 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Mac OS X 系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.4 商業維護的 TEX/LATEX 系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . 選個順手的編輯器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 9 2.5.1 Vim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.2 GNU Emacs/XEmacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.3 NEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.4 WinEdt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.5 UltraEdit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.6 Kile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 TEX/LATEX 語法概說 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1 LATEX 文稿的處理流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1.1 總結一下處理流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 LATEX 的特殊專用符號 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 LATEX 排版上的一些規範或慣例 . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.1 字型的相關術語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3.2 一般性的遊戲規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.3.3 針對標點符號的遊戲規則. . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.4 LATEX 的文稿結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.1 環境(environment) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.2 最簡單的 LATEX 的文稿結構 . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.4.3 preamble 區可以放些什麼? . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.4 章節結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 i 目錄 4 目錄 實際上排版玩看看 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1 簡單的實例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.1.1 關於換行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.1.2 關於縮排 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2 加入章節標題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3 加入 title page 資訊 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.4 加入目錄(Table of Contents) . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5 加入摘要(abstract). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.6 加入註解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.6.1 腳註(Footnote) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.6.2 邊註(Marginal note) . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.7 字型的相關調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.7.1 LATEX 對字型的屬性描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.7.2 調整字族、字型系列、字形的指令 . . . . . . . . . . . . . . . . . . . . . . 34 4.7.3 相對字型大小的調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.7.4 絕對字型大小的調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.8 原文照列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.8.1 原文照列指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.8.2 原文照列環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.9 5 加入中文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 空間與位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.1 LATEX 中使用的度量單位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.1.1 絕對單位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.1.2 相對單位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 版面大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2.1 版面圖解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.2.2 紙張大小 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3 調整橫向空間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3.1 調整橫向空間的指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.3.2 調整橫向空間的環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 5.3.3 引文環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.4 調整縱向空間. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.5 條列環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.5.1 項目式條列環境(itemize) . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.5.2 列舉式條列環境(enumerate) . . . . . . . . . . . . . . . . . . . . . . . . 53 5.5.3 敘述式條列環境(description) . . . . . . . . . . . . . . . . . . . . . . . 53 ii 目錄 目錄 5.6 線框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.6.1 直線(rule) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.6.2 文字底線(underline) . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.6.3 方框(box). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.6.4 段落方框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6 7 LATEX 的標準文稿類別 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.1 LATEX 類別的宣告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2 類別的選擇性參數 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.3 類別的種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.1 一般套件的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 7.2 LATEX 官方文件中的標準巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2.1 alltt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2.2 doc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2.3 exscale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 7.2.4 fontenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7.2.5 graphpap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.2.6 ifthen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.2.7 inputenc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.2.8 latexsym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.9 makeidx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.10 newlfont. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.11 oldlfont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.12 showidx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.13 syntonly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.14 tracefnt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.3 LATEX 官方文件中的工具組 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.3.1 AMS-LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.3.2 babel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.3 cyrillic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.4 graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.5 psnfss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.6 array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 7.3.7 calc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.8 dcolumn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.9 delarray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.10 hhline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.11 longtable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7.3.12 tabularx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 iii 目錄 目錄 7.3.13 afterpage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.3.14 bm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.3.15 enumerate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.3.16 fontsmpl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.17 ftnright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.3.18 indentfirst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3.19 layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3.20 multicol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3.21 rawfonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.22 somedefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.23 showkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.24 varioref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.25 verbatim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.26 xr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.3.27 xspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.3.28 theorem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.4 8 巨集套件何處尋? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 表格的處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.1 表格的種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.2 tabbing 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8.3 tabular 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.3.1 tabular 表格的基本結構 . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.3.2 tabular 環境對欄位的調整 . . . . . . . . . . . . . . . . . . . . . . . . . 80 8.4 array 巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.5 tabularx 巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.6 表格線條粗細的控制(booktabs) . . . . . . . . . . . . . . . . . . . . . . . . 85 8.7 彩色表格(colortbl) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.7.1 color 巨集套件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 8.7.2 colortbl 的主要指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8.8 表格的註解(threeparttable) . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.9 小數點對齊(dcolumn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 8.10 大型表格(longtable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 8.10.1 太寬的表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 8.10.2 太長的表格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 8.11 浮動環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.11.1 基本的浮動環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.11.2 浮動環境選項參數 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 iv 目錄 9 目錄 圖形的處理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.1 圖形的種類 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.1.1 點陣圖形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 9.1.2 向量圖形 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2 繪圖工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2.1 原生繪圖工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9.2.2 外來繪圖工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2.3 圖形轉換工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 9.3 picture 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 9.3.1 進入 picture 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.3.2 picture 環境的繪圖指令 . . . . . . . . . . . . . . . . . . . . . . . . . . 100 9.3.3 簡化座標位置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 9.3.4 epic 巨集延伸的指令與環境 . . . . . . . . . . . . . . . . . . . . . . . . . 104 9.4 PSTricks 及 PDFTricks 巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . 105 9.4.1 PSTricks 的組成巨集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 9.4.2 PDFTricks 的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 9.5 METAPOST 使用簡介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.5.1 如何編譯 METAPOST 圖檔文稿? . . . . . . . . . . . . . . . . . . . . . . 108 9.5.2 METAPOST 文稿的基本結構 . . . . . . . . . . . . . . . . . . . . . . . . . 109 9.5.3 METAPOST 的九種基本資料型態. . . . . . . . . . . . . . . . . . . . . . . 110 9.5.4 METAPOST 常用的指令及函數 . . . . . . . . . . . . . . . . . . . . . . . . 112 9.5.5 和 LATEX 的配合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9.5.6 在 METAPOST 中使用中文 . . . . . . . . . . . . . . . . . . . . . . . . . 116 9.5.7 更多的 METAPOST 的實例 . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.6 圖形的引入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.6.1 引入外來圖檔的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.6.2 includegraphics 指令的選項參數 . . . . . . . . . . . . . . . . . . . . . . 121 9.6.3 指定圖檔的搜尋路徑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 9.6.4 圖文的旋轉 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 9.6.5 圖文的縮放及延展 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 10 數學排版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 10.1 進入數學模式(math mode)的方法 . . . . . . . . . . . . . . . . . . . . . . . 125 10.1.1 隨文數式(math inline mode) . . . . . . . . . . . . . . . . . . . . . . . 126 10.1.2 展式數式(math display mode). . . . . . . . . . . . . . . . . . . . . . . 127 10.1.3 在數學模式中的一些遊戲規則 . . . . . . . . . . . . . . . . . . . . . . . . 127 10.2 數學符號 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.3 各種數學式子的書寫方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.3.1 分式(fraction). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 10.3.2 上下標 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 v 目錄 目錄 10.3.3 根號. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.4 矩陣(array) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 10.4.1 矩陣方程式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 10.5 定理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.5.1 原始 LATEX 的定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 10.5.2 amsthm 巨集套件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 10.6 數學模式中的字型及空間調整 . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 10.6.1 數學字體的改變 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 10.6.2 數學模式中調整間距 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11 一篇文章、一本書的完整結構. . . . . . . . . . . . . . . . . . . . . . . . . 138 11.1 目錄(Contents) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.1.1 更改目錄標題名稱 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.1.2 目錄的深度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.1.3 額外的目錄 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.2 交互參照(Cross References) . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.2.1 一般的交互參照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.2.2 超連結交互參照(hyperlink) . . . . . . . . . . . . . . . . . . . . . . . . 141 11.3 索引(index) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.3.1 索引的結構及編譯 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.3.2 索引值的製作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 11.3.3 更改索引標題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.4 參考文獻(Bibliography) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.4.1 thebibliography 環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 11.4.2 更改標題名稱 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 11.4.3 BibTEX 簡介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 11.5 附錄(Appendix) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.5.1 改變附錄的標題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.6 大型文稿的維護 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 11.6.1 input 和 include 的差異 . . . . . . . . . . . . . . . . . . . . . . . . . . 150 11.7 裁切記號(crop marks) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 12 後記 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 13 GNU 自由文件許可證原文 . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 參考資料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 使用許可證聲明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 vi 第1章 先來說一些故事 TEX 是 Donald E. Knuth1 教授的精心傑作,它是個功能非常強大的幕後排版系統,含有 彈性很大,而且很低階的排版語言。當初,是因為 Knuth 教授在寫他的大著 TAOCP(The Art of Computer Programming) 時,發覺書商把他書中的數學式子排得太難看了,於是決 定自行開發一個非常適合排數學式子的排版語言,這就是 TEX 系統的來由。 不僅僅是談到 TEX 一定會提到 Knuth 教授,只要提到排版,沒有人可以忽略他的 TEX 所 帶來的變革、影響,甚至 TEX 已經 20 幾歲了,仍然深深影響著排版界及排版軟體,可見 這個排版軟體真的是非同小可。 1.1 Knuth 教授的生平簡介 1938.01.10 1956 1960 1961.06.24 1963 1968 1977 1986 1 誕生。Milwaukee, Wisconsin; U.S. citizen。 進入凱思工學院(Case Institute of Technology)學習物理。 畢業後進入加州理工學院(California Institute of Technology)研究所,此 時轉向數學領域的研究方向。 和 Nancy Jill Carter 結婚。他的中文名字是高德納,他老婆名叫高精蘭,老 婆小他一歲。兩個小孩,一男一女。中文名字是 1977 去中國大陸時取的。 拿到 Ph.D.,並留校任教。 開始任教於 Stanford 大學,資訊科學系(Computer Science)。同年開始撰寫 名聞遐邇的 TAOCP(The Art of Computer Programming)。有人曾說,看了 這部書,往後對寫程式的話題都會變得謙虛。:) 不滿意書商所印出的 TAOCP,因此,自行開發 TEX 排版系統,這可就影響 了往後的排版、出版界,至今不墜。但也因此拖延了 TAOCP 第四冊的完成 時間。 榮獲 ACM 軟體系統獎。 1 第 1 章 先來說一些故事 1.1. KNUTH 教授的生平簡介 他可說是著作等身,書籍、論文都有,他的任何著作有個奇怪的『副作用』,那就是任何 人發現書上的錯誤,都可以向他舉發,並領取 $2.56(美金)!想試試看「手氣」嗎?台 灣就有人領過。:-) 為什麼是 $2.56?Knuth 教授的答案是: “256 pennies is one hexadecimal dollar.” 發現 TEX 系統的臭蟲也是一樣,這個獎金每年倍數增加,直至 $655.36(216 pennies) 為 止。 他也很推崇自由軟體基金會 (Free Software Foundation)2 及 GNU/Linux,把一些希望都 寄託於 GNU/Linux,尤其是 Unicode 環境,他希望 GNU/Linux 很快就能在網頁上顯示 他的中文名字,而不必使用圖檔。其實是可以做到了,只是 Unicode 環境還不算普及罷 了。他曾在 1996 年接受 Dr. Dobb’s Journal 訪問時英雄惜英雄的公開表示,創導自由軟 體 (Free Software)3 的 Richard M. Stallman 是他心目中的英雄之一,他認為自由軟體基 金會這些人所做的貢獻很不錯,雖然和他的方式不一定一樣,但許多貢獻是互有認同的。 在發展 TEX 時就同時思考 WEB(這個詞比目前使用的 WWW Web 還早使用),那是 一種 literate programming 的程式方法。他認為目前已成熟的可以提出含有文件的程式 方法,使寫程式就像寫文學作品(小說?)一般的藝術表現。後來也把他由 C 改寫(和 Silvio Levy 合作),名為 CWEB4 。TEX 就是由 WEB 寫成的,WEB 可視為 Pascal 語 言的一個子集。 一個 literate 程式師可被視為文學作家、評論寫作者、隨筆作者· · · · · · ,程式的表現不僅 僅是搬弄符號,而是展現自己的風格,當然也是指達成目的的風格、甚至程式中變數運用 的風格。 這樣一來就可以展現讓人類較能理解的程式碼。使用形式及非形式的融合,而且兩者...
View Full Document

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture