小葉的 LaTeX 快速入門教學  5,4,2003
YES HowTo: (YEh'S) Quick Reference for Latex

基本觀念:
LaTeX 是很好的排版語言, 尤其是在寫論文的時候, 你只要專心在你的論文內內本身, 而
關於格式部分, LaTeX 通通可以幫你搞定。
有一套非常快速的入門方式, 簡單照著做, 產生出來的文件合乎格式又很漂亮。

但是, 大家對 LaTeX 痛苦的地方在於: 因為不小心一些語法錯誤, 使得 Compile 失敗,
但是卻又看不懂 Error Messages。明明只是要一份最後的結果, 卻卡在中間出不來而很痛苦。
另外一個痛苦是, 想要某種效果 (像是放圖, 放 Reference), 可是不知道為什麼, 就是
空白而不出來。

這篇教學文件的重點在: 用最少的篇幅教會大家怎麼開始用 LaTeX, 而且儘量不要發生錯誤。
(4,20,2004 補充一行:我這個入門真的寫得很爛,有誤人子弟貌∼ 
 google: latex reference book 可以看到幾個網頁不錯, 其中
 http://www-h.eng.cam.ac.uk/help/tpl/textprocessing/ 這個可以入門, 大家看著辦 ^^)  
 


如何開始:
第一步, 是先有軟體才能做事:
寫 LaTeX 文件, 當然要找到 LaTeX 套件才行, 小葉推薦: WinShell 配 MiKTeX
另外, 就是 Viewer, 有三種 Viewer 反正就裝吧: GhostView, DVIviewer, AcrobatReader
(links 如下: ....)
安裝時要注意, ...


第二步, 真的動手做了: 以兩個例子為例:

A: Compile Paper Sample Template:
竟然先以這個為例子, 會不會本末倒置? NoNoNo~ 先能無痛苦地有很大的成就感比較重要,
而且這可能是大家學 LaTeX 一開始的動力: Paper Submittion 要用 LaTeX 排版 :)
幾個 Conference/Journal 當用的 LaTeX 標準 Template. (ACM ..., IEEE ...)
因為不同的 publication 可能有不用的風格需求, 使用者自己調設定太累了, 
所以由主辦單位統一設定, 我們使用者只要拿他的 macro/style file 直接用就好了。

Compile Template 分成三步驟:
a) 去 download 你要投稿的 template, (有時候會議主辦單會忘了放 template, 你可以拿類似的充數)
b) latex your_template.tex 應該會出現很多過程的 log, 常見的錯誤是, 
你忘了放檔案們, 或是 LaTex 沒裝好:
latex first.tex
latex first.tex
dvips first.dvi -o first.ps
ps2pdf first.ps first.pdf
為什麼要打兩次 latex 呢? 這是個很玄妙的問題, 就像有些人 reboot 機器時
會用 sync;sync;sync;reboot 這樣的指令一樣。 其實打兩次是有道理的,
你先習慣一下, 以後再解釋。

c) view your result (dvi/ps/pdf) 享受, 同時去發現問題 ^^;;

比較重要的語法概念:
\begin{}[]...
\end{}

特殊符號或方程式
這就是 TeX 系列比較特別的部分, 你(使用者)只管寫就好了, TeX/LaTeX 會幫你排得漂漂亮亮的.
$your_equation$
所以到了後來, 你就會不小心把 希臘字母背起來, \alpha \beta \Sigma , etc

B: 老老實實地 LaTeX 教學範例:
在這個例子中, 主要是讓大家會很多 LaTeX 的語法及功能, 等於是練功,
有一步步練過功的話, 紮實的基礎會讓你更少犯錯, 或是別人有問題便可以請教你.

第三步: 最常見問題與解答:
假設你沒有老老實實地練功練範例~ (這個是人性, 而且有些人是臨時有需求只要用一次就不用了 ^^;;)
最常見到的三個問題:

1) 圖 (Figures): 要放圖, 可是要不出錯, 要不沒有, 要不圖怪怪的.(大小位置, etc)
2) Reference: 引用及 BibTex 的問題 (latex->bibtex->latex)
3) Compile 就是不過: 你要很相信, 電腦不會騙人, 有錯就是有錯 ^^;; 不過大家慌了之後, 怎麼改都不對~



第四步: 其他工具的熟悉:
有些不是 LaTeX 的東西, 但是你如果熟悉的話, 可以寫出更好的東西
第一是 PhotoShop 系列, 或是影像檔案相關的 Software
因為, 文章中免不了要放圖, 怎麼處理圖真的很重要, 簡單地說, 要會
1) 轉換不同格式的圖檔, 尤其 EPS 格式要知道
2) 轉換圖片的大小, 解析度 (因為真的在印刷輸出時的解析度知道的話, 效果會再好一些)
其他修改圖片的功夫, 想練就練吧~ :)


最後一步: 更進一步的訊息:
如果有問題, 或者是很有興趣的話, 要怎麼去找相關資料呢?
雖然 google 什麼都知道, 不過因為他知道太多了, 所以在很急的時候要問得有技巧一些.
google
LaTex 聖伯那狗書
中文: 
bbs.ee.ntu.edu.tw/latex board
http://ccms.ntu.edu.tw/~ntut019/cwtex/cwtex.html



