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/.