下一页 上一页 目录

6. 使用 dvips 混合文本和图形。

总的来说,本节适用于任何混合文本和图形的 TeX 或 LaTeX 文档。teTeX,像大多数其他 TeX 发行版一样,默认配置为请求 Computer Modern 字体。当打印包含 Type 1 可缩放字体或图形的文档时,字体和图形成像的工作由 dvips 完成。dvips 可以使用 Computer Modern 位图字体或 Type 1 可缩放字体,或者两者的任意组合。首先,让我们专注于打印和预览一些图形。

每当 LaTeX 源文档中有以下语句时,您可能需要遵循此过程

 
\includepackage{graphics}
在文档序言中。此语句告诉 LaTeX 将 graphics.sty 包的文本包含在源文档中。还有其他命令可以执行图形操作,并且 plain-TeX 文档中的语句可能不会提示您是否需要使用 dvips。但是,当文档打印时缺少图形和其他图像时,差异将在输出中显而易见。

所以,现在,我们将专注于打印使用 LaTeX graphics.sty 包的文档。您可能想看看原始的 TeX 输入。它不包含在 teTeX 发行版中,但在以下位置可用

~CTAN/macros/latex/packages/graphics/grfguide.tex.
teTeX 发行版包含的是 .dvi 输出文件,它已经为您进行了 TeX 处理。这样做是有原因的,这与在输出中包含 Type 1 字体以使文档正确打印的必要性有关。如果您想 LaTeX grfguide.tex,请参阅下一节。但是,现在,我们将致力于使用 dvips 获取可用的输出。

文件 grfguide.dvi 位于目录

texmf/doc/latex/graphics
输出 grfguide.dvi 的第一步是将其转换为 Postscript。程序 dvips 用于此目的。它完全按照其名称的含义执行操作。有很多选项可用于调用 dvips,但最简单(几乎)的形式是
dvips -f -r <grfguide.dvi >grfguide.ps
-f 命令开关告诉 dvips 作为过滤器运行,从标准输入读取并写入标准输出。dvips 输出可以配置为使其输出默认为 lpr

如果您可以通过 lpr 将 Postscript 直接打印到您的打印机,您可以简单地输入

dvips -r grfguide.dvi
-r 选项告诉 dvips 以相反的顺序输出页面,以便它们在退出打印机时正确堆叠。根据您的输出设备酌情使用它或不使用它。

取决于您是否仍然拥有 dvilj2 从上一个文档生成的字体,dvips 和 metafont 可能需要也可能不需要创建 grfguide.dvi 所需的新字体。但是,最终,dvips 将输出已转换为 Postscript 的页面列表,您将拥有 Postscript 输出,可以准备在您可用的任何输出设备上呈现。

如果您幸运(且富有),那么您已经拥有一台支持 Postscript 的打印机,并且可以直接打印 grfguide.ps。您可以使用 lpr 将输出假脱机到打印机。如果由于某种原因您的打印机软件无法正常处理 Postscript 文件,您可以在紧急情况下简单地将文件转储到打印机,使用

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 脚本中。在我的系统上,我编写了两个简单的脚本,pvpr,它们只是将 Postscript 文件输出到显示器或打印机。没有 X 也可以进行屏幕预览,但这远非理想。因此,绝对值得努力安装 XFree86 以在屏幕上查看输出。

gs 命令行中命令的顺序很重要,因为某些选项告诉 Ghostscript 从其库中查找 Postscript 代码片段。

要记住的重要事情是 grfguide.dvi 请求 Computer Modern 位图字体和 Type 1 缩放字体。如果您可以在文档中混合可缩放字体和位图字体,那么您就离成为 TeX 专家不远了。

6.1 如果我的打印机不受支持怎么办?

teTeX 发行版仅附带有限选择的 DVI 输出驱动程序:dvips、Hewlett Packard LaserJet 打印机的驱动程序,以及其他任何内容。如果您的打印机与 LaserJet 不兼容,您有两个选择:您可以使用 dvips 和 Ghostscript,无论如何我都会推荐这样做,原因已在前面提到,或者您可以研究其他 dviware 来源。

有限数量的 DVI 驱动程序已被移植到 Linux,并以预构建的二进制文件形式提供。它们位于 Linux 存档 ftp://sunsite.unc.edu/pub/Linux/apps/tex/dvi/ 中。

主 dviware 库维护在犹他大学档案馆中。如果您在那里找不到支持您的打印机的 DVI 驱动程序,则很可能它不存在。您还可以使用那里提供的模板编写您自己的 DVI 驱动程序。该库的 URL 是 ftp://ftp.math.utah.edu/pub/tex/dvi/


下一页 上一页 目录