emath を入れる

相変わらず、GNU Emacs で書きものをして LaTeX でタイプセットする機会は頻繁にあるわけだけど、最近は解説のようなものを書く頻度が増えているので、たとえば数学の教科書などにあるような書き方をしたい、と思うときがある。

まさにこういう目的で作られたのが emath である。どのようなものなのかは、http://homepage3.nifty.com/emath/pdf/sample.pdf をご覧いただければお分かりいただけると思う。この emath は非常に多機能だし、便利だろうと思うのだけど、僕は今迄手を出すのに二の足を踏んでいたのである。

それは何故か、というと、この大熊一弘氏によるマクロ集は、コマンドが日本語ローマ字書きのものが多いので、書きながらさくっと使う上での直感性がイマイチなのである。では、50音索引付きのマニュアルのようなものがあるのか、というと、先の sample.pdf の基になった原稿から生成した sample.idx を mendex に読ませて索引を生成させればいい(上のリンク先の PDF はそうなっている)わけだけど、これは目次用のインデックスで作成した索引なので、充実した索引にするためには更にインデックスを付け足していく必要があるだろう。しかし、その作業の量を考えると……これは結構大変そうである。

まあ、でも、無いと困るんだから、これは作るしかなさそうである。こうやって僕のお盆休みは順調に潰れていくのだろうか、と、少し鬱な気分になるわけだけど、まあ、後でやっておくことにしよう。

インストール自体は単純である。まず emath の index page から emath のページにアクセスし、この「入口」からアーカイブにリンクされたページを見る。「スタイルファイル」の「丸ごとパック」のページから、基本となるアーカイブを取得するのだが、ここで ID とパスワードを要求される。これは「入口」に書いてある(すぐ暗記出来る程度の単純なものである)ので、それを入れればよろしい。アーカイブ取得後、同じく「スタイルファイル」の下にある「修正パック」と「実験版」の最新のアーカイブを取得する。

まず手近な作業用ディレクトリを確保し、emathf??????c.zip を展開する。sty.zip, doc.zip, pdf.zip の3つのアーカイブと readme が出てくるのだが、これらを LaTeX のファイルを置くべき場所に展開する。僕の場合だと、

$ cd /usr/local/texlive/texmf-local/tex/latex/
$ sudo mkdir emath$ cd emath$ sudo unzip ~/tmp/emath/emathf??????c/sty.zip
$ sudo mkdir -p /usr/local/texlive/texmf-local/doc/emath
$ cd /usr/local/texlive/texmf-local/doc/emath$ sudo unzip ~/tmp/emath/emathf??????c/doc.zip
$ sudo unzip ~/tmp/emath/emathf??????c/pdf.zip
$ sudo /usr/local/texlive/2011/bin/x86_64-linux/texhash

のように /usr/local/texlive/texmf-local/tex/latex/emath 内にスタイルファイルを、/usr/local/texlive/texmf-local/doc/emath内にドキュメントと PDF ファイルを展開して、最後には texhash で ls-R データベースの更新をしておく。

「修正パック」も「実験版」も、同様の手順で(「丸ごとパック」のファイルを上書きするようにして)入れればよろしい。大熊氏も警告されているようだが、必ず「丸ごとパック」→「修正パック」→「実験版」の順に作業を行うこと。なお、Perl スクリプトのインストールに関しては、emathWiki の『perl との連携』に詳しく説明されているので、そちらを御参照いただきたい。

……と、ここまでやってから、あーそう言えば一番面倒な作業をしてないじゃん、と思い出した。emath は前提として必要としているスタイルファイル・クラスファイルが結構な数あるのだけど、それらをチェックしながら入れなければならないのだ。詳細は、『math に必要なスタイルファイルなど』を参照されたい。

というわけで……これから TeX Live のファイルとバッティングしないように、この必要なファイルのインストールをすることになりそうだ……

というわけで、今さっき作業を終えたところである。僕の環境(TeX Live 2011)の場合は、

  • EMwallpaper
  • eclarith
  • eclbkbox
  • hhdshln
  • jcm
  • kunten2e
  • mbboard
  • random.sty
  • ruby.sty
  • uline--
……と、ざっとこれだけを入れる必要があった。

