先日、社内で勉強会を開催したのですが、その時に資料として「本」を作って配布しました。
「本」を作っていく作業の中で色々と得られるものがあったので、
それらについてダラダラと紹介する自分語り記事です。
なぜ「本」を作ることにしたの?
なぜ「本」を作ることにしたのか?ですが、深い理由はありません。
いつもと変わったことをやりたかっただけです。
大体、勉強会の資料としてはスライドやWikiページを作っているのですが。
ただ、それだけです。思い立ったら吉日がモットーです。
どうやって「本」を作ったの?
Re:VIEWという電子・紙書籍制作ツールを使って「本」を作成しました。
Re:VIEWは電子書籍と紙書籍のための、簡潔かつ強力なデジタル出版ツールです。
コンピュータ書等の技術書籍(紙・電子)の商業出版や同人出版に利用されています。
技術系の同人誌即売会である技術書典で頒布されている技術書の執筆にも使われているらしいです。
Re:VIEWのセットアップ方法
セットアップ方法についてLinux・Macは簡単ですが、Windowsだとちょっと手間がかかります。
Linux・Mac
Linux、Macでは以下のコマンドを実行してもらうだけでOKです。
gem install review review-init sample-doc cd sample-doc
Windows
WSL2かDockerを利用する必要がありますが、
今回は「WindowsでDocker+Re:VIEWを使う」を参考にし、構築手順を説明させていただきます。
Docker作業
作業ディレクトリを作成し、その中にdocker-compose.ymlを作成します。
version: '3' services: review: image: vvakame/review volumes: - .:/work build: . working_dir: /work ports: - "127.0.0.1:18000:18000"
次にDockerコマンドを実行し、Re:VIEWのイメージをプルします。
ダウンロードに結構時間がかかります。
docker pull vvakame/review
Re:VIEWドキュメントの雛型作成
以下のコマンドを実行してRe:VIEWドキュメントの雛型を作成します。
ついでにdocker-compose.ymlファイルをsampledocフォルダにコピーしてください。
docker-compose run --rm review review-init sampledoc cp docker-compose.yml sampledoc
「本」の編集と出力
sampledocというフォルダが作成されているので、移動してみましょう。
cd sampledoc
ファイルについて
とりあえずそれっぽい「本」を作るために編集するファイルを紹介します。
フォルダ/ファイル名 | 概要 |
---|---|
config.yml | 設定ファイル。署名や著者名、基準のフォントサイズなど色々と設定できる。 |
sampledoc.re | 文章を書くためのファイル。ここにあれやこれやを書いていく。 |
sty | LaTeXのスタイルファイルが格納されたフォルダ |
sty/review-custom.sty | スタイルカスタム用のファイル。スタイルファイルの中でも最後に読み込まれるので、独自にスタイルを修正したいときはこのファイルをいじる。 |
他のファイル/フォルダについては「FAQ – Re:VIEW の使い方について」を参照してください。
ファイルを編集してみる
sampledoc.reをテキストエディタで開いて以下の内容を入力してみてください。
= Hello World //lead{ リード文です。導入文です。 //} == ほろびのじゅもん これは滅びの呪文です。絶対に入力してはいけませんよ!! //cmd{ sudo rm -rf //} = End World //lead{ なぜ入力してしまったのですか…。 //} == ふっかつのじゅもん これで復活するのです…。 //source[ふっかつのじゅもん]{ ゆうて いみや おうきむ こうほ りいゆ うじとり やまあ きらぺ ぺぺぺぺ ぺぺぺ ぺぺぺ ぺぺぺぺ ぺぺぺ ぺぺぺ ぺぺぺぺ ぺぺ //}
マークダウンでもなく見たことのない記法かもしれませんが、Re:VIEWを使うにはRe:VIEW記法?を使わないといけません!私もすべてを把握できていないので、詳しくはRe:VIEW フォーマットガイドを参照してください。
ついでにconfig.ymlを開いて表紙のタイトルや著者名を変えてしまいましょう。
# ブック名(ファイル名になるもの。ASCII範囲の文字を使用) bookname: はじめての本 # 記述言語。省略した場合はja language: ja # 書名 booktitle: はじめての本 # 著者名。「, 」で区切って複数指定できる aut: ["たなかさん"]
PDFで「本」を出力する
ファイルが編集し終わったら、後はコマンドを実行するだけで、「本」を作成することができます。
docker-compose run --rm review rake pdf
出力されたPDFを開くと、技術書でよく見るレイアウトでPDFファイルに出力されます。
デフォルトのレイアウトのままでも読みやすく、問題なく使えます。
レイアウトをちょっといじってみる
初期のレイアウト設定でも問題ないのですが、他のページを見てみるとヘッダー部分の文字が重なっている部分があります。
これを解決するにはフォルダ「sty」内にあるファイル「review-custom.sty」を編集して対処しましょう。TeXの知識など全然ないので「Re:VIEW 3.0でレイアウトをカスタマイズしたい!」を参考にさせていただきました!
以下のコードをコピペしてファイルを保存後に再度PDF出力してみましょう。すると偶数ページには章名、奇数ページには節名を表示されているはずです。
% for user-defined macro \lhead[\gtfamily\sffamily\bfseries\upshape \leftmark]{} \rhead[]{\gtfamily\sffamily\bfseries\upshape \rightmark}
「本」を書いてみて良かったこと
「本」を書いてみて大変なこともありましたが、良かった点もいくつかあります。
文章を書くことが楽しくなってきた
これが一番自分にとって良かった点です。
文章を書いてそれを「本」に変換して読んでみるだけで何故か楽しくなってきました。
形から入る人間なので、それっぽい物ができると調子に乗ってハマっていってしまいます。
私も著者に…?!
などと妄想しつつ、一人で著者、校正者をそれぞれ演じて自分にダメ出しをやってると虚しさを感じつつも何か楽しかったです。
感覚を言語化することを意識するようになった
私はコーディングや設計などについて「●●な感じに~」とかふわっとした説明をしがちなのですが、「本」にするとなると曖昧な表現を言語化する必要がありました。
感覚的にやっている、何となくやれていることを言語化するのは大変でした。
ですが、言語化できると頭の中がスッキリし、自分自身に対する理解度も上がった気がします。
結果的に曖昧な表現・感覚的な表現をしてしまった後は、言語化するように意識するようになりました。
技術書典に参加できる気がしてきた
技術書典には前々から興味はあったのですが、
自分に技術書は書けない…
と思い込んでいました。
ですが、Re:VIEWを使うだけでこんなに簡単に技術書を書けると知れたので、
ネタさえ用意できれば自分も参加できる!と自信を持てました。
まぁ、ネタを探すのが最大の難所ではあるのですが。
まとめ
まだ文章を書くことが苦手なのは変えることはできていませんが、引き続き文章を書く習慣を身に付けていこうと思いました。
自分みたいに思い立ったから「本」を書いてみるのも良いですし、
何かアウトプットしたいけれどもする場所・機会がない…という方は
是非「本」を書いてみてはいかがでしょうか?
私は来年に何かしらの技術系の同人誌を出せるように頑張っていきます…。