我们编写文章或书籍时,引用应当指出引用的出处。中华人民共和国国家标准(GB-T 7714-2005)《文后参考文献著录规则》给出了著录格式:
析出文献主要责任者. 析出文献题名[文献类型标志]. 析出文献其他责任者// 专著主要责任者. 专著题名: 其他题名信息. 版本项. 出版地:出版者,出版年:析出文献的页码[引用日期]. 获取和访问路径.
作为专业出版工具,DocBook提供了相应的标签。以下是DocBook 5.0中实现类似效果的结构:
<bibliodiv> <title>参考书籍</title> <bibliomixed xreflabel="GOF2002"> <authorgroup> <author> <personname> <firstname>Erich</firstname> <surname>Gamma, </surname> </personname> </author> <author> <personname> <firstname>Richard</firstname> <surname>Helm, </surname> </personname> </author> <author> <personname> <firstname>Ralph</firstname> <surname>Johnson, </surname> </personname> </author> <author> <personname> <firstname>John</firstname> <surname>Vlissides, 等. </surname> </personname> </author> </authorgroup> <title>Design Patterns : </title> <subtitle>Elements of Reusable Object-Oriented Software [M]. </subtitle> <edition>1st ed. </edition> <address>New Jersey : </address> <publishername>Pearson Education, Inc. </publishername> <pubdate>2002:</pubdate> <pagenums>153-155.</pagenums> </bibliomixed> </bibliodiv>
在网页中显示的效果如下:
[GOF2002] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 等. Design Patterns : Elements of Reusable Object-Oriented Software [M]. 1st ed. New Jersey : Pearson Education, Inc. 2002:153-155.
在bibliodiv下面,DocBook可用2种标签来表示一个条目。一个是biblioentry,另一个是本文中使用的bibliomixed。使用biblioentry,则由XSL转换器自动输出该条目下的内容的格式,包括标点符号,因此我们没有太多自主权。而使用bibliomixed,我们可以在子标签中自由使用相应的标点符号,XSL转换器如实地输出这些标点符号。因此,要最大化地如实遵从国标GB-T 7714-2005的规范,我们应当使用bibliomixed.
bibliomixed的xreflabel属性可生成引用的锚点,在HTML中,还可被XSL转换器默认地加上“[]”,从而表示被引用书籍的简写。<authorgroup>中包含了多位作者的姓名。除去最后一名作者,其surname全部以“, ”结尾,而最后一名作者则加上“, 等.”。
title及subtile可表示标题及副标题。由于国标GB-T 7714-2005要求在标题(如有副标题,则在副标题)之后加上“[文献类型标志]”的标志,而DocBook 5.0中没有相应的标签,因此,本文中将此标志放在subtitle之内。
edition表示版本号,只有第1版的,可以不包含此标签。作为例子,本文给出了第1版的表示方法。
需注意的地方在于“出版地:出版者,出版年”的规范。DocBook中,出版年可直接使用pubdate标签来表示,因此没有什么问题。而对于出版者及出版地址,可分别用publishername及address来表示。但一般情况下,根据DocBook的规范,publishername及address均置于publisher的标签中,且顺序不可改变。如下所示:
<publisher> <publishername>Pearson Education, Inc.</publishername> <address>New Jersey</address> </publisher>
因此如果使用publisher,则无法直接得到“出版地:出版者”的先后顺序的效果。但address及publishername可以直接置于bibliomixed标签之下,且顺序没有要求。因此,直接在bibliomixed标签下先后放置address, publishername及pubdate,就可符合国标GB-T 7714-2005的相应规范。
pagenums可恰当地表示引用页码,此项可以不写。