自從發現我電腦裡面有好用的 TeX 套件「圖書館」之後,我偶而就稍微看看裡面有什麼東西。當我在找尋畫甘特圖的套件庫時,無意間發現了 PSTricks 提供了好多繪圖套件呀!
當時,我並不清楚
PSTricks
是什麼東西,後來稍微研究一下,才發現 PSTricks 真是個好物呀!簡單來說,PSTricks 是一個繪圖套件,它提供一些命令巨集(例如: 畫點、畫線、塗色...等等),當你使用這些命令後,編譯文件的時候,PSTricks 會幫你把它轉換成 PostScript 的繪圖語言,這樣文件中就會出現圖案啦!
路人:這算什麼好物?都什麼年代了,哪裡還需要用輸入命令來畫圖?(不屑中...)
ㄜ, 我一開始的確是這麼想的啦! 只不過當我看到官方網站
PSTricks 的 Package List 的時候,突然....眼睛一亮...
咦?怎麼會跟光學系統有關?還跟示波器有關?這是什麼東西?點進去一看,嚇了我一大跳。原來這三個套件,可以讓我只用幾行程式碼,就畫出光學系統的架構圖、光學成像系統、甚至是畫出模擬示波器螢幕看到的波型。
直接來看些範例比較能了解這些套件能畫什麼東西?程式碼大概多長?
以下以子標題開頭的英文,即是套件名稱。有的圖沒有附程式碼,可能是程式碼在說明文件中分屬2頁或是過長,我就沒有放入程式碼了。
pst-optexp 畫光學系統架構用
|
光柵分光 |
|
光通訊系統 |
|
光柵分光 |
|
用於發表論文上的圖 |
pst-optic 繪製透鏡、反射鏡、成像系統
|
薄透鏡成像 |
|
放大鏡 (右側那個眼睛,用一個命令就畫完了!) |
|
球面鏡反射光 |
|
厚透鏡成像 |
pst-osci 繪製示波器面板及波型
|
還能夠畫 Lissa Jous 模式的圖形 |
|
方波、鋸齒波也都能畫 |
上面這三個套件是跟我所學的比較相關。但我發現 PSTricks 還支援很多科學, 數學, 資料繪圖, 以下就列出幾個令我印象較深刻的套件。
pst-diffraction 繞射光學
|
這個套件可以畫出方孔、圓孔、三角形孔的繞射光強度模擬圖 |
pst-circ 電子學/電路學
|
這個套件適合繪製分析用的電路圖 |
pst-electricfield 繪製電場分佈圖
pst-magneticfield 繪製磁場分佈圖
pst-labo 化學實驗儀器
這個對於需要用繪圖紀錄實驗步驟的人來說真的很方便。
|
不同樣式的燒瓶 |
|
傾斜角度不同, 但都自動畫出水平的液面! |
|
集氣瓶? |
|
滴定管 |
|
蒸餾瓶 |
pst-spectra 繪製光譜圖
這個套件很酷,根據 NASA 的資料庫建立的。直接給命令,看是要畫連續光譜, 吸收光譜, 還是發射光譜都可以。而且可以畫出元素表中的 99 元素的光譜線。
(下圖連續光譜中似乎有無數條白細線,這跟 PDF 閱讀器有關,如果放大 PDF 頁面來看白線就消失了)
|
汞原子的發射光譜 |
|
氫原子光譜。程式碼只有一行! 上面是吸收光譜,下面是發射光譜。 |
pst-pully 繪製滑輪系統
程式碼只有一行而已。改變 N 的參數就會畫出不同的滑輪系統。N=0 會畫出定滑輪。
pst-geo 2D 或 3D 地圖 (只有法文說明文件)
pst-barcode 繪製1維或2維條碼
|
1 維條碼 |
|
不只有 QR Code, 還有其他如 Data Matrix, 2D Maxi Code 等其他種類的2維條碼。 |
pst-calendar 畫日曆
pst-knot 繩結
結論
我光是看到畫出透鏡成像系統那張圖,我就決定要學會怎麼運用這個套件,因為實在太方便了。當我練習一陣子之後,發現寫程式碼畫圖,有的時候真的比用互動式的繪圖方法 (例如 Inkscape) 好用多了。
尤其是如果用互動式畫圖常常須要做「對齊」「放置標籤」「寫數學式」「畫平行線」等操做,這樣寫程式碼繪圖真的能夠節省時間。因為程式碼必須精準的給出座標,畫圖的時候想不對齊都難了。
下一篇我再來說明如何在 LyX 文件中使用 PSTricks 及其套件。但在真正使用 PSTricks 之前,還要補充一下,其實 TeX 系統中不只有 PSTricks 這套繪圖語言,還有另外一套稱為
PGF/TikZ 的繪圖語言。在繪製非正規甘特圖的那篇文章,我用的就是 PGF/TikZ 的繪圖套件。
PGF/TikZ 語言發明的比較晚,所以目前現成的套件庫沒有 PSTricks 來的多,但我還是看到一個繪製數位電路時序的 tikz-timing 套件是個滿實用的套件!(如下圖)
PGF/TikZ 支援 pdfLaTeX 編譯方法, 也就是在 LyX 內,以 PGF/TikZ 的方式繪圖, 可以直接按 Ctrl-R 編譯成 PDF 文件觀看。但是 PSTricks 只支援 PostScript 的方式生成圖形,在 LyX 中就必須按 Ctrl-T, 將文件生成 .ps 的檔案之後,再轉成 PDF 才行了。
總之,在 LaTeX 中繪圖不是這麼難的事情,我想大家應該可以多多嘗試看看,需要的時候就可以派上用場了!
參考網站:
沒有留言:
張貼留言