本文212Pの分厚い薄い本の共同執筆を支える技術

真理に到達するための[錬金術勉強会](https://connpass.com/event/70306/)の打ち上げで[おやかた@1日目カ-41b(@oyakata2438)さん](https://twitter.com/oyakata2438)から「[技術同人誌を書くノウハウ本](https://qiita.com/oyakata2438/items/a721a03e3a118590ab2c)を合同誌でやりたいんだけどどう？」とお誘いを受けたので家に帰ってから速攻でリポジトリとCIを立ち上げました。元々、過去三回の技術書典で、Re:VIEWや同人誌印刷・サークル運営のノウハウをまとめておきたかったのもあって渡りに船って感じでした。

## 最初に決めたこと

* [Re:VIEW](https://github.com/kmuto/review)を使って執筆する
* Githubを使って共同執筆する
* werckerでCIを使って自動ビルドする

この三点です。親方さんから「今なら好きな環境選んでいいよ！」って言われたので、好きな環境を選びました。

CIには僕の過去二冊での知見があるwerckerを選びました。

## リポジトリ作成

プライベートリポジトリかパブリックか？ということで相談したところ、パブリックでいいじゃんということだったので、まず、[onestop\-techbook](https://github.com/onestop-techbook/)というOrganizationをGithub上に作成してその中に、[c93-onestop-techbook](https://github.com/onestop-techbook/c93-onestop-techbook/)というリポジトリを作成しました。この時、一から作るのではなくて[TechBooster/ReVIEW\-Template](https://github.com/TechBooster/ReVIEW-Template)からのforkを行いました。TechBoosterさんありがとうございます。

wercker.ymlを追加したり、設定ファイルの編集と最低限の記事、README.mdへの追記などを行いました。

```yaml
box: vvakame/review
 
build:
  steps:
    - bundle-install
    - script:
      name: install
      code: npm install
    - script:
      name: create pdf
      code: npm run pdf
    - script:
      name: output artifacts
      code: cp articles/c93-onestop-techbook.* $WERCKER_REPORT_ARTIFACTS_DIR/
```

Re:VIEWはRuby環境を整えるところまではいいのですが、TeXが色々罠多すぎて、特にWindowsだとつらいので、Dockerを使うのが一番楽です。TechBoosterさんのテンプレートと、vvakameさんが公開している [Dockerイメージ/Dockerfile](https://hub.docker.com/r/vvakame/review/)があるので、それらを使えば最速でセットアップできるのです。

ところが、マシンスペックやインストールしてる仮想マシンなどの都合で手元でDockerを動かせないという人もいます。そこでCIです。Werckerに限らず、Dockerに対応したCIを選べば楽です。CIがあれば手元で環境を整えられなくても、PDFの確認を行えるので、共同執筆においては極力CIは建てるべきです。

もっとも今回の合同誌ではWindowsでRe:VIEW,TeXをセットアップするノウハウが懇切丁寧に書かれているので、CIなしでも、本書さえ読めば問題ないかもしれません！

## 最初に気を遣ったこと

* こういうのは初動重要。思い立ったが吉日でさっくりセットアップした
* Re:VIEWで執筆するための記事を急いで書いた

Re:VIEWで執筆する場合、公式の[Re:VIEWフォーマットガイド](https://github.com/kmuto/review/blob/master/doc/format.ja.md)を読むしかないんですが、これだけだと割と分かりづらいし罠も多いので、生きたサンプルとしての記事を急いで書くことで、他の執筆者の助けになればと思いました。

## 執筆環境の修正

親方さんと話し合いながら、スタイルファイルをいじったり、どうやっていくか決めたりしました。コミットログを見るとそこらへんは11/5時点で大体できあがっていたようです。そのあとは実際にみんな書いて、PRを投げてマージしてという感じでみんなの執筆が始まりました。

## すごかった

そのあとはもう「すごかった」としか言い様がありません。11月末時点では60P程度だったのが、二週間後には212P(しかもクォリティ超絶に高い)まで膨らんでいたわけですから。

一応僕がメンバーの中でもRe:VIEWに慣れてた都合もあってRe:VIEW的な修正を加えたりしたりもしましたが、皆さんけっこう最初から(記事の内容もマークアップも)クォリティの高いものをコミットしていたので、僕が修正しなければいけなかったところはそんなにありませんでした。

今回はあまり明確にルール決めたりせずに、結構適当に書くというむちゃくちゃなやり方でしたが、かなりうまく回ってました。なんというか過程を含めてとても良い経験になる本でした。ここらへん綺麗にまわったのは、全員が、ちゃんと本を一人で一冊以上書き上げている猛者だった事は大きいのかもしれません。ある意味Standalone Complex的なスタンドプレイによるチームワークが働いたのだと思います。

本を書くメンバーによっては、編集者を決めたり、スケジュール管理もちゃんとやった方がいいのかもしれません。

## できあがったもの

1.イベント参加のすすめ
2.アウトプットを始めよう
3.ネタ出し法
4.本のスタイルはどうすればよいのか？
5.表紙を作る
6.表紙のお手軽な作り方(macOS編)
7.執筆環境
8.図を埋め込む(macOS編)
9.図を埋め込む(Windows編)
10.ノンブルの付け方
11.印刷会社に頼む上でのあれこれ
12.準備をしよう
13.当日朝、開場までの準備
14.開催中のTips
15.イベント後にやること
16.委託をしよう
17.コミュニティに参加する
18.印刷部数とお金の話
19.やる気と次の締め切りを手に入れよう。
付録A：この本の執筆環境について
付録B：Re：VIEWのインストール（Windows7編)
付録C：Wordによる執筆の流れ

クォリティめっちゃ高いです。みんなが踏み抜いた罠の数々、得られた知見、それが惜しみなく212Pに詰まってるというとてつもない力作です。同人誌を書きたいと思った方に絶対にお勧めできる最高の一冊です。

ぶっちゃけRe:VIEWも(PDF変換に使う)TeXにも数え切れない罠が隠されてます。出版の猛者のようなチョットデキル人たち御用達のツールだからというのはあります。でも本書を読めば、同人・出版の完全な素人にとっては助けになる一冊です。きっとあなたも同人誌を出せるでしょう。[アウトプットのメリット 僕が技術同人誌執筆をお勧めする理由](https://speakerdeck.com/erukiti/techbook-meetup-lets-writing-tech-book-doujinshi)というスライドで発表したことがありますが、技術同人誌を書いて頒布して、得られる経験値は尋常じゃ無いほど大きいくせにコスパがとてもいいです。技術者ならやらない理由はありません。

コミケ(C93)にて

* [1日目 金-東カ41b 親方Project](https://webcatalog-free.circle.ms/Circle/13607019)
* [3日目 日-東リ05b clear-mint](https://webcatalog-free.circle.ms/Circle/13605138)

の二つのサークルで頒布されます。

泣きながらRe:VIEWやTeXや印刷と格闘してきた我々の屍の山を乗り越えていけ！