TeXで日本語縦書きをして小説を書けたらページデザインが美しいだろうと思ったのです。
あれこれと試行錯誤を重ねたので、長めのページになりました。少しでもご参考になれば幸いです。
縦書きのために便利なスタイルファイルがいくつか存在する。私が利用しているのは
Fujita Shinsaku TeX/LaTeX Page
から適当に頂いてます。
具体的には
furikana.sty, tnamisen.sty, tsayusen.sty, tundline.sty, sfdanrak.sty, tatesuji.sty
を利用しています。
これらを~/share/texmf/tex/platex(or latex)以下に適当なフォルダをつくってまとめて入れておく。
ターミナル(Windowsならコマンドプロンプト)から
mktexlsr
を実行してスタイルファイルを更新しておく。
縦書きのドキュメントスタイルを宣言し、取得してきたパッケージを使用する宣言をする。
\documentclass{(tarticle, tbookなど)}
\usepackage{hogehoge}
各種パッケージが必要であることに注意。上述のサイトからいただいたパッケージを使用の上、これらのコマンドを使うこと。
\bou{傍点}\rensuji{数字}\kana{漢字}{かんじ}\dvipdfmx [option] hogehogeoptionについては、場合によって使いわけるので後述。
\\または
\noindent
input{hogehoge}
若しくは
\include{hogehoge}
拡張子(tex)は省略すること。以下では、好みのレイアウトによってプリアンブルの例を書いてみることにします。ドキュメントクラスは、tbookを用いることにします。
文字は10pt、11pt、12ptを使用可能。用紙はa4paper(デフォルト)またはa5paperを使用。 a4jやa5jは文章のスペースを大きくとる設定になっているのでお勧めできます。landscapeは用紙を横置きにする命令。notitlepageでタイトルなどを独立したページに出力するのを防ぎます。onesideは奇数ページ、偶数ページでレイアウトを区別しないようにする。twocolumnで二段組にします。
\usepackage{layout}
を宣言し、
\layout
を\begin{document}の後に挿入すると、レイアウトのプレビューが見られるので、レイアウトをいじっている間にはお勧め。
setlengthやaddtolengthに関する命令の具体的な効果はlayoutを見るか、各種webサイト、入門書などを参考にしてください。
\renewcommand{\baselinestretch}{(1.1など)}
は行間の空きスペースをいじって1.1倍にします。
日本語のTeX処理(pTeXだったかな?)の場合、12ptを使うと内部処理では10ptで行い、その後1.2倍に拡大しているらしいので、実際の行間は1.1X1.2なんだと思います。これ以外のレイアウトの設定も同様です。
\documentclass[12pt,landscace,notitlepage,oneside]{tbook}
\addtolength{\voffset}{1zw}
\addtolength{\hoffset}{0zw}
\setlength{\headsep}{0zw}
\setlength{\headheight}{0zw}
\setlength{\textheight}{60zw}
\setlength{\textwidth}{40zw}
\renewcommand{\baselinestretch}{1.1}
PDF化するとき、用紙を横向きにしなければならないので
dvipdfmx -l hogehoge
としてオプションをつけます。
\documentclass[12pt,a5paper,notitlepage,oneside]{tbook}
\addtolength{\hoffset}{-2zw}
\setlength{\headsep}{0zw}
\setlength{\textwidth}{40zw}
\setlength{\textheight}{28zw}
\AtBeginDvi{\special{pdf:docview <</ViewerPreferences <</Direction /R2L>> >>}}
一番最後の命令は、dvipdfmxでPDF化したとき、ページを右綴じにする命令です。これでPDFビューアで「見開き表示」にしたときに右から左に読むことができるようになります。 PDF化するときは、A5を使用するので
dvipdfmx -p a5 hogehoge
とします。
尚、ビューアで開いたときに、最初から見開きで表示させることが可能なオプションがもしあれば教えて頂きたいと思っています。現状では、幅に合わせた設定で開いてしまいます。暫定的な解決
\documentclass[11pt,a5paper,notitlepage,twocolumn,oneside]{tbook}
\setlength{\columnsep}{2zw}
\addtolength{\hoffset}{-3zw}
\addtolength{\voffset}{0zw}
\setlength{\headheight}{0zw}
\setlength{\headsep}{0zw}
\setlength{\textwidth}{46zw}
\setlength{\textheight}{32zw}
\renewcommand{\baselinestretch}{1.05}
\AtBeginDvi{\special{pdf:docview <</ViewerPreferences <</Direction /R2L>> >>}}
\setlength{\columnsep}{2zw}は段の隙間を変更する命令です。
個人的には、講談社ノベルス好きなので、この設定はお気に入りだったりします。
\pagestyle{plain}
ヘッタには何も出力せず、フッタの中央にページ番号を出力します。その他の命令については各自でお調べください。
\renewcommand{\thesection}{\kansuji \arabic{section}.}
sectionの出力のしかたを変更します。
thesectionを他のもの(例えばchapterなど)にすれば、それに応じた出力を変更できます。最後の括弧を空白にすると、何も出力されません。sectionはデフォルトでは、日本語の場合{第 \arabic{section} 節}になっているのだと思います、たぶん。
\kansujiはpTeXに含まれいるパッケージで、漢数字で数字を出力します。
私が書いた設定の場合、section毎に漢数字で
一. 何々
などと出力されます。点は用いているフォントによって、全角か半角のどちらが好ましいか調べてご利用ください。私はIPAフォントを用いていますが、その場合は全角だと縦書きでは自然です。
pdfをビューアで開いたときに、見開きになるような設定を考えてみました。
hyperrefパッケージを使い、そのオプションとして見開き表示の設定を書き込むというものです。事実上、hyperrefパッケージの利用はしていないので、非常に不満ですが、とりあえずうまくいっています。Adobe readerでの動作を確認しています。
次のようにプリアンブルに記述します。
\RequirePackage[dvipdfm,bookmarks=false,pdfpagelayout=TwoPageLeft]{hyperref}
bookmarks=falseでしおりの表示をしないようにしています。今回は、見開き表示をさせることが目的であり、しおりを作成して表示することが目的ではないために、この設定をしています。
pdfpagelayout=TwoPageLeft?で見開きにして奇数ページを左側へ表示するようにしています。
他に
TwoPageRight:見開き、奇数ページを右側 TwoColumnLeft:連続見開き、奇数ページを左側 TwoColumnRight:連続見開き、奇数ページを右側 OneColumn:連続ページ SinglePage:単一ページ
があります。もちろん、デフォルトではSinglePage?になります。
その他にたくさんのサイトを参考にさせて頂きましたが、あれこれと試行錯誤を重ねたので、具体的に挙げることが不可能です。
dvipdfmxに関する設定について現在調査中。もしご存知でしたらお教え頂けると嬉しいです。
スパムが多いので一時閉鎖。そのうち対応したいと思いつつ…