Jun Araki’s Blog
随所に主となれば立処皆真なり

2009 年 3 月 21 日

Debian lenny/stable で platex 環境構築

Filed under: Software — araki @ 9:39 PM

今日は困ったことに Debian lenny/sid で、X のログイン画面からログインしてもその後メニューバーも含めて画面に何も現れない現象に悩まされました。昨日まで書いていたある原稿の続きを進めたかったので、結局 Debian lenny/stable をインストールして真っ新な状態から platex 環境を再構築しました。原稿自体はリポジトリにコミットしていたので、それは問題ありませんでした。

lenny/sid での構築手順は以前のポストに書いていたので、基本的にはそれを踏襲しましたが、一部そのままでは入らないパッケージもあったり、他にも必要な設定があったりしたのでなかなか大変でした。手順を再掲します。

まず、lenny/sid の時と違ったのは (デフォルトの sources.list では) xdvi が apt-get でのインストール対象から外れていたことです。

$ sudo apt-get update

platex 環境関連

$ sudo apt-get install ptex-bin yatex okumura-clsfiles

ビューア関連

$ sudo apt-get install gs gs-esp xpdf xpdf-japanese dvipdfmx xdvik-ja

日本語関連

$ sudo apt-get install kinput2-canna kinput2-common language-env anthy scim-anthy
$ sudo apt-get install ttf-kochi-gothic ttf-kochi-mincho
$ sudo apt-get install xfonts-a12k12 xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

この時点では dvipdfmx での PDF 生成がうまくいかず、Could not open config file “fontmapsx”. と Could not find encoding file “H”. というエラーが出ます。どちらも結構有名なエラーらしいですね。前者の方は、これが正しい対処法ではないかも知れませんが、以下でエラーは消えます。

$ sudo ln -s /etc/texmf/dvipdfm /etc/texmf/dvipdfmx

次に後者への対処ですが、これには CMap ファイルのインストールと設定をします。まず、/etc/apt/sources.list に以下の 2 行を追加して apt-get update を実行します。

deb http://ftp.jp.debian.org/debian/ lenny non-free contrib
deb-src http://ftp.jp.debian.org/debian/ lenny non-free contrib

この後に CMap ファイルをインストールします。

$ sudo apt-get install gs-cjk-resource cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2

そして、/etc/texmf/texmf.d/80DVIPDFMx.cnf に以下を記述します。

CMAPINPUTS=.;/usr/share/fonts/cmap/adobe-japan1//;/usr/share/fonts/cmap/adobe-japan2//;/usr/share/fonts/cmap/adobe-gb1//;/usr/share/fonts/cmap/gs-cjk-resource//

最後に texmf を更新します。

$ sudo update-texmf

ここまですると、ようやく dvi 経由の pdf 生成/表示 (tex -> dvi -> pdf) が可能です。

$ platex foo.tex; platex foo.tex; dvipdfmx foo.dvi; xpdf foo.pdf

何も知らない状態からここまでするのは結構大変なので、例えば Ubuntu の latex-env-ja や latex-extra-ja のような一括パッケージなどでもう少し簡便に platex 環境を構築できるようになると有り難いのですが、それは今後に期待しておきます。参考にさせていただいたサイトを以下にメモしておきます。

Stow によるパッケージ管理

Filed under: Software — araki @ 3:12 PM

rpm や apt などの独自のパッケージ管理機構を持たない Linux OS を使っている時はもちろんのこと、そのような独自のパッケージ管理機構を持つ Linux OS を使っている時でもパッケージを tar ボールなどのソースからインストールするという機会はよくあると思います。例えば、新しいバージョンのパッケージを試したいが、まだ自分の使っているディストリビューション用のパッケージが用意されていない時などです。

そういった tar ボール型のパッケージも rpm や apt などのパッケージ管理システムでするのと同様に管理したい時 (例えばパッケージのアップグレードや削除など) に便利なのが Stow です。ダウンロードは GNU のサイトからできます。1.3.3 が出たのがかなり前 (2002 年 1 月) なので有名なツールなのかも知れませんが、私は最近知りました。ちなみに、”stow” という単語は「しまい込む、詰め込む」という意味です。

まず stow をインストールします。今回は /usr/local/stow 下にインストールしました。

$ tar xvfz stow-1.3.3.tar.gz
$ cd stow-1.3.3
$ ./configure
$ make
$ sudo make install

ここでは例として、autoconf-2.63.tar.gz を Stow に入れてインストールします (autoconf のインストールに必要な awk, perl, m4 などはインストール済みとします)。

$ tar xvfz autoconf-2.63.tar.gz
$ cd autoconf-2.63
$ ./configure --prefix=/usr/local/stow/autoconf-2.63
$ make
$ sudo make install

次に、Stow を利用して autoconf-2.63 に対応するシンボリックリンクを /usr/local/bin に作成します。これにより、autoconf 2.63 を利用できるようになります。

$ cd /usr/local/stow/autoconf-2.63
$ sudo stow -t /usr/local/bin/ bin
$ ls -ltr /usr/local/bin
lrwxrwxrwx 1 root root      33 2009-03-21 15:05 ifnames -> ../stow/autoconf-2.63/bin/ifnames
lrwxrwxrwx 1 root root      36 2009-03-21 15:05 autoupdate -> ../stow/autoconf-2.63/bin/autoupdate
lrwxrwxrwx 1 root root      34 2009-03-21 15:05 autoscan -> ../stow/autoconf-2.63/bin/autoscan
lrwxrwxrwx 1 root root      36 2009-03-21 15:05 autoreconf -> ../stow/autoconf-2.63/bin/autoreconf
lrwxrwxrwx 1 root root      34 2009-03-21 15:05 autom4te -> ../stow/autoconf-2.63/bin/autom4te
lrwxrwxrwx 1 root root      36 2009-03-21 15:05 autoheader -> ../stow/autoconf-2.63/bin/autoheader
lrwxrwxrwx 1 root root      34 2009-03-21 15:05 autoconf -> ../stow/autoconf-2.63/bin/autoconf
$ which autoconf
/usr/local/bin/autoconf
$ autoconf -V
autoconf (GNU Autoconf) 2.63
Copyright (C) 2008 Free Software Foundation, Inc.
(以下、略)

参考にしたサイトを以下にメモしておきます。2 番目のサイトがよくまとまっています。

Powered by WordPress