asciidoctor-nabetani
An assortment of things I needed to make a Japanese PDF document with asciidoctor.
Installation
Add this line to your application's Gemfile:
gem 'asciidoctor-nabetani'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install asciidoctor-nabetani
Usage
Create PDF from AsciiDoc file with this library like following:
$ asciidoctor-pdf -r asciidoctor/nabetani foobar.adoc -o foobar.pdf
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/nabetani/asciidoctor-nabetani.
Special Thanks
This project is inspired by asciidoctor-pdf-linewrap-ja
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Asciidoctor::Nabetani project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.
What is this
突然日本語ですいません。
AsciiDoctor で PDF を作るときに困っていたことをなんとかしたライブラリ。
禁則処理の改善
prawn の禁則処理を本ライブラリの処理で差し替えることで、禁則処理を改善する。
クロスリファレンス
AsciiDoc のクロスリファレンスで
従来は
形式名 | PDF上の出力例 |
---|---|
full | Section 2.1, “セクション名” |
short | Section 2.1 |
basic | セクション名 |
の三択だった。 |
これを
:xrefstyle: custom
:xrefcustomformat: [$SECT_NUMS$]. [$TITLE$]
などと指定することで、PDF上で
2.1. セクション名
とすることができるようにする。
記号 | 意味 |
---|---|
[$SECT_NUMS$] | セクション番号をピリオドでつないだもの。2.1 など |
[$TITLE$] | セクション名 |
※ 上記以外はそのまま出力される。
horizontal な定義リスト
horizontal な定義リストで
[horizontal, margin-left=20, margin-bottom=10]
Foo:: bar
Baz Qux:: quux corge
のように指定することで、左マージンと下マージンを指定することができる。 指定する数字の単位は PDF point だと思う。
PDF のプロパティ
PDF のファイル情報の「概要」欄の項目を adoc ファイル内に
// タイトルを「PDF Title」にする
:pdf_title: PDF Title
のように書くことで、個別に指定できる。
指定可能な項目は下表の通り:
アトリビュート名 | Acrobat Reader の「概要」欄の日本語名 | 例 |
---|---|---|
pdf_title | タイトル | Starfish Wars |
pdf_author | 作成者 | 鍋谷武典 |
pdf_subject | サブタイトル | ビピンナリアの復讐 |
pdf_keywords | キーワード | ヒトデ 棘皮動物 Starfish |
pdf_producer | PDF変換 | Acrobat Distiller |
pdf_creator | アプリケーション | FrameMaker 6.0 |
PDF のしおり(outline)
テーマの yaml に
bookmark:
include-title-page: false
と書くと、表紙はしおりにふくまれないようになる。