TeX Live 2011 に移行する

まあ昔から、文書をタイプセットするのに LaTeX を使っているわけだけど、この何か月か、僕はふたつの TeX 処理系を併用していた。ひとつは Mac OS X 上で動作する TeX Live 2010、そしてもうひとつは Linux 上で動作する TeX Live 2009 + pTeXLive である。

2010 以降の TeX Live は pTeX / pLaTeX を内包しているので、実は pTeXLive はその使命を半ば終えたと言っていい。この1年程の間にも、ptetex3 から pTeXLive に移行していたものを、更に新しい処理系に移行するのは少々面倒で、あまりちゃんとしていなかったのであった。しかし、Mac 上でヒラギノを使って PDF を作成すると、これの品位の高さには少々驚かされた。いつも使っていた小塚フォントも決して悪くはないのだが、特に教育目的で使用する文書などは、少々癖のある小塚よりもヒラギノの方がスムースでいいのかもしれない。というわけで、処理系を含めて、フォントの問題をちゃんとしよう、と重い腰を上げたのだった。

実は、最新版の TeX Live の tree は、subversion で常に更新された状態で手元に置いてあった。先頃、ついに正式に TeX Live 2011 が出てきたので、これを機会にそちらに完全移行することにした。

TeX Live で日本語を扱う上で問題になるのは、フォントの問題と、旧字の処理の問題だ。特に後者は、pTeXLive では標準装備であったOpen Type Font用VF(いわゆる OTF パッケージ)を自力で入れなければならないのだが、(当然)TeX Live 2011 付属の ovp2ovf は ver. 2.1 であり、makeotf による VF 作成作業がうまくいかないのである。これを解決するのが面倒なので、今迄手をつけずにいたわけだ。

で、今回は少し考えを変えて、ad hoc にやってみることにしたわけだ。以下手順を示す。

まず、TeX Live 2011 の tree 入手法に関しては、他をあたっていただきたい(単純に書くのが面倒なので……以前に一度 tree を消したときのことが、拙 blog のどこかに書いてあるかもしれない)。TeX Live 2009 + pTeXLive と TeX Live 2011 がインストールされていることを前提に、話を進める。

何をしようとしているのか、既に皆さんお分かりだろうと思うけれど、要するに pTeXLive の OTF をそのまま TeX Live 2011 に移植してしまおう、というわけである。まず、pTeXLive の OTF パッケージの在処だが:

/usr/local/texlive/p2009/texmf/packages/otfcurrent
このディレクトリである。これを tar して、
/usr/local/texlive/2011/texmf-dist/tex/platex/
に展開する。あとは、
$ cd /usr/local/texlive/2011/texmf-dist/fonts/tfm
$ ln -fs ../../tex/platex/otfcurrent/tfm ./otfcurrent
$ cd ../vf
$ ln -fs ../../tex/platex/otfcurrent/vf ./otfcurrent
$ cd ../ofm
$ ln -fs ../../tex/platex/otfcurrent/ofm ./otfcurrent
……と、これで ad hoc なフォント設定は完了したわけだ。かなりアヤしいけれど。

次にフォントマップを設定しておく。僕は印刷用に dvipdfmx で小塚明朝を埋め込んだ PDF を作成・使用することが多いので、こんなマップファイルを作って、

/usr/local/texlive/2011/texmf/fonts/map/dvipdfmx
内に aozora.map などという名前で置いておく。この名前は、このマップを作成したのがもともと青空文庫の PDF 化のためだったからなのだけど、まあ他の名前でもいいだろうし、場合によっては、同じディレクトリ内にある cip-x.map を書き換えてもいいだろう。ただし、このファイルを直接書き直すと、tlmgr で TeX Live のアップデートをかける度にこのファイルが元に戻ってしまうことになるので、別名で作成されることをお薦めしておく。

次に、

