Re:VIEWの環境構築をDockerでやってみる

拙著「Alteryxではじめるデータ分析入門」は、Re:VIEWというシステムを使って執筆しました。

本を書くのはいいけれども、さてなんで書こうか、と少々始めに悩みました。執筆作業自体に時間を割きたかったわけですが、とりあえず最初はWordでもいいかな、と思っていたのですが、なんとなく色々と調べてますと、同人技術書界隈ではRe:VIEWというシステムが良く使われている、ということがわかってきてちょっと使ってみようかという軽い気持ちで使い始めたのがきっかけです。

で、今回パソコンを乗り換えることになりまして、「あれ?どうやって構築したっけ」ということになりまして、備忘録的にブログに書いてみたいと思います。

そもそもRe:VIEWとは?

そもそも、Re:VIEWとは?というところですが、公式サイトのFAQから引用してみます。

Re:VIEW は、主に書籍制作向けのテキストマークアップ言語仕様、およびその変換システムです。指定の記法で記述した原稿ファイルを、HTML、LaTeX、InDesign 用 XML、プレインテキストなどに変換することができます。さらに、HTML を使った EPUB、LaTeX 環境を経由した PDF をそれぞれコマンド1つで作成可能です。

https://review-knowledge-ja.readthedocs.io/ja/latest/faq/faq-trivial.html#ef3909492db585f2a144b5dd6e87d066

つまり、Wordみたいに書くソフトではなく、テキストをマークアップしたファイルをPDF等に変換して読めるようにする、というものです。

つまり、執筆作業自体はテキストエディタ等で行えば良いので非常に軽快に執筆できるというわけです。Wordが落ちた!といった悲劇は極力少ないに越したことはありません。なにもしないのに落ちたテキストエディタなんかみたことないので。

ただ、やってみますと、ソフト何個か入れるだけではありますが、やはり少し面倒くささはあります。WordなんてOfficeインストールすれば終わりですからね!そして、TeXとか昔大学の研究論文で苦労した覚えしかありませんし・・・。

Re:VIEW環境を構築してみる

Re:VIEWは、基本的にはRuby言語で書かれているようです。そのため、インストールにはRubyのパッケージシステムやTeX環境が必要となります。また、Windowsの場合はWSL(Windows Subsystem for Linux)が必要です。Windows10も最近のバージョンになってこのあたり非常に整備されてきている気がします(単なる感想ですが)。

ちなみに、筆者の環境は完全にWindowsオンリーです。過去Linuxも使っていましたが・・・。

ということで、Re:VIEW導入には大きく分けて2つの方法があると考えて良いと思います。

  1. Ruby、TeXで環境を構築
  2. Dockerで構築済みの環境を導入

1も2もいずれもWSLの導入は必要です。Ruby、TeX、DockerいずれもLinuxベースですから・・・。

今回は、2の方法を解説していきます。Docker Toolbox時代の説明はすでにあるのですが、Docker Desktopだとよくわからなかったので、備忘録的に記載しています。

Dockerを使ったRe:VIEWの導入

筆者の環境はWindows11Homeなので、Docker Desktopを導入する必要があります。そのあたりは他のサイトを御覧ください。ここでは、Docker Desktopをインストールした後から進めていきます。

まず、コマンドプロンプトでRe:VIEWのDockerイメージを取得します。コマンドは、

docker pull vvakame/review:5.5

です。もとの配布場所はこちら(各バージョンのpullする時のコマンドも書かれています)。説明などもあるので、一度目を通されたほうが良いかと思います。

これにより、以下のように、、、若干時間がかかりますが、イメージが落ちてきます。

その後、Docker Desktopを開いてみると、たしかにImagesに登録されていることがわかります。

それではいよいよコンテナを動かして行きましょう。先程のイメージの右端にある「RUN」ボタンをクリックすると、コンテナとして動かすための画面が出てきます。

ここで、Optional settingsをクリックし、詳細なオプションメニューを出します。

ここのポイントは、プロジェクトファイル(執筆するファイル)はコンテナ側ではなくPC側に置きますが、その位置をVolumesに記載してコンテナ側にマウントする必要があります(コンテナをさくっと削除するとせっかく書いたものが消失してしまうため、これを行う必要があります)。

画像の部分のおさらいをすると、

  1. Optional settingsをクリックして詳細メニューを出す
  2. コンテナ名を記載する(しなくても大丈夫です)
  3. VolumesのHost PathにRe:VIEWの作業フォルダ(プロジェクトファイルの置き場所)を指定する(日本語名のフォルダはNGのようです)
  4. 3のファイルのコンテナでの名称をContainer pathに記載する。頭にスラッシュを付けてください
  5. Runする

5でRunした後に、Docker Desktopに戻って、Containersタブをクリックすると、実際にコンテナが動いていることが確認できます。

コンテナを動かしたり止めたりする場合は、■ボタンで停止、▶ボタンで実行、という感じで操作してください。

さて、これでコンテナを動かすことはできましたが、ここからどうやってRe:VIEWを使ってPDFなどを作ったりするのか、解説してみます。

Re:VIEWでPDFなどを作成してみる

まず、Re:VIEWはコマンドラインで動作するソフトウェアです。そのコマンドラインはDockerのコンテナ内にあります。まず、「Open in Terminal」ボタンをクリックして、コマンドラインを開きましょう。

ボタンをクリックすると、以下のような黒いヤツが出現します。

ここで、「ls」というコマンドを打つと、フォルダのリストが出てきます。よくよく見ると、先程設定した「review」フォルダがあることがわかるかと思います。これが、Windows側のフォルダです(Volumesを設定しないと出てこないのでハマります。その場合は、コンテナを削除してイメージをもとに作り直しましょう)。

ここに「cd review」で入ると、Windows側にあったファイルが見えます。

ここまで行けば、それぞれのプロジェクトフォルダで「review-pdfmaker config.yml」することでPDFの作成が始まります

まとめ

  • Re:VIEWの環境構築概要を解説しました
  • Re:VIEWのDockerイメージの取得方法を解説しました
  • イメージからコンテナの作成方法を解説しました
  • コンテナの起動方法を解説しました
  • コンテナにあるRe:VIEWの使い方を解説しました

Dockerあまり使ったことなかったのですが、データサイエンス100本ノックで使ったりして徐々に慣れてきたのですが、正直なところ何も事前知識無いと結構大変ですね・・・。本サイトでもイメージとコンテナの解説まではしていないのですが、そもそもわからん、という場合はググって調べてみてください・・・。OSの中にさらにOS作っている感じですので、その間のやり取りってどうなってるの!?というのはOS自体の基本的な知識が必要に思います(非エンジニアの方には結構ハードル高い気がします)。

余談

ちなみに、今回執筆にRe:VIEW使いましたが、デザイン的なところはほとんどデフォルトしかできず、そこが反省点です。Wordの方がもう少しどうにかなった気がしますが、もし次回があればどうにかデザイン面はしたいなぁ、と思っています・・・。

コメント

タイトルとURLをコピーしました