0

我需要在使用 Asciidoctor-toPDF 生成的 PDF 文件的页面标题中添加章节标题。这是我在文档开头使用的一组属性:

= Book title
:notitle:
:toc: left
:toclevels: 8 
:sectnums:
:sectnumlevels: 8
:source-highlighter: coderay 
:icons: font
:chapter-label:
:header_recto_content_center: '{section-title}'

是否有我遗漏的属性或与标题生成冲突的属性?

4

1 回答 1

0

存在一些与主题相关的属性。但header不幸的是不是其中之一。

因此,要设置 PDF 标题的样式,必须使用 YAML 格式的自定义样式。

风格

对于此示例,该文件被命名style.yml并放置在我们的工作目录中。

extends: default   #1

header:
  height: 15mm     #2
  recto: &header   #3
    center-content: '-- {section-or-chapter-title} --' #4
  verso: *header   #5
  1. 使用您的自定义代码扩展默认asciidoctor-pdf主题。
  2. 定义表头高度,否则内容不显示;这里也解释
  3. recto.
  4. 使用{section-or-chapter-title}说明并在帖子末尾显示。
  5. 参考来自 的内容&header。简而言之, makeverso的行为与recto.

文档

adoc 文件的内容如下图所示。该文件被恰当地命名book.adoc并放置在与style.yml.

= Book title
:notitle:
:toc: left
:toclevels: 8 
:sectnums:
:sectnumlevels: 8
:source-highlighter: coderay 
:icons: font
:chapter-label:

== Chapter One

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
voluptua.

== Chapter Two

=== Section One

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
voluptua.

转换

PDF 转换是使用pdf-stylesdirpdf-style属性完成的。

asciidoctor-pdf -a pdf-stylesdir=. -a pdf-style=style.yml -d book book.adoc

结果

第一章看起来如屏幕截图所示。由于没有节标题,因此该章用于填充标题。

在此处输入图像描述

定义了章节和章节的第二章在标题中显示章节标题。

在此处输入图像描述

于 2020-12-21T22:15:23.877 回答