此贴已放弃更新,所有内容均已移至:
Docbook开发手记
集中整理出一些教程,帖子等,方便查找:
【关于对于Docbook的介绍和解释方面的资料】
1. Docbook的HelloWord
特点:入门参考经典资料
算是在Docbook的中文方面,最早的,解释的最全的资料了。
算是入门经典参考资料。
特点:中文,解释的很清晰易懂.
3. Docbook简介 by 熊 伟 (!!!注意:此网站会被赛门铁克检测出病毒)
特点:内容不多,但是解释的深入浅出
【关于对于Docbook的开发过程中可以参考和查阅的资料】
1. DocBook XSL: The Complete Guide – Fourth Edition – by Bob Stayton
特点:最权威解释的。
关于docbook的最权威的,官网的教程。
有任何问题,上去找,一般都可以找到答案或参考。
2. DocBook XSL Stylesheets: Reference Documentation
特点:参数大全
关于各种输出格式,HTML,FO(PDF),manpage,website等等的参数方面,有哪些参数,具体如何配置,都可以去这里找到。
特点:(除了本身教程写的好之外,)docbook的xml源码可下载供参考
关于C编程的概念和知识,解释的很透彻,值得一看。
除了教程写的很有价值,其还把docbook的xml源码也公开了,可下载做参考。
相应html也可打包下载。
所以很适合,最开始写docbook源码的时候,做为参考代码。
4. DocBook 5: The Definitive Guide by Norman Walsh
特点:Norman Walsh写的,最权威的关于docbook5的参考资料
放在后面介绍,并不 代表不重要。只是因为是英文写的,不适合做入门资料。
适合当参考书,有需要的时候去找相关内容再细看。
5. DocBook 5 快速起步教程 by tanghw
特点:入门的参考教程
解释的很详细,适合入门者。东西解释的够全,很多知识点都值得参考参考。
只不过其搭建环境是Mac,不是很多人常用的Windows。
特点:部分内容可做参考
台湾人写的。解释的比较详细。等遇到相关知识,也许可以做参考。
7. DocBook – Tutorial by Lars Vogel
简单介绍了如何写docbook,其中有关于用Eclipse平台的方法。
8.这里一张图片,就总结了,关于Docbook的各种方法,生成各种格式的文件:
Full Docbook SGML/XML Publishing Model
9.这里有份中文的docbook的教程,写的还不错,有空可以参考参考:
DOCBOOK编译环境参考手册 by 廖佳亮
【其他的关于Docbook的一些细节方面的参考资料】
1.关于Docbook中Table的一些资料。
尤其是DocBook的表格CALS和HTML的表格的比较,很值得看看:
Comparison of CALS and HTML tables
其中,也有关于表格中列的宽度的介绍:
2.关于如何添加新的字体
之前别的教程中,最开始部分介绍的关于添加字体的内容,估计就是参考官网的这部分的解释:
Chapter 13. Print customizations – Adding a font
3.关于在生成对应的HTML或者pdf的时候,需要安装自己的需要,配置输出的效果。
主要分两种方法,一种是写对应的xsl配置内容,放到自己的xsl文件中去。
另外一种就是使用相应的参数控制。
对应的这些参数有哪些,以及具体含义,在这里可以找到(注:此处是用的xsl是docbook-xsl-ns-1.76.1):
DocBook XSL Stylesheets: Reference Documentation
(也可以下载其pdf版本,留着当做参考书)
其中,
对于HTML的参数都在这里:
对于(用fo生成的)PDF的参数控制,都在这里:
关于如何使用这些参数,可以参考一些相关的帖子:
ulink.show:【已解决】去掉docbook中输出的pdf中,除了带链接的文字之外的那个链接地址
fop1.extensions: 【已解决】Docbook的pdf,去除正文对于标题的缩进indent + 【顺带实现】给docbook的pdf添加bookmark书签的功能
4.想要给pdf添加书签bookmark,以及支持更多种图片的话。
那么可以在使用xsltproc的时候,添加对应的参数即可。
对于使用fop的话:
如果是用的0.20.5或更早的版本,参考这里:Processor Extensions – fop.extensions,添加这个参数:
--stringparam fop.extensions 1
如果是用的0.90及更新的版本,参考这里:Processor Extensions – fop1.extensions,添加这个参数:
--stringparam fop1.extensions 1
我现在所用的fop是1.0的,所以用的是fop1.extensions。
5.默认pdf中没有revhistory和releaseinfo
在mailing list中看到别人在2005年的时候,就讨论到此问题,默认pdf中没有releaseinfo:
<releaseinfo> missing from fo book titlepage template?
而相关的开发人员Michael Smith也回复说,以后会添加此功能,结果我现在2012年了,用的fop 1.0 + docbook-xsl-ns-1.76.1,其中默认配置所输出的pdf中,也还是没把releaseinfo添加进来的。
而同样的问题,也出现在revhistory,默认输出的pdf中,是没有的。而默认输出的HTML中就有。
对此问题,即便是为了官网在解释如何定制化titlepage的教程中,把revhistory当做例子来解释,但是如此常用的功能,也应该在pdf输出中,像HTML输出一样,把其加入进来,否则对于多数使用者,在源码中写了revhistory和releaseinfo,结果输出的HTML中有,PDF中却没有,肯定会造成现在所已经出现的问题,就是大家都以为这个问题是个bug,所以google也能搜到一堆这类问题。
而具体如何解决此问题,不了解的可以参考我的:
【已解决】docbook中pdf中没有出现/显示revhistory所对应的历史版本
6.参数配置,可以通过传递–stringparam给xsltproc,也可以通过xsl:param写入到自己的xsl配置文件中
折腾其他参数的过程中,无意间看到:
使用FOP将中文DocBook xml转换成pdf的实现记录
中是将参数写成这样的:
<xsl:param name=”body.font.family”>simsun</xsl:param> <xsl:param name=”monospace.font.family”>simsun</xsl:param> <xsl:param name=”title.font.family”>simhei</xsl:param> <xsl:param name=”saxon.character.representation” select=”‘native’”/> <xsl:param name=”admon.graphics” select=”1″/> <xsl:param name=”section.autolabel” select=”1″/> <xsl:param name=”section.label.includes.component.label” select=”1″/> <xsl:param name=”table.borders.with.css” select=”1″/> <xsl:param name=”use.extensions” select=”1″/> <xsl:param name=”tablecolumns.extension” select=”0″/> <xsl:param name=”callout.unicode” select=”1″/> <xsl:param name=”callout.unicode.start.character” select=”10102″></xsl:param> <xsl:param name=”variablelist.as.blocks” select=”1″></xsl:param> <xsl:param name=”callout.graphics” select=”0″/> <xsl:param name=”fop.extensions” select=”1″/> <xsl:param name=”hyphenate”>false</xsl:param> <xsl:param name=”l10n.gentext.default.language” select=”‘zh’”/> <xsl:param name=”paper.type” select=”‘A4′”/> <xsl:param name=”draft.mode” select=”‘no’”/> <xsl:param name=”generate.toc”>
而与此相对,我之前都是写到–stringparam中的,所以,将原先的命令:
xsltproc.exe --stringparam section.autolabel 1 --stringparam section.label.includes.component.label 1 --stringparam bibliography.numbered 1 --stringparam ulink.show 1 --stringparam ulink.footnotes 1 --stringparam table.cell.border.color green --stringparam table.frame.border.thickness 2pt --stringparam fop1.extensions 1 --stringparam body.start.indent 0pt --xinclude -o ../output/fo/MPEG_VBR.fo /home/CLi/develop/docbook/config/docbook-xsl-ns-1.76.1/fo/docbook_crl.xsl MPEG_VBR.xml
转化为:
xsltproc.exe --xinclude -o ../output/fo/MPEG_VBR.fo /home/CLi/develop/docbook/config/docbook-xsl-ns-1.76.1/fo/docbook_crl.xsl MPEG_VBR.xml
加上docbook_crl.xsl中的:
<xsl:param name="admon.graphics" select="1"/> <xsl:param name="section.autolabel" select="1"/> <xsl:param name="section.label.includes.component.label" select="1"/> <xsl:param name="bibliography.numbered" select="1"/> <xsl:param name="ulink.show" select="1"/> <xsl:param name="ulink.footnotes" select="1"/> <xsl:param name="table.cell.border.color">green</xsl:param> <xsl:param name="table.frame.border.thickness">2pt</xsl:param> <xsl:param name="fop1.extensions">1</xsl:param> <xsl:param name="body.start.indent">0pt</xsl:param>
这样,每次就不用输入那么多的配置参数了。
而需要额外的参数配置,也就都可以写到xsl文件中了。
此时,也才理解,原来
DocBook XSL Stylesheets: Reference Documentation
中的HTML和FO(PDF)的那么多参数,每个都有个语法解释,比如:
中的:
<xsl:param name=”table.cell.border.color”></xsl:param> |
指的就是,将此配置,写入到xsl文件中。而之前一直都不知道,都傻傻地加入到xsltproc的参数中去了。
7.对于catalog相关的知识,这一章有详细介绍:
Part I. Setting up the tools – Chapter 5. XML catalogs
包括xsltproc中如何使用catalog的内容:
8.关于pdf实现一定输入效果,会涉及到xsl文件参数配置。
这里:Docbook Stylsheet Customisation
列出了常见的一些配置参数,包括:章节编号的深度控制,给tip和warning加图片,给programlisting加背景色等。
转载请注明:在路上 » 【整理】Docbook相关的不错的有价值的参考资料