有人用DocBook么

7 views
Skip to first unread message

Zhang Le

unread,
Apr 28, 2006, 4:16:47 AM4/28/06
to sz...@googlegroups.com


--
Zhang Le, Robert
Linux Engineer/Trainer

Institute of Thiz Technology Limited
Address: Unit 1004, 10/F, Tower B,
Hunghom Commercial Centre, 37 Ma Tau Wai Road,
To Kwa Wan, Kowloon, Hong Kong
Telephone: (852) 2735 2725
Mobile:(852) 9845 4336
Fax: (852) 2111 0702
URL: http://www.thizgroup.com
Public key: gpg --keyserver pgp.mit.edu --recv-keys 1E4E2973

ian

unread,
Apr 28, 2006, 5:16:39 AM4/28/06
to 深圳 LinuxUnix 用户组
因muse的缘故,看过几天。

Ji YongGang

unread,
Apr 28, 2006, 9:39:53 AM4/28/06
to sz...@googlegroups.com
搞过一阵子,把 Debian 中文安装手册整成 pdf 格式的。

-- jungle

Zhang Le

unread,
Apr 29, 2006, 3:44:16 AM4/29/06
to sz...@googlegroups.com
果然这个普及率更低
我曾翻译一本书,不过没翻译完,暂时搁浅了
http://savannah.nongnu.org/projects/pgubook
当时用openoffice写的
不过后来发现原作者用的是DocBook
前段时间想继续翻译,也使用DocBook
不过我在尝试make的时候出了错
网上查,有人建议使用XSL的stylesheet,而不要用dsssl的
不过不知道怎么搞
准备找点资料来看看

似乎DocBook已经成了写文档的新标准了
我知道的内核用它,Debian-installer用它


On 4/28/06, Ji YongGang < jung...@gmail.com> wrote:
搞过一阵子,把 Debian 中文安装手册整成 pdf 格式的。

-- jungle



Ji YongGang

unread,
Apr 29, 2006, 4:26:29 AM4/29/06
to sz...@googlegroups.com
在 06-4-29,Zhang Le<robert....@gmail.com> 写道:

> 果然这个普及率更低
> 我曾翻译一本书,不过没翻译完,暂时搁浅了
> http://savannah.nongnu.org/projects/pgubook
> 当时用openoffice写的
> 不过后来发现原作者用的是DocBook
> 前段时间想继续翻译,也使用DocBook
> 不过我在尝试make的时候出了错
> 网上查,有人建议使用XSL的stylesheet,而不要用dsssl的
> 不过不知道怎么搞
> 准备找点资料来看看
>

对于 docbook 来说,dsssl 和 xsl 都可以,只是因为现在 xml 和 xsl 比较流行,相应的转换工具多一些。

我简单看了一下原书 CVS 中的文件,作者提供的 build 方法中,解析工具是 openjade,生成 html 所采用的式样表是
html/docbook.dsl。生成 pdf 是使用 jadetex。这些工具我都用过,可以处理中文。

不知你是在哪步出错?

> 似乎DocBook已经成了写文档的新标准了
> 我知道的内核用它,Debian-installer用它
>

gentoo 文档用的也是 docbook 的变种吧。

-- jungle

Zhang Le

unread,
Apr 29, 2006, 6:28:01 AM4/29/06
to sz...@googlegroups.com
On 4/29/06, Ji YongGang <jung...@gmail.com> wrote:

对于 docbook 来说,dsssl 和 xsl 都可以,只是因为现在 xml 和 xsl 比较流行,相应的转换工具多一些。

我简单看了一下原书 CVS 中的文件,作者提供的 build 方法中,解析工具是 openjade,生成 html 所采用的式样表是
html/docbook.dsl。生成 pdf 是使用 jadetex。这些工具我都用过,可以处理中文。

不知你是在哪步出错?

[zhangle@adriano ProgrammingGroundUp] $ make ProgrammingGroundUp.pdf
openjade -t tex -d programming.dsl#printdraft xml.dcl ProgrammingGroundUp.xml
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:42:30:E: "1D6C2" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:43:30:E: "1D6C3" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:44:30:E: "1D6D8" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:45:30:E: "1D6AB" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:46:30:E: "1D6C5" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:47:30:E: "1D6C6" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:48:30:E: "1D6DC" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:49:30:E: "1D6C8" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:50:30:E: "1D6AA" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:51:30:E: "1D6C4" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:54:30:E: "1D6CA" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:55:30:E: "1D6CB" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:56:30:E: "1D6DE" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:57:30:E: "1D6B2" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:58:30:E: "1D6CC" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:59:30:E: "1D6CD" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:60:30:E: "1D6CE" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:61:30:E: "1D6C0" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:62:30:E: "1D6DA" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:63:30:E: "1D6BD" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:64:30:E: "1D6D7" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:65:30:E: "1D6DF" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:66:30:E: "1D6B7" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:67:30:E: "1D6D1" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:68:30:E: "1D6E1" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:69:30:E: "1D6BF" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:70:30:E: "1D6D9" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:71:30:E: "1D6D2" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:72:30:E: "1D6E0" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:73:30:E: "1D6BA" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:74:30:E: "1D6D4" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:75:30:E: "1D6D3" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:76:30:E: "1D6D5" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:77:30:E: "1D6AF" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:78:30:E: "1D6C9" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:79:30:E: "1D6DD" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:80:30:E: "1D6BC" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:81:30:E: "1D6D6" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:82:30:E: "1D6B5" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:83:30:E: "1D6CF" is not a character number in the document character set
openjade:/usr/share/sgml/docbook/xml-dtd-4.4/ent/isogrk4.ent:84:30:E: "1D6C7" is not a character number in the document character set  

