The teTeX HOWTO: Linux-teTeX 部份指導: 用 dvips 混合文與圖

Next Previous Contents

## 6. 用 `dvips` 混合文與圖

大體上，這節中的方法，可用於任何 TeX 或LaTeX 文件中，混合編排本文和圖形。 和最其他的 TeX 組件一樣，teTeX 預先設定使用Computer Modern fonts 。當用 Type 1 scalable fonts 或用畫圖的方式列印文件時，字型和描圖的方法，就是 `dvips`要作的事。 `dvips` 能使用點距陣型的Computer Modern fonts 或向量型的Type 1 scalable　 fonts 或兩者混合使用。首先，讓我們著重於圖形的列印和預覽。

你或許會依照這個程序，在 LaTeX 文件的前文中，使用：

    \includepackage{graphics}

這指令要LaTeX在文件裡加入 `graphics.sty` 的指令集，其中有一些的命令可以用來畫圖，但是不管有沒有使用 `dvips`，在　plain-TeX　中這些命令可能不能用。這兩者最顯著的差別，在輸入文件時，後者會遺漏圖形。

因此，我們將會著重於 LaTeX　使用 `graphics.sty` 指令集。你可能須要看一看原始的 TeX 輸入，teTeX　不包含這部分，但是它會在下列網址中提供：

    ~CTAN/macros/latex/packages/graphics/grfguide.tex.

teTeX　和一般 TeX 一樣會輸出 `.dvi` 檔，這樣有一個理由，就是為了正常的輸出文件，而必須依照順序把Type 1 fonts 包括進來。如果要用LaTeX 的 `grfguide.tex,` ，請參考下一節。現在我們將會使用 `dvips`來處理輸出。

檔案 `grfguide.dvi` 位於目錄

    texmf/doc/latex/graphics

輸出 `grfguide.dvi` 的第一個步驟，是將它翻譯成Postscript ，正如 `dvips` 的名字，這就是它的目的。呼叫 `dvips`, 有許多方法，但是最簡單的是：

    dvips -f -r <grfguide.dvi >grfguide.ps

`dvips` 中 `-f`選項，當作過濾器，由標準的輸入讀入，並由標準的輸出寫出來， `dvips` 的預設標準的輸出為`lpr`。

如果你能利用`lpr`，直接由印表機列印Postscript 檔，則只要輸入：

    dvips -r grfguide.dvi

`-r` 選項，則要dvips 依相反順序輸出結果，那麼由印表機印出來時，文件正好由前至後，按照順序排好，就依你的輸出設備，決定要不要使用這選項。

`dvips` 和 metafont 會依編譯成dvi 時，`dvilj2`是否有必要的字型，自動決定要不要產生`grfguide.dvi.`需要的新的字型。之後，就會從預備好的輸出設備，輸出由 `dvips` 轉成的 Postscript 檔。

如果你夠幸運 ( 或富有 ) ，已經有一部Postscript的印表機，就能夠直接列印 `grfguide.ps` 。你能藉由使用 `lpr` 送到印表機的輸出。如果你的印表機軟體安裝不正確，也能使用下列命令列印：

    cat grfguide.ps >/dev/lp0

但是不建議使用這方法。

這是手動呼叫 Ghostscript 運作的標準的程序：第一步是呼叫 Ghostscript 進入命令模式，像這樣：

    gs -help | less

你將會看見支援的輸出設備目錄，和其他的命令。選擇和你的印表機最相配的輸出設備。通常我都輸出黑白的文章，因此選擇`cdjmono` 驅動程式，作為彩色 Deskjet 的黑白模式的驅動程式。

我會使用這樣的命令：

    gs -dNOPAUSE -sDEVICE=cdjmono -sOutputFile=/tmp/gs.out grfguide.ps -c quit

這將會在 `/tmp`目錄裡產生HP 相容的輸出。使用一個目錄像 `/tmp,`，是一個好的主意，因為 `gs` 牽涉到使用權的問題，而且你當然不能 ( 也不應該 ) 以 `root` 的身份，進入系統使用。現在你能使用下列命令列印檔案：

    lpr /tmp/gs.out

明顯地，這些能被寫成一個shell 檔來使用。在我的系統上，我就寫了二個簡單的 shell 檔， `pv` 和 `pr,` ，輸出Postscript檔案到顯示器或印表機。不使用 X 視窗，也可以預覽結果，但是並不理想，所以想要好好預覽結果，最好安裝 XFree86 。

因為一些 `gs` 命令列的選項會告訴 Ghostscript 到那個程式庫 ，去找Postscript 的部分程式碼，所以命令列的選項次序非常重要的。

還記得 `grfguide.dvi` 會請求使用Computer Modern 點距陣字和Type 1向量字型，如果你能混合使用這兩種字型，你就成了一個TeX 專家了。

## 6.1 如果我的印表機不被支援，怎麼辦？

teTeX 系統的DVI 輸出驅動程式，只有幾個選擇： `dvips`，HP 雷射印表機，就沒別的。如果你有一部不是 HP LaserJet 相容的印表機，你有二個選擇：使用 `dvips`和 Ghostscript ，這是我所能推薦的，或者找一下其他的 dviware 來源。

只有幾個 DVI 驅動程式，被移植到Linux ，並預先編譯成二進位的執行檔，可以在下列網址找到： ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/.

這些 dviware 的程式，主要由猶他大學的檔案庫維護，如果在那裡，找不到一個支援你的印表機，那很可能就是它不存在。你也能藉由那裡提供的樣本， 自己寫 DVI 驅動程式，程式庫的網址為： ftp://ftp.math.utah.edu/pub/tex/dvi/.

Next Previous Contents