AsciiDoc 对参考文献有基础支持。AsciiDoc 不关注参考文献条目本身的结构,这是完全自由形式的。它所做的是提供一种方法,使得可以从同一文档中引用这些条目,并以适合其他工具链(如 DocBook)处理的适当语义输出参考文献。

参考文献部分语法

为了符合输出格式,参考文献必须是独立的部分。该部分必须被指定为“bibliography”节样式。通过给节添加“bibliography”样式,你隐式地将它应用到该节中的每一个无序列表。

参考文献部分被定义为一级标题(==)的情况是:

  • 文档类型是 `article

  • 文档类型是`book`,而且这本书不包含任何章节。

  • 参考文献是其中的一部分。

[bibliography]
== 参考书目

如果这本书有几个部分,并且整本书都有参考文献,那么这一部分被定义为0级部分(=)。

[bibliography]
= 参考书目

参考文献条目语法

参考书目条目被声明为无序列表中的项。

参考文献目录
Unresolved directive in bibliography.adoc - include::example$bibliography.adoc[tag=base]

为了引用一个参考文献条目,你需要给条目分配一个_非数字_的标签。为了分配这个标签,需要在条目前加上用三重方括号括起来的标签(例如,[[[标签]]])。我们称这为参考文献锚点。使用这个标签,你可以在同一文件的参考文献上方的任何地方使用普通交叉参考语法来引用该条目(例如,<<标签>>)。

Unresolved directive in bibliography.adoc - include::example$bibliography.adoc[tag=base]

Tip
要在文本中的任何位置转义参考文献锚点,请使用语法 [[[word]]]。这可以防止锚点被匹配为参考文献锚点或普通锚点。

默认情况下,参考文献的锚点和对参考文献条目的引用将转换为`[<label>],其中<label>是条目的ID。如果你在参考文献锚点上指定了xreftext(例如,+[]+),那么参考文献的锚点和对参考文献条目的引用将转换为[<xreftext>]`。

如果你希望参考文献的锚点和引用显示为数字,请使用xreftext为条目指定编号。例如,[[[label,1]]] 会被转换为 [1]

如果您需要自动编号和自定义引用样式等更高级的功能,请尝试https://github.com/asciidoctor/asciidoctor-bibtex[asciidoctor-bibtex^]项目。