読者です 読者をやめる 読者になる 読者になる

頼りないニモニック

はっきりいって個人の日記レベル

UTF-8が使えるplatexをUbuntu12.04でコンパイルする

LaTeX Linux

(この記事は以前に http://nanatomo.com/program/766 で公開されていたものです。)

ptex-binパッケージでインストールされる platexUbuntu 12.04の時点でEUCエンコードされたtexファイルしか受け付けません。試しに $ platex -v を実行すると、

$ platex -v
pTeX 3.141592-p3.1.11 (EUC) (Web2C 7.5.4)
kpathsea version 5.0.0
Copyright (C) 1999 D.E. Knuth.
(以下略)

という出力が得られます。「(EUC)」の文字が見られるならば、EUCのみに対応しています。

以下のページを参考にしました。

ptetex -- teTeX 用日本語パッチ集

UTF8でLaTeX(pLaTeX)を使う方法

Fedora11に日本語TeX環境をインストール

コンパイルの準備

platexのみを使うため、その他 dvipdfm などのバイナリはインストール済みとして話を進めます。

このページに従い tetex-src-3.0.tar.gztetex-texmf-3.0po.tar.gzptetex3-20YYMMDD.tar.gz(最新のもの)をダウンロードし、3ファイルとも同じディレクトリに移動させます。ディレクトリはどこでも良いのですが、コンパイル後のインストールで同一ディレクトリであると少々不具合があるので別のディレクトリを使用します。そして「ptetex3-20YYMMDD.tar.gz」のみを展開します。ディレクトリの中は次の状況になっているでしょう。

$ ls -l
合計 108076
drwxrwxr-x 11 nanase nanase 4096 820 23:31 ptetex3-20090610
-rw-r--r-- 1 nanase nanase 6502684 820 21:56 ptetex3-20090610.tar.gz
-rw-r--r-- 1 nanase nanase 12749314 820 22:33 tetex-src-3.0.tar.gz
-rw-r--r-- 1 nanase nanase 91402377 820 22:37 tetex-texmf-3.0po.tar.gz

必要なパッケージのインストール

$ sudo apt-get install gcc make perl libxaw7-dev flex bison nkf gs-cjk-resource cmap-adobe-japan1 cmap-adobe-japan2 ttf-sazanami-gothic ttf-sazanami-mincho

既にTeXの環境がある場合はほとんどインストールするものがないはずです。

my_optionの編集

展開で作成されたディレクトリ内の「my_option.sample.en」または「my_option.sample」(エンコードEUC-JPで!)を開き、必要に応じて設定を変えます。詳細は「my_option.sample」に書かれていますが、要点は

#コメントを外してUTF-8を有効に
KANJI_CODE=UTF8

#インストール先を指定
PREFIX=(インストール先)

だけです。コンパイルが非常に長いため、適宜コメントアウトして調整することをおすすめします。設定を変更し終えたら、「my_option」として保存します。

7font-search.shの修正

Ubuntu用にディレクトリの記述を修正します。「7font-search.sh」の137行あたりを

f8sazanami-min /usr/share/fonts/sazanami/mincho
f8sazanami-goth /usr/share/fonts/sazanami/gothic

に変更します。

stdio.hの修正

コンパイル中、getlineが衝突しているとエラーが出ます。これはstdio.h中のgetlineが原因です。万が一のためにstdio.hのバックアップを作り、元のstdio.hにあるgetlineをコメントアウトしておきます。

/*
extern _IO_ssize_t getline (char **__restrict __lineptr,
                            size_t *__restrict __n,
                            FILE *__restrict __stream) __wur;
*/

コンパイル終了後に元に戻しておくことを忘れずに!

.texmf-varのリネーム

ホームディレクトリ直下に「.texmf-var」というディレクトリがある場合はこれを必ずリネームしておきます。コンパイル終了後に戻せばOKです。

コンパイルとインストール

$ make
$ sudo make install

makeは非常に時間がかかります。 「Congratulations! TeX environment seems to work properly.」と表示されればコンパイル成功です。

make install でエラーが出ることがありますが、インストール先ディレクトリに「bin/platex」があれば問題ありません。

確認として

$ ./platex -v
pTeX 3.141592-p3.1.10 (utf8.euc) (Web2C 7.5.4)
kpathsea version 3.5.6
ptexenc version 0.999
Copyright (C) 1997-2004 D.E. Knuth.
(以下略)

あとは自分でパスを通すなり、シンボリックリンクを張るなり、エイリアスを付けるなりしてください。

ところで、binディレクトリには platex 以外にも dvipdfm(x) などがありますが、私の場合では任意の日本語フォントが使えませんでした。コンパイルした platex を使い、あらかじめインストールした dvipdfm(x) を使うと問題なくPDFを作ることができました。