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

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

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

DG2.7. 工具集

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

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

DG2.7.1. Linux RPM 安装

对 RedHat 兼容的 Linux 系统来说,最简单的安装 方式是使用 Cygnus 的 Mark Galassi 开发的 RPM 集。也可以像后面一节描述的那样从源码 安装。

安装 RPM

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

  2. 安装 Norm Walsh 的最新样式表。视 RPM 的新旧程度而定,最新样式表可能比 RPM 中包含的有显著改进。

  3. 更新你的 src/Makefile.custom,加入 指向样式表的 HSTYLE 和 PSTYLE 定义。

DG2.7.2. FreeBSD 安装

FreeBSD 上有一整套文档工具的 ports。事实上,postgresql.org ——文档每天晚上都会自动更新的那台机器——就是一台 FreeBSD 机器。

安装 FreeBSD Ports

  1. 要在 FreeBSD 上构建文档,需要安装若干 ports。

    % cd /usr/ports/devel/gmake && make install
    % cd /usr/ports/textproc/docproj && make install
    % cd /usr/ports/textproc/docbook && make install
    % cd /usr/ports/textproc/dsssl-docbook-modular && make install
          
    
  2. 设置环境变量以访问 jade 工具集。

    注意

    在 postgresql.org 的 FreeBSD 机器上 并不需要这一步,所以你可能不必这么做。

    export SMGL_ROOT=/usr/local/share/sgml
    SGML_CATALOG_FILES=/usr/local/share/sgml/jade/catalog
    SGML_CATALOG_FILES=/usr/local/share/sgml/html/catalog:$SGML_CATALOG_FILES
    SGML_CATALOG_FILES=/usr/local/share/sgml/iso8879/catalog:$SGML_CATALOG_FILES
    SGML_CATALOG_FILES=/usr/local/share/sgml/transpec/catalog:$SGML_CATALOG_FILES
    SGML_CATALOG_FILES=/usr/local/share/sgml/docbook/catalog:$SGML_CATALOG_FILES
    export SGML_CATALOG_FILES
          
    

    (这是 sh/bash 语法;csh/tcsh 请作相应调整。)

  3. make 需要一些特殊参数,或者把它们加入你的 Makefile.custom:

    HSTYLE=/usr/local/share/sgml/docbook/dsssl/modular/html/
    PSTYLE=/usr/local/share/sgml/docbook/dsssl/modular/print/
          
    

    当然,构建时你需要使用 gmake 而不是普通的 “make”。

DG2.7.3. Debian 安装

Debian 有一整套文档工具的 软件包。

安装 Debian 软件包

  1. 安装 jade、docbook 和 unzip:

    apt-get install jade
    apt-get install docbook
    apt-get install docbook-stylesheets
          
    
  2. 安装最新的样式表。

    1. 确认已安装 unzip,或安装 该软件包:

      apt-get install unzip
              
      
    2. 从 http://www.nwalsh.com/docbook/dsssl 抓取最新的样式表 zip 包,并解压到某个位置(可以是 /usr/share)。

  3. 编辑 src/Makefile.custom,加入适当的 HSTYLE 和 PSTYLE 定义:

    HSTYLE= /usr/share/docbook/html
    PSTYLE= /usr/share/docbook/print
          
    

DG2.7.4. 手动安装工具

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

获取 SGML 和 DocBook 工具最简单的方法,可能是从 sgmltools 获取 sgmltools。 sgmltools 需要 GNU 版本的 m4。要确认你有正确的 m4 版本可用,试试

gnum4 --version
    

如果你安装 GNU m4,用 gnum4 这个名字安装, sgmltools 就会找到它。 安装之后,你将拥有 sgmltools、 jade 和 Norm Walsh 的 DocBook 样式表。下面说明如何单独安装这些工具。

DG2.7.4.1. 先决条件

你需要:

  • 一个可用的 GCC 2.7.2 安装

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

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

你必须获取:

重要 URL:

DG2.7.4.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 会 完成显而易见的那一步。

DG2.7.4.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 条目。

DG2.7.4.4. 安装 Norman Walsh 的 DSSSL 样式表

安装 Norman Walsh 的 DSSSL 样式表

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

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

    unzip -aU db119.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
               
      

DG2.7.4.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,把硬编码的路径改成 你自己的默认值。

DG2.7.4.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 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。