LaTeX/匯入圖形
可以使用 graphicx 包匯入外部圖形。最重要的命令是 \includegraphics。LaTeX 本身將影像視為普通文字,即具有特定高度和寬度的框。
\documentclass{article}
\usepackage{graphicx}
\begin{document}
The following image does not show any wombats
\includegraphics[height=\baselineskip]{example-image}.
\includegraphics[height=3cm]{example-image-a}\includegraphics[width=5cm]{example-image-b}
\includegraphics[height=3cm]{example-image-a} \includegraphics[width=5cm]{example-image-b}
\end{document}
包文件列出了 width 和 height 選項以及其他選項。
使用 pdflatex 支援多種圖形格式:pdf、png 和 jpg。現代 LaTeX 安裝也可以使用 eps 檔案,但方式間接。
dvi 模式下的 LaTeX 只支援 eps 檔案。
可以將影像排列在矩陣中。只需要考慮影像的適當寬度即可。
\documentclass{article}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{showframe}
\begin{document}
\begin{center}
\includegraphics[width=.3\linewidth]{example-image}\quad\includegraphics[width=.3\linewidth]{example-image-a}\quad\includegraphics[width=.3\linewidth]{example-image-b}
\\[\baselineskip]% adds vertical line spacing
\includegraphics[width=.3\linewidth]{example-image}\quad\includegraphics[width=.3\linewidth]{example-image-a}\quad\includegraphics[width=.3\linewidth]{example-image-b}
\end{center}
\end{document}
三張影像排成一行,每張影像的寬度僅為可用行寬的 30%,相對於下方文字居中。
如果要新增標題並讓 LaTeX 跟蹤編號,請檢視浮動體部分。
- 注意
還應該檢視匯出到其他格式,瞭解其他可能性。
- epstopdf
可以使用epstopdf 實用程式(包含在同名包中)將 EPS 轉換為 PDF。此工具實際上由pdflatex在載入 graphicx 包時,在後臺將 EPS 檔案轉換為 PDF。此過程對使用者完全不可見。
可以使用命令列批次轉換檔案。在 Bourne Shell(Unix)中,可以透過以下命令實現:
$ for i in *.eps; do epstopdf "$i"; done
在 Windows 中,可以透過將以下行放在 批處理檔案(副檔名為.bat的文字檔案)中,與影像位於同一目錄
for %%f in (*.eps) do epstopdf %%f
然後可以透過命令列執行它。
如果 epstopdf 生成了一個包含小圖形的整頁,並且圖形位於該頁面的某個位置,請使用
$ epstopdf --gsopt=-dEPSCrop foo.eps
或嘗試使用ps2pdf實用程式,該實用程式應已與 Ghostscript 一起安裝(所有 TeX 發行版都需要)。
$ ps2pdf -dEPSCrop foo.eps
對最終的 PDF 進行裁剪。
- eps2eps
如果上述所有方法都失敗,可以在嘗試其他轉換之前,使用eps2eps 工具(另請參見下一節)簡化 EPS 檔案
$ eps2eps input.eps input-e2.eps
這將把所有字型轉換為預先繪製的影像,這在提交出版物手稿時有時是可取的。但是,另一方面,字型不會轉換為線條,而是轉換為點陣圖,這會降低字型的質量。
- imgtops
imgtops 是一款輕量級圖形實用程式,用於在光柵圖形 (JPG、PNG 等) 和 EPS/PS 檔案之間進行轉換。
- Inkscape
Inkscape 也可以將檔案從多種格式轉換到多種格式,無論是透過 GUI 還是透過命令列。例如,要從 SVG 影像中獲得 PDF,可以執行以下操作:
$ inkscape -z -D --file=input.svg --export-pdf=output.pdf
可以在 LaTeX 檔案中執行此命令,Template:LaTeX/package 包(在使用 --shell-escape 選項執行 (pdf)latex 時)可以使用 Inkscape 的 pdf+tex 匯出選項來實現此目的,或者可以使用簡單的宏。參見 如何在 LaTeX 中包含 SVG 圖表?-- Stackexchange 參見 匯出到其他格式 獲取更多詳細資訊。
- pstoedit
要正確編輯 EPS 檔案,可以使用pstoedit 將其轉換為可編輯格式。例如,要獲得可編輯的 Xfig 檔案,請執行以下操作:
$ pstoedit -f fig input.eps output.fig
要獲得 SVG 檔案(可以使用任何向量圖形工具(如 Inkscape)編輯),可以執行以下操作:
$ pstoedit -f plot-svg input.eps output.svg
有時 pstoedit 無法建立目標格式(例如,當 EPS 檔案包含裁剪資訊時)。
- PDFCreator
在 Windows 下,PDFCreator 是一款開源軟體,可以建立 PDF 和 EPS 檔案。它安裝了一個虛擬印表機,可以透過具有“列印...”選單項的其他軟體訪問(幾乎所有程式都有)。
- 光柵圖形轉換器
- Sam2p (convert) 或
- ImageMagick (convert) 或
- GraphicsMagick (gm convert).
這三個程式的功能基本相同,可以進行大多數圖形格式之間的轉換。但是,Sam2p 是三者中最新的,似乎既能提供最佳質量,又能產生最小的檔案。
如果您在 PNG 格式中包含具有 alpha 通道的圖形,Acrobat Reader 有時在顯示顏色方面存在問題。可以透過刪除 alpha 通道來解決此問題。在 Linux 上,可以透過以下命令實現:convert來自 ImageMagick 程式
convert -alpha off input.png output.png
有時,彩色 EPS 圖形需要轉換為黑白或灰度才能滿足出版物要求。可以使用 eps2eps(來自 Ghostscript 包)和 [1] 程式來實現此目的
$ eps2eps input.eps input-e2.eps
$ pscol -0gray input-e2.eps input-gray.eps
我們這裡不會討論在 LaTeX 程式碼中建立的程式化圖形(TikZ、PSTricks、MetaPost 及其同類)。有關該內容,請參閱 Introducing Procedural Graphics。
您應該優先使用向量圖形而不是光柵圖形,因為向量圖形的質量更高。光柵圖形只應在照片情況下使用。任何型別的圖表都應該是向量圖形。
正如我們之前看到的,LaTeX 處理
- EPS 和 PDF 用於向量圖形;
- PNG 和 JPG 用於光柵圖形。
如果某些工具無法儲存這些格式,您可能需要在匯入之前轉換它們。
- Dia
Dia 是一款跨平臺的繪圖工具,可以匯出 eps 影像,或使用 tikz 包生成 tex 繪圖。
- Inkscape
另一個用於建立向量圖形的程式是 Inkscape。它可以在 Windows、Linux 或 Mac OS X(使用 X11)上原生執行。它使用 可縮放向量圖形 (SVG) 檔案,儘管它可以匯出到許多可以包含在 LaTeX 檔案中的格式,例如 EPS 和 PDF。從 0.48 版本開始,有一個組合的 PDF/EPS/PS+LaTeX 輸出選項,類似於 Xfig 提供的選項。 這裡有說明 如何將您的向量影像儲存為 LaTeX 可以識別的 PDF 格式,並讓 LaTeX 自動管理影像中的文字樣式和大小。[1]。現在有了 svg 包[2],它提供了一個 \includesvg 命令,使用 Inkscape 將 svg 圖形直接轉換為 LaTeX 文件幷包含其中。您可以檢視 這個擴充套件示例。
一個非常有用的外掛是 textext,它可以匯入 LaTeX 物件。這可用於將數學符號或 LaTeX 字型插入圖形(然後可以將這些圖形匯入 LaTeX 文件)。
- Ipe
Ipe 可擴充套件繪圖編輯器是一款免費的向量圖形編輯器,用於建立 PDF 或 EPS 格式的圖形。與 Xfig 不同,Ipe 在螢幕上以正確的尺寸顯示 LaTeX 字型,這使得更容易將文字標籤放置在正確的位置。Ipe 還具有各種捕捉模式(例如,捕捉到點、線或交點),可用於幾何構造。
- lpic
lpic 包[2] 提供了另一種解決方案,它允許對匯入的圖形進行 TeX 註釋。請參閱 Labels in the figures。
- LibreOffice
也可以使用 LibreOffice Draw 將向量圖形匯出為 EPS 格式,它是一款適用於 Windows、Linux 和 Mac 的開源辦公套件。
- TpX
向量編輯器 TpX 將幾何物件與文字物件分開。幾何物件被儲存到 .PDF 檔案中,其餘部分被儲存到 .TpX 檔案中,由 LaTeX 處理。使用者只需在 TpX 編輯器中建立圖形,然後使用命令 \input{...TpX} 從 latex 檔案中呼叫 .TpX 檔案。
- Xfig
Xfig 是一款基本程式,可以生成向量圖形,這些圖形可以匯出到 LaTeX。它可以在 Unix 平臺上安裝。
在 Microsoft Windows 系統上,Xfig 只能使用 Cygwin-X 安裝;但是,這需要高速網際網路連線,並且需要在您的計算機上佔用約 2 GB 的空間。使用 Cygwin,要執行 Xfig,您需要先啟動“啟動 X - 伺服器”,然後啟動“xterm”以調出一個終端。在這個終端中,鍵入“xfig”(不帶引號)並按回車鍵。
或者,使用 WinFIG。WinFIG 試圖在 Windows 計算機上實現 xfig 的功能。
有許多方法可以使用 xfig 為 LaTeX 文件建立圖形。一種方法是將圖形匯出為 LaTeX 文件。然而,這種方法有一些缺點:線只能以 30 度和 45 度的倍數的角度繪製,帶箭頭的線只能以 45 度的倍數的角度繪製,不支援幾種曲線等等。
另一方面,將檔案匯出為 PDF/LaTeX 或 PS/LaTeX,在繪製方面提供了更大的靈活性。以下是操作方法
- 在 xfig 中建立圖形。在您需要 LaTeX 文字的地方,例如數學公式,在文字框中輸入 LaTeX 字串。
- 使用“編輯”工具開啟每個文字框的屬性,並將“特殊標記”欄位中的選項更改為“特殊”。這告訴 LaTeX 在開啟圖形時解釋這些文字框。
- 轉到“檔案”->“匯出”,並將檔案匯出為 PDF/LaTeX(兩部分)或 PS/LaTeX(兩部分),具體取決於您使用 pdflatex 還是 pslatex 編譯檔案。
- 在您的 LaTeX 文件中,圖片應該放置的地方,使用以下程式碼,其中“test”替換為影像的名稱
\begin{figure} \centering \input{test.pdf_t} \caption{Your figure} \label{figure:example} \end{figure}
請注意,這就像包含圖片一樣,只是我們使用\includegraphics,而是使用\input。如果匯出到 PS/LaTeX,則要包含的副檔名將是 .pstex_t 而不是 .pdf_t。
- 確保在檔案中包含包 graphicx 和 color,使用
\usepackage命令,緊接在\documentclass命令之後,如下所示\usepackage{graphicx} \usepackage{color}
搞定!
有關使用 xfig 與 LaTeX 的更多詳細資訊,請參閱 xfig 使用者手冊 的這一章。
- 其他工具
商業向量圖形軟體,如 Adobe Illustrator、CorelDRAW 和 FreeHand,通常用於讀取和寫入 EPS 圖形。但是,這些產品僅限於 Windows 和 Mac OS X 平臺。
- Adobe Photoshop
Photoshop 可以儲存為 EPS。
- GIMP
GIMP 具有圖形使用者介面,並且是跨平臺的。它可以儲存為 EPS 和 PDF。
- 通用地圖工具 (GMT)
通用地圖工具 (GMT),地圖和各種高度可定製的繪圖。
- Gnumeric
Gnumeric,電子表格具有 SVG、EPS、PDF 匯出功能
- Gnuplot
Gnuplot,自 1986 年以來一直在生成科學圖形。如果您想製作數學繪圖,那麼 Gnuplot 可以儲存為任何格式。與 PGF/TikZ 配合使用可以獲得最佳效果。
- matplotlib
matplotlib,用 python 編寫的繪相簿,具有 PDF 和 EPS 匯出功能。另一方面,它也具有 PGF 匯出功能。有一些技巧可以將除 EPS 以外的格式匯入 DVI 文件,但它們非常複雜。另一方面,將任何影像轉換為 EPS 非常簡單,因此不值得考慮它們。
- R
R,統計和科學圖形。
如上所述,可以從外部程式將圖形內容作為 EPS 檔案匯入 LaTeX。但有時您想編輯或潤色這些圖形檔案。EPS 檔案可以使用任何文字編輯器進行編輯,因為它以 ASCII 格式進行格式化。在文字編輯器中,您可以實現簡單的操作,例如替換字串、更改邊界框或略微移動專案,但任何進一步的操作都變得很麻煩。向量圖形編輯器(如 Inkscape)也可能能夠匯入 EPS 檔案以進行後續編輯。這種方法也更容易編輯。但是,匯入過程偶爾會修改原始 EPS 影像。
- ↑ Johan B. C. Engelen. "如何在 LaTeX 中包含 SVG 圖片" (PDF). mirrorcatalogs.com.
- ↑ Philip Ilten. "CTAN 上的 svg 包". ctan.org.


