20冊の小説同人誌を作った経験から語るTeXの良いところ

小説の同人誌を作るとき、みなさんはどのソフトウェアを使っていますか? Word? 一太郎? それともInDesign? 私自身は、TeXを使っています。レポートや論文を書くときに使われる、あれです。

私はこれまで、20冊以上の小説同人誌をすべてTeXで作ってきました。この記事では、そんな私が考えるTeXの魅力を、いくらかでもお伝えできたらと思っています。

TeXとは

TeXとは、一言で言うと、マークアップ言語です1。ちなみにHTMLもマークアップ言語の一つなので、HTMLを知っている人はなんとなくイメージが湧くと思います。

TeXで同人誌を作るとはどういうことか、想像しやすいように、簡単な例を見てみましょう。

\documentclass{utbook}
\begin{document}
吾輩は猫である。
\end{document}

まず\begin{document}\end{document}のあいだに本文を書く。これをテキストファイルで保存し、TeXで処理してやると、「吾輩は猫である」と印字されたPDFが出力される。基本的には、こういう流れで同人誌を作ります。

文字の装飾などは、マークアップで指定することができます。例えば、「猫」を太字にして強調したかったら吾輩は\emph{猫}であるなどと書けばOK。HTMLで、強調したい箇所にstrongタグをつけて吾輩は<strong>猫</strong>であるとするのと同じですね。

しかし、なぜわざわざTeXを使うのか、と疑問に思うかもしれません。

マークアップなんて面倒なだけじゃないのか、と。

TeXで小説の同人誌を作ると何が嬉しいの?

組版がきれい

まず、単純に組版能力が高い。TeXを使う一番のメリットはこれでしょう。

組版とは、文字を紙面に配置していくこと。TeXは、これが絶妙に上手なのです。

日本語の場合、原稿用紙に文字を埋めていくかのように文字を隙間なく並べるだけで組版できそうに思えますが、話はそう単純ではありません。何も考えずにただ文字を詰めていくだけでは組版できないのです。

それは、組版ルールとして、「閉じ括弧や句読点は行頭に来てはならない」「括弧と句読点が連続した場合は字間を詰める」のようなルールがあるからです。このルールを守りながら、うまく文字を配置しなければなりません。そのため、文字間の距離を広げたり縮めたりして、文字の配置を微調整する必要があります。

この微調整が、TeXはとてもうまいのです。TeXは、Wordよりはるかに組版がきれいで、読みやすい紙面を作ってくれます。

機能が豊富で、拡張性が高い

TeXは、Wordなどに比べて機能が豊富で、拡張性も高いのが大きなメリットです。

文字サイズ
Wordだと(私の知っている限り)文字サイズは0.5ptずつしか変えられませんが、TeXにはそのような制約はありません。9ptでも9.5ptでも9.258ptでも、いくらでも細かい指定が可能です。

○字×△行の設定
一ページあたり40字×15行で組みたい、といった場合にも、TeXだと簡単に設定できます(下図はわかりやすくするためにマス目を表示させています)。

行頭括弧のインデント
TeXでは行頭括弧のインデントがうまく設定できます。

小説の本でよくある組み方は、このように「行頭括弧は、段落始めは0.5字分字下げ、それ以外で行頭に来る場合は天付きにする」というものでしょう。しかし、Wordではせいぜい次のうちどちらかの組み方しかできないはずです。

細かい違いかもしれませんが、神は細部に宿ると言います。特に小説では会話文のために括弧が多用されるので、括弧のインデントがうまく設定できるに越したことはありません。

TeXではインデントを細かく制御できるので小説同人誌を作るにはもってこいです。

ルビ
Wordだと、ルビを振ると行間がずれることがあります。TeXでは、ルビを振っても行がずれることは決してありません。

これだけでもありがたいのですが、それだけではありません。TeXでは、ルビ用文字が使えるのです。「游明朝」や「ヒラギノ明朝」などのフォントには、実は、ひらがなやカタカナが二種類入っていて、本文用とルビ用があります。画像をご覧ください。

右のルビ用の文字のほうが、少し太めで、濁点がやや大きめになっていることがわかるでしょうか。ルビ用は、小さくても読みやすいよう工夫が凝らされているのです。

Wordでこのルビ用文字を使う手段はおそらくないと思いますが、TeXだとこのルビ用文字がいともたやすく使えます。「言われてみなければ気づかない」程度の違いにも思えますが、こういう細かな部分の積み重ねが、読むときの快適さにつながっていくように思います。

倍角ダッシュ
フォントによっては、倍角ダッシュ「――」がつながらないことがありますが、この問題も、TeXだと簡単に解決できます。TeXの機能を用いて、ダッシュがつながるように設定することができるのです。

\def\――{―\kern-.5zw ―\kern-.5zw ―}

このように定義しておいて、「――」の代わりに「\――」と入力すれば、ダッシュがつながるようになります。

自分で機能拡張していける
この他にも、いろいろと機能を拡張していくことができます(下の「便利な小技」の節を参照のこと)。このような機能の豊富さ、柔軟さがTeXの魅力です。

テキストベースである

TeXはテキストベースなので、プログラミングができる人なら、様々な恩恵を受けることができます。例えば、カクヨム記法で書いたのをPythonやRubyでTeX形式に変換してそのままPDF出力、といった処理も簡単です。

