pTeXLive インストール完了

ようやく babel 込みでpTeXLiveが使えるようになった。備忘録としてインストールプロセスをメモしておく。

まず TeXLive をインストールする。pTeXLive の最新版では目下 TeXLive の 2009 年度版をフォローしているので、まずはCTAN の historicからtexlive2009-20091107.iso.xzを取得する。unxz などで解凍した ISO image を、

mount -o loop ./texlive2009-20091107.iso /media/cdrom
などとして mount し、/media/cdrom 内で、
install-tl
を実行し、I を入力することでインストールが行われる。

インストールが終わったら、たとえば /tmp/ptexlive のように作業用のディレクトリを用意し、そこに以下のアーカイブを用意する:

ptexlive-20100322.tar.gz と eptex-100420.tar.bz2 を展開したら、

patch -p0 < ./eptex-100420-patch1.diff
として eptex-100420 に patch を適用する。適用後、
cp ./eptex-100420/6babel.sh ./ptexlive-20100322
として、babel の make に必要なスクリプトをコピーしておく。

次に pTeXLive のコンパイル設定を行う。

cp ./ptexlive-20100322/ptexlive.sample ./ptexlive.cfg
としておいてから、./ptexlive.cfg の編集を行う。僕の場合は:
### "ptexlive.sample"
### 推奨設定は先頭にまとめてあります。
### それ以外はコメントにしてあります。
### シェルスクリプトと同じで # 以降はコメントです。
### common.sh で自動判別している設定もあります。
### "../ptexlive.cfg" というファイルを作って、必要なものを書き写して下さい。
### "./ptexlive.cfg" や "../ptexlive.cfg.host名" でもかまいません。
### version 2010/ 3/22

### (必須・変更不可) ベースとなる TeX Live のバージョン
TEXLIVE_VERSION=2009

### (必須) mount した TeX Live 2009 DVD のディレクトリを指定
#ISO_DIR=/media/TeXLive2009
#ISO_DIR=/Volumes/TeXLive2009
ISO_DIR=/media/cdrom

### (任意) インストールした TeX Live 2009 のディレクトリを指定
# TEXLIVE_DIR=/usr/local/texlive/2009
# TEXLIVE_DIR=$ISO_DIR

### (任意) インストールする ptexlive のディレクトリを指定
# PREFIX=/usr/local/texlive/p2009

### (任意) 作業用ディレクトリを指定
# TMP_PREFIX=/dev/shm/ptexlive2009
# TMP_PREFIX=`pwd`/build

### (任意) make font でフォント検索するディレクトリを追加指定
# EXTRA_CMAP="/usr/local/cmap;/c/program files/cmap"
# EXTRA_TRUETYPE="/usr/local/ttf;/c/program files/truetype"
# EXTRA_OPENTYPE="/usr/local/otf;/c/program files/opentype"
EXTRA_TRUETYPE="/usr/share/fonts/truetype"
EXTRA_OPENTYPE="/usr/share/fonts/opentype"

### (任意) configure 時にキャッシュを用いる(高速化されるが実験的)
conf_option -C

### (任意) make 中に最大 N 個のプロセスを起動する(高速化)
### N は (コア数+1) にするのがよいらしい
# make_option -j 2 # for single core
make_option -j 3 # for 2 core
# make_option -j 5 # for 4 core
# make_option -j # unlimit

### (任意) configure に使うシェルを指定
export CONFIG_SHELL="/bin/bash"

### 余分にコンパイルするツールを指定する
### texdoc コマンドには luatex が必要
conf_option --enable-luatex

conf_option --enable-xetex
conf_option --enable-xdv2pdf
conf_option --enable-xdvipdfmx

conf_option --enable-dialog
conf_option --enable-pdfopen
conf_option --enable-ps2eps
conf_option --enable-psutils
conf_option --enable-t1utils
conf_option --enable-tpic2pdftex
conf_option --enable-vlna
# conf_option --enable-xindy

