PostgreSQL7.0手册-附录-文档

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 13:45:22
附录 DG2. 文档
内容 
文档地图 
文档项目计划 
文档源文件 
制作文档 
手册页 
v7.0 文档硬拷贝生成 
工具集 
可选工具集 
文档的目的是使 Postgres 易于学习、使用和开发.文档集应该描述 Postgres 系统、语言和接口.文档应该能够回答通常的问题并且让用户能够找到这些答案而无须寻求邮件列表的支持. 
文档地图
Postgres 有四种主要的文档格式: 
用于安装前信息的纯文本格式. 
HTML,用于在线浏览和参考. 

硬拷贝(Postscript 或 PDF),用于深入了解和参考. 

man pages(手册页),用于快速参考.

表 DG2-1. Postgres 文档内容 
   
 
 文件  描述  
./COPYRIGHT 版权声明 
./INSTALL 安装指导(从 sgml->rtf->text 来的文本) 
./README 介绍性信息 
./register.txt 制作过程中的注册信息 
./doc/bug.template 臭虫报告模版 
./doc/postgres.tar.gz 集成的文档(HTML) 
./doc/programmer.ps.gz 程序员手册(Postscript) 
./doc/programmer.tar.gz 程序员手册(HTML) 
./doc/reference.ps.gz 参考手册(Postscript) 
./doc/reference.tar.gz 参考手册(HTML) 
./doc/tutorial.ps.gz 介绍(Postscript) 
./doc/tutorial.tar.gz 介绍(HTML) 
./doc/user.ps.gz 用户手册(Postscript) 
./doc/user.tar.gz 用户手册(HTML) 

有用于安装的手册页,同样在 Postgres 的源代码树里还有大量的纯文本的 README 类型文件.

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

文档项目计划
打包的文档可以同时获得 HTML 和 Postscript 格式的.这些可以作为标准的 Postgres 安装的一部分获得.我们在这里讨论对文档源文件的加工和生成文档包的问题. 
文档源文件是用 SGML 标记纯文本文件写成的。 DocBookSGML 的目的是允许作者声明一个技术文档的内容和结构(利用 DocBookDTD),并且由文档的风格决定其内容最后是如何呈现为最终形式(例如.使用 Norm Walsh 的组件风格表(Modular Style Sheets)). 

参阅 DocBook 的介绍 获取一些关于 DocBook 特性的很好的"快速入门读物".DocBook 元素 提供了一个 DocBook 特性的很好的交叉参考. 

这份文档集是使用好几种工具写成的,包括 James Clark 的 jade 和 Norm Walsh 的 组件 DocBook 风格表。 

目前,硬拷贝是把从 jade 输出获得的 富文本格式 (Rich Text Format)(RTF)输入到 ApplixWare 做一些微小的修改然后输出成 Postscript 文件. 

TeX 是 jade 支持的输出格式之一,但是目前因为几个原因没有使用,包括在提交之前不能做微小的格式修改以及通常在TeX 风格表里面对表格的支持不够.


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

文档源文件
文档源文件包括纯文本文件,手册页和 html.不过,大多数新的 Postgres 文档将用标准的一般性标记语言(Standard Generalized Markup Language)(SGML)DocBook文档类型定义 (Document Type Definition )(DTD)书写.目前存在的许多文档都已经或将要被转换成 SGML. 
SGML 的目的是允许一个作者声明一份文档的结构和内容(例如,使用 DocBookDTD),并且由文档风格定义内容是如何呈现为最后的形式(例如,使用 Norm Walsh 的风格表(stylesheets)). 

文档是从几个不同的源收集来的.在我们把现有文档整合组装成一个连贯的文档集时,原先的文档就过时了并且将被从版本中删除.但是,这些动作不会立即发生,并且不会对所有文档同时产生作用.为简化翻译工作,以及为了给开发人员和作者提供帮助,我们定义了翻译过程图. 

