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 專家了。
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/.