您可以使用`xrefstyle`文档属性自定义自动交叉引用文本的样式。这种自定义将DocBook工具链中的交叉引用文本格式化带到AsciiDoc处理中,特别是在转换期间。
Caution
|
由于这是AsciiDoc语言的一个较新特性,它可能不被所有转换器支持。你可以在Asciidoctor的HTML、PDF和EPUB 3转换器中找到对它的支持。DocBook转换器不支持它,因为这是DocBook工具链已经提供的一个特性。 |
默认样式
默认情况下,交叉引用文本与被引用元素的标题相匹配。例如,如果你链接到一个标题为“Installation”的部分,交叉引用链接的文本显示为:
安装
如果在被引用元素上指定了reftext属性,那么这个值比它的标题更受青睐。例如,假设前面示例中的章节是这样写的:
[reftext="Installation Procedure"]
=== 安装
在这种情况下,交叉引用链接的文本显示为:
安装程序
属性引用在解析期间会替换为reftext,并且在转换时使用时,会对值应用reftext替换(特殊字符、引号和替换)。
如果没有指定reftext,则交叉引用的文本会自动生成。默认情况下,这个文本是引用的标题。
交叉参考样式
跨引用生成的文本由xrefstyle控制。它也会因不同的元素类型(比如章节、图形等)而有所不同。我们来看以下文档,了解xrefstyle的值是如何影响跨引用生成文本的。
== 安装 .Big Cats image::big-cats.png[]
xrefstyle文档属性支持三种内置样式,您可以从中选择一种来自定义交叉引用生成的文本。
- 全参考样式
-
使用指示符和引用编号,然后是加强的(章节或附录)或包含在引号中的标题(例如,第2.3节,“安装”)(例如,图1,“大型猫科动物”)。
- xrefstyle: short
-
使用标志符和其后的参考编号(例如,第2.3节)(例如,图1)。
- :xrefstyle: basic
-
仅使用标题,如果引用是章节或附录(例如,安装)(例如,大型猫科动物),则只应用强调。
xrefstyle`属性也可以直接在xref宏`xref macro上指定,以便覆盖单个引用的xrefstyle值(例如,
+[installation]+`)。元素属性支持相同的三种样式。
xrefstyle格式仅适用于同时拥有标题和编号(或明确的标题文字)但没有明确的引用文字的引用。如果所引用的是章节或附录,标题将以斜体显示,而不是引号(即使xrefstyle设置为basic)。
假设你想引用一个标题为“安装”的部分,其编号为2.3。*完整*样式显示为:
第2.3节,“安装”
短 样式显示为:
第2.3节
基础样式显示为:
安装
'''完整 和 简短 样式只适用于有标题的引用。具体来说,必须为目标的块类型设置相应的 <context>-caption
属性(例如,对列表块是 listing-caption
,对示例块是`example-caption`,对表格是 table-caption
等)。否则,将使用 基本 样式。'''
参考标识符
您可以使用文档属性来自定义放置在参考编号前面的标志符号。这个[.term]*参考标志符*表示参考的类型(例如,章节或部分)。
-
chapter-refsig` — 定义用于交叉引用章节时使用的标识符(默认值:Chapter)
-
section-refsig``` — 定义用于交叉引用一个章节的标识符(默认:Section)
-
appendix-refsig` — 定义用于交叉引用附录的标识符(默认值:Appendix)
(一旦支持零件编号,将引入用于零件交叉引用的标识符属性。)
例如,要自定义单词“Section”,在文档头部定义`section-refsig`属性。
:section-refsig: 节。
完整的xrefstyle将会显示为:
第2.3节,“安装”
短 xrefstyle将会显示为:
第2.3节
如果您取消设置该属性,标识符将从交叉引用文本中删除。例如:
:!section-refsig:
在这种情况下,完整的 xrefstyle仅会显示编号和标题:
2.3,“安装”
短 xrefstyle将回退到仅数字:
2.3 ===
基本的xrefstyle不受标志符值影响。
只提供了上述的样式作为默认支持。自定义格式字符串的支持已被计划中。详情请参考https://github.com/asciidoctor/asciidoctor/issues/2212[#2212^]。在此之前,你可以通过自定义转换器或重写节点上的xreftext方法来实现自定义格式。