文档结构
目前有五套用 DodBook 书写的独立的文档.每个文档都有一个源文档容器,该容器定义 DocBook 环境和其他文档源文件.这些基本的源文件放在 doc/src/sgml/,与许多文档使用的其他源文件放在一起.主要的源文件是: 
postgres.sgml 
这是一个集成的文档,包括作为部件的所有其他文档.生成的输出是 HTML 格式,因为浏览器的界面把在各个文档中跳转简化成简单的敲击.可以同时得到其他文档的 HTML 和硬考贝。
tutorial.sgml 
介绍教程和例子.不包括编程的话题,而且是试图帮助那些不熟悉 SQL 的读者.这是"启蒙"文档. 
user.sgml 
用户手册.包括数据类型和用户级接口的信息.这是放关于"为什么"的信息的地方. 
reference.sgml 
参考手册.包括 Postgres SQL 语法.这是放关于"怎么做"的信息的地方. 
programming.sgml 
程序员手册.包括 Postgres 扩展性和编程接口的信息. 
admin.sgml 
管理员手册.包括安装和发布信息. 
风格和传统
DocBook 有着丰富的标记和构件,并且让人惊奇的是其中有很大一部分很显然对格式良好的文档很有帮助.Postgres 的文档集只是最近才采纳了 SGML,并且在不远的将来,有一部分章节将被选择出来并且作为 DocBook 应用的样例原形进行维护.同样在下面将包括一个简短的DocBook 标记的概要.
SGML 写作工具
目前的 Postgres 文档集是用纯文本编辑器(或者说 emacs/psgml;见下文)用 SGML 对其内容进行标记写成的. 
SGML 和 DocBook 没有受到过多的开放源码写作工具的影响.最常用的工具集是带有 psgml 扩展特性的 emacs/xemacs 编辑包.在一些系统上(例如.RedHat Linux)这些工具在典型的完全安装时是一并安装的. 

emacs/psgml
emacs(以及 xemacs)有一个 SGML主模式(major mode)。如果正确的做了配置,它将允许你使用emacs 插入标签和检查标记连贯性。 
把下面这几行放到你的 ~/.emacs 环境文件里(根据你的系统调整路径名): 

; ********** for SGML mode (psgml)

(setq sgml-catalog-files "/usr/lib/sgml/CATALOG")
(setq sgml-local-catalogs "/usr/lib/sgml/CATALOG")

(autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
在同一个文件里增加一条记录,把 SGML 加入(现存的)自动模式别名的定义中(auto-mode-alist): 
(setq
  auto-mode-alist
  '(("\\.sgml$" . sgml-mode)
   ))
每个 SGML 源文件在末尾都有下面的块: 
!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"./reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:("/usr/lib/sgml/catalog")
sgml-local-ecat-files:nil
End:
--
Postgres 的发布版包含一个已经分析好了的 DTD 定义文件 reference.ced。你可以找到(译注:未完?) 
当使用 emacs/psgml 时,有一个让自己在这些分离的文件上干活方便些的办法:就是你在编辑它们的时候插入合适的 DOCTYPE 定义.例如,如果你在这个源文件上干活,这是一个附录章节,因此你将通过把第一行标记成象下面的样子,从而把这个文档声明为一个 DocBook 文档的"附录"(appendix): 

      !doctype appendix PUBLIC "-//Davenport//DTD DocBook V3.0//EN"
这意味着任何或所有读取 SGML 的软件将能正确读取这份文件,并且我可以用 "nsgmls -s docguide.sgml" 校验此文档.

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

制作文档
GNU make 被用于从 DocBook 源文件里制作文档.在你安装时可能有几个环境变量定义需要设置或更改.Makefile 将查找 doc/../src/Makefile 和 (隐含地)查找 doc/../src/Makefile.custom 以获取环境信息.在我的系统上,src/Makefile.custom 是这样的 
# Makefile.custom
# Thomas Lockhart 1998-03-01

