20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

asciidoctor-fopubで生成されるPDFの"Table of Contents"などを日本語化する

Posted at

はじめに

以前asciidoctorで日本語の本文とPlantUMLのクラス図が入った文書をPDFに変換してみた - Qiita
日本語の本文をPDF化する方法についてで書いた方法で本文では日本語が使えるようになりますが、自動生成される目次のタイトルは"Table of Contents"、図目次のタイトルは"List of Figures"のように英語になっていました。

asciidoctor/asciidoctor-fopubはプロジェクトの説明に

A portable DocBook-to-PDF build command that wraps DocBook XSL and Apache FOP

とあるとおり、バックエンドにDocBook XSLとApache FOPを使用しています。

XSLTスタイルシートのカスタマイズで日本語化可能

fopub option flagsの説明を見ると -t オプションでXSLTスタイルシートを含むディレクトリを指定してスタイルシートを切り替えることができることが分かります。

asciidoctor-fopub には src/dist/docbook-xsl ディレクトリに標準のXSLTスタイルシートがバンドルされていますので、これをコピーして改変します。 fo-pdf.xsl というのがメインのファイルのようです。

ググっているとThe DocBook ProjectのDocBook releasesのdocbok-xslcommon/ja.xmlというファイルがあるのを見つけました。

あとは https://github.com/hnakamur/asciidoctor-fopub/commit/adad976219f2ee1170932597843114c19930a0c9 のように ja.xml ファイルを追加し fo-pdf.xsl

<xsl:import href="ja.xml"/> という行を追加して ja.xml を読み込むようにすればOKです。

生成したPDFの例

asciidoctor-fopub-japanization.png

20
19
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?