↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 6.4 / 6.3
历史版本PostgreSQL 6.4 已于 2003 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

A.6. 工具集

我们记录了处理文档所需各种工具的两种安装方法的 经验。第一种是在 Linux 上从 RPM 安装,另一种是从各工具的原始发行包 进行通用安装。下面将分别 介绍。

我们了解到这些工具可能还有其他打包发行形式。 FreeBSD 似乎提供了它们。 请把软件包状态报告到 docs 邮件列表,我们会把相关信息收录在 这里。

A.6.1. Linux 上的 RPM 安装

安装 Jade 及相关软件包的 RPM。

A.6.2. 手动安装工具

这里简要过一遍获取和安装软件的过程,你需要这些软件来用 Emacs 编辑 DocBook 源码,并用 Norman Walsh 的 DSSSL 样式表处理它,创建 HTML 和 RTF。

这些说明不包括 sgml-tools 软件包中新的 jade/DocBook 支持。作者们 自该软件包采用 DocBook 以来还没有试过它,但它几乎肯定 是一个好的候选。

A.6.2.1. 先决条件

你需要:

  • 一个可用的 GCC 2.7.2 安装

  • 一个可用的 Emacs 19.19 或更高版本安装

  • 一个 UNIX 的 unzip 程序用来解包

你必须获取:

重要 URL:

A.6.2.2. 安装 Jade

安装 Jade

  1. 阅读上面列出的 URL 处的安装说明。

  2. 把发行包解压到一个合适的位置。使用的命令 大致是

    unzip -aU jade1_1.zip
    
  3. Jade 不是用 GNU Autoconf 构建的,所以你需要自己编辑 Makefile。既然 James Clark 已经 为此准备好了他的套件,一个好办法是在 Jade 发行包的主目录下建一个 构建目录(也许以你的机器架构命名),把主目录中的 Makefile 文件复制进去,在那里编辑它, 然后在那里运行 make。

    不过,Makefile 确实需要 编辑。主目录中有一个名为 Makefile.jade 的 文件,构建 Jade (而不是构建 Jade 所基于的 SGML 解析器套件 SP)时, 可以用 make -f Makefile.jade 来使用它。不过我们建议 你不要那样做,因为需要修改的内容 超出了 Makefile.jade 的范围,反正 你也得编辑其中某一个。

    通读 Makefile,阅读 James 的 说明并按需编辑。有若干变量 需要设置。下面收集汇总了最重要的 一些变量及其典型值:

    prefix = /usr/local
    XDEFINES = -DSGML_CATALOG_FILES_DEFAULT=\"/usr/local/share/sgml/catalog\"
    XLIBS = -lm
    RANLIB = ranlib
    srcdir = ..
    XLIBDIRS = grove spgrove style
    XPROGDIRS = jade
    

    注意其中指定了查找 SGML 支持文件默认 catalog 的位置 —— 你可能想把它改成更适合你自己 安装的值。如果你的系统不需要上面这些数学库和 ranlib 命令的设置,就让它们保持 Makefile 中的原样。

  4. 输入 make 构建 Jade 和各种 SP 工具。

  5. 软件构建完成后,make install 会 完成显而易见的那一步。

A.6.2.3. 安装 DocBook DTD 工具包

安装 DocBook DTD 工具包

  1. 你会想把构成 DocBook DTD 工具包的文件放在 你构建 Jade 时让它查找的 目录中;如果你遵循了上面的建议,那就是 /usr/local/share/sgml/。除了 DocBook 实际文件外,你还需要放好一个 catalog 文件,用于把 文档类型规范和外部实体引用映射到该目录中的实际 文件。你还需要 ISO 字符集映射,可能还有一或多个版本的 HTML。

    安装各种 DTD 和 支持文件并建立 catalog 文件的一种 办法是,把它们全部收进上面提到的目录,用一个名为 CATALOG 的文件描述它们全部,然后 创建文件 catalog 作为指向前者的 catalog 指针,给它这样一行内容:

    CATALOG /usr/local/share/sgml/CATALOG
    
  2. CATALOG 文件随后应包含三类 行。第一类是(可选的)SGML 声明,即:

    SGMLDECL docbook.dcl
    

    接下来,对 DTD 和实体文件的各项 引用必须解析。对于 DocBook 文件,这些行看起来像这样:

    PUBLIC "-//Davenport//DTD DocBook V3.0//EN" docbook.dtd
    PUBLIC "-//USA-DOD//DTD Table Model 951010//EN" cals-tbl.dtd
    PUBLIC "-//Davenport//ELEMENTS DocBook Information Pool V3.0//EN" dbpool.mod
    PUBLIC "-//Davenport//ELEMENTS DocBook Document Hierarchy V3.0//EN" dbhier.mod
    PUBLIC "-//Davenport//ENTITIES DocBook Additional General Entities V3.0//EN" dbgenent.mod
    
  3. 当然,包含这些内容的文件随 DocBook 工具包一起提供。注意 这些行每行的最后一项都是文件名,这里没有带路径。 你当然可以把文件放在主 SGML 目录的子目录中,并修改 CATALOG 文件中的引用。 DocBook 还引用 ISO 字符集实体,所以你需要获取 并安装它们(它们可从多个来源获得,通过上面列出的 URL 很容易找到),并为它们全部配上 catalog 条目,例如:

    PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" ISO/ISOlat1
    

    注意这里的文件名包含目录名,表明 我们把 ISO 实体文件放在了名为 ISO 的子目录中。同样,你获取的 实体包应附带正确的 catalog 条目。

