[心得] 跌跌撞撞學LaTeX (三)我們是由字元組成的
3 More TeX, please.
範例 2.1編譯成功後,螢幕右半邊會出現預覽程式,裡面顯示由我們的輸
入產生的pdf 檔。
先解釋一下為何我們輸入三行,輸出只有一行?
首先,在TeX 系統裡,在一行內凡是% 之後的所有字,都被視為註解,程
式會直接忽視,不會出現在輸出裡。所以範例 2.1的第一行:〔% 第一件
差事〕,就是註解。*
例如我們輸入:〔We have 100% probability to win.〕,輸出的文件只
會出現:〔We have 100〕 ,% 之後的都被系統當成註解,忽視了。如果
我們的TeXwork 程式有按上一節所述設定,% 之後的文字都是紅色。
除了% 之外,還有許多特殊符號有特別的涵義,使用上需要注意;因此,
我們要問:「身為新手,我如何知道一個特殊符號有特殊用法?難道只能
單純地trial & error 嗎?」
打開dos 環境,為了避免檔案管理上的問題,先切換到適當的工作目錄,
然後輸入tex 。如果安裝沒問題,你會看到以下的顯示:**
--------------------------------------------------------
This is TeX, Version 3.1415926 (MiKTeX 2.8)
**
--------------------------------------------------------
可以看到**後面跟著一個閃爍的游標。先在游標處輸入〔\relax〕,這個
特殊指令。***
如果是第一次執行tex ,會看到系統開始處理一些事情,並且跑出一堆訊
息。等工作結束後,會看到原本的兩個〔**〕變成〔* 〕。然後我們輸入
〔\show $ 〕,會出現如下訊息:****
--------------------------------------------------------
> math shift character $.
<*> \show $
?
--------------------------------------------------------
接著先按一下<enter> 讓? 變回* ,再試試看輸入〔\show `〕:
--------------------------------------------------------
> the character `.
<*> \show `
?
--------------------------------------------------------
比較一下這兩段訊息,即使還不太明白其確切涵義,但很明顯地可以看出
$ 是有其他作用的特殊符號,而` 就只是個` 而已。用這個方法可以找出
絕大多數符號的意義與作用。(之所以說絕大多數,是因為如果我們試著
輸入:〔\show % 〕會發現沒有反應。因為tex 還是會把% 註解掉。)
那麼,當我們真的需要輸出% 的時候該怎麼辦?先看範例 2.1的第三行:
〔\end〕。
在TeX 裡,倒斜線\ 開頭的那一組字代表指令,TeXwork 裡頭會用藍色顯
示。先前我們用的\relax、\show 都是指令,用來告訴tex 做一些特別的
事情;而這裡的\end也是指令,顧名思義它的作用就是告訴tex :「一切
都結束了!」
所以當我們想結束dos 環境下的tex 程式時,首先當然可以用暴力法,直
接點掉dos 視窗;也可以在* 游標狀態下輸入:〔\end〕。*****
所以聰明的你大概已經在猜:「是不是想輸入% 的時候,前面加個\ 就可
以了?」
在試驗這個想法之前,不妨先在tex 程式裡找一下\%的涵義:
--------------------------------------------------------
*\show \%
> \%=\char"25.
<*> \show \%
?
--------------------------------------------------------
對照一下ASCII 表,可以看到37代表% ,而25就是16進位的37;所以我們
很幸運地猜對了。******
因此先前的那句:〔We have 100% probability to win.〕,只要改成:
〔We have 100\% probability to win.〕 就會100%正確。
* 可以在註解裡輸入中文,不代表TeX 可以這麼輕易地處理中文!
註解裡的中文只是方便自己,實際上都被TeX 忽視了。
** 預設目錄是:〔C:\Documents and Settings\使用者名稱> 〕,
我們可以用〔cd 目錄名稱 〕來切換到我們想要的位置。但如果
工作目錄處於另一個硬碟分區,比如說,系統在c 而目標在d ,
還要先輸入〔d:〕才能切換過去。
*** \relax的意思就是告訴tex 程式:「請稍息。」
**** 後面我們會解釋**、* 、? 在tex 程式裡各自的作用。
***** 第三種方法是在? 游標下輸入大寫的X 。? 游標狀態對於除錯很
重要,以後會再談到。
****** ASCII 定義了最基礎的電腦內碼,把二進位資料轉成對應符號。
對照表在網路上隨便搜尋都找得到。雖然大多數情況下,〔 \特
殊符號〕確實會輸出那個符號,但是也有許多例外;比較安全的
做法還是去tex 程式查一下。
--
我想盡量把每一篇都控制在一百行內,但又希望講得能讓「電白」也懂,
所以每一篇的實質內容會有點少,請多包涵!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.33.236.100
※ 編輯: rogerli 來自: 114.33.236.100 (03/18 12:46)
推
03/18 14:14, , 1F
03/18 14:14, 1F
→
03/18 14:20, , 2F
03/18 14:20, 2F
→
03/18 14:54, , 3F
03/18 14:54, 3F
推
03/25 21:23, , 4F
03/25 21:23, 4F
LaTeX 近期熱門文章
PTT數位生活區 即時熱門文章