conf_option --enable-afm2pl
conf_option --enable-bibtex8
conf_option --enable-cjkutils
conf_option --enable-detex
conf_option --enable-devnag
conf_option --enable-dtl
conf_option --enable-dvi2tty
conf_option --enable-dvidvi
conf_option --enable-dviljk
conf_option --enable-dvipng
conf_option --enable-dvipos
conf_option --enable-lacheck
conf_option --enable-lcdf-typetools
conf_option --enable-musixflx
conf_option --enable-seetexk
conf_option --enable-tex4htk
conf_option --enable-ttf2pk
conf_option --enable-ttfdump

# ---------------------------------------------------------

### 既にライブラリが存在すれば、それを使う(高度な知識が必要)
# conf_option --with-system-zlib
# conf_option --with-system-libpng # using system-zlib
# conf_option --with-system-freetype2 # using system-zlib
# conf_option --with-system-gd # using system-libpng, system-freetype2
# conf_option --with-system-t1lib
# conf_option --with-system-freetype
# conf_option --with-system-xpdf

### libpng 1.4.0 以降は使えないので注意。

### OS 付属の freetype2 は pxdvi の縦書きに必要な otvalid モジュールが
### 無効になっていることが多いので注意。

### また '--with-system-gd' を指定すると '--with-system-libpng' と
### '--with-system-freetype2' も指定したことになる。

### kanji <=> unicode 変換に iconv を使う
conf_option --enable-kanji-iconv

### strip する(デバッグ情報を消して実行ファイルを小さくする)
STRIP=yes

### xdvi のツールキットを指定する
###(ディフォルトは自動選択、motif が最良の選択肢)
conf_option --with-xdvi-x-toolkit=motif
# conf_option --with-xdvi-x-toolkit=xaw
# conf_option --with-xdvi-x-toolkit=xaw3d
# conf_option --with-xdvi-x-toolkit=neXtaw

### X 環境がない場合
# conf_option --without-x
# conf_option --disable-xdvik
# conf_option --disable-pxdvik

### make (font|fonty|test) で xdvi と pxdvi を除外する
XDVI=echo

### make test で ps2pdf を除外する
PSPDF=echo

### ptex/platex コマンドの入出力文字コードを指定(ディフォルトは UTF8)
### nkf で自動変換するので、気にする必要はない
### 'UTF8' は ptexenc の独自拡張
KANJI_CODE=UTF8
# KANJI_CODE=EUC
# KANJI_CODE=SJIS
# KANJI_CODE=JIS
(以下変更なし)
xindy はコンパイル上の問題があるという話があるので外したが、コンパイルしても問題ない、かもしれない。他は個々の環境に合わせて適宜調整する必要があるだろう。

ここまで準備ができたら、ptexlive-20100322 内で、

$ make all0
$ ./6babel.sh
$ make otf
$ make fonty
$ make test
と make を行い、問題がないようなら su → make install でインストール完了である。

この手順でインストールできる pTeXLive は、最新版のひとつ前の version なのだが、やはり babel が使えないと困るので、現状ではこの手順でインストールを行っている。しかし…… ptetex3 のときと違って、dvipdfmx で作成した PDF の index が文字化けするんだなあ。さすがにここまでトレースする気力も時間もないので、今回は仕方ないということでこのまま使っているのだが。まあでも、とにかく babel 込みで pLaTeX が使えるだけでも有り難いので、まあこれはこれでいいことにしているのだった。

【追記】
上のコンパイルで唯一外している xindy だが、あの後何度かコンパイルを試みているが一度も成功していない。依存関係がある clisp 周辺はパッケージを入れてコンパイルを試みたのだが、残念ながら結果は変わらない。→解決済み。『xindy の make 可能に』(2010年11月3日)を御参照のこと。

ptetex3 の時限爆弾問題

pTeXLive に移行しようとしている、という話を書いたけれど、これのそもそもの原因が、ptetex3 の make がどうもうまくいかなくなったからであった。


