Parts只能在文档类型为`book`时使用。至少存在一个部分意味着该文档是多部分组成的书籍。(没有专门的`doctype`来区分多部分书籍和只有章节的书)。

部件的解剖

一部分是0级节。一个部分必须至少包含一个1级节。第一部分是文档标题之后的第一个0级节。像文档标题一样,一个部分由0级节标题(=)指定。

Unresolved directive in parts.adoc - include::example$part.adoc[tag=basic]

...

一个部分可以有一个可选的引言部分(类似于文档的序文),被称为部分介绍。部分介绍是部分标题和该部第一节之间的内容。可以通过在段落或开放块中显式使用 partintro 样式来标记部分介绍。

AsciiDoc 提供了文档属性以控制 编号和标记部分

部分介绍

部分标题与该部分的第一部分之间的内容是部分引言。通常,部分引言是推断出来的,如此处所示:

Unresolved directive in parts.adoc - include::example$part.adoc[tags=**;!style]

您可以通过在第一节之前唯一的块上添加`partintro`样式,明确标记部分简介。

Unresolved directive in parts.adoc - include::example$part.adoc[tags=**]

特殊部分的专区

一个部分可以有自己的前言参考文献术语表索引

Unresolved directive in parts.adoc - include::example$part-with-special-sections.adoc[]

特殊章节也可以直接与书本关联,就像是部分的兄弟姐妹一样。因为在前面的例子中,书的前言出现在第一部分之前,如果你愿意,你可以把它写成一级章节。

序言
== 书的前言

这是整本书的前言。

=== 前言小节

龙猫统治世界。

阅读下去以了解如何将特殊部分作为路径兄弟使用。

特殊节作为一级兄弟节

在一本多部分组成的书中,各部分占据层级结构的顶层。如果你想在多部分组成的书中定义一个位于第一层级的特殊章节,并且该章节跟随在某部分之后,它将成为该部分的子章节。如果你希望特殊章节属于整本书,作为各部分的同级章节,那么它也必须在顶层定义。

AsciiDoc语法允许在多部分书籍中使用级别0节标题(即,=)定义特殊章节。当文档被解析时,特殊章节在模型中的级别将自动调整为级别1节。尽管有这个级别变化,特殊章节在层次结构中仍然是各部分的同级。偏移的一个级别(级别0而不是级别1)仅仅是对解析器的一个提示,使特殊章节成为各部分的同级。

你可以在下面的例子中看到这种语法用于附录。

= 多部分书籍
:doctype: book

= 章节标题

== 章节标题

附录
= 附录标题

为了保持一致性,如果特殊章节出现在第一部分之前,最好也将它们视为与部分相似的结构。然而,从技术上讲,语法并不要求这样做。

= 多部分书籍
:doctype: book

序言
= 书的前言

= 章节标题

== 章节标题

如果特殊章节支持嵌套章节,那么下一个级别必须是第二级别(即`===`),因为特殊章节本身就是第一级别。这里有一个多部分组成的书籍的例子,在部分之前有一个特殊章节,在部分之后有一个包含小节的特殊章节。

Unresolved directive in parts.adoc - include::example$multipart-book-with-special-sections.adoc[]

当你转换这个文档时,请注意,特殊部分是目录中部分的同级。

分部书籍的目录与特别章节

请注意,特殊部分的子部分只比父部分低一个层级,而不是两个层级。