「asciidoctor-pdf」においてスタイルファイル( テーマファイル)は、フォント種・フォントサイズ・フォントタイプ・行間・ページのマージン・フッターやヘッダーなどを設定できます。ファイルはYAML形式です。
スタイルファイルの使い方
デフォルトのスタイルファイル 「default-theme.yml」をベースにして作成するのが良いと思います。「default-theme.yml」は、「asciidoctor-pdf」ライブラリのフォルダ下の「\data\themes」にあります。
「default-theme.yml」をベースにして作成する場合は、ファイルの先頭で以下のように指示してください。
extends: default
もしくは、
extends: default-theme.yml
作成するスタイルファイル名が「my-theme.yml」だった場合、AsciiDoc形式のファイルの属性(Attribute)で以下のように記述すれば設定が反映されます。
:pdf-themesdir: ./
:pdf-theme: my-theme.yml
スタイルファイルを理解するためのポイント
「asciidoctor-pdf」のスタイルファイルは、CSSなどの概念を取り入れています。CSSを知っている方には何となく馴染みのある記述になっています。
基本的な「asciidoctor-pdf」のymlファイルの例の一部を以下にあげます。
page:
layout: portrait
margin: [0.75in, 1in, 0.75in, 1in]
size: Letter
base:
font_color: #333333
font_family: Times-Roman
font_size: 12
line_height_length: 17
line_height: $base_line_height_length / $base_font_size
"base"の"font-size(サイズ)"と"font-color(色)"を設定したいとしましょう。
base_font_color: #333333
base_font_size: 12
と書くことができます。この記述は以下のように階層的に書くことができます。上の例の書き方です。
base:
font_color: #333333
font_size: 12
さらに、以下のように書くこともできます。
base:
font:
color: #333333
size: 12
また、すでに設定された特性を使いたいときには、以下のように$
をつけます。
heading:
align: left
font_family: $base_font_family
また、値が与えられていない時は、親の値が継承されます。
これらの法則が分かっていれば、ymlファイルを読む手がかりになると思います。
あとは、「Theming」と「Theme Keys Reference」を見れば、記述方法が分かってくると思います。Chrome系のブラウザを利用している場合は、翻訳機能を使えば理解が進むと思います。
サンプル
こちらにスタイルファイルと属性を使ったサンプルをおいておきます。
サンプルは「convert_pdf.bat」を実行すると簡単にPDFにすることができます。「Visual Studio CodeからPDFを出力する」の方法で比較的簡単に編集、プレビュー表示、PDF変換ができます。
「懐源ゴシック」がインストールされていることを前提としたサンプルですので注意してください。「懐源ゴシック」のインストールについては、「asciidoctor-pdfによるPDF出力(フォント)」を参考にしてください。
フォントについて
こちらを一読しておくことをお勧めします。
フォントセットに文字が見当たらない時は、単に「not」グリフ(¬)に置き換えられる場合があることを覚えておくと、PDFの表示がおかしくなった時の原因追及の一助になるかもしれません。