=================================
Applying patch file ltpatch.ltx
=================================
(/var/tmp/ptetex3/share/texmf-dist/tex/latex/base/ltpatch.ltx)
) )
Beginning to dump on file latex.fmt
(format=latex 2010.10.26)
5493 strings of total length 76081
45419 memory locations dumped; current usage is 144&43167
3273 multiletter control sequences
\font\nullfont=nullfont
\font\OMX/cmex/m/n/10=cmex10
\font\tenln=line10
\font\tenlnw=linew10
\font\tencirc=lcircle10
\font\tencircw=lcirclew10
\font\OT1/cmr/m/n/5=cmr5
\font\OT1/cmr/m/n/7=cmr7
\font\OT1/cmr/m/n/10=cmr10
\font\OML/cmm/m/it/5=cmmi5
\font\OML/cmm/m/it/7=cmmi7
\font\OML/cmm/m/it/10=cmmi10
\font\OMS/cmsy/m/n/5=cmsy5
\font\OMS/cmsy/m/n/7=cmsy7
\font\OMS/cmsy/m/n/10=cmsy10
3633 words of font info for 14 preloaded fonts
566 hyphenation exceptions
Hyphenation trie of length 151382 has 4043 ops out of 35111
143 for language 34
133 for language 32
12 for language 31
127 for language 30
76 for language 29
71 for language 28
248 for language 27
66 for language 26
116 for language 25
68 for language 24
7 for language 23
194 for language 22
756 for language 21
117 for language 20
26 for language 19
35 for language 18
229 for language 17
147 for language 16
6 for language 15
31 for language 14
113 for language 13
145 for language 12
265 for language 11
60 for language 10
63 for language 9
19 for language 8
21 for language 7
12 for language 6
5 for language 5
21 for language 4
235 for language 3
207 for language 2
88 for language 1
181 for language 0
No pages of output.
Transcript written on latex.log.
Error: `pdfetex -ini -jobname=latex -progname=latex -translate-file=cp227.tcx *latex.ini' possibly failed.
fmtutil: /var/tmp/ptetex3/share/texmf-var/web2c/latex.fmt installed.

###############################################################################
fmtutil: Error! Not all formats have been built successfully.
Visit the log files in directory
/var/tmp/ptetex3/share/texmf-var/web2c
for details.
###############################################################################

This is a summary of all `failed' messages and warnings:
`pdfetex -ini -jobname=latex -progname=latex -translate-file=cp227.tcx *latex.ini' possibly failed.
make: *** [stage6] エラー 1
……と、こんな調子である。

pteTeX wiki の記事『動作報告/132』によると、これはどうも「マクロが5年以上前のものですよ……古過ぎやっちゅーねん」と文句を言われているらしい。ptetex3 を公開している土村展之氏は、2009年06月10日にこの問題を知り、

時限爆弾を1年先延ばししました。それまでには ptexlive に移行していただけるよう整備したいと思います。
と書いている。しかし、その先延ばしした時限爆弾が、もう作動しているということなのであろう。

この問題のために ptetex3 で babel を make することができない。pTeXLive では正式にはまだ babel を実装できていない。北川弘典氏のε-pTEXは最新版の pTeXLive に対応しておらず、その辺の依存性に起因すると思われるコンパイルエラーが出て、結局 babel が使えないのだ!

これは正直言って困った。どうしたものか。いや本当に困ってるんですよ。時間があれば自分でどうにかするんだけど、今はとあることで時間を食われているのでこれに専念できそうにないしなあ。ううううう。

pTeXLive を使う

今年の冬から春にかけて、『誰も教えてくれない聖書の読み方』新共同訳ガイドを作成するのに、pteTeX3 が実に役に立ってくれた。特に babel を入れた多国語同時処理環境は非常に強力で、ギリシア語を書く時などこれなしにはできなかったと言ってもいい。

しかし、だ。『LaTeX 2ε美文書作成入門』でも紹介・収録されていた pteTeX3 は、残念ながらもう時代遅れになったと言わざるを得ない。現在はpTeXLiveに開発が移行している状況なのだ。ということで、僕も pTeXLive 環境に移行しよう……と思っていたのだが、うーん……babelが使えない……困ったなあ。この辺を参考にちょこちょこやっているのだけど、どうもうまくいかない。最新版の pTeXLive とこの e-pTeX の間を自力でどうにかする時間はないしなあ。まあ、時間ができたときに何とかするしかなさそうだ。

Thomas は如何にしてメールを読み書きするか

最近の世間の「標準的なメールの読み書きの環境」というのが、僕にはどうもよく分からない。仕事の場合だと、いわゆるグループウェアを使わされることが多いだろうし、プライベートの場合だとMozilla Thunderbirdのユーザが多いのだろうか。そうそう、Mac ユーザの方々は Mail.app という完成度の高いソフトがバンドルされているから、他を使う必要性はないかもしれない。

僕の場合は、なにせ1990年代初頭からずーーーーーーっと同じソフトを使っている。かつて阪大で NeXT を使っていたときは Mail.app も使っていたのだけど、普段は端末エミュレータがあれば全て用が足りるように環境を整えていたので、GNU Emacs上で動く MUA を使い続けている。一番最初はrmail、そしてすぐにMH-Eを使い始めたのだけど、何かの雑誌で読んで使い始めたMewを、結局今に至るまでずっと使い続けている。

Mew の何が便利かというと、発送元アドレスからどのフォルダにメールを移すか、というのを推測してくれて、それが結構頭がいい。そして、メールを読み書き・送受信する際に、キーボードからマウスに手を伸ばす必要が全くない。とにかく、キーボードだけで全ての操作が行えるのである。勿論 Emacs のマクロとして実装されているから、カスタマイズも広い範囲で可能だし、PGP / OpenPGPGNU Privacy Guardを使ったメールの暗号化も簡単にできる。今から何も予備知識なしで使い始める、という人は、おそらく Emacs のキーバインドを覚えるだけでも苦痛を感ずるかもしれないけれど、Emacs を使っている人間としては、これ以上に便利な MUA というのをちょっと思いつかない、という位に便利である。

あと、これは UNIX 系の OS を使っている人なら皆やっていることかもしれないけれど、メールアカウントを複数管理するのに、アカウントに対応するユーザを登録しておいて、そのユーザのアカウントに su して Emacs → Mew を起動する、という手があって、僕はこの十年程、専らこれでメールを管理している。これだと、たとえば Microsoft Windows を使っている場合も、メールを読み書きするためのコンピュータを決めてやって、あとは周囲の Windows 端末にTera Termを入れておいて、SSH でリモートログインするだけでいいから至極便利である。どこからでも同じ環境でメールを読み書きすることができるのだ。

僕は前から「文字だけの環境の利便性が見直されてしかるべきだ」と思い、また機会があるたびに書いているのだけど、こういう人がもっと増えてきてもいいのではないか、と思う。これで、static な IP address を個人がもっと使えるようになれば、家のメールを地球の裏側から読むことだって、そう難しいことではなくなるのだけどなあ……実際、ドイツやフィンランドに行ったとき、僕はそうやってメールを読み書きしていたもの。

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

横山大観がかつて学んだ小学校から、旧水戸城址にある中学、高校と進学。この頃から音楽を趣味とするようになる。大学は、学部→修士→博士の各課程に在籍し、某省傘下の研究所に就職、その2ヵ月後に学位を授与される(こういう経緯ですが最終学歴は博士課程「修了」です)。職場の隣の小学校で起こった惨劇は未だに心に深く傷を残している。

その後某自動車関連会社の研究法人で国の研究プロジェクトに参画、プロジェクト終了後は数年の彷徨を経て、某所で教育関連業務に従事。

New Entries

Comment

Categories

Archives(902)

Link

Search

Free

e-mail address:
e-mail address