POSTGRESDIR= /opt/postgres/current
CFLAGS+= -m486
YFLAGS+= -v

# documentation

HSTYLE= /home/lockhart/SGML/db143.d/docbook/html
PSTYLE= /home/lockhart/SGML/db143.d/docbook/print
这里 HSTYLE 和 PSTYLE 分别确定用于 HTML 和硬拷贝(打印)的风格表的 docbook.dsl 的路径.这些风格表文件名是用于 Norm Walsh 的模块化风格表(Modular Style Sheets)的;如果使用了其他风格表,那么你可以定义 HDSL 和 PDSL 为该风格表的全路径和名称,就象上面对 HSTYLE 和 PSTYLE 做的那样.在许多系统上,这些风格表将可以在安装在 /usr/lib/sgml/ 或 /usr/local/lib/sgml/ 里的软件包里找到. 
HTML 文档包可以键入下面命令从 SGML 源文件里生成 

% cd doc/src
% make tutorial.tar.gz
% make user.tar.gz
% make admin.tar.gz
% make programmer.tar.gz
% make postgres.tar.gz
% make install
这些包可以在主文档目录里面键入下面命令生成 
% cd doc
% make install

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

手册页
我们使用工具 docbook2man 把 DocBook参考页转换成适合手册页的 *roff 输出。在我们写作的时候,这个工具需要打补丁才能成功的在Postgres 标记上面运行,同时我们增加了一小部分新的功能,以允许在输出文件名上设置手册页的段落。 
docbook2man 是用 perl 写的,并且需要 CPAN 包 SGMLSpm 来运行。同样,它还要求使用 nsgmls,这个软件包含在jade 的发布版里。在安装完这些包后,只需要运行 

$ cd doc/src
$ make man
就会在 doc/src 里生成一个 tar 文件。 
docbook2man 安装过程 

安装 docbook2man 包,可在 http://shell.ipoline.com/~elmert/comp/dobook2X/ 获得。
安装 SGMLSpm perl 模块,可在 CPAN 获得。
如果你安装 jade 是还没有安装 nsgmls,安装之。

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

v7.0 的硬拷贝生成
Postscript 文档的硬拷贝是通过把 SGML 源码转换成RTF,然后输入到 ApplixWare-4.4.1.经过一些清理(见后面章节)后把输出"打印"到一个 postscript 文件里面去. 
文本硬拷贝
INSTALL 和 HISTORY 文件每次版本升级都要更新。由于历史原因,这些文件是纯文本的,不过是从新的SGML 源文件里产生的。 
  
生成纯文本 
INSTALL 和 HISTORY 都是从现存的 SGML 源文件里生成的。他们是从同样的中间 RTF 里抽取出来的。 

  
键入下面命令,生成 RTF: 
% cd doc/src/sgml
% make installation.rtf
把 installation.rtf 输入到 Applix Words 里。 
设置页面宽度和页边距。 

调整 File.PageSetup 里的页面宽度为 10 英寸。 
选择所有文本。用尺子调整右边距为 9.5 英寸。这样将得到一个最多 79 字符的列宽,处于目标的 80 列的上限里。

删掉文档中不需要的部分。 
对于 INSTALL,删掉文本底部的所有版本信息。对于 HISTORY,删掉直到版本信息的所有内容,保存和修改标题和目录(ToC)。 

把结果输出为“ASCII Layout”(文本格式)。 

用 emacs 或 vi,清理 INSTALL 里面的制表信息。删除移植贡献人的“mailto”URL (邮件地址)以减少列高。

Postscript 硬拷贝
在生成 Postscript 硬拷贝时要注意几个地方。包括 RTF 修复,ToC 省城,以及分页调整. 
  
