とりあえず、何はともあれRe:VIEWに触ってみましょう。
本章ではRe:VIEW環境の構築とビルドの仕方、ファイル構成などを簡単に解説します。
通常、Re:VIEWを実行するにはRubyの実行環境が必要です。またPDFファイルを生成するにはTeX環境の設定も必要となります。
しかしこのあたりは面倒でハマりやすい部分です。そこで、今回はDocker*1を使用して仮想コンテナ内でRe:VIEWを実行することにしましょう。
[*1] https://www.docker.com/
Dockerが未インストールの場合、公式サイトを参照してインストールしてください。メニューのGet Dockerから環境に合わせたインストールバイナリを使用すれば簡単にインストールできるはずです。
Dockerが正しく動いているかの確認が必要な場合、docker run hello-world
をコンソールから入力してください。以下のような表示が出ていれば、Dockerが正常に起動しています。
$ docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly.
Dockerの動作が確認できたらRe:VIEWの環境を構築していきましょう。こちらも1から作るのは面倒なので、著者の用意したボイラープレート*2を利用することにします。
[*2] https://github.com/kokuyouwind/review-scaffold
ボイラープレートの取得にはGitを使用します*3。環境を構築したいディレクトリで、以下のコマンドを打ち込んでください。ディレクトリ名はyour_book
になるので、好きな識別子に変更しても構いません。
[*3] もしGitがインストールされていない場合はZipで取得することも可能ですが、原稿のバージョン管理を行うためにもGitを使用することを強く推奨します。
$ git clone git@github.com:kokuyouwind/review-scaffold.git your_book $ cd your_book $ git remote rm origin
ボイラープレートには既にサンプル原稿が配置されていますので、試しにPDFファイルを出力してみましょう。
your_book
ディレクトリの直下で、bin/pdf
コマンドを実行してください*4。なお、初回実行時にはDockerコンテナを取得するため750MB程度のダウンロードが発生します。気長に待ちましょう。
[*4] シェルスクリプトなので、Windows環境ではMinGWなどから実行してください。
成功すると大量のログが流れますが、以下のようにXXX bytes written
と表示されていれば書き出し成功です。
$ bin/pdf compiling chapter01.tex // ~省略~ 97794 bytes written
PDFファイルはdists/book.pdf
に書き出されます。開いて内容を確認してみましょう。
これで、書籍をPDFに出力するための環境構築が完了しました。簡単でしたよね?
準備が整ったところで、まずはディレクトリ構成を確認していきましょう。
重要なディレクトリ・ファイルのみを以下に示します。
your_book ├── bin ├── dists ├── docs └── src ├── catalog.yml ├── chapter01.re ├── config.yml └── images
YAMLで書籍全体の設定が記述されています。各設定の意味がコメントで記述されている*5ため、必要に応じて変更すると良いでしょう。
[*5] コメント間違いもあるため、設定後は挙動を確認しましょう。また間違いを見つけたらIssueを作ったりPull Requestを送るとよいでしょう。
特に重要と思う設定を以下に挙げていきます。
texdocumentclass: ["jsbook", "b5j,twoside,openany,uplatex"]
を指定してください。その他の詳細な設定については公式の解説*6を参照してください。
[*6] https://github.com/kmuto/review/wiki/config.yml
YAMLで書籍の構成と、本文ファイルの対応を記述します。最初に章構成を考える際、ここを編集してファイルも作っておくと見通しがよくなります。
本書であれば以下のような記述になっています。
PREDEF: - preface.re CHAPS: - chapter01.re - chapter02.re - chapter03.re APPENDIX: POSTDEF: - postface.re
各項目の意味は以下のとおりです。
拡張子reのファイルはRe:VIEWフォーマットで記述する必要があります。
基本的には何も考えずに文章を書けば、全てそのまま出力されます。改行は1つだけだと同じ段落で文章が続き、空行が入る場合は別段落になります。
上記の文章であれば、ファイル中には以下のように記述されています。
拡張子reのファイルはRe:VIEWフォーマットで記述する必要があります。 基本的には何も考えずに文章を書けば、全てそのまま出力されます。 改行は1つだけだと同じ段落で文章が続き、空行が入る場合は別段落になります。
見出しは=
を付け、サブ見出しは数を増やして表現します。
本書であれば以下のような見出しを使っています。
= Re:VIEWに触れてみよう! == 環境構築
箇条書きは*
を使います。ネスト項目は数を増やして表現します。
また番号つき箇条書きは1.
を使います。こちらはネストできないので注意してください。
いずれも先頭に1文字以上のスペースが必要です。
* 項目1 ** 項目1のサブ項目 * 項目2 1. 手順1 2. 手順2
用語リストは空白、:
、空白で始まる行を使って表現します。本書ではconfig.ymlの説明などで使用しています。
: booktitle, aut 書籍タイトルと著者名。大扉や奥付に使用されます。好きなものに変更しましょう。 : date, history 刊行日と発行年月。実際に頒布するときには頒布日に変更すると良いでしょう。
ソースコードのリストには //list
を使います。参照用の連番を付けない場合はemlist
を、行番号を付ける場合はlistnum
を使います。本書ではemlist
を多用しています。
図の挿入には //image
を使用します。例えばsample.jpg
を「サンプル画像」というキャプションで挿入する場合には//image[sample][サンプル画像]
といった記述になります。
このあたりを抑えておけばある程度の文章を書けるはずです。
これ以外にも図表の参照やコラムなど様々なコマンドがありますので、詳細については公式のフォーマットガイド*7を参照してください。
[*7] https://github.com/kmuto/review/blob/master/doc/format.ja.md