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::
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
と書くと、表紙はしおりにふくまれないようになる。