C75へ向けてLaTeXで縦書き組版の準備を開始した!

冬コミには申し込むことにしました.ただ,コミケは結構落とされるので,本当にサークル参加できるかは まだまだわかりません><

ジャンルはとりあえず「文芸」で行きます.私に人様に買って頂く絵は描けませんので,文章中心で. 一応物語で書く予定です.テーマは大体決まっていますが,構想はまだまだ全然ですのでこれから がんばろうと思います.また,ある程度見えてきたら,自分で表紙と挿絵を 1 枚程度は描いてみたいと 思います.こちらは努力目標で,駄目な場合は誰かに外注するかも orz

Word で組版が許されるのは,小学生までだよねぇ~ 組版は LaTeX で

で,どのように組版をするかですが,ここで Word を使うなんてことは私のプライドが許しませんので, 早速 LaTeX で組むことにしました.いつもどおり「形」を先に作らないと創作意欲が湧かないので まずここから始めるのがいつもの私です.

tbook.cls のカスタマイズ

横書きでもいいのですが,せっかく小説もどきを書くのであれば縦書きにしたいなぁと思いまして, pLaTeX 標準の tbook クラスを使うことにしました.しかし,結構問題アリのクラスだったので, このページを参考にしながら自分でちょっといじくりました.

まず,TeX のフォルダの中から「tbook.cls」を見つけてきて,作業フォルダに「mytbook.cls」というファイルで コピーします.次にこれを開いて,「\ProvidesClass」の中を「mytbook」に一応変えておきます. 基本的にこいつをいじくることでクラスをカスタマイズしていきます.

こいつでの問題点は,latemxk を回して PDF を生成させたときに,ページサイズが無視されて 全部 A4 に貼りつけた形になってしまうことでした.コピー本の予定なので,A5 で組版してほしいのでちょっと 困ります.解決は dvipdfmx 実行時にオプションをつけてあげれば良いらしいのですが,latexmk で 一気にやっているのでこの内容をソースに含めてやる必要があります.

実は jsarticle.cls はそれをすでに組み込んでいまして,オプションに「papersize」をつけてあげると PDF のサイズを変更してくれます.そこで jsarticle.cls から相当する個所をコピペすることで 解決しました.実際やっている内容は,オプションに papersize が存在したら, dvi ファイルの頭に dvipdfmx 用のオプションを書き込んでいるだけみたいです.そこから先の細かい 動作は知りませんが,まぁ動くので良しということで^^

実際にやったことは,「\DeclareOption」が並んでいるなかの適当な所に以下を追加.

\newif\ifpapersize
\papersizefalse
\DeclareOption{papersize}{\papersizetrue}

もうちょっと下の方にある「\ProcessOptions」の後の適当な行に以下を追加.

\ifpapersize
  \setlength{\@tempdima}{\paperwidth}
  \setlength{\@tempdimb}{\paperheight}
  \iftombow
    \advance \@tempdima 2in
    \advance \@tempdimb 2in
  \fi
  \AtBeginDvi{\special{papersize=\the\@tempdima,\the\@tempdimb}}
\fi

ソースファイル

このクラスを使って,こんな TeX ファイルを作ります.ソースは章ごとに別立てするとして, まず main.tex はこんな感じ.

\documentclass[a5j,openany,papersize,oneside]{mytbook}
\begin{document}

\frontmatter
\tableofcontents
\mainmatter

\include{chap01}
%\include{chap02}
%\include{chap03}

\backmatter
\include{end}

\end{document}

あとは,章ごとの TeX ファイルを「chap01.tex」などとして,一緒のフォルダに置いとけば OK. chap01.tex の内容はこんな感じ.

\chapter{てすとてすと}
ああああああああああああああああああああああ
ああああああああああああああああああああああ
ああああああああああああああああああああああ
ああああああああああああああああああああああ
ああああああああああああああああああああああ
ああああああああああああああああああああああ
ああああああああああああああああああああああ

おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお
おおおおおおおおおおおおおおおおおおおおお

もう一回クラスをカスタマイズ

それから,目次や章の先頭で「第 ○ 章」とかデカデカと出るとちょっとカッコ悪いので,またクラスファイルを いじります.ファイルの最後の方にある以下の部分から「第」と「章」を消せば OK.消したあとこんな感じ.

\newcommand{\prechaptername}{}%変更 「第」
\newcommand{\postchaptername}{}%変更 「章」

それから,章の名前のフォントをちょっと小さくするために「\def\@makechapterhead#1{\hbox{}% 」とかいう行のちょっと下にある以下を編集.

%   \reset@font\huge\bfseries
   \reset@font\large\bfseries

最後に奥付も参考サイトに書いてあったので参考にして一応つけました(end.tex)が,これは変えるかも.

\thispagestyle{empty}
\begin{flushright}
%\newpage

 |||||||||||||||||||||||||\\

 \huge\textbf{てすと}\\
 \vspace{2zw}

 \small{平成あああ 印刷}\\

 \small{平成あああ 発行}\\
 \vspace{1zw}
 \normalsize{著 者  }\LARGE{あああ}\\
 \vspace{1zw}
 \normalsize{発行者  }\LARGE{あああ}\\
 \vspace{1zw}
 \normalsize{印刷者  }\LARGE{あああ}\\
 \vspace{1zw}
 \normalsize{発行所  }\huge{あああ}\\

 ||||||||||||\\

\end{flushright}

この状態で latexmk まわして PDF にしたものが以下のファイル.まずまず.

ということで,これで各章ごとにテキストを書き込めば,TeX をまわすだけでさくっと A5 版の完成ですね. もしかしたら気合い入ったら印刷所を使うかも知れませんが,まぁそれは完成してから考えよう. というか,当選してから考えよう^^