A.6.2.4. 安装 Norman Walsh 的 DSSSL 样式表

安装 Norman Walsh 的 DSSSL 样式表

  1. 阅读上面列出的 URL 处的安装说明。

  2. 要安装 Norman 的样式表,只需把发行包 解压到合适的位置。一个合适的位置是 /usr/local/share,这会把工具包放到 /usr/local/share/docbook 目录树 下。命令大致是

    unzip -aU db107.zip
    
  3. 测试安装的一种办法是构建 PostgreSQL 手册的 HTML 和 RTF 形式。

    1. 要构建 HTML 文件, 进入 SGML 源 目录 doc/src/sgml,执行

      jade -t sgml -d /usr/local/share/docbook/html/docbook.dsl -D ../graphics postgres.sgml
      

      book1.htm 是输出的顶层节点。。

    2. 要生成可导入你喜欢的字处理系统并打印的 RTF 输出,输入:

      jade -t rtf -d /usr/local/share/docbook/print/docbook.dsl -D ../graphics postgres.sgml
      

A.6.2.5. 安装 PSGML

安装 PSGML

  1. 阅读上面列出的 URL 处的安装说明。

  2. 解开发行文件,运行 configure、make 和 make install,把字节编译文件和 info 库放到位置。

  3. 然后把以下几行加入你的 /usr/local/share/emacs/site-lisp/site-start.el 文件,让 Emacs 在需要时正确 载入 PSGML:

    (setq load-path
          (cons "/usr/local/share/emacs/site-lisp/psgml" load-path))
    (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t)
    
  4. 如果你想在编辑 HTML 时也使用 PSGML,还要加上:

    (setq auto-mode-alist
          (cons '("\\.s?html?\\'" . sgml-mode) auto-mode-alist))
    
  5. 使用 PSGML 有一点需要注意: 它的作者假定你的主 SGML DTD 目录是 /usr/local/lib/sgml。如果像本章示例 中那样使用 /usr/local/share/sgml,你 就必须对此作出补偿。

    1. 你可以设置 SGML_CATALOG_FILES 环境变量。

    2. 你可以 定制你的 PSGML 安装(它的 手册说明了方法)。

    3. 你甚至可以在编译和安装 PSGML 之前编辑源文件 psgml.el,把硬编码的路径改成 你自己的默认值。

A.6.2.6. 安装 JadeTeX

如果你愿意,还可以安装 JadeTeX,用 TeX 作为 Jade 的格式化后端。注意它仍是 相当粗糙的软件,生成的打印输出不如 RTF 后端的质量。不过它 仍然工作得不错,尤其是对不使用表格的 较简单文档而言;而且由于 JadeTeX 和样式表都在持续改进,它将来肯定会越来越好。

要安装和使用 JadeTeX,你 需要可用的 TeX 和 LaTeX2e 安装, 包括受支持的 tools 和 graphics 宏包、 Babel、AMS 字体和 AMS-LaTeX、 PSNFSS扩展及 “35 种字体”配套包、用于生成 PostScript 的 dvips 程序、宏包 fancyhdr、 hyperref、 minitoc、url 和 ot2enc,当然还有 JadeTeX 本身。所有这些都可以在 邻近的 CTAN 站点找到。

JadeTeX 在撰写本文时并没有附带 多少安装指南,但有一个 makefile 展示了需要什么。它还 包含一个 cooked 目录,你会在其中 找到它所需的部分宏包 —— 但不是全部,也不完整, 至少我们上次查看时是这样。

在构建 jadetex.fmt 格式 文件之前,你可能需要编辑 jadetex.ltx 文件,把 Babel 的配置改为适合你所在 地区的形式。要改的那一行看起来像

\RequirePackage[german,french,english]{babel}[1997/01/23]

显然,你应该只列出你确实需要、并且已为 Babel 配置好的语言。

JadeTeX 可用后,你就应该能 为 PostgreSQL 手册生成并排版 TeX 输出, 办法是(如上所述,在 doc/src/sgml 目录中)给出命令

jade -t tex -d /usr/local/share/docbook/print/docbook.dsl -D ../graphics postgres.sgml
jadetex postgres.tex
jadetex postgres.tex
dvips postgres.dvi

当然,这样做时,TeX 会在 第二轮运行中停下来,并告诉你它的容量已被 超出。就我们所知,这是 JadeTeX 生成交叉引用 信息的方式造成的。当然,TeX 可以用更大的数据结构尺寸 编译。具体细节因安装而异。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。