Applixware RTF 清理 
Applixware 对输入的由 jade/MSS 生成的 RTF 文件好象处理得不充分.尤其是所有文本都赋予了 “Header1” 风格属性标签,尽管文本格式本身可以接受的.还有,目录(Table of Contents)页数并没有指向列在表中的章节的页数,而是 ToC 自己的页数. 

键入下面命令生成 RTF(例如): 
% cd doc/src/sgml
% make tutorial.rtf
修复 RTF 文件,以正确声明所有风格,尤其是缺省风格.这些域可以 vi 或者下面简单的l sed 过程处理: 
#!/bin/sh
# fixrtf.sh
# Utility to repair slight damage in RTF files generated by jade
# Thomas Lockhart 
#
for i in $* ; do
  mv $i $i.orig
  cat $i.orig  sed 's#\\stylesheet#\\stylesheet{\\s0 Normal;}#' > $i
done

exit
这里该脚本把 {\s0 Normal;} 作为文档的零级风格.根据 ApplixWare,RTF 标准会禁止增加一种隐含的零级风格,尽管 M$Word 碰巧可以处理这种情况. 
在 Applix Words 里打开新的文档,然后输入该 RTF 文件. 

用 ApplixWare 生成一个新的 ToC. 

选择现有的 ToC 行,从第一行第一个字符到最后一行最后一个字符. 
用  Tools.BookBuilding.CreateToC 制作一个新的 ToC.选择头三层头用于包含在 ToC里.这将用本地的 ApplixWare ToC 代替从 RTF 里输入进来的行. 

使用 Format.Style 调整 ToC 格式,选择每三种 ToC 风格,然后为 First 和 Left调整边距.使用下面的值: 

表 DG2-2. 目录的边距格式 
   
 
 风格  第一边距(英寸)  左边距(英寸)  
TOC-Heading 1 0.6 0.6 
TOC-Heading 2 1.0 1.0 
TOC-Heading 3 1.4 1.4 

对文档进行加工: 
调整分页符. 
调整表列宽. 

向文档中插入图片.用 Applixware 工具条上的居中调整按钮把每幅图片放到中央. 

注意:不是所有文档都有图片.你可以 grep SGML 源文件查找字串 "graphic" 以标出那些有图片的文档.有几幅图片在不同的文档中有重复.
用正确的值替换 ToC 里例子和图片部分右对齐的页数.这些对每个文档只需要花几分钟. 
如果出现了引用书目,删去每个记录的短形式参考标题.Norm Walsh 的 DocBook 风格表好象把这些打印出来的,甚至这些就是随后根着的信息的子集也一样. 

把该文档保存为 Applix Words 本地文档格式以便于最后的编辑. 

把该文档以 Postscript 格式 "打印" 到一个文件. 

用 gzip 压缩 Postscript 文件.把压缩后的文件放到 doc 目录.


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

工具集
安装处理文档需要的工具的经验已经文档化了,总共有三种方法。一种是在Linux 上从 RPM 里安装,第二种是从 FreeBSD 的 port(移植)里安装,最后一种是从独立的工具的最初发布里安装。这些方法将在下面描述。 
可能还有一些这些工具的其他发布包.请向文档邮件列表报告包状态,我们将在这里包含那些信息. 

Linux RPM 安装
使用 Cygnus 的 Mark Galassi 开发的 RPM 集是对于一个 RedHat 兼容的 Linux 系统最简单的安装方式。也可以通过源代码安装,我们随后的章节将要介绍。 
  
安装 RPM 
为 Jade 和相关包安装 RPM。 
安装 Norm Walsh 的最新风格表。取决于 RPM 的新旧,最新的风格表可能比 RPM 里包含的要改进了一些。 

更新你的 src/Makefile.custom 以包含指向风格表的 HSTYLE 和 PSTYLE 定义。

FreeBSD 安装
在 FreeBSD 上有一整套用于文档工具的移植(ports)。实际上,postgresql.org,其自身的文档每天晚上自动更新,就是一台 FreeBSD 机器。 
  
安装 FreeBSD 移植 
  
