10月 4, 2008

UbuntuでTeXをソースからコンパイル

いったい、そんなことが自分にできるのか全く自信なかったが、まあ、失うものはないし〜 :mrgreen: ということで、やってみた。Ubuntu 8.04 (Hardy Heron)にtetex3ベースのptetex3 (by 土村氏)をインストールするのが目標。

ptetex — teTeX 用日本語パッチ集

上記の土村氏のサイトからソース一式をダウンロードし、説明書の通りにした、と言えば簡単そうであるが、実はけっこう苦労した。最初にpatchがないよ、とエラーを吐かれたときにはどうなることやらと思った(笑)。 patchのような基本的ツールすら入ってないのか〜。次に、gccが実行可能ファイルを生成できないっす、というエラー。これに苦労した。依存関係を調べて、Debianでのtetex3に必要なライブラリーなどを検索。でも、大抵は入っていたような。おまじないで、gcc3.3のbasicではない方をインストールしたり、gcc3.4まで入れたりした。そんなこんなで、gcc関係のエラーは何とか突破。次にc++がないとか言われるので、g++(GNU c++コンパイラー)を入れる。最後に、lexとyaccがないと言われるので、GNU版のflexとbison (いずれも lexとyaccの拡張版である構文解析ツール)を入れる。以上で、何とかmakeに成功。ああ、疲れた〜。

あとは、make install で /var/tmp 以下に生成されたものを /usr/loca/teTeX 以下にコピーし、/usr/local/teTeX/bin にパスを通して終了。

楕円コンパスをJAVAで実現した楽しいページ

ふと思い出して、楕円コンパスって今でも売っているのかなあと、検索していたら、こんなのを見つけた。

■楕円の作図(楕円コンパスの原理)

自分には作れないのがちょっと悔しいけど、JAVAのプログラムが組めると、こういうものをネットにアップできるんだなあ。JAVA Applet を読み込むのに少し時間がかかるけど、一度読み込んでしまえば、あとの動きは軽快。こうやって、アニメーションというか、実際に動きが見えると楽しい。


楕円になることの証明は難しくない。上のページの記号で、$P(x,y)$, $AP=a$, $BP=b$, $AP$と$x$軸のなす角を$\theta$とする。すると、$x=a\cos\theta$, $y=b\sin\theta$ となるから、たしかに$P$の軌跡は楕円である。

Ubuntu 日本語版セットアップ・ヘルパー

Ubuntu 日本語版セットアップ・ヘルパー

手動でTeX関係とかあれこれインストールしていたのだが、何と何と、日本語版セットアップ・ヘルパーというのがあり、そこから一括してインストールすることができた。おまけに、xdvi が xdvik(日本語版)にリンクされていたりと、こっちの方が手動よりもずっと賢い。orz…

気づいたきっかけは、PDFリーダーが日本語フォントを表示できなかったこと。検索したら、システム ーー> システム管理 から日本語版セットアップ・ヘルパーを選べばよい、とあった。やってみると、PDFリーダー用の日本語フォント以外にも、日本語版Adobe Reader、辞書の類、その他もろもろ、そして、日本語版のTeX環境が丸ごと。最初にこれをすればよかったんだ〜。

依然としてShift JISが通らないことは変わらないが、まあ、それはそれ。どうも、Debianのバグらしい。バックスラッシュ(\)が文字化けというか、きちんと認識されてないらしいのである。うーむ、謎。

タバコ値上げで癌死亡減少シミュレーションのナンセンス

タバコを1000円に値上げすると、こうなって、ああなって・・・で、癌による死者がこれだけ減少するだろう、とかいうシミュレーションをどこぞがやっているんだそうだ。今しがた、NHKのニュースでやっていた。アホらし。

極端な話、タバコを1億円にしたら、誰も買えなくなって、タバコによる癌の死亡は減るだろう。でも、他の要因を考えていないではないか。同じ論法を使えば、車の税金を10倍にすれば、車を買う人が減って、結果として交通事故による死者は減るだろうが、どうしてそれを提案しない?タバコぐらいだと、みんなブツブツ言いながらも我慢すると見透かされているのだろう。

ワタシは喫煙しないが、だからといってこんな暴論には与したくない。いや、そのうち、健康の為に酒税をアップしようなんて議論になるかもしれないし 😯 油断は禁物なのである。

UbuntuでTeX文書の文字コードをどうするか

Ubuntuを本格的に使うつもりなら、TeXの環境をどうにかしなくてはならない。悩ましいのは文字コードだ。Ubuntuでのデフォルトの日本語コードはutf-8のようで、エディター(文書編集ソフトウェア) gedit で普通に文書を作ると、自動的に utf-8 にされる。ところが、歴史的事情(?)や諸般の事情によって、Shift JIS で使いたいのである。もともとTeXの日本語版であるASCII pTeXでは内部コードはJISだったと思う。UNIXではEUC-JPが、MS-DOS(Windowsの先祖)ではShift_JISが主に用いられていたため、ASCII pTeXはこの3種類の文字コードをサポートし、読み込むときに変換していたと記憶している。

最近では UTF8 を直接読み込めるpTeXも開発されているようだが、主流は依然として EUC-JPかShift_JIS、そしてMac OS XでのpTeXもまたShift_JISなので、UbuntuでもShift_JISで行きたいのであった。正直言えば、そろそろShift_JISなんて止めたいのであるが。

Shift_JISのLaTeX文書を組版するには、シェルからなら platex –kanji=sjis hogehoge.tex などとすればよいはずだが、何故かこれがエラーとなる。ううむ。調べてみると、どうやらデフォルトでインストールされるpTeX環境はShift_JISをサポートしていない模様。

TokyoDebianMeeting20060415

詳細は上記ページを参照されたし、なのだが、Ubuntuのパッケージの多くはDebian経由であり、そのDebianの日本語TeXが公式にはShift_JISをサポートしていないらしい。

Debian の platex は EUC-JP と ISO-2022-JP しか処理できません。 SJIS については SJIS のフォーマットファイルがあれば動くようになるようで、パッチがあるようです (あとはメンテナの mhatta さん次第?)。 (上記ページより引用)

まあ、IniTeXを使ってフォーマットファイルを自分で生成すればいいのだろうが、さすがにそんなことしたことないしなあ〜。うう、困った、困った。いっそ、Macも含めて、UTF8版のptexに変えるかとも思うが、同僚のほとんどはWindowsでTeXを使っているから、ファイルのやりとりでトラブルになりそう。Windowsだけの人は文字コードとか意識してないし、UTF8に変換して送ってくれと言っても、どうやって変換すればいいのか、分からないだろうし。

やっぱり、Shift_JISで使えるようにするしかないのかなあ。もう少し調べてみるか。やれやれ。

[ 追記 ] こんなページを見つけたが・・・。
#234547 – To compile sjis pLaTeX file… – Debian Bug report logs