platexをやめてxelatexを使おう
以前、platexをUTF-8コードで使うための記事 UTF8でLaTeX(pLaTeX)を使う方法 - ラシウラ出張所 - coders を書いたけど、これからはxetexのxelatexを使うようにします。xelatexだと、フォント設定だけで欧文のスタイル上でUTF-8日本語文章からPDFを生成できるようになっています。
xetexのインストール
- Windows: platexの"TeXインストーラ3"を使っていれば自動で入ります
- Windows: 欧文ベースのMiKTeX(2.9)でもxelatexが入っていて、インストールした状態のままで日本語も扱えます。こちらは欧米スタンダードなtex構成であり、外部ツールの対応も充実してオススメです。が、逆にascmac.styのような日本でよく使われるパッケージがないので、別の違和感があるかも。
- ubuntu: 標準の texlive-xetex パッケージを追加します。
メイリオやMS明朝などのプラットフォーム固有のフォントが使えますが、texソースのプラットフォーム依存をなくすようにIPAフォントを使うほうがいいかもしれません。
Windowsは上記リンクから4種入りzipを取ってきてコントロールパネルのフォントからインストールすることでxetexからも使えるようになります。ubuntuはttf-ipafont-gothicとttf-ipafont-minchoパッケージが標準にあるので、それを追加します。
使い方
xelatexコマンドを使います。texファイルをxelatexコマンドに食わせると、(dviやpsではなく)直接PDFファイルが出来上がります。
xelatex hello.tex
texソースはUTF-8で書き、欧文と同じスタイルを使います。ただし、和文フォントの設定が必要です。以下一番シンプルな例。
\documentclass{article} \usepackage{xltxtra} \setmainfont{IPAPMincho} \setsansfont{IPAPGothic} \setmonofont{IPAGothic} \XeTeXlinebreaklocale "ja" \begin{document} こんにちは世界 \end{document}
\XeTeXlinebreaklocale "ja"
がないと、空白がなければ長い文章を途中で折り返してくれなくなります。
和文書類向けのカスタマイズ
欧文文書のスタイルの上での日本語文章が乗るので、少し違和感があるかもしれません。たとえばjarticleなどと比べると余白が大きく感じてしまいます。
以下のように余白を調整すると、若干違和感も薄れるかも。
\documentclass[12pt,a4]{article} \setlength{\textwidth}{17cm} \setlength{\textheight}{24cm} \setlength{\leftmargin}{-1cm} \setlength{\topmargin}{-2cm} \setlength{\oddsidemargin}{0cm} \setlength{\evensidemargin}{0cm}
こういう応急処置ではなく、XeLaTeX で日本語する件について [電脳世界の奥底にて]の"よりよい日本語組版を目指して"のパッケージ群を使えば、日本語として見栄えのよい書類が出来るようです。