2002年8月24日、MacOSXのメジャー・アップデートにあたるとされるOSX 10.2、通称Jaguarが発売された。OSのメジャー・アップデートに際しては、これまで使ってきたソフトウェアがそのままでも使えるのかが問題になるのが常であり、その点、pTeX関連のツール群も例外ではない。Jaguarの発売から半月あまり、諸検証作業も落ち着きを見せはじめた現状において結論を言えば、基本的にはほとんどのツールがほぼそのままで利用できるということが確認できたものの、若干の注意点がないわけでもない。そこで今回は、この問題について簡単に整理しておきたい。
OSX上でpTeXを利用する際にもっとも基本的な必須ツールであるpTeX自体のバイナリ・パッケージには、web上で配布されているものとして現在のところ、元祖たる桐木紳氏によるもの、井上浩一氏によるもの、そして私自身によるものの、3種がある。それぞれの特徴・差違については後述するが、これらはいずれもOSX 10.1.x環境下で、基本的にはほぼ同様の手順により製作されたものである。そこで自分のパッケージについて、10.1にpTeXパッケージがインストールされた状態のシステムにJaguarを上書きインストールした場合と、Jaguar上にpTeXパッケージを新規インストールした場合との双方で確認を行ったところ、インストール・動作ともに可能であり、特に問題は生じなかった。よって他の2種のパッケージについても、特に問題はないと思われる。
ただし、Terminal上からpTeXを操作している場合には、ひとつだけ注意しなければならないことがある。それはpTeX関連のプログラムがインストールされるディレクトリである“/usr/local/bin”が、Jaguarのデフォルトではコマンド・サーチ・パスではなくなってしまったということだ。この点は少々ややこしいのだが、実際にトラブルも生じているようなので、なるべく簡単に触れておこう。UNIX系をはじめとするコマンド・ラインのOSでは、プログラムを実行する際には本来は、そのプログラムの実行ファイルが存在するディスク上の場所(ディレクトリ)を、完全なかたちで指定してやらないと、OSがプログラムを見つけることができない。たとえばplatexの場合、通常は/usr/local/bin以下にインストールされているので、Terminalで“/usr/local/bin/platex sample.tex”などと打ち込んでやることになる。しかしこれではややこしくてしょうがないので、単に“platex sample.tex”の如く、プログラム名だけ打ち込めば済むような仕組みが用意されている。つまり“/bin”“/sbin”“/usr/bin”“/usr/sbin”といった、実行ファイル格納用のディレクトリ(“bin”はbinary、“sbin”の“s”はsystemの意)を、どんなコマンドがあるのか調べてデータベースをつくるべきパス(コマンド・サーチ・パス)として登録しておく。そのデータベースをハッシュ・テーブルというが、これは新しいプログラムをインストールしても自動的に更新されはしないので、その都度“rehash”というコマンドで更新してやる必要がある。こうして一度ハッシュ・テーブルに登録されたプログラムは、完全なパスで指定せずとも“platex sample.tex”などといったプログラム名だけでの呼び出し・実行が可能になるのである。
ところで、pTeX関連がインストールされるディレクトリである“/usr/local”以下は、UNIX系OSではユーザー自身がシステム非標準のプログラムやその関連ファイル類をインストールすべき場所として用意されているものである。そのためこれは、UNIXベースのシステムとはいえ、通常はUNIX系のアプリケーションを用いることを想定していないOSXのデフォルト状態では、そもそも存在しないディレクトリであり、pTeXパッケージ等をインストールする際に、新たに作成されているのである。ところが面白いことに、OSX 10.1ではUNIXの標準に則ってなのか、この「存在しない/usr/local/bin」も、デフォルトでコマンド・サーチ・パスとして設定されていた。だが、10.2では、何故かサーチ・パスから外されてしまったのである。
【追記】
MacOS X 10.2.2アップデートから、“/usr/local/AppSpecificWorkaround/PrintCore/AppWorkaround.plist”というファイルがデフォルトで存在するようになった。よってpTeXやGhostscript等の削除に際し、以前のように“/usr/local”ごと迂闊にバッサリと削除することはできなくなったため、注意が必要である。なお、“AppWorkaround.plist”は、IEやPhotoShopなどでの印刷に関わる設定ファイルのようである。
【2003年2月2日追記】
MacOS X 10.2.3プリ・インストールのマシンには、上記ファイルは存在しない。よってこれは10.2.2にのみ必要なファイルであった可能性が高いだろう。
サーチ・パスに設定されていない以上、pTeXパッケージのインストール後に“rehash”を実行しても、/usr/local/bin以下にインストールされたmktexlsrやplatexが見つけられることはない。このため、たとえば10.1上での利用を想定して書かれた桐木氏版パッケージのReadmeにしたがって、インストール後Terminalから“rehash”“mktexlsr”を実行しても、何も起こらない、インストールに失敗したのでは? といったトラブルが発生するのである。もちろんこれは上述のごとく、インストールの失敗や、10.1用のパッケージはJaguarでは動作しない、などといった問題ではないので、落ち着いて以下の対処法を実行すればよい。
さて、その対処法だが、実際はmi toolsやTeXShopを通してpTeXを利用するというのであれば、mi toolsやTeXShopには、Terminalのサーチ・パスとは別の、独自のプログラム登録の仕組みがあるので、面倒なサーチ・パスの設定をわざわざ自分の手でする必要はないだろう。よって単にインストール直後の動作確認をTerminalからするだけというのであれば、“/usr/local/bin/mktexlsr”“/usr/local/bin/platex sample.tex”などと、完全なパスで呼び出してやればよい。一方、TerminalからpTeX関連を操作するために、/usr/local/binをサーチ・パスとして登録しておきたいのならば、自分のホーム・ディレクトリに“.tcshrc”という名のテキスト・ファイルを作成し、そのなかに“set path=( $path /usr/local/bin )”と記述しておく(改行コードはLF)ことになる・・・などということは、Terminalを自在に操れるユーザーにとっては自明のことだろうから、これ以上の冗長な解説は差し控えることにしたい。
さて最後に、先程省略した3種のパッケージの特徴・差違についてまとめておこう。
OSX上でのpTeX環境整備の出発点となった元祖パッケージ。対応文字コード別にeuc版とShift_JIS版、またpTeX標準環境のみのものと日本語化dvipdfmをも付加したものの、計4種のパッケージが用意されている。パッケージ公開後のpTeX関連ソースのアップデートにより、やや古びた面があるものの、インストールも極めて容易で実用上はほとんど問題なく、いまだ初心者には最もお勧めのパッケージである。ただしパッケージに含まれるdvipsが日本語化されていない点と、dvipdfmだけはかなり古びてしまい、扱うソースによっては問題が生じる場合もあることに注意が必要。2002年10月末頃に全面的なアップデートが予定されており、その際にはこれらの問題も解消すると思われるが、それまでは日本語化dvips、最新版のdvipdfm-cjkともに、桐木氏のパッケージに上書きして用いるためのものを、JIS X 0212 for pTeX に用意してあるので、必要ならばそちらを利用されたい。
【2002年11月18日追記】最近、桐木版パッケージは“2002年度版”に名称変更されるとともに、基本的には年度ごとに一度アップデートされることがアナウンスされた。よって全面的なアップデートは2003年度を待つことになったようである。
日本語化dvips、dvipdfm-cjk、mendex等を含む最新のShift_JIS版パッケージ。パッケージの構造も、コンポーネントごとにモジュール化され、またリロケータブル(インストール先を変更可能)になっているという、練られたものになっており、pTeXの構造を知る者にとっては柔軟な設定が可能なものとなっている。ただし、その分複数のパッケージを扱わなくてはならないため、初心者にはやや敷き居が高いかもしれない。また、内山氏によるDVIファイル・ビューワであるMxdviは/usr/local/share/texmf以下にTeX関連ファイルが存在しないと適切にdviファイルを扱えないため、Mxdviを利用する場合には、texmfモジュールのインストール位置を好きなように設定すべきではないだろう。
【2002年9月15日追記】Mxdvi ver 0.222 からは、任意の場所に置かれたtexmfツリーに対応できるようになった。
【2003年1月10日追記】井上版のもうひとつの特徴は、氏のghostscriptパッケージと同様にX関係のライブラリが内蔵されているため、X環境で動作するxdvi(ただし日本語化はされていない)が含まれている点である。また、現在井上版パッケージは、pTeX-3.0.5(teTeX-src-beta-20021223)にアップデートされている。
日本語化dvips、mendex等を含むShift_JIS版のパッケージであり、pTeXの内容そのものは井上版のものとほぼ同等。もともとは桐木版パッケージへの日本語和文縦組・補助漢字関連機能追加モジュールと、その利用のための設定を施したdvipdfm-cjkパッケージのみを配布していたのだが、pTeXを含めはじめてインストールする方の便宜を考え、pTeXと機能追加モジュール部分とを一発でインストールできるよう作成したもの。よって比較的新しい内容のパッケージが、桐木版と同様の容易な手順でインストールできるという利点の反面、補助漢字等の機能が必要でない場合は、余計なファイルによってディスクを無駄遣いするという欠点もある。いずれ桐木版のアップデートが実現した際には、無用の長物と化すかもしれない。
【2003年1月10日追記】現在、小川版パッケージは大きく構成が変わっている。まず、もともとはWin32環境限定であった、非JIS 0208文字種をUnicodeで指定できる“ums.sty”の各種プラットフォームへの移植がなされたことにより、JIS X 0212 補助漢字フォントの必要性が薄れたためその関連モジュールを削除し、これに替えてums.sty使用を中心とする仕様変更がなされた。また、標準的状態で構築されたパッケージと、日本語TeX執筆のうえで必要性の薄いコンポーネントを省略したスモール版パッケージとの2種を用意することとなった。現在はMacOS X 10.2.x環境でmakeされたpTeX-3.0.5(teTeX-src-beta-20030107)である。
eps画像を差し込んだDVIファイルを、Mxdviで表示したりdvipdfmでPDFに変換する際に必要となるGNU ghostscript は、現在のところ橋本暁仁氏によるgs6.53 パッケージと、井上浩一氏・私自身のそれぞれによるgs 7.05 パッケージとが入手可能である。以前述べたように、gs6.53で変換したPDFには日本語フォントがビットマップとして埋め込まれてしまいやや汚くなるのに対し、gs7.05の場合にはType1フォントとして埋め込まれるのでずっと美しいものの、OSX 10.1のpreviewやTeXshopが用いるPDF描画ルーチンでは、CIDフォントを埋め込んだPDFを開こうとするとハング・アップしてしまうという問題点を抱えており、注意が必要だった。だがJaguarのPDF描画はこの点が改善され、preview・TeXShopいずれも、CIDフォントでハング・アップすることがなくなったため、今後は安心してgs7.05を用いることができるだろう。ただし、縦組でTrueTypeフォントを埋め込むとメトリックが乱れるのはgs7.05側の問題であるため、10.1のときと変わらない。
話題が前後してしまったが、gsパッケージについても、自分のものでpTeXパッケージの場合と同様の検証を行ったところ、同じく問題なくインストール・動作可能であった。ただし、gs関連の実行プログラムもpTeX関連と同様、通常は/usr/local/bin以下にインストールされるため、サーチ・パス絡みの問題もpTeXパッケージの場合と同様であることに注意したい。なお、井上氏のパッケージと私のそれとの違いは、pTeXパッケージと同じく井上氏のものはモジュール化されており、また、UNIXの標準的GUI環境であるX-Window System上でも動作するように、X関連のライブラリが組み込まれているのに対し、私のものは一発インストール型だが、pTeXとの連携しか想定していないため、X上で動作するようにはしていないことである。
【2002年11月18日追記】現在、井上版はESP ghostscript 7.05に、小川版はMacOS X 10.2.x環境でmakeし、CUPSと連携してのOSX非対応プリンタでの印刷機能をサポートしたものに、それぞれアップデートされている。
DVIファイルの表示・印刷を担うMxdviは、Jaguar上でmakeされたものとなり、OSX側のバグ・フィックスにともない、300dpiのPKフォントの印刷が可能となるなど、印刷機能面での向上が図られている。よってヴァージョン表記は慎重にもα版のままであるものの、Jaguar上では実用上ほとんど問題のないところまで到達しつつあるといってよいのではないだろうか。
ghostscriptのリソースを利用してPSファイルをビットマップに展開し表示・印刷するMacGhostViewXも、Jaguar環境で問題なく動作する。
最後に、pTeXをAquaGUI上から制御するための各ツール群についてみてみよう。
ソースの作成からPDFへの変換までを一連のものとして制御できる統合環境であるTeXShopは、Jaguarのリリースに合わせてアップデートされており、何の問題もなく動作する。OSX 10.1ではネックとなっていたghostscript7.05でのCIDフォント問題も、前述の如く解決しており、比較的安心して使えるだろう。ただし、TeXShopでのソース執筆にはひとつだけ注意すべき点がある。TeXShopでは日本語pTeXも扱えるように、Shift_JISでのファイル保存が可能となっているが、Cocoaアプリケーションであるため、その内部処理はUnicodeで行われている。そのため、pTeXではJIS第1・2水準内の文字しか扱えないにも拘わらず、入力時にはJIS第3・4水準のいわゆるヒラギノ外字も入力・表示できてしまう。だが保存時にはShift_JISになるため、いったん保存し閉じたファイルを再度開くと、ヒラギノ外字は“?”で表示されることになるし、もちろんコンパイルしたDVIファイルでもその部分は“?”となるのである。
ソース・ファイルをドラッグ&ドロップすればDVIへのコンパイルやdvips・dvipdfmによるPS・PDFファイルへの変換を実行できるTeXCallは、ClassicMacOSの頃のMacpTeXライクな操作性を実現してくれる素敵なツールであるが、残念ながらJaguar上での動作に関しては部分的な不具合が報告されている。すでに作者の渡辺純一氏には問題点が報告されているが、渡辺氏はお忙しいため、気長に対応を待つべきであろう。
html・Perl・TeX等のソース執筆に即した各モードをもつテキスト・エディタとしてClassicMacOS時代から定評のある mi のTeXモードに、OSXでのpTeX関連諸プログラムを制御するためのツール群を追加することで、統合環境を実現する mi tools for pTeX on MacOSX も、作者の橋本暁仁氏のたゆまぬ取り組みにより、いち早くJaguar対応を果たしている。またJaguarではAppleScriptとTerminalの仕様に若干の改良が加えられたため、パス名・ファイル名に日本語を含むファイルの場合にも、コンパイルをTerminal上で実行させられるようになった。TeXは本来は、コンパイル中にエラーが出た場合、コンソール上で対話的に問題を解決していくスタイルのプログラムであるため、これは重要な改良点である。このTerminalの仕様変更と、それにともなうmi toolでの工夫については、言及すべき点が多いので別に機会を設けて整理したい。ただし先日、mi tool群に含まれる一部のツールが動作する上で依存するAppleScript機能拡張モジュールであるsystemOSAXが、1.0.8から1.0.9にアップデートされたため、1.0.8の入手が不可能となったことには注意が必要である。これらのtoolはsystemOSAX1.0.8で動くことを前提に製作されているため、1.0.9と組み合わせた場合はsystemOSAX側の仕様変更を原因とする不具合が発生しており、現在橋本氏は検証・対応作業をされている最中である。この問題については近々、橋本氏自身から氏の配布ページや桐木氏主催のBBSにおいて、アナウンスがなされるであろう。なお、橋本氏のページではOSXでのpTeX環境のための解説が日々増補整備されており、有益である。
むしろ問題なのは、mi 本体の抱える問題、より正確にはCarbonアプリケーション全般が抱える問題である。私の環境(iBook DualUSB)では mi や iCab といったCarbonアプリケーションにおいて、表示や入力・保存に際し、あちこちの文字が部分的に消えたり復活したりといった現象が発生している。web上で情報を収集した限りでは、この問題は頻発するものではないようだが、私の環境固有の問題でもないらしい。Jaguarでは虎の子のQuartz Extremeに代表される、描画ルーチンの大幅な改良・変更がなされたが、そのこととこのCarbonアプリケーションでの不具合とは、何らかの相関関係があるのではなかろうか(Quartz Extremeが効かない環境での問題なのかもしれない。)。OS側で改善がなされるべき問題なのか、アプリケーション側で対応がなされるべき問題なのかわかりかねるが、対応が望まれるところではある。
【2002年11月18日追記】「文字消え」問題は、MacOS X 10.2.2アップデートによってフィックスされた。