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 档, pvpr, ,输出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