不过现在好像没有这些提示了
这个是以前的,昨天也还有,今天没了,我似乎没作什么
我曾经发email问过原作者,他说他要想想再回复我,不过后来就没下文了

但现在还是有错误
不过这次错误信息比较明确
原来有的图片还没生成

Zhang Le

unread,
Apr 29, 2006, 7:16:00 AM4/29/06
to sz...@googlegroups.com
我生成了图片,试了一下,已经可以了
其实这里有一个问题,我之前没注意到,上封信也没说明白
原作者的Makefile写的有点问题
里面ProgrammingGroundUp.tex这个target的prerequisite里应该有index.xml
可以没写
本来我只是make draft或者make ProgrammingGroundUP.pdf
所以总是出错
现在如果没有index.xml而直接make draft的话,错误信息如下

$ make ProgrammingGroundUp.pdf
openjade -t tex -d programming.dsl#printdraft xml.dcl ProgrammingGroundUp.xml
openjade:ProgrammingGroundUp.xml:259:0:E: cannot find "index.xml"; tried " index.xml", "/usr/share/sgml/index.xml"
make: *** [ProgrammingGroundUp.tex] Error 1
这就比较明确了
本来除此之外还有"is not a character number in the document character set"这样的信息,很长一段,吸引了我的注意力,不过没找到解决的办法。今天这段信息神秘的消失了……

我是在make index.xml时发现提示缺少图片
我生成了图片之后
再make ProgrammingGroundUp.pdf就好了
这只是英文版

我刚刚尝试把IntroductionCh.xml里的第一个单词introduction改成"介绍"
然后在make就出错了
$ make
collateindex.pl -N >index.xml
openjade -t sgml -V html-index -V nochunks -d /usr/share/sgml/docbook/dsssl-stylesheets/html/docbook.dsl xml.dcl ProgrammingGroundUp.xml >/dev/null
openjade:IntroductionCh.xml:2:9:E: non SGML character number 139
openjade:IntroductionCh.xml:2:12:E: non SGML character number 141

any idea?

Ji YongGang

unread,
Apr 29, 2006, 9:18:02 AM4/29/06
to sz...@googlegroups.com
在 06-4-29,Zhang Le<robert....@gmail.com> 写道:
>
> 我刚刚尝试把IntroductionCh.xml里的第一个单词introduction改成"介绍"
> 然后在make就出错了
> $ make
> collateindex.pl -N >index.xml
> openjade -t sgml -V html-index -V nochunks -d
> /usr/share/sgml/docbook/dsssl-stylesheets/html/docbook.dsl
> xml.dcl ProgrammingGroundUp.xml >/dev/null
> openjade:IntroductionCh.xml:2:9:E: non SGML character number 139
> openjade:IntroductionCh.xml:2:12:E: non SGML character number 141
>
> any idea?
>

看样子像是字符编码的问题,我用 xml 和 xsl 时会加上 lang="zh_cn",然后文件存成 utf-8 编码。
等我也去试试 build 一下这本书 :)

-- jungle

Zhang Le

unread,
Apr 29, 2006, 11:44:59 AM4/29/06
to sz...@googlegroups.com
On 4/29/06, Ji YongGang <jung...@gmail.com> wrote:

看样子像是字符编码的问题,我用 xml 和 xsl 时会加上 lang="zh_cn",然后文件存成 utf-8 编码。
等我也去试试 build 一下这本书 :)

-- jungle
加在什么地方呢
我已经把我的source commit了
在translation/zh下面
现在的版本在我这里可以build成功
不过就是英文的,呵呵
没有一点翻译
还有我把之前放在ProgrammingGroundUp里的以前翻译的sxw版移动到translation/zh里了

Ji YongGang

