PostgreSQL7.0手册-附录-文档
load '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 自己的页数.
键入下面命令生成
在同一个文件里增加一条记录,把 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 自己的页数.
键入下面命令生成