接下來讓大家看一下真實的練習: 有一天, 心血來潮, 想要照著 LaTeX 書上的範例, 做個表格來印出來玩玩: \begin{tabular}{|l|l|r|} \hline\hline \emph{type} & \multicolumn{2}{c|}{\emph{style}} \\ \hline smart & red & short \\ rather silly & puce & tall \\ \hline\hline \end{tabular} 可是在 WinShell 下面抄一小段, 一字不漏, 但是執行 latex 時, 出現 This is TeX, Version 3.14159 (MiKTeX 2.1) (preloaded format=latex 2000.11.28) 11 MAY 2003 15:06 **table.tex (table.tex LaTeX2e <2001/06/01> Babel and hyphenation patterns for english, french, german, ngerman, du mylang, nohyphenation, loaded. ! LaTeX Error: Missing \begin{document}. See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ... l.1 \begin{tabular} {|l|l|r|} \hline\hline ? ! Emergency stop. ... l.1 \begin{tabular} {|l|l|r|} \hline\hline You're in trouble here. Try typing to proceed. If that doesn't work, type X to quit. No pages of output. 通常, 看 error message 要從最上面往下看才看得懂! 如果只看 WinShell 警告的 MessageBox 裡的 c:\(table.tex was not found. 應該看不懂吧?! ^^;; 原來真的錯誤是 ! LaTeX Error: Missing \begin{document}. 這一行, 它說沒看到 \begin{document} 這行~ 原來, latex 文件裡面要記得有開始和結束的文字, 不能冒冒然寫一段 code 就去試. 所以, 請記得最前面加行 \begin{document}, 最後面加行 \end{document} 但是這時候再用 latex 去 compile, 還是出現很像的 MessageBox, 再細看一下 error log: ! LaTeX Error: The font size command \normalsize is not defined: there is probably something wrong with the class file. 很怪是吧~ 這告訴我們不要見一個錯誤改一個錯誤, 因為第一步就錯了! 所以要隨手試 LaTeX 的 code, 請記得: \documentclass{article} \begin{document} %中間夾你要試的 code \end{document} 這樣, 你就可以開始隨意地試書上或是網路上看到的一些 code 了! 其中, \begin{document} 與 \end{documet} 中間是夾要去 compile 的 code, 在 \begin{document} 之前, 通常是放一些大的設定, 像 font/size 之類的東西。 你可以隨手拿 \documentclass{article} 來用最簡單, 以後寫多看多了, 還可以 再動些手腳修改來用。 有時候會有一些怪的錯誤訊息, 只要你心情平靜地找到問題就可以排除, 像是 ! ==> Fatal error occurred, the output PDF file not finished! 就有很大的可能, 只是不能寫出檔案而己, 像是 output PDF file 正在使用中, 或是硬碟用完了, 或是其他情形。 重點是你只要看到真正的錯誤訊息, 就可以推論出發生的原因, 進而排除。 當你要做表格時, 請看 tabular 這部分, 而最好之前一定要先看 array 這部分。 因為畫表格嘛, 就要排正確, array 會教你怎麼排列。 \( \begin{array}{clr} a+b+c &&; uv &&; 27 \\ a+b &&; u+v &&; 134\\ a &&;3u+vw &&; 2,978 \end{array} \) 其中, \( \) 是為了將 整個 array 包起來, 表示裡面是個數學符號, 請記得加。 {clr} 表示, array 裡面三個 column 的 alignment 分別是 c (center), l (left), r (right). 而標 {lll} 就目顯表是只有三個 column, alignment 全部是 l (left). 有時候你少打一些東西, 會出問題, 你猜得出是哪裡寫錯嗎? ex. \( \{array}{clr} a+b+c &&; uv &&; 27 \\ a+b &&; u+v &&; 134 \\ a &&; 3u+vw &&; 2,978 \end{array} \) 出現錯誤如下: ! Extra }, or forgotten $. l.3 \( \{array} {clr} 喔~ 因為 \begin{array} 打成 \{array} 就不對了~ 所以說, 看到出錯的那一行, 想想是哪裡不對勁, 就像寫程式遇到 compile time error 一樣. 這可能就是 LaTeX 不友善的地方了, 對於會寫程式的人來說很簡單, 可是對不會寫程式的人來說, 就有些難度了, 尤其是不敢看英文錯誤訊息的人而言。 這時候, 就會推薦, 雖然 LaTeX 可以讓你控制你所有要放文字圖片內容等放得很好, 可是對不想控制的人而言, 使用其他工具或許更適合。 用用 LyX 或是 Word 系列或許是個好選擇。 但是, 總有一天你會對作品成果要求更多, 需要更多的控制版面之類的。 這時候, 不管是什麼工具, 都要花點時間研究看看裡面有什麼可以改可以設定的。 我只是要說, LaTeX 真的不錯, 只要入門的方法正確, 可以在很少痛苦的情況之下 練得一番好手藝。