unread,
Apr 29, 2006, 11:03:04 PM4/29/06
to sz...@googlegroups.com
在 06-4-29,Zhang Le<robert....@gmail.com> 写道:
> 我刚刚尝试把IntroductionCh.xml里的第一个单词introduction改成"介绍"
> 然后在make就出错了
> $ make
> collateindex.pl -N >index.xml
> openjade -t sgml -V html-index -V nochunks -d
> /usr/share/sgml/docbook/dsssl-stylesheets/html/docbook.dsl
> xml.dcl ProgrammingGroundUp.xml >/dev/null
> openjade:IntroductionCh.xml:2:9:E: non SGML character number 139
> openjade:IntroductionCh.xml:2:12:E: non SGML character number 141
>
> any idea?
>

我照你的做法把 Introduction 改成 "介绍",如果存成 UTF-8 就会遇到跟你同样的问题错误提示,如果改成
GB2312,就能顺利 build,当然中文在 pdf 里面中文是显示不出来的。需要再进行一些调整,附件是我以前写的一份中文解决方法。

至于为什么存成 UTF-8 出错,我再去看看 openjade 的文档。

-- jungle

jadetex.tgz

Ji YongGang

unread,
Apr 29, 2006, 11:35:27 PM4/29/06
to sz...@googlegroups.com
在 06-4-29,Zhang Le<robert....@gmail.com> 写道:
> On 4/29/06, Ji YongGang <jung...@gmail.com> wrote:
>
> >
> > 看样子像是字符编码的问题,我用 xml 和 xsl 时会加上 lang="zh_cn",然后文件存成 utf-8 编码。
> > 等我也去试试 build 一下这本书 :)
> >
> > -- jungle
> >
> 加在什么地方呢

我想起来了,加 lang="zh_cn" 跟编译没有关系,是用来替换 stylesheet 里面的一些 chapter, section
这类固定的文字,加上以后就会显示"章"、"节" 等等。

如果用 article,写成 <article lang="zh_cn"> 即可。

-- jungle

Zhang Le

unread,
Apr 30, 2006, 12:03:42 AM4/30/06
to sz...@googlegroups.com
哦是这样,多谢

Zhang Le

unread,
May 2, 2006, 2:59:24 AM5/2/06
to sz...@googlegroups.com
我按照你上个email里的附件试了试
不过总是出这个错误
! LaTeX Error: \usepackage before \documentclass.
怎么办?
jadetex和LaTeX是什么关系呢?

On 4/30/06, Ji YongGang < jung...@gmail.com> wrote:

Ji YongGang

unread,
May 2, 2006, 3:39:31 AM5/2/06
to sz...@googlegroups.com
在 06-5-2,Zhang Le<robert....@gmail.com> 写道:

> 我按照你上个email里的附件试了试
> 不过总是出这个错误
> ! LaTeX Error: \usepackage before \documentclass.
> 怎么办?
> jadetex和LaTeX是什么关系呢?
>

用 jadetex 转换的 docbook xml 应该是 TeX 文件,而不是 LaTeX。

你的 TeX 环境有没有设好?

我按那个方法可以生成 pdf 文件,参见抓图。

-- jungle

jadetex01.png
jadetex02.png

Zhang Le

unread,
May 2, 2006, 8:52:29 AM5/2/06
to sz...@googlegroups.com
现在基本搞定了
我看了这个
http://cle.linux.org.tw/forum/viewtopic.php?t=89
不过我的fmtutil.cnf里本来没有jadetex
我自己加上去的时候把engine搞错了
现在可以了
还差bookmark

Zhang Le

unread,
May 2, 2006, 8:58:48 AM5/2/06
to sz...@googlegroups.com
On 5/2/06, Zhang Le <robert....@gmail.com> wrote:
现在基本搞定了
我看了这个
http://cle.linux.org.tw/forum/viewtopic.php?t=89
不过我的fmtutil.cnf里本来没有jadetex
我自己加上去的时候把engine搞错了
现在可以了
还差bookmark

还有一点我之前确实没有配置好{CJK}{GBK}的环境
还有多亏大哥提醒,才注意到openjade生成的是tex
刚接触LaTeX,TeX还没见过长什么样
:P

Zhang Le

unread,
May 2, 2006, 1:58:17 PM5/2/06
to sz...@googlegroups.com
On 5/2/06, Zhang Le <robert....@gmail.com> wrote:
现在基本搞定了
我看了这个
http://cle.linux.org.tw/forum/viewtopic.php?t=89
不过我的fmtutil.cnf里本来没有jadetex
我自己加上去的时候把engine搞错了
现在可以了
还差bookmark

gentoo里装jadetex的时候没有装jadetex.ini
所以不能用fmtutil来重新生成jadetex.fmt
我直接改了ebuild,加了一个补丁

bookmark也搞定了
http://cle.linux.org.tw/forum/viewtopic.php?t=96


现在还有一个问题是图片大小
jadetex ProgrammingGroundUp.tex的时候,有提示说
! LaTeX Error: Cannot determine size of graphic in mailbox.png (no BoundingBox)
有时间再搞
pgu.jpg
Reply all
Reply to author
Forward
0 new messages