技術同人誌執筆環境の比較 - Re:VIEW, LibreOffice Writer, Affinity Publisher

この記事はラクス [Advent Calendar 2023](https://qiita.com/advent-calendar/2023/rakus) の6日目です。昨日の記事は@hairihouさんの「[AngularのextractLicensesみたいなやつをVite + Reactでもやりたい](https://qiita.com/hairihou/items/7dac2348d325da58e784)」でした。

誕生日🎂だからって登録したけど、誕生日周辺はだいたい忙しいのでやめておけばよかったと後悔してます（n回目）。あ、今欲しいものは[DJI OSMO Pocket3](https://www.amazon.jp/hz/wishlist/ls/RNPCMUNXFT0Z?ref_=wl_share)です。

## あらすじ

- [ページ数の多いゲームルール冊子](https://suzukigu.me/robopla_skirmish/)を作り始めた
- 去年から[技術書典で技術同人誌？を頒布し始めた](https://techbookfest.org/organization/44800002)
- 執筆環境の変遷
    - Affinity Publisher　→　Re:VIEW →　LibreOffice Writer →　Re:VIEW

## 結論（時間がない人向け）

技術同人誌なら[Re:VIEW](https://reviewml.org/ja/)使っておけ。

実際に利用する環境としては[TechBoosterさんが提供してくれているテンプレート環境](https://github.com/TechBooster/ReVIEW-Template)があります。これを使っておくのが余計なこと考えないで一定クオリティ保てるので楽だと思います。

https://reviewml.org/ja/

https://github.com/TechBooster/ReVIEW-Template

## 各環境の所感

### [Affinity Publisher](https://affinity.serif.com/ja-jp/publisher/)

https://affinity.serif.com/ja-jp/publisher/

AffinityシリーズのAdobe InDesign対抗ソフト。
WindowsでもMacでも使える買い切りソフトで価格も安いです。現在はv2となって、全部入りユニバーサルライセンスがあったりするので、WindowsでもMacでも使いたい方はユニバーサルライセンスで買っちゃった方がいいかもしれません[^allproducts]。

[^allproducts]:私はPublisher, Design, PhotoをそれぞれWindows, Mac, iPad版でリリース都度個別で購入しました……。

InDesignも使ったことがありますが、アマチュア版組の範囲であれば縦書きレイアウトができないこと以外はだいたい同じことができるので、おすすめのソフトウェアではあります。

ゲームルールの冊子デザインで利用しましたが、デザイン性の高い紙面レイアウトで作成したい場合には適しますが、**技術同人誌のようなテキスト中心でレイアウトする場合には不向き**です。イメージとしては情報雑誌やファッション雑誌のような写真やイラストを多用するような紙面に向くと思います。

### [LibreOffice Writer](https://ja.libreoffice.org/discover/writer/)

https://ja.libreoffice.org/discover/writer/

オープンソースで開発されているオフィススイートに含まれるワープロソフトです。Microsoft Wordとだいたい同じことができます。Wordを持ってる人はWordを使った方がいいと思います。

縦書きのエッセイ本を書く時に利用しました。縦書きレイアウトは日本やアジアの一部でしか利用されないため対応しているソフトウェアが少なく、Affinity Publisherでは対応していません[^vertical]。後述のRe:VIEWでもカスタマイズしないと実現できないので、文学系の同人誌[^novel]を書く方がよく利用するワープロソフトを試してみました。

[^vertical]: Affinity Publisher v2でも縦書きに対応しなかったのでv2へのアップグレードは購入しませんでした。

[^novel]: いわゆる同人小説です。いつか小説も書いてみたいなぁ、とは思っています。

実際に縦書きレイアウトを設定して使ってみた感想としては、たまに挙動が怪しくなる[^linefeed]ことがありますが、以下のような設定で期待通りのレイアウトを実現できました。

[^linefeed]:行送りにて複数行が重なって表示されてしまう場合がありました。改行を消したり、再度改行してみたり、という操作で元に戻るのですがこの辺りが煩わしかったです。MS Wordでは聞かないので、可能ならWordを使った方が良いと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/2d2aac4a-09a4-686e-5efd-3703d9cb94fc.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/10ea8f53-5a0b-52be-7590-e4456a80f35b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/c347b3da-4b8f-bc26-006c-13a6689d690e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/c9a1078d-91e1-b0e4-0d44-b93e3485876b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/2b2227d3-c9d0-d6da-2ba6-77af89474268.png)

本文用のフォントは[源暎こぶり明朝](https://okoneya.jp/font/genei-koburimin.html)が好みです。

https://okoneya.jp/font/genei-koburimin.html

### [Re:VIEW](https://reviewml.org/ja/)

TeXベースの版組ソフトウェア。オープンソースで開発されています[^fork]。

[^fork]: Re:VIEW Starterとか拡張派生プロダクトもありますが、個人的な好みにより私はRe:VIEWを使っています。

TeXベースなのでテキスト中心の技術同人誌にも最適です。利用に関してのサポートもTechBoosterさんが積極的に行なっており、解説書としては[『技術書をかこう！ ～はじめてのRe:VIEW～ 第3版』](https://techbookfest.org/product/23ZfRJ3CTxKBVDEKzfMg0t?productVariantID=n5Wh2PmNPPppZX6qX1dkWb)が先月開催された技術書典15で頒布されてたり、ビルド環境として[TechBooster / ReVIEW-Template](https://github.com/TechBooster/ReVIEW-Template)が提供されています。

https://techbookfest.org/product/23ZfRJ3CTxKBVDEKzfMg0t?productVariantID=n5Wh2PmNPPppZX6qX1dkWb

個人的にはテンプレート環境にDevContainerの設定ファイルが含まれているのが嬉しかったです。デスクトップでWindows、ノートでWindowsとMacを使っているので、環境気にせずにビルド環境構築できるのはポイント高いです。

原稿を[Re:VIEW形式というマークアップ形式](https://github.com/kmuto/review/blob/master/doc/format.ja.md)で書いておけば

- 印刷所への入稿用のPDF
- 電子書籍用のPDF
- 電子書籍用のepub

がいい感じのレイアウトで生成可能です。
チュートリアル通りのオーソドックスな利用方法で、ここまでできるので凝ったことを考えなければこれでいいかな、となりました。

ちなみに印刷所への入稿用のPDFというのはこんな感じのデータが出力されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/31037/4658240a-f024-1017-75f4-3b4543c2588e.png)

印刷所では実際のページサイズよりも大きな紙に印刷して位置を合わせて裁断して仕上げてくれます。そのための余白と目印のトンボを含めたデータになります。

#### カスタマイズ

`devcontainer.json`でVSCode拡張を指定できるので好みの拡張を設定しています。

```json:devcontainer.json
{
  "#": "略",

  "extension": [
    "atsushieno.language-review",
    "ics.japanese-proofreading",
  ],

  "#": "略",
}
```

私は「Re:VIEW言語サポート」と「テキスト校正くん」を入れています。

---

いかがでしたでしょうか。

「本を書く」となるとちょっとハードルが高いように思えるかもしれませんが、技術同人誌であればA5判40ページほどからで形になります。文量でいえば技術ブログ記事4〜5本分なので、普段から技術記事を書いている人であれば、それほど高いハードルには感じないのではと思います。

発表の場も[技術書典](https://techbookfest.org/)や[技術書同人誌博覧会](https://gishohaku.dev/)といったイベントが国内で定期的に開催されていて、他のイベントに比べて参加費用なども非常に参加しやすい設定になっています。

https://techbookfest.org/

https://gishohaku.dev/

この記事が技術同人誌執筆に興味を持っている人の助けになれば幸いです。

---

明日の記事は@nyanchu22さんの「[要件定義、基本設計、詳細設計の流れを総復習](https://zenn.dev/nyanchu/articles/27a3f95d98df45#fnref-22a1-2)」です。