LaTeX メモ ― AUCTeX における AMS-LaTeX パッケージ等の初期設定
論文などで LaTeX ファイルを編集するときは, emacs+AUCTeX+RefTeX という組合せが最強だと思っている.私はキーボード派なので,マウスを多用する LaTeX 統合環境はどうも趣味に合わない.
AUCTeX と RefTeX の使い方については,このブログで簡単なチュートリアルを書いてみたいと思っているが,なかなか時間がない.そこで今回は,ちょっとしたネタを書いてみたい.なおここでは, emacs で既に AUCTeX の設定は完了しているものとする.AUCTeX のインストール,設定,簡単な使い方については,AUCTeX - TeX Wiki などを参照されたい.
このエントリを書く動機は,最近,AUCTeX における AMS-LaTeX パッケージ (AMS-LaTeX の簡単な説明については,AMS-LaTeX - TeX Wiki などを参照)について質問があったことである.
質問の意図としては,もともと AUCTeX にはさまざまな (LaTeX) style が,/usr/local/share/emacs/site-lisp/auctex/style などにインストールされている.そこには amsmath.el, graphicx.el などがあり,それを使うにはどのように emacs の初期設定ファイル(以下では .emacs とする)を設定すればよいか,ということである.
当初はその質問を不審に思い,特殊な設定をしなくても使えているよ?と思ったのだが,確かに AUCTeX の必要最小限の設定では,amsmath パッケージなどにはうまく対応できないようだ.たとえば,\usepackage{amsmath} している LaTeX ファイルに対して,emacs 上の AUCTeX モード (LaTeX-mode) で C-c C-e (insert environment) しても,align などの,amsmath パッケージ特有の環境が補完に出てこない.私は AUCTeX の設定を継ぎ足し継ぎ足しやってきたので,このことに気づかなかった.
しかし,amsmath パッケージを用いた LaTeX ファイルを,AUCTeX で編集する場合の初期設定については,ネットではどうもあまり見当たらないようだ. もちろん,AUCTeX の (emacs) info を読めば書いてあるのだが,大変分かりづらい記述になっている.
前置きが長くなってしまった.では結局,AUCTeX で amsmath.el などを利用するにはどうすればよいのか.実は,設定自身は非常に簡単である.以下の2行を,.emacs ファイルの,AUCTeX 設定部に続けて書けばよい.
(setq TeX-auto-save t)
(setq TeX-parse-self t)
本質的なのは,変数 TeX-parse-self である.この値を t とすることで,AUCTeX は LaTeX ファイルを解析し,用いているパッケージなどを調べる.これによって,amsmath.el などが使えるようになる.そこで, \usepackage{amsmath} としている LaTeX ファイルならば, C-c C-e とすると, align などが補完候補に出るようになる.
また、日本語環境を利用するためにも、TeX-parse-self を t とすることが推奨される。より詳しくは、AUCTeX info の「5.4.2 Using AUCTeX with Japanese TeX」を参照されたい。
一方,TeX-auto-save を t とすると,編集している LaTeX ファイルのあるディレクトリに auto という名前のディレクトリを作り,そこに parse された情報を保存するようになる.これは主に性能のために設定をキャッシュすることが目的であり,おそらく nil でも問題ないだろう.私は上記のように設定しているが.
上記の設定をすることによる問題点は,LaTeX ファイルを parse するのに(多少)時間がかかるということだ(しかしながら,ファイルのサイズにもよるが,通常のマシンではほとんど気にならないレベルである).そこで,上記変数はデフォルトでは nil となっている.したがって,AUCTeX の必要最小限の設定をしただけでは,amsmath.el などの機能を使えないのである.
なお,AUCTeX では,AMS-TeX モード (ams-tex-mode) などをサポートしているが,これは AMS (アメリカ数学会) 論文を書くための (emacs の) メジャーモードであり,LaTeX-mode とは共存できないので注意が必要だ.
コメント
コメントを投稿