Re:VIEWに挑戦する連載の12回目です。前回の記事はこちらになります。
まだあるブロック命令
前回は、ブロック命令を使ってリード文、囲み記事、表、ソースリストなどの表記をPDFファイルに挿入してみました。本の記述によく使われる表記方法が簡単に実現できるんですね。
でも、ブロック命令はこれだけではありません。今回も引き続きブロック命令を取り上げていきます。そして併せてインライン命令もご紹介します。
インライン命令
インライン命令は段落、文字列内の一部に対して装飾などの処理を行います。インライン命令の書式は以下の通りです。
@<命令>{対象の内容}
それではインライン命令の使用例をご紹介します。
参照先の指定
インライン命令を使用すると、文中に参照先の表やソースリストを表記できます。前回ご紹介した表やソースリストを表示するブロック命令には、オプションの1番目に識別子という文字列を記述しました。その識別子を使用して参照します。
表を参照する場合は
@<table>{識別子}
ソースリストを参照する場合は
@<list>{識別子}
となります。 また、前々回ご紹介した図を表示するブロック命令の最初のオプション(画像ファイル名)を識別子として使えます。この場合
@<img>{識別子}
となります。
章自体を参照する場合は章ID(各章のファイル名から拡張子を除い地もの)で指定します。
@<chap>{章ID}
で章番号
@<title>{章ID}
でタイトル
@<chapref>{章ID}
で章番号とタイトルに変換されます。章IDは、別の章にある表、ソースリスト、図を指定する場合にも使用します。この場合、以下の様に記述します。
@<命令>{章ID|識別子}
注記
インライン命令で注記を指定できます。脚注(本文の下の方につける注記)を入れる場合には、以下の様に記述すると本文中では脚注番号に置換されます。
@<fn>{識別子}
脚注の表記は、別の行に以下のブロック命令で内容を指定します。
//footnote[識別子][脚注内容]
また、後注(章の最後などに入れる注記)の指定も可能です。以下の様に記述すると本文中では後注番号に置換されます。
@<endnote>{識別子}
後注の内容は、別の行に以下のブロック命令を記述すると内部に保存されます。
//endnote[識別子][脚注内容]
実際の表記は、書き出したい場所に以下のブロック命令を記述します。
//printendnotes
実際に表示してみる
それでは実際にこれらのインライン命令を使ったPDFファイルを作ってみましょう。前回のファイル(chap01.re)の内容はそのままにして、新しいファイル(chap02.re)を作ります。内容は以下になります。
= インライン命令テスト //lead{ 本章ではインライン命令をご紹介します。 //} == 表を参照する 表の表示例は@<table>{chap01|tabletest}です == ソースリストを参照する ソースリストの表示例は@<list>{chap01|setup}です == 図を参照する 図の表示例は@<img>{chap01|23384198_s} == 章を参照する ブロックリストの使用例は@<chapref>{chap01}です == 注脚 Re:VIEWの情報は@<fn>{site1}を参考にしてください。 //footnote[site1][Re:VIEWに挑戦:https://hirocom777.hatenadiary.org/ ] == 後注 Re:VIEWの情報は@<endnote>{site}を参考にしてください。 //endnote[site][本書のサポートサイト: https://hirocom777.hatenadiary.org/ ] ==== 注釈 //printendnotes
catalog.ymlには追加したファイルを追記します。config.ymlも前回と同じ(ファイル名と日付だけ変えておきます)です。Docker Desktopを立ち上げて、Windows Terminalで以下を入力して実行します。
docker-compose run --rm review rake pdf
すると、ファイルReVIEW_CHALLENGE_12.pdfができ上りました。図や表などの参照や注記などが実現できてます!! 今回のファイルは以下からダウンロードできます。興味のある人は実際に開いて確認してみてください。
ReVIEW_CHALLENGE_12.pdf - Google ドライブ
次回はRe:VIEWフォーマット
いかがでしたか?インライン命令を使えばさらに色々な表現が可能になりますね。さて、ここまで来たのですが肝心のRe:VIEWフォーマットの書き方をご紹介していませんでした。簡単ですし以下にも説明があるのですが、一応ご紹介しようと思います。お楽しみに!!