我该如何在asciidoctor-pdf中使用自定义样式(字号、字体颜色等)?我已经阅读了主题指南,并尝试在xxx-theme.yml中添加设置,但都没有成功。此外,在我的pdf示例中,标记样式(用#标记)也无法正常工作。
我该如何在asciidoctor-pdf中使用自定义样式(字号、字体颜色等)?我已经阅读了主题指南,并尝试在xxx-theme.yml中添加设置,但都没有成功。此外,在我的pdf示例中,标记样式(用#标记)也无法正常工作。
您需要创建自己的YAML主题,然后使用pdf-style
选项,如下所示:
$ asciidoctor-pdf src/main.adoc -a pdf-style=themes/my-theme.yml
这里有文档。
如果您想要获得类似于导出到html或epub3时的结果,那么使用自定义样式是必需的,因为默认主题不会映射asciidoc中的默认(css/html)样式。
创建一个带有“-theme.yml”后缀的文件,例如“my-theme.yml”
然后插入:
extends: default
role:
red:
font-color: #c5000c
maroon:
font-color: #4f2400
green:
font-color: #366251
navy:
font-color: #4974a5
在这个yaml文件中引用所有颜色名称及其相应的编码(此示例中的编码不是精确的),并像这样在您的*.adoc文件中使用[.green]#SomeTextThatSouldLookGreen#
。
(在此示例主题中,我使用role以简化操作,但其他方法也可能适合您的需求,请参见theming-guide,该指南从自定义字体的说明开始)
然后可以通过命令行选项调用它:
asciidoctor-pdf src/main.adoc -a pdf-style=themes/my-theme.yml asciidoctor-pdf src/main.adoc -a pdf-stylesdir=./themes -a pdf-style=my
或者通过在源*.adoc文件中插入以下特定标记来调用它:
:pdf-theme: themes/pdf-theme.yml
xxx-theme.yml
,可以参考asciidoctor-pdf-with-theme-example项目。它会生成两个PDF文件(一个使用yml文件进行样式设置,另一个使用默认的PDF样式)。这样的asciidoc自定义样式无法工作。 在HTML中添加一个css:
.mySuperStyle {
font-size: 32px;
}可以解决问题,但是在custom-theme.yml中添加
mySuperStyle:
font_color: #FF8000
font_size: 32
font_style: italic`
没有效果。我已经尝试修复此问题,并且我认为我有一个解决方案 - 正如@LightGuard建议的那样,我将创建一个问题并添加我的代码建议。 - Rene