しかしなあ、うーん……この emath って、おそらく中高の数学の先生とか塾講師なんかが使うんでしょう?まあ、数学専攻の人だったら LaTeX を使うことにはあまり抵抗はないかもしれないけれど、tfm や pk フォントの生成とか、分からない人はどうするんだろう。あと、おそらく DOS / Windows 以来の弊害かもしれないけれど、マクロ名が大文字小文字混在になっているところでトラブルが発生することが何度かあった(たとえば EMwallpaper とか)。これも、分からない人には理解し難いような気がする。そういう辺りを(分かっている人には面倒なだけなのかもしれないが)refine することが、今後求められるのかもしれない。

Intel C++ / Fortran を入れる

Intel のコンパイラは、以前は必ずインストールしていたのだが、最近はあまり熱心に入れていなかった。これには理由が二つあって、ひとつは、従来フリーではなかなか使えなかった Fortran が、現在は GNU Fortran のおかげで簡単に使えるようになったこと、もうひとつは、僕がメインで使うことの多い AMD のプロセッサ上では、Intel Compiler で生成したバイナリの実行速度が遅い、ということがある。

まあそんなことはあるわけだけど、ある理由から、手元の端末で Intel の処理系を整える必要が生じた。最近あまり Intel 絡みの情報チェックしていないんだけどなあ……と思いつつ、まずは非商用ライセンスが今もあるのかどうかの確認から行ったわけだ。

Intel は、Linux 用の製品を中心に、非営利目的での利用に限って無料で処理系を使えるようにしている。詳細は Intel の "Non-Commercial Software Development" をご覧いだければいいと思うけれど、ここから Intel C++ と Intel Fortran のアーカイブをダウンロードする。

僕が使っている Debian や Ubuntu の場合は、インストールには何も手間はかからない。アーカイブを展開して、展開されたディレクトリ内でスクリプトを走らせるだけだ。後は、インストール後のメッセージに従って、環境変数等を設定するシェルスクリプトを読ませるように ~/.profile 等に記述をするだけでよろしい。

さて……そんなこんなで使えるようになったので、試しにみんな知ってるMDBNCH のバイナリを gfortran と ifort の双方に対して生成して比較すると……うん、やはり AMD 上では ifort のバイナリの方が遅い。うーむ……まあ、とりあえずコンパイルできることが今回の場合にあ意味があるので、まあ仕方ないだろう。早いところ Core i7 とか使える身分になりたいものだ……

TeX Live 入れ直し

先日入れた TeX Live 2011 だけど、どうも動作がアヤしい。いや、TeX Live のせいではなくて、僕が不用意にシステムの領域に OTF パッケージ等を突っ込んだせいかもしれない、と、自分を疑ったのである。

で、思い切って、

$ sudo rm -rf /usr/local/texlive/2011
あ゛ぁ゛〜という感じではあるが、もうさっぱりとやり直すことにする。以下メモ。

$ rm -rf ~/.texlive20*
$ cd ~/texlive/trunk/Master/
$ sudo ./install-tl
("I" 入力でインストール開始。終了後、)
$ cd /usr/local/texlive/texmf-local/tex/
$ sudo mkdir -p platex/misc
$ cd platex
$ sudo cp /usr/local/texlive/p2009/texmf/ptex/platex/misc/* ./misc/
(青空文庫 PDF 化用ファイル他の私用スタイルファイル・クラスファイルの cp 完了)
$ cd /usr/local/texlive/p2009/texmf/packages/
$ tar cf - ./otfcurrent | (cd /usr/local/texlive/texmf-local/tex/latex ; sudo tar vxf -)
(ptexlive の OTF パッケージをそのまま TeX Live 2011 に移植、以下フォントのリンク)
$ cd /usr/local/texlive/texmf-local/fonts/tfm
$ sudo ln -fs ../../tex/latex/otfcurrent/tfm ./otfcurrent
$ cd ../vf
$ sudo ln -fs ../../tex/latex/otfcurrent/vf ./otfcurrent
(もし「いや俺ぁ otfbeta がどうしてもいいんだ」という方は、
$ export PATH=/usr/local/texlive/p2009/bin/x86_64-unknown-linux-gnu/:$PATH
などとしておいて、ptexlive のバイナリを利用して makeotf を実行すればよろしい)

$ sudo mkdir -p ../map/dvipdfm
$ cd ../map/dvipdfm
$ sudo cp /usr/local/texlive/p2009/texmf/fonts/map/dvipdfm/ptexlive/aozora.map ./
小塚フォントを埋め込むフォントマップをコピー。Mac ユーザの方は、こっちのヒラギノフォントを埋め込むフォントマップを使われると便利だろうと思う。これらのマップは、日本語縦書きルビ付きの文章においても完全対応させる目的で書いたものである……尚、老婆心ながら書き添えておくけれど、これらのフォントを埋め込んだ PS / PDF は内々に印刷に使用する分には問題ないと思うけれど、そのまま配布すると非常にマズいと思われる。詳細は各フォントの著作権条項等を参照して頂きたい)
$ cp /usr/local/texlive/p2009/texmf/fonts/map/dvipdfm/ptexlive/*.map ./
(pTeXLive 添付のフォントマップをコピーしておく。これをしておかないとフォントを埋め込まない PDF ファイルの生成が面倒なことになるので、やっておく方がよろしい)
$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/opentype/public/kozuka
$ cd /usr/local/texlive/texmf-local/fonts/opentype/public/kozuka
$ sudo ln -fs /opt/Adobe/Reader9/Resource/CIDFont/Koz* ./

(上記青字は Linux で小塚フォントを使用する場合。Mac の場合は以下赤字の通り)
$ sudo mkdir -p /usr/local/texlive/texmf-local/fonts/opentype/public/hiragino
$ cd /usr/local/texlive/texmf-local/fonts/opentype/public/hiragino
$ sudo ln -fs "/Library/Fonts/ヒラギノ明朝 Pro W3.otf" ./HiraMinPro-W3.otf
$ sudo ln -fs "/Library/Fonts/ヒラギノ明朝 Pro W6.otf" ./HiraMinPro-W6.otf
$ sudo ln -fs "/Library/Fonts/ヒラギノ角ゴ Pro W3.otf" ./HiraKakuPro-W3.otf
$ sudo ln -fs "/Library/Fonts/ヒラギノ角ゴ Pro W6.otf" ./HiraKakuPro-W6.otf
$ sudo ln -fs "/Library/Fonts/ヒラギノ角ゴ Std W8.otf" ./HiraKakuStd-W8.otf
$ sudo ln -fs "/Library/Fonts/ヒラギノ丸ゴ Pro W4.otf" ./HiraMaruPro-W4.otf

$ cd /usr/local/texlive/2011/bin/x86_64-linux/
$ sudo ./texhash

このままだと、babel を使うときに "japanese.ldf がないよー" と文句を言われるので、CTAN から japanese.zipを取得して適当なディレクトリに展開した後、

$ platex japanese.ins
$ sudo cp ./japanese.ldf /usr/local/texlive/2011/texmf-dist/tex/generic/babel/
$ sudo texhash
としておく。

おお!変な warning が出なくなったではないか!やはり local に入れないとダメなのかねえ(後記:これは僕の勘違いで、こうやっていても dvipdfmx が "** WARNING ** 1 memory objects still allocated" を出すのは変わらない……けれど、まあやはり local に入れた方がまし、でしょうね )。

北川氏の patch を試す

先回の blog で書いた TeX Live 2011 であるが、一部を除いては問題なく使えている。以前に書いた『誰も教えてくれない聖書の読み方』新共同訳ガイド をタイプセットしようとすると、jsbook.cls を使った場合に、整形内容が紙の外に大きくはみ出してしまうのが、目下の悩みのたねである。まあこれは何となく理由は分かる……12 pt で整形しているので、TeX と dvipdfmx の内部処理的には、一度大きな整形結果を作成し、その後に紙の大きさに合わせて縮小をかけて配置しているはずである。おそらくそのプロセスで何かしら問題が発生しているのだろう。

日本語化 TeX の進化は未だ進んでいる。奥村氏の「TeX フォーラム」でも、日々あれやこれや情報が飛び交っているのだが、e-pTeX でおなじみの北川氏が、TeX Live 2011 に向けた日本語化 patch を公開している。現在 make 中なのだが、特に問題も発生せず、うまくいっている模様だ。

で、早速使ってみたのだが……うーん。何か足りない模様。時間のあるときに原因究明を行うことにして、今は TeX Live 2011 を普通に使うことにしておく。

Profile

T.T.Ueda
Tamotsu Thomas UEDA

茨城県水戸市生まれ。

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

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

New Entries

Comment

Categories

Archives(902)

Link

Search

Free

e-mail address:
e-mail address