TeXで縦書き小説を書く

TeXで縦書き小説を書く
===

みなさん小説書いてますか。

どんなツールを使ってるでしょうか。普通はWordやInDesignですかね。PCだけでなく、最近ではスマホから使えるWEBサービスも出てきたようですね。

時代に逆行してる感はありますが、TeXは良いです。こういう感じの文書が簡単に作れます。

![スクリーンショット_2021-11-18_16-25-07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2299774/c330b0e1-6b54-dfcb-0b06-211a3737e307.png)
![スクリーンショット_2021-11-18_16-34-46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2299774/91d98eab-cb3b-dcb7-5d45-38d3bc11d8eb.png)


ある程度長いものを書いたりする場合、TeXはとても使いやすいです。

今回はTeXを使用して小説を書く方法を、TeXをあまり使ったことのない方に向けてまとめました。

# 1. TeXとは
読み方は『テフ』または『テック』です。

TeXとは、フリーの『文書作成ソフトウェア』または『組版システム』です。WordやGoogle Documentの仲間です。

もともとは論文作成に使われていたものでしたが、少しずつ拡張されていき、技術書や小説でも使われるようになりました。

最近は[Requirements for Japanese Text Layout | 日本語組版処理の要件](https://www.w3.org/TR/jlreq/)に準拠した[jlreqドキュメントクラス](https://texwiki.texjp.org/?jlreq)が提供され、縦書き小説はもちろん日本語の文書全般がとても簡単に作れるようになりました。

## 1.1 メリット

### 何も考えなくてもある程度綺麗になる
とりあえずの設定で綺麗なフォントや字幅で仕上がります。もちろんカスタマイズも簡単です。

### 設定を流用しやすい
何度も出てくる設定をコピペやマクロで流用できます。長編小説や掌編はもちろん、他の人の設定を使わせてもらうのも簡単です。文章の量が多ければ多いほどこのメリットは大きくなります。

### 数式が綺麗に書ける
もともと理系の学者さんが論文を書くために作成したというのもあり、数式がとても綺麗に簡単に書けます。異常論文を書くときも無問題です。

## 1.2 デメリット

### 環境を整えるのが大変
初心者はまずインストールでつまずくことが多いです。いちおう昔よりは簡単になりました。

### プログラミングっぽくてとっつきにくい
ソースコードを編集してコマンドを打ったりと、初心者にはかなりとっつきづらいです。まず間違いなく最初は苦戦するでしょう。

そのうち慣れます。

### 開発メンバーの中心が英語圏
組版処理ソフトウェアという性質上、言語（話す方）の違いは大きいです。通常のOSSと同じく開発は英語を中心で行われているので、多くの機能は英語圏のユーザー向けにまず提供されます。

検索して出てくる情報が英語だったり、日本語がおいてけぼりにされる疑惑が出たりと、ちょっと注意が必要かもです。

# 2. TeX LIVEのインストール
実際にTeXをPCにインストールしてみましょう。Windows, Linux, Mac対応です。無料です。

いろいろ一括で配布してくれる『TeX LIVE』をインストールします。記事作成時点では2021が最新でしたが、多少バージョンが違っても大丈夫です。

## 2.1 インストールファイルをダウンロードする
[Installing TeX Live over the Internet](https://www.tug.org/texlive/acquire-netinstall.html)

* **install-tl-windows.exe** for Windows (~20mb)
* **install-tl-unx.tar.gz** (~5mb) for everything else
* **install-tl.zip** (~25mb) which is the same as the .exe

## 2.2 インストールする
ダウンロードしたインストールファイルを実行します。

Windowsだとこんな感じ、他OSでもだいたい同じです。基本は画面に従っていけばよいでしょう。

* `install-tl-windows.exe`を右クリックから『管理者として実行』
  * 『Windows によって PC が保護されました』と表示されたら『詳細情報』から『実行』をクリック
* 『Next』→『Install』を押すとインストーラが展開される（インストールされている訳ではない）
* 『TeX LIVE 2021インストーラ』という画面が表示される。『インストール』を押すとインストールが開始される
  * 後述するGUI環境を使う場合は『TeX Worksをインストール』にチェックを入れる
  * 『高度な設定』で詳細なオプションが表示されるが、基本的にはいじらなくてよい
  * インストールには１〜２時間かかる
* 『Complete』が表示されたら『Close』を押して終了

## 2.3 その他
万が一トラブルがあった場合は、公式のインストール手順を参考にしてください。

* [Microsoft Windows - TeX Wiki](https://texwiki.texjp.org/?Microsoft%20Windows)
* [Mac - TeX Wiki](https://texwiki.texjp.org/?Mac)
* [Linux - TeX Wiki](https://texwiki.texjp.org/?Linux)

# 3. 文書を作成する
インストールが終わったら実際に文書を作成してみましょう。

色々な方法がありますが、流れはどれも同じです。

* `.tex`ファイルを編集
* `.dvi`ファイルを生成
* `.pdf`ファイルを生成

テンプレートを用意しましたので今回はこちらを使ってください。フォルダ／ファイルの名前は任意ですが、日本語を含まない方が望ましいです。

[document.tex - Github](https://github.com/botamotch/dotfiles/blob/master/texlive/document.tex)

中身についての解説は今回は省きますので、いろいろ編集してどうなるか見てみてください。検索すれば大抵の情報は出ます。

## 3.1 TeXの文書作成環境
実際にTeXで文書を作成するにあたり、色んなやり方があります。

素朴にテキストエディタとコマンドプロンプトでやったり、リッチで高機能な統合環境を使用したりと、人によって全然違います。

今回は２つだけ詳しく説明しますが、お好きな方法を試してみてください。

* TeXmaker
* TeXworks
* **TeXstudio**
* VScode+プラグイン
* **コマンドプロンプト＋テキストエディタ**
* Make
* latexmk
* llmk
* OMake

## 3.2 TeXstudio
TeXの文書作成をサポートしてくれるグラフィカルな統合環境です。

### 本体のダウンロード
[TeXstudio](https://www.texstudio.org/)のDownloadからダウンロードしましょう

### コマンドの指定
日本語文書に対応させます。『オプション』→『TeXstudioの設定』から下記の通り設定を変更してください。

- 『コマンド』タブ『LaTeX』の`platex`を`uplatex`に変更
- 『コマンド』タブ『DviPdf』の`dvipdfm`を`dvipdfmx`に変更
- 『ビルド』タブ『ビルド＆表示』を**DVI->PDFチェーン**に変更
- 『ビルド』タブ『既定のコンパイラ』を**LaTeX**に変更

### ビルド＆表示
ダウンロードした`document.tex`ファイルを開き、**ビルド＆表示**を実行（緑色の矢印が２つ重なったアイコン）。

ちゃんとできればこうなります。

![スクリーンショット_2021-11-18_16-10-30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2299774/992c02cc-67c7-6c90-08e5-526c12237ed9.png)


## 3.3 コマンドプロンプト＋テキストエディタ
コマンドプロンプトからコマンドで実行する人は少数派ですが、基本はこちらです。他の方法で動かない時の原因究明として、なるべく知っておいてください。

ファイルのあるフォルダでコマンドプロンプトを開いてコマンドを２つ実行します。

- `uplatex document.tex`
- `dvipdfmx document.dvi`

正しく実行できればこんなのが出てきます。

```
$ uplatex document.tex
This is e-upTeX, Version 3.141592653-p3.9.0-u1.27-210218-2.6 (utf8.uptex) (TeX Live 2021) (preloaded format=uplatex)
 restricted \write18 enabled.
entering extended mode
(./document.tex
pLaTeX2e <2021-06-01u04>+2 (based on LaTeX2e <2021-06-01> patch level 1)
L3 programming layer <2021-07-12>
(/usr/local/texlive/2021/texmf-dist/tex/latex/plautopatch/plautopatch.sty)
Document Class: jlreq 2019/09/24 jlreq
...
(./document.aux) 《縦組モード》
(/usr/local/texlive/2021/texmf-dist/tex/latex/lm/ot1lmss.fd) [1] [2] [3]
[4] (./document.aux) )
Output written on document.dvi (4 pages, 7608 bytes).
Transcript written on document.log.

$ dvipdfmx document.dvi
document.dvi -> document.pdf
[1][2][3][4]
86966 bytes written
```

`.tex`ファイルはお好きなテキストエディタで、`.pdf`ファイルはSumatraPDFなどで開いてください。

Adobe Readerはどういう神経してるのか`.pdf`を編集モードで開いてしまうので使えません。

# 4. 参考
## 4.1 LaTeX2ε美文書作成入門
* [［改訂第8版］LaTeX2ε美文書作成入門](https://www.amazon.co.jp/dp/B08MZ98Z1Q)

この記事は小説に重点を置きましたが、より広い知識が必要ならこちらの書籍を参考にするとよいでしょう。TeXを使う人はだいたい持ってます。この本なら大丈夫です。

## 4.2 組版について

* [京極夏彦氏はここまで「読みやすさ」を追求していた | JBpress](https://jbpress.ismedia.jp/articles/-/53511)
* [京極夏彦氏が一挙公開、ルビと禁則処理の法則 | JBpress](https://jbpress.ismedia.jp/articles/-/53512)

京極夏彦先生がルビや禁則処理をどうやっているかをお話した記事になります。もちろん商業誌のお話です。使用しているツールは違いますが、根っこの考え方は参考になるでしょう。

## 4.3 2021年の日本語TeX
* [日本語 LaTeX の新常識 2021 | Qiita](https://qiita.com/wtsnjp/items/76557b1598445a1fc9da)

2021年の日本語TeXの置かれている状況について詳しい方がまとめてくれています。専門的な話もあるのでこちらは参考までに。

# 5. おわり
以上になります。

駆け足になってしまいましたが、TeXを使って縦書き小説を書く方法を紹介しました。

実際自分はこの方法で数冊同人誌を出してます。SNSに上げるにしても本として印刷するにしても、頑張って書いた作品はなるべく綺麗に残すのが良いと思うので、みなさん参考にして下さい。