要在 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
设置环境变量以访问 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 做调整)。 
Make 需要一些特殊的参数,或者你要把这些加入你的 Makefile.custom 里: 

HSTYLE=/usr/local/share/sgml/docbook/dsssl/modular/html/ 
PSTYLE=/usr/local/share/sgml/docbook/dsssl/modular/print/
当然,你要用 gmake 而不只是简单的 'make' 来制作。
Debian 安装
Debian 里也有一整套文档工具包。 
安装 Debian 包 

安装 jade,docbook,和 unzip: 
apt-get install jade
apt-get install docbook
apt-get install docbook-stylesheets
安装最新的风格表。 
确认已经安装了 unzip,或者安装包: 
apt-get install unzip
从 http://www.nwalsh.com/docbook/dsssl 抓取最新的风格表并且解压缩到一个位置(可能是 /usr/share)。
编辑 src/Makefile.custom,增加合适的 HSTYLE 和 PSTYLE 定义: 
HSTYLE= /usr/share/docbook/html
PSTYLE= /usr/share/docbook/print
手工安装这些工具
下面是你获取和安装用 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 风格表。下面的步骤是分别用于安装这些工具的。 
前提
你需要的东西: 
一个可用的 GCC 2.7.2 
一个可用的 Emacs 19.19 或更新版本 

一个用于 UNIX 的 unzip 程序, 用以解包

你需要获取的: 
James Clark 的 Jade (在文件 jade1_1.zip 里的版本 1.1 是写作的时候最新的版本)
  
DocBook 版本 3.0 
Norman Walsh 的 Modular Stylesheets (最初用于制作这些文档的是版本 1.19) 

Lennart Staflin 的 PSGML (写作的时候可用的最新版本是 psgml-1.0.1.tar.gz 里的 1.0.1)

重要的 URL: 
The Jade web page 
The DocBook web page 

The Modular Stylesheets web page 

The PSGML web page 

Steve Pepper's Whirlwind Guide 

Robin Cover's database of SGML software

安装 Jade
安装 Jade 
阅读上面 URL 列出的安装指导. 
在一个合适的位置 Unzip (解压缩)发布包.做这些的命令看起来象 

unzip -aU jade1_1.zip
Jade 不是用 GNU Autoconf 制作的,所以你需要自己编辑 Makefile。因为 James Clark 把他的工具做得很容易处理这些事情,所以你最好在 Jade 发布的主目录下建立一个制作目录(也许用你的机器的体系命名),把主目录的 Makefile 拷贝到这个位置,在这里编辑之,然后在该目录下运行 make。 
不过,可以不编辑 Makefile.在主目录里有一个文件名为 Makefile.jade,其作用是制作 Jade(相对于只是制作 Jade 倚赖的 SGML 分析器工具 SP)时可以用 make -f Makefile.jade.不过我们建议不要这样做,因为这样你需要修改比 Makefile.jade 里更多的东西,所以不管怎样你都要编辑其中之一(译注:Makefile 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 支持文件缺省路径的声明--你可能需要针对你自己的安装做一些改动.如果你的系统不需要上面那些关于数学库和 ranlib 命令的设置,仅仅把它们留在 Makefile 里. 
键入 make 制作 Jade 和各种各样 SP 工具. 

一旦完成软件的制作,make install 将完成安装.

安装 DocBook DTD 工具
安装 DocBookDTD 工具 
你需要把制作 DocBookDTD 工具的文件放到你制作 Jade 的目录里,如果你按照我们上面建议的话,应该是 /usr/local/share/sgml/。除了 DocBook 文件以外,你还需要有一个就位的 catalog 文件,用于文档类型声明和该目录里实际文件的外部实体参考.你还要有 ISO字符集映射以及可能还需要一个或更多个版本的HTML.
  
安装多种多样的 DTD 和支持文件的一种方法是设置 catalog 文件,就是收集所有的文件到上面提到的目录里,用一个叫 CATALOG 的文件描述所有这些文件,然后创建文件 catalog 作为指向前者的目录指针 -- 往里面输入下面一行内容: 
CATALOG /usr/local/share/sgml/CATALOG
文件 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
当然,一个包含这些的文件和 DocBook工具一起发布.注意这些行的最后一项都是文件名,这里给出的没有路径.你可以把这些文件放到你的 SGML 目录的子目录里,当然还要修改 CATALOG 文件里的引用.DocBook 还引用了 ISO字符集实体,所以你还要获取和安装这些东西(它们可以通过几种不同途径获取,并且可以在上面列出的 URL 里很容易的找到),以及所有这些东西的目录实体,类似: 
PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" ISO/ISOlat1
注意这里文件名是如何包含一个目录名的,这里显示了我们把 ISO 实体文件放到了一个名为 ISO 的子目录.同样,正确的目录入口应该对应你获取的工具实体.
安装 Norman Walsh 的 DSSSL 风格表
安装 Norman Walsh 的 DSSSL 风格表 
阅读上面 URL 列出的安装指导. 
安装 Norman 的风格表,只需要在合适的位置简单的解压缩发布的工具.一个处理这些事情的合适的位置是 /usr/local/share,把工具放到在 /usr/local/share/docbook 目录树下的目录里.处理这些的命令看起来将象 

unzip -aU db119.zip
测试安装成功与否的一个方法是制作 PostgreSQL用户手册的HTML 和 RTF 形式. 
  
制作 HTML 文件,进入 SGML 源文件目录,doc/src/sgml,键入 
jade -t sgml -d /usr/local/share/docbook/html/docbook.dsl -D ../graphics postgres.sgml
book1.htm 是输出的顶级节点。 
生成 RTF 输出,为你常用的字处理系统和打印系统做准备,键入: 

jade -t rtf -d /usr/local/share/docbook/print/docbook.dsl -D ../graphics postgres.sgml
安装 PSGML
安装 PSGML 
阅读上面 URL 列出的安装指导. 
解开发布的压缩文件,运行 configure,make 和 make install 把 byte-compiled(字节编译)文件和信息库就位.

然后往你的 /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)
如果你在编辑 HTML 时也需要使用 PSGML,再加一行: 
(setq auto-mode-alist
      (cons '("\\.s?html?\\'" . sgml-mode) auto-mode-alist))
有一个关于 PSGML 的很重要的问题:它的作者假设你的主 SGMLDTD 目录是 /usr/local/lib/sgml.如果如我们本章例子所说,你用的是 /usr/local/share/sgml,你必须为此做些补偿. 
你可以设置 SGML_CATALOG_FILES 环境变量.
你可以定制你的 PSGML 安装(其手册告诉你如何做). 
你甚至可以在编译和安装 PSGML 前编辑源文件 psgml.el,把写死的路径硬代码改成你自己的缺省值.

安装 JadeTeX
如果你需要的话,你还可以安装 JadeTeX 以便于用 TeX 作为 Jade 的格式化后端.注意这个软件还不很成熟,将会生成比你从 RTF 后端得到的差得多的打印输出.不过,它还是工作的很好的,尤其是不用表的简单文档,并且 JadeTeX 和风格表都在不断的改进中,显然以后它会变得更好. 
要安装和使用JadeTeX,你需要有一个可用的TeX 和LaTeX2e 安装,包括支持的工具(tools)和图形(graphics)包,Babel,AMS 字体 和 AMS-LaTeX,PSNFSS --"35种字体" ("the 35 fonts")的扩展和伴侣工具,用于生成 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 可以编译为大的数据结构尺寸.这些的细节问题根据你的安装不同而异。

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

可选工具集
sgml-tools v2.x 现在支持 jade 和 DocBook. 

--------------------------------------------------------------------------------

Tags:

作者:佚名
分享到: 微信 更多