便利な小技

場面転換の記号を作る

小説で場面転換をするとき、「***」などの記号を挿入する場合があります。この場面転換の記号を、小説の雰囲気に合わせて変更できると嬉しいですよね。TeXだとこれが簡単にできます。

まず、画像ファイルを用意します(ここでは三日月の絵にしました)。そして、次の要領で\scenebreakというコマンドを定義します。

\newcommand{\scenebreak}{%
    \mbox{}\par
    \hspace*{11zw}\mbox{\yoko\includegraphics[width=1.5zw]{hoge.png}}\par
    \mbox{}\par
}

すると、文中で\scenebreakと書いておくと、その箇所に三日月の画像が挿入されます。

便利ですね。もちろん、画像を変えたくなったときも簡単です。一個ずつ手作業で画像を置き換えなくても大丈夫。単に\scenebreakの定義を少し変更するだけで、一括置換できるのでラクです。

自在に濁点を振る

TeXの機能を使って、任意のひらがなに濁点を振ることができるようになります。次のように\dakutenというコマンドを定義しましょう。

\usepackage{pxghost}
\newcommand{\dakuten}[1]{%
    \jghostguarded{%
        \leavevmode\hbox to 1zw{%
            \rensuji{\hbox to 1zw{#1\hspace*{-.25zw}゛}}%
        }%
    }%
}

\dakuten{あ}と打つと、「あ゛」と表示できるようになります。

波線をつなげる

波線を普通に入力すると「〜〜〜」となって、波線はつながりません。これをつなげるには、字間を調整するコマンド\kernを利用すればOKです。\kern-0.25zwは、字間を0.25字分詰めるという命令になります。

よって〜\kern-0.25zw 〜\kern-0.25zw 〜\kern-0.25zw 〜のように書くと、波線をつなげることができます。先程の濁点コマンドと合わせると、次のような表現もできるようになります。

あるいは次のように波線出力コマンド\wdashを定義してしまうとよいでしょう。

\makeatletter
\newcommand{\wdashKA}{.25zw}
\chardef\zenkakuspace=\jis”2121\relax
\newcounter{wdashcnt}
\newcommand{\wdashzenkakutilde}{~}
\newcommand{\wdash}[1]{%
    \setcounter{wdashcnt}{1}%
    \zenkakuspace\kern-1zw

\@whilenum\value{wdashcnt}<#1\do{\stepcounter{wdashcnt}\wdashzenkakutilde\kern-\wdashKA}%
    \wdashzenkakutilde\kern-1zw\zenkakuspace
}
\makeatother

\wdash{5}で、「〜」が5文字分つながった波線が出力されます。

TeXで組版するのは難しい?

TeXで小説同人誌を作るのは、一昔前は、結構大変でした。TeXは元々横書きの論文を作るためのソフトなので、縦書きの小説を組版するのに必要なパッケージ(TeXに拡張機能を提供するファイルのこと)があまり出回っていませんでした。そこで、TeXで小説同人誌を作るには自前でプログラミングをして機能拡張をする必要があったのです。

ところが最近では、ありがたいことに、小説向きのクラスファイル・パッケージファイルが続々と作られ、公開されるようになってきました。

例えば上で紹介した「○字×△行の設定」ですが、昔はこのように設定するには少し工夫が必要でした。しかし、いまではjlreq.clsというクラスファイルを使えば簡単に設定できます。

昔に比べて、TeXで小説同人誌を作ることの敷居はぐんと下がっているように思います。

もちろん、TeX自体の学習コストは決して低いわけではありません。Wordのように直観的に操作できるソフトに比べると、習得に時間はかかるでしょう。TeXは、HTMLやCSSをいじったりするのが好きな人であれば向いていると思いますが、そうでない場合、TeXに時間を割くよりむしろ小説の内容の質を上げるほうに時間を使ったほうが有意義かもしれません。

終わりに

小説同人誌作りにおけるTeXの魅力をお伝えしてきましたが、いかがだったでしょうか。

ちなみに、本記事冒頭で「20冊以上の小説同人誌をTeXで作ってきた」と言いましたが、そのうちいくつかは私の所属する文芸サークル・神聖自炊帝国のサイトで試し読みできます。具体的に、TeXで小説同人誌を作るとどのような仕上がりになるのか気になった方は、ぜひ一度覗いてみてもらえれば幸いです。


1正確に言うと、ここで「TeX」と呼んでいるものはLaTeXのことです。LaTeXはTeX言語によって実装されたマクロ体系であり、要するにTeXとLaTeXはイチゴとイチゴジュースくらい違います。だから本当は、LaTeXのことを「TeX」と呼ぶのはイチゴジュースのことを「イチゴ」と言うのと同じくらいおかしい、と言うべきかもしれません。しかし日本では(特に日常会話では)LaTeXのことを指して単に「TeX」と言う場合が多いので、ここでもその慣例に倣う次第です(TeXとLaTeXの厳密な違いについては「TeXとLaTeXの違い」などを参照のこと)。

記事を共有する

ABOUTこの記事を書いた人

アバター画像

文芸サークル『神聖自炊帝国』の総書記。好きな作家は、井上ひさし、土屋賢二など。文芸の技術的側面(とりわけLaTeX組版)についてのニッチな情報をまとめたウェブサイト(https://qdaibungei.github.io/latex/)を運営中。