インライン命令って何だ(Re:VIEWに挑戦⑫)

Re:VIEWに挑戦する連載の12回目です。前回の記事はこちらになります。

hirocom777.hatenadiary.org

まだあるブロック命令

前回は、ブロック命令を使ってリード文、囲み記事、表、ソースリストなどの表記を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フォーマットの書き方をご紹介していませんでした。簡単ですし以下にも説明があるのですが、一応ご紹介しようと思います。お楽しみに!!

hirocom777.hatenadiary.org

Re:VIEWの連載記事はコチラからどうぞ