LaTeX/程式化圖形簡介
在 匯入圖形 章節中,您瞭解到可以將圖形匯入或連結到 LaTeX 中,例如您在其他程式中建立的或從其他地方獲得的圖形。在本節中,您將學習如何直接在 LaTeX 文件中建立或嵌入圖形。圖形使用類似於排版粗體文字或建立數學公式的命令進行標記,如下面的嵌入圖形示例所示
\begin{displaymath}
\xymatrix{ \bullet \ar[r] \ar@{.>}[r] & \bullet }
\end{displaymath}
|
有幾個包支援直接在 LaTeX 中建立圖形,包括 picture、xy-Pic 和 PGF/TikZ,將在以下部分中介紹。
與 Xfig 或 Inkscape 等所見即所得工具相比,這種方法更耗時,但會導致更好的結果。此外,輸出完美地整合到您的文件中(尺寸和字型沒有對比)。
請參閱 匯入圖形,以詳細瞭解圖形匯入以及一些解決整合問題的嘗試。
該圖片環境允許直接在 LaTeX 中程式設計圖片。一方面,存在相當嚴格的約束,因為線段的斜率以及圓的半徑被限制在有限的選擇範圍內。另一方面,LaTeX2e 的圖片環境帶來了\qbezier命令,“q” 代表 *二次*。許多常用的曲線,例如圓形、橢圓形和 懸鏈線,可以透過二次貝塞爾曲線很好地近似,儘管這可能需要一些數學上的努力。如果使用 Java 等程式語言生成\qbezierLaTeX 輸入檔案的塊,圖片環境就會變得非常強大。
雖然直接在 LaTeX 中程式設計圖片受到嚴格限制,並且通常很乏味,但仍然有一些理由這樣做。由此產生的文件在位元組方面“小”,並且沒有額外的圖形檔案需要拖放。
諸如史詩, eepic或者pstricks增強原始圖片環境,並極大地增強了 LaTeX 的圖形能力。
雖然前兩個包只是增強了圖片環境,但pstricks包有它自己的繪圖環境,pspicture. 的力量pstricks源於這樣一個事實,即此包廣泛使用了 PostScript 的可能性。不幸的是,它有一個很大的缺點:它不能與 pdfLaTeX 配合使用。要從 TeX 原始碼生成 PDF 文件,您必須從 TeX 到 DVI 再到 PDF,在此過程中會丟失 pdflatex 的超連結、元資料和微排版功能。
此外,已經編寫了大量針對特定目的的包。其中之一是 *XY-pic*,將在本章末尾介紹。*LaTeX 圖形伴侶*(不要與 *LaTeX 伴侶* 混淆)詳細介紹了各種此類包。
也許與 LaTeX 相關的最強大的圖形工具是 MetaPost,它是 Donald E. Knuth 的 METAFONT 的雙胞胎。MetaPost 具有 METAFONT 的非常強大且數學上覆雜的程式語言。與生成點陣圖的 METAFONT 相反,MetaPost 生成封裝的 PostScript 檔案,可以匯入 LaTeX 中。有關介紹,請參閱 *MetaPost 使用者手冊*[1]。*TEX Unbound*[2] 對 LaTeX 和 TEX 圖形(和字型)策略進行了非常深入的討論。
最後但同樣重要的是 PGF/TikZ 和 Asymptote 系統。雖然之前的系統(圖片, 史詩, pstricks或者metapost) 關注 *如何* 繪製,TikZ 和 Asymptote 更關注 *什麼* 要繪製。可以說,TikZ 和 Asymptote 之於 LaTeX 中的繪圖,如同 LaTeX 之於數字排版。建議使用其中之一,如果您的 LaTeX 發行版包含它。TikZ 是一個純 (La)TeX 系統,不依賴於外部軟體,而 Asymptote 是一個外部系統,可以與 (La)TeX 無縫整合。如果使用 Asymptote,使用 latexmk 來管理編譯步驟非常有用。
在許多情況下,尤其是對於更高階的圖表,使用外部向量圖形軟體繪製圖形可能更容易,然後將檔案匯入文件中(請參閱 LaTeX/匯入圖形)。但是,大多數軟體不支援 LaTeX 字型或數學符號,這會導致圖形不合適且不一致。這個問題有幾個解決方案。