$ cd /usr/local/texlive/2011/texmf-dist/fonts/opentype/public
$ mkdir kozuka
$ chmod 2755 ./kozuka
$ cd kozuka
$ ln -fs /opt/Adobe/Reader9/Resource/CIDFont/*.otf ./
のようにして、小塚フォントを TeX Live のシステムが参照できるようにしておく。最後に、
$ /usr/local/texlive/2011/bin/x86_64-linux/texhash
を実行しておく。

platex 使用時には、普通のままで特に何も問題はない。dvipdfmx 使用時には、

$ dvipdfmx -f aozora.map foo.dvi
のように、明示的にフォントマップを指定してやる必要がある(勿論、cid-x.map をじかに書き換えた場合はこれは不要だろうと思うが)。
thomas@shannon:~/documents/test$ dvipdfmx -f aozora.map foo.dvi
foo.dvi -> foo.pdf
[1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19]
738735 bytes written

** WARNING ** 1 memory objects still allocated

thomas@shannon:~/documents/test$
……ちょーっと引っかかる(これ何なんだろう? EPS 貼り込みのときに dvipdfmx の version によってこういうメッセージが出るバグが……云々、という話は聞いたことがあるのだけど)が、PDF は何も問題なく正常に作成される。OTF パッケージを使用してコードで指定した旧字等も、問題なく表示される。

……と、ここまで Linux 上で確認したところで、Mac OS X 上でも同様のことをする。ただし、小塚フォントの代わりにヒラギノフォントを用いるわけで、フォントマップもそれに合わせて作り直しているのだが、基本的には、上の手続きと何も代わるところはない。そして、問題なくヒラギノを埋め込んだ PDF が作成できたのだった。勿論、OTF パッケージの使用も、縦書きも、問題なくできる。

かくして、Linux、Mac OS X 共、基本的な TeX / LaTeX での環境は TeX Live 2011 ベースになった(一応バックアップに TeX Live 2009 + pTeXLive は残してあるけれど)。これで今後は書きものをしていくことになるだろう。

ずれ(2)

前回の blog に書いた問題だが、もう少し検証を行うために、Mac に ptexlive をインストールした。皆さんご存知かと思うが、Mac OS X にはヒラギノという極めて高品位なフォントが付属しているので、このヒラギノを PDF に埋め込むようにフォントマップを書いてセッティングを済ませた。

うーん……しかし、ずれるんだなあ。縦書きでいい例が見当らなかったので、中学生の国語のテスト問題を LaTeX で版組みしてみたのだけど、左が PDF をそのまま Adobe Acrobat で印刷したもの、右は一度 pdf2ps で Postscript に変換した後「プレビュー」で変換・印刷したものである。

20110702-pdf.JPG20110702-ps.JPG

まあ、先にも書いたけれど、横書きしている分には、このような問題は何も発生しない。だからいいいと言えばいいんだろうけれど……でもなあ。一応 pLaTeX だからなあ……

ずれ

私用で使う文書を LaTeX で作成しているのだが、どうにもおかしなことがある。

LaTeX って何よ? と聞かれそうなので補足しておくけれど、これは「ラテフ」とか「ラテック」のように読む。Donald E. Knuth というコンピュータ科学者が作った組版ソフトで、主に論文とか、数式の入った文書などを体裁良く印刷するのに非常に便利なソフトである。僕はもう20年程、この LaTeX を公私共に使い続けている。

LaTeX を使うときは、文書に整形用のコマンドを挿入したようなテキストファイルを用意して、これを LaTeX に食わせる。すると LaTeX は DVI (DeVice-Independent) ファイルという中間出力ファイルを吐く。これを、昔は dvips というプログラムに食わせて PS (PostScript)形式のファイルを吐かせていたのだが、今は dvipdfmx というプログラムに食わせて PDF ファイルを吐かせている。PDF ファイルというのは、皆さんもご存知だと思うけれど、この十数年程の間、体裁を整えた電子文書の形式のスタンダードとして使われている。Acrobat Reader 改め Adobe Reader を使えば、無料で閲覧も印刷もできる。しかもセキュリティと暗号化の概念が規格に盛り込まれているので、たとえば閲覧はできるけれどコピペや印刷はできません、というようなファイルを生成することもできる。まあ、便利な代物である。

Adobe Reader は Linux で動作するものもあるし、もしそれがなくても Ghostscript があるので、Linux 上で PDF を扱うのには何も問題はない。しかし、僕が使っている CUPS のプリンタドライバで印刷をかけた場合、手元のインクジェットプリンタでは印字位置がずれてしまうので、生成した PDF ファイルを U の仕事用の Mac に送り込んで印刷するようにしている。

U の Mac には Adobe Creative Suite がインストールされているので、PDF の扱いには何も問題ない、はずだ。なにせ本家本元の Adobe のソフトである。PDF の印刷なんて Adobe Acrobat でさくっと……いけるはずなのだ。なのだが、どういうわけか、これがうまくいかない。まあ横書きの場合は何も問題なくいくのだけど、僕はしばしば pLaTeX を使って縦書きの文書を印刷することがある。これを Mac の Adobe Acrobat で印刷すると、もう目も当てられないような状態になってしまうのだ。

何が問題なんだろう……と、しばし考えてから、僕は Adobe の標準フォントを PDF に埋め込むことを考えた。Adobe の標準フォント、と言うと、何やねんそれは? という話になりそうだけど、要するに、Adobe Reader に標準添付されている小塚明朝と小塚ゴシックを明示的に指定して、これを PDF に埋め込んでやる。このファイルは、そのまま配布するのはフォントの版権上ちょっとマズいかもしれないのだが、こうやって印刷するためにだけ使うのであれば、特に問題はないだろう……ということで、LaTeX 側にちょこちょこっとマップファイルを書いてやって、改めて PDF を作成してやる。印刷すると……うーん。ずれる。ずれるんだが、まあ見られないこともない、と言える位の感じなので、これでやりすごしていた。

しかし、今日のファイルは強敵だった。もうずれまくりで、どうしようもない。かくなる上は……と、 Linux 上で昔ながらの PS ファイルを作成した。ただし、この PS ファイルは PDF ファイルを基にして、いわゆるビットマップ展開をかけたものである。これを Mac に送り込んで「プレビュー」で表示させると……うん、表示は問題ないな。では印刷は……と、見ると、今迄あれ程悩まされていたずれが、嘘のように解消されているではないか。

しかし、どうにも解せないのである。LaTeX / dvipdfmx で吐かれる PDF というのは、そんなに変なファイルではない筈なんだけど、どうして Adobe 純正のユーティリティできっちり印刷できないのだろうか。結局この謎は今に至るまで解けていない。

お前が言うなや

世の中では、しばしば「お前が言うなや」と言いたくなることがある。たとえば、何処ぞの国の総理大臣が、原発事故前は自然負荷の少ないエネルギーとして原発推進の立場を表明していたものが、何時の間にか、自分は前から原発反対派なんだ、その筋のオーソリティなんだ、などという顔をしていて、そればかりでなく、脱原発に賛成か反対か、賛成ならば自分の政党に投票するはずだ、などという話まで出ているわけだが、まさに「お前が言うなや」という話である。

さて。今回の話はそういうことではない。まずは僕の使っている shannon というコンピュータの話で……この shannon は、Windows Vista Home Basic 64 bit と、Debian GNU/Linux sid という二つの OS で使えるようにしてある。普段はほとんど Linux で動作させているわけなのだけど、この何日か、ちょっと WIndows 上のユーティリティを使う必要があって、特に昨夜は一晩ずっと Windows を立ち上げていた。こういうときは、実は僕にとっては堪らなく憂鬱になる。

丁度、U が似たような憂鬱を口にすることがある。U は仕事で使うスキャナがあって、これが Mac OS 9 でしか動作しない。U は何台か仕事用の Mac を持っていて、その中の1台の G4 が OS 9 と OS X のデュアルブートになっている。これを OS 9 でブートするのだけど、そうすると、ファンがそれはそれは喧しいのである。これには理由があって、G4 の筐体ファンは多段で回転速度が調節できるような仕様なのだけど、OS 9 ではこの調節が出来ず、回転速度が高回転側で固定されるのである。だから、OS X では静かなのに、 OS 9 だと、かなり凄い音がずーっと鳴っていることになる。

shannon の場合も、実は Windows で起動すると、CPU の冷却ファンが「グァー」っと回っている。しかし、shannon の場合、CPU ファンの調速は Linux よりむしろ Windows の方がうまくいっている、筈なのだ。つまり、この現象は、Windows の方が CPU の発熱が大きい、ということを示しているのだが、何か仕事をするときの動作は、Linux と Windows とで Linux の方が圧倒的に軽い。つまり、Windows の方が無駄にCPU の計算能力を消費している、ということなのだ。

Windows で普段回っているファンの速度位に、Linux での動作時にファンが回るときは……と考えると、深夜に git と GNU Emacs、そして Emacs 周辺ユーティリティのソースツリー更新と build を自動的に行うようにしているのだが、このときにそれ位回るだろうか。あとは……そうそう、kernel の build をしているとき位だろうか。まあ、意図的に CPU に負担をかけているとき(僕は make するときに、可能であれば -j オプション等でマルチスレッドで行うようにしているので)にはそうなるけれど、Linux を立ち上げているだけのときに、ファンの音が気になるような状態になったことはない。やはり、Windows は無駄に CPU リソースを食い潰しているのである。

さて。ここまで書いたところで、以下のリンク先をご覧いただきたい:

さぁ、皆さん、せーの、でいきますね。せーの、お前が言うなや、Microsoft !

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

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

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

New Entries

Comment

Categories

Archives(902)

Link

Search

Free

e-mail address:
e-mail address