オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

GitHubとRe:VIEWで作る本

f:id:Imamura:20170707173105j:plain

エンジニアのためのAI入門 (Think IT Books)

エンジニアのためのAI入門 (Think IT Books)

インプレス発行の『エンジニアのためのAI入門』の見本が届いた。この本では原稿の整理、図版の作成、PDF版やEPUB版の制作と確認などを担当した。

これから業務でディープラーニングやAIに携わる必要(可能性)がある技術者に向け、基礎知識から様々な業種の利用事例、ディープラーニング人工知能の最前線で活躍する技術者の紹介など、1冊で幅広く網羅した書籍となっています。

エンジニアのためのAI入門 - インプレスブックス

(上の公式ページでは試し読みもできます)

今回のこの本の制作では、GitHubRe:VIEWが大活躍した。

GitHubは基本的に、プログラム開発のためのサービスである。プログラムの品質を上げるためのいろいろなしくみが整っている。

たとえば作ったプログラムのソースリスト(実行ファイルにする前の命令の集まりで人間が書く)をGitHubに公開する。ほかの人が「ここはこう直したらよいのでは」と提案する。修正案はどこがどう違うのかがすぐわかる。修正案についてのディスカッションもしやすい。提案された側はその修正案を簡単に採用できる。

ほかに「ここをこう直してみたいけどほかに影響が出るかもしれない」というときは、現在の最新のソースリストを維持したままわき道にそれてみることができる。修正がうまくいけばそれを正として開発を続けることができる。うまくなければ破棄して、わき道のことを忘れるのも簡単。

原稿の作成はプログラミングに似たところがある。ひと通り書き上がったらチェックして修正する。このとき気をつけるのが、誰が持っている原稿ファイルを正にするかだ。著者さんが原稿を書き上げて編集者に送り、編集者がチェックを始めてから著者さんが「あちこち書き直しましたので送ります」としてしまうと世界線が分岐してしまってよろしくない。なので、原稿を書くのに慣れていない著者さんから原稿を受け取ったときは「原稿受け取りました、こちらにあるファイルが正になりますので修正点が出ても原稿に直接手を入れず、どこをどう直したいかメモしておいてください」みたいな念押しをしたりする。

編集者が「ここをこう直したらよさそう」といったアイデアが出てきても、そのたびに著者さんに聞いたりはしない。最後までチェックが終わってから著者さんに原稿をまとめて戻す。そのときにこちらからの指摘を一括で確認してもらうことになる。原稿ファイルの最新版を持っているのは常に一人だけという原則があるからだ。

そういう編集作業にGitHub(やその基盤技術であるGit)を使えるのではないかなーと以前からぼんやり考えてはいた。プログラムファイルの代わりに原稿ファイルや図版の画像ファイルをGitHubに上げて、著者さんと編集者が細かくやり取りをくり返して完成度を上げていく。正は常にGitHub上にあるから、著者さんや編集者が手を入れている間でも最新版がどうなっているか確認しやすい。

しかしGitHubに非公開のプロジェクトを作るには有料プランが必要で、となると仕事で試しにやってみるわけにはいかなかった。今回インプレスがプライベートリポジトリを設置してくれて、やっぱり編集作業にはGitHubが便利だとわかったのだった。

(BitBucketという同種のプロジェクト管理サービスはプライベートリポジトリを無償で作れるらしい。ただし参加できるユーザーは五人まで:アトラシアン Bitbucket - チーム向け Git コード管理ツール

雑誌の「WEB+DB Press」では2014年6月の段階ですでにGitHubを使って編集を行っているそうだ。

GitHubの解説サイトはとてもたくさんあるから勉強しやすい。たとえばこんなページとか。

さて、書籍制作に便利なもう一つのツールはRe:VIEWである。これについては以前も書いている。

今回はさらに「tibooks-maker」も導入した。

Re:VIEWからPDFを作るにはLaTeXを入れる必要がある。しかしここがなかなか難儀で、Re:VIEWから直接PDFを作れるように環境を作るのはけっこう大変らしい。tibooks-makerはRe:VIEWLaTeXなど、PDF出力に必要なツールを一つにまとめ、OS Xアプリケーションとしてパッケージングしてある。比較的簡単にPDFを作れるようになっていい感じ。

tibooks-makerを使うと書籍の制作なのにDTPの作業がいらなくなる。コマンドを入れて数分間待てば完成品のPDFができ上がる。これはかなり革命的だ。レイアウトの柔軟性はInDesignでのDTPには及ばず、最終的にはLaTeXの知識が必要になる(そこはインプレスの詳しい方にやってもらった)。でも手作業でDTPをしていると、図版が多い本だとがんばっても1日10ページ強くらいしか進まない。それに比べればすごいことだと思う。組版してから原稿を大幅に変更しても大丈夫だしね。

そんな感じで、今回の仕事はGitHubの使い方がとても勉強になった。前回の『Lifekeeper for Linux超入門』ではRe:VIEWの使い方と、3Dモデルからパースのついたベクターデータを作る方法を学んだ。こういうふうに、今後も使えるスキルを学べる仕事はとてもいい。

関連リンク

書籍の制作にRe:VIEWGitHubを使う話。

(2018年5月31日更新)