このすみノート

Webエンジニアが技術や趣味を書くブログです。

Dockerを活用し、Re:VIEWによる技術書の執筆環境を構築する最短経路 for Mac

f:id:konosumi:20180805233318j:plain

技術書典5に向けて、執筆環境の整備を行なっています。前回の技術書典4では、最終的にGoogleドキュメントで執筆しました。

前回の技術書典4の模様は、過去のブログ記事で綴っておりますので、もし宜しければご覧ください。

www.konosumi.net

さて、今回は、GitBookかRe:VIEWを使おうと決めていました。そこで、実際に両方で執筆をしてみたのですが、比較した結果Re:VIEWで書くことに決めました。

その際のRe:Viewの環境構築手順を共有したいと思います。最初に言っておきますが、Re:VIEWの執筆環境の構築は、物凄く簡単です。

必要なモノはDockerだけである

私は、今回の執筆にはDockerを活用することにしました。なお、Docker for Macのインストールは、HomeBrew経由が最もお手軽です。

# HomeBrewのインストール(入ってない人だけ)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# Docker for Macのインストール(入ってない人だけ)
brew cask install docker

インストールが完了したら、一度LaunchpadからDockerを起動しましょう。私がDockerをインストールしたのはだいぶ前の話なのですが、確か利用規約への同意を求められるはずです。

review-init による雛形の作成

Dockerのインストールが完了したら、執筆を開始します。そのために、まず「review-init」で雛形となるプロジェクトを作成しましょう。

docker run \
 --rm \
 -v $(pwd):/work \
 vvakame/review:latest /bin/sh -c "cd /work && review-init your_project_name"

vvakameさんのRe:VIEW用のdockerを走らせることで、手元にRe:VIEWの環境を構築することなく、プロジェクト作成が行なえます。

review-pdfmakerによるPDFの作成

執筆を開始したら、逐次原稿を確認したい時に、PDFの作成を行います。

docker run \
 --rm \
 -v $(pwd):/work \
 -v $(pwd)/.texmf-var:/root/.texmf-var \
 vvakame/review:latest /bin/sh -c "cd /work && review-pdfmaker config.yml"

これは、プロジェクトの直下で行なうようにしてください(注釈:config.ymlのある場所のことです)。

Re:VIEW用のDockerについては、「Re:VIEWとDockerとCircleCIで原稿を継続的インテグレーション」の記事が大変参考になりました。ありがとうございます。

orangain.hatenablog.com

最短経路へのコツは、手元にRe:VIEWの環境を構築しないことです。

既に、Re:VIEW環境が整っているdockerを利用することで、環境構築をする事なしに、Re:VIEWを活用することが出来るのです。

Re:VIEWを使うために覚えるべきこと

最低限、見なければならないのは、プロジェクト直下にできた二つのファイルです。

config.yml

「config.yml」は、著者名やコピーライトの表記をはじめとした、Re:VIEW用の設定ファイルです。

ファイル内に詳しい解説が書いてありますので、コメントを参考にしてください。

f:id:konosumi:20180806000909p:plain

catalog.yml

「catalog.yml」は、いわゆる目次ファイルのような役割を果たします。章を追加する時は、CHAPSにファイルを足します。

後は、拡張子が「.re」のファイルで書き始めればOKです。

PREDEF:
  # 前付け、はじめに
  - ファイル名.re

CHAPS:
  # 各章(1章、2章と続きます)
  - ファイル名01.re
  - ファイル名02.re

APPENDIX:
  # 補足、付録
  - ファイル名.re

POSTDEF:
  # 後付け、編集後記
  - ファイル名.re

サブディレクトリにreファイルを置くことはできない

正確な事を言いますと「contentdir」という設定をconfig.ymlに書けば可能です。しかし、それに対応しているのは「Version 3.0.0 preview 1」のみです。

なので、サブディレクトリに章ファイルを置きたい方は、Preview版のRe:VIEWを使う必要があります。

(注釈:2018年7月末時点での話です)

github.com

ちなみに、私は素直にプロジェクト直下にreファイルを並べる事にしました。ファイル名を工夫すれば、意外に混乱せずにいけます。

Re:VIEW記法のチートシート

Re:VIEWは、少々クセのある記法を採用しています。そのため、慣れるまでは、手元にRe:VIEW記法のチートシートがあると便利です。

というよりも、ほぼ必須です。

チートシート(印刷用)

mhidaka.hatenablog.com

チートシート(Web)

Re:VIEWチートシート · GitHub

どちらのチートシートもお世話になっています。ありがとうございます。

さいごに

vvakameさんのRe:VIEW用のdockerを活用することで、お手軽に執筆を開始することができました。

書き方も、最初こそクセがあるなと感じたものの、数時間執筆をすれば慣れるレベルです。これはなかなかに、オススメではないかと思います。

それでは皆様、良い執筆ライフをお過ごしください!

補足1:Mac以外でも環境は構築できます

私の手元の環境がMacのため、本記事はMac用に書いてあります。

しかしながら、Dockerさえあれば、LinuxであってもWindowsであっても、同じように環境を構築する事は可能なはずですので、ぜひチャレンジしてみてください。

補足2:Re:VIEW Starterのススメ

カウプラン機関さんの「Re:VIEW Starter」がオススメです。

https://kauplan.org/reviewstarter/

自前で「review-init」したプロジェクトを使ってここまで書いてきたのですが、LaTeX関連の設定を調べるのが大変で、どうにも時間がかかります。

設定には時間をかけず、本文を書くのに集中したいのであれば、試してみてはいかがでしょうか?