まだ技術書を書いたことがない人にとって、すでに書いたことがある人のことを「すごい人」「特別な人」と思うかもしれません。
ですが実際は、書くためのツールを知っていれば誰でも本を書くことができます。
執筆した内容を本の形式に出力するツールはいろいろありますが、無料で使えるツールの代表例として、Re:VIEW というものがあります。
ただ扱いに少し癖があったり、デザインがシンプルすぎるというデメリットがありました。
デメリットを改善したツールが、Re:VIEW Starter です。
Re:VIEW Starter を使用することで、初期設定を GUI で完了させ、おしゃれなデザインで本を出力することができるようになります。
本記事では、Re:VIEW Starter を使用した環境構築の方法と、実際に本に出力する方法について解説しました。
私はすでにこのツールを使用して8冊の書籍を執筆しているので、ポイントだけ抜粋してお伝えできると思います。
最後まで記事を読むことで、本を執筆する準備を整えることができます。
では、さっそく見ていきましょう。
エンジニアが技術書を執筆するための環境構築
まずはじめに、雛形をダウンロードしてきてから執筆作業を始める必要があります。
ダウンロードした雛形をもとに、手を加えていく流れです。
Re:VIEW Starter でプロジェクトファイルを作成する
Re:VIEW Starter の公式サイトにアクセスします。
下に「プロジェクトの作成を始める」のボタンがあるので、クリックしましょう。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/c602338340d5136a81cc7640bf270c5f.png)
最初に、著者名またはサークル名を入力します。
カタカナの読み方も入力したら次に進みます。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/3f3b6f13337f75b473de9f0e08c004e9.png)
次にタイトルとサブタイトルを決めます。
あとでも変えられるので、仮のタイトルで問題ありません。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/8a573312068a07af7ff53e20480d9530.png)
次はサイズです。
個人的にあまりページ数が増えるのが好きではないので、B5 で設定しています。
このあたりの設定はすべて後で変更することができます。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/a12483b1fa017336ddd21186be05149f.png)
次にフォントサイズです。
私は B5 サイズで作成するので、より小さい文字サイズである 10pt を指定しました。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/b0645da2b822c51c6592328519e84f93.png)
次に、章タイトルや目次を右ページから始めるかどうかです。
私の場合は PDF の出力のみを考えているため、「章や目次が左右どちらのページから始まってもよい」にしています。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/bd601d527239dded2e4c772bb73f8b04.png)
次に章や節、項のデザインです。
ここは個人の趣味で問題ありませんが、私は次の設定にしています。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/4aeb3344d3314f4863ae03229ac38b4e.png)
次のフォントの種類です。
ここも自由に設定して構いません。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/7138d6add2425b19e15e9cf54f9ec73a.png)
ターミナル用のフォントも変更できます。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/f4f79b438e5b8910892dad98e9e9c6ea.png)
次に、プログラムやターミナルの表示オプションです。
プログラムが右で折り返しされると見にくいので、文字を小さめにしておくのがオススメです。
あとは code のタグで囲ったときに、薄いグレーの背景で表示するオプションもよく使っています。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/6766074bd131b7ce398d2cfc8ddb88b0.png)
私は PDF の出力しかしないので、デフォルトの出力を PDF にしています。
あとは自由に設定してください。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/3202aac66c03d166f88bc200acfb64b8.png)
最後にプロジェクト名を設定します。
何でも構いませんが、英語名しか指定できません。
出版予定日も後で変更できるので、適当で構いません。
書籍の販売は「技術書典」が有名ですが、「技術博」というイベントも開催されています。
技術博の場合は、発行責任者と連絡先情報が必要なので、専用の入力欄が用意されています。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/cee0b4ffc9534042ba7132aa11f0abd8.png)
ここでようやく準備が完了です。
ファイル一式をダウンロードできるようになっているので、青いボタンからダウンロードして、解凍してください。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/fdfe2d041712b9a82d2c773290854257.png)
プロジェクトファイルの解説
プロジェクトファイルの中身を見てみましょう。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/d7bc012a4c976232ecfd6458032b1d7d.png)
「たくさんファイルがあってよくわからない」と思うかもしれませんが、知っておくべきところは少ないので安心してください。
contents フォルダ
一番重要なのは、contents フォルダの中身です。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/7ee93edf979481fb0a4f28d121ef913d.png)
contents フォルダは実際に出力される本の中身を置いておく場所です。
章ごとに「.re」ファイルを作成し、特有の形式で記述することで、いい感じに出力してくれます。
マニュアルは、Re:VIEW Starter の「ユーザーズマニュアル」のリンクから確認できます。
images フォルダ
次に重要なのが、画像を配置する images フォルダです。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/59ed97a5a3fe537c5c32636a03181210.png)
images フォルダに画像を置いておくことで、本文から画像を参照することができます。
章ごとにフォルダを作成しておくのがいいでしょう。
cover_b5.pdf は本の表紙で、B5 の場合はこちらのファイルを使用します。
catalog.yml
catalog.yml は、contents フォルダで作成した各章を分類するファイルです。
ここにファイル名の記載がないと、PDF 出力に含まれません。
contents フォルダの中身と catalog.yml の中身は必ず一致させるようにしてください。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/b242c852b2d20d9840bad4a535cd6809.png)
config.yml
config.yml は、Re:VIEW 側の設定ファイルです。
本のタイトルや著者名などは、このファイルから修正することができます。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/6f17cc3ffdba5650fae4b7f1caf848db.png)
config-starter.yml
config-starter.yml は、Re:VIEW Starter 独自の設定です。
用紙サイズや出力のターゲット(PDF や紙など)はこのファイルから修正することができます。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/3f5d1a1411c684891ce51be1590f212f.png)
オススメの執筆環境
私がオススメする執筆環境は、「VS Code」です。
Docker も使うので、ターミナルも一体になっているところが使いやすいと思います。
さらに、Re:VIEW Starter Syntax Highlight という拡張機能を入れることで、入力補完もしれくれるのでとても便利です。
実際に出力をする手順
本の形式に出力をするには、Docker が必要になります。
まずは、Docker をインストールしてください。
Docker をインストールして起動したあと、以下のコマンドを実行してください。
$ cd hoge-book/
$ docker pull kauplan/review2.5 ← 3GB 以上ダウンロードするので注意(初回のみ実行)
$ docker run --rm -v $PWD:/work -w /work kauplan/review2.5 rake pdf
docker run のコマンドで、PDF ファイルが出力されます。
mac の場合は「rake docker:pdf」とするだけでも、PDF 出力が可能です。
実際にコマンドを実行してみましょう。
$ rake docker:pdf
docker run --rm -v $PWD:/work -w /work kauplan/review2.5 rake pdf
compiling 00-preface.tex
compiling 01-install.tex
compiling 02-tutorial.tex
compiling 03-syntax.tex
compiling 04-customize.tex
compiling 05-faq.tex
compiling 06-bestpractice.tex
compiling 91-compare.tex
compiling 92-filelist.tex
compiling 93-background.tex
compiling 99-postface.tex
[pdfmaker]$ /usr/bin/ruby2.5 /work/lib/hooks/beforetexcompile.rb /work/hoge-book-pdf /work
[pdfmaker]$ uplatex --version | head -1
e-upTeX 3.14159265-p3.7.1-u1.22-161114-2.6 (utf8.uptex) (TeX Live 2017/Debian)
[pdfmaker]$ time uplatex -halt-on-error -file-line-error -interaction=batchmode book.tex > /dev/null
13.73 real 10.60 user 0.71 sys
[pdfmaker]$ time uplatex -halt-on-error -file-line-error -interaction=batchmode book.tex > /dev/null
12.06 real 9.45 user 0.55 sys
[pdfmaker]$ time uplatex -halt-on-error -file-line-error -interaction=batchmode book.tex > /dev/null
12.12 real 9.77 user 0.53 sys
[pdfmaker]$ time dvipdfmx -q -d 5 -z 3 -o ../hoge-book.pdf book.dvi
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+480/600 --dpi 480 bskarr10
mktexpk: Running mf-nowin -progname=mf \mode:=ljfour; mag:=0+480/600; nonstopmode; input bskarr10
This is METAFONT, Version 2.7182818 (TeX Live 2017/Debian) (preloaded base=mf)
(/usr/share/texlive/texmf-dist/fonts/source/public/boisik/bskarr10.mf
(/usr/share/texlive/texmf-dist/fonts/source/public/boisik/bskbase.mf)
(/usr/share/texlive/texmf-dist/fonts/source/public/boisik/bskarrows.mf
(/usr/share/texlive/texmf-dist/fonts/source/public/boisik/bsklist-ar.mf)
(/usr/share/texlive/texmf-dist/fonts/source/public/boisik/bsksymbols.mf
[251] [254] [250] [253] [252] [255] [30] [7] [9] [10] [32] [34] [33] [35]
[6] [8] [31] [248] [14] [15] [249] [0] [21] [1] [22] [16] [232] [233] [234]
[235] [230] [231] [240] [241] [242] [243] [244] [245] [26] [27] [28] [29]
[246] [247] [23] [4] [5] [3] [25] [2] [24] [18] [236] [12] [20] [237] [11]
[13] [17] [238] [19] [239] [49] [38] [39] [40] [41] [42] [43] [37] [48]
[44] [50] [227] [46] [36] [47] [226] [45] [229] [228] [225] [224] [223]
[222] [221] [220]) ) )
Font metrics written on bskarr10.tfm.
Output written on bskarr10.480gf (87 characters, 12928 bytes).
Transcript written on bskarr10.log.
mktexpk: /root/.texlive2017/texmf-var/fonts/pk/ljfour/public/boisik/bskarr10.480pk: successfully generated.
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+480/600 --dpi 480 bskarr10
mktexpk: /root/.texlive2017/texmf-var/fonts/pk/ljfour/public/boisik/bskarr10.480pk already exists.
5.86 real 3.24 user 0.64 sys
ひと通りの処理が完了すると、フォルダ直下にプロジェクト名と同じ PDF が出力されます。
とりあえず表紙だけ載せておきますね。
![how-to-write-a-technical-book](https://engineer-master.com/wp-content/uploads/2021/09/7038b3890f79964b2052d08e3e3ba846.png)
最後に
Re:VIEW Starter を使用した環境構築の方法と、実際に本に出力する方法について解説しました。
1冊目の執筆は覚えることがたくさんあって大変ですが、一度やってしまえば2冊目以降はスムーズに執筆を進めることができます。
この記事を参考に、みなさんも素敵な執筆ライフをお送りください。