AUC-TeX

[TOP] -- [Emacsen] -- [AUC-TeX]

mail とかの話ばっかりじゃなくて、たまにはマジメな話もしないとね。 というわけで、高機能な LaTeX 編集 mode、AUC-TeX の説明です。

私は pTeX user なので、それに特化してしまっているかもしれませんが、 だいたいはここに書いてあるとおりで動くと思います。


package の入手

AUC-TeX は以下のところから最新版が入手できます。

ftp://ftp.dina.kvl.dk/pub/Staff/Per.Abrahamsen/auctex/

make install したのち、 make install-contrib もしておきましょう。


設定

基本設定

(load "tex-site")
(setq auto-mode-alist
      (append '(("\\.tex$" . japanese-latex-mode)
                ("\\.ltx$" . japanese-latex-mode)) auto-mode-alist))

LaTeX の呼び出し

AUC-TeX は、TeX source の編集中に \C-c\C-c を叩くことによって LaTeX 等の command による compile が行えます。

この際、LaTeX に渡される file名 は編集中の file になるのが普通ですが、 file を分割していて おおもとの file (main.tex など) を compile 対象としたい場合は、それを変数 TeX-master に 設定しておけば O.K. です。

(setq-default TeX-master "main")

また、どの LaTeX command を呼出すかは、 変数 TeX-command-default で制御できます。 詳しくは 変数 TeX-command-list を参照してください。

(add-hook 'TeX-mode-hook
          (function (lambda () (setq TeX-command-default "pTeX"))))

XDVI の呼び出し

\C-c\C-c で compile した後、もう一度 \C-c\C-c を叩くと、今度は viewer を起動させることができます。UNIX では ふつう xdvi が起動するでしょう。

ここで、xdvi に引数を指定したい場合があります。 たとえば master file が ohp.tex という名前の場合は landscape で起動したいとしましょう。 その場合は以下のように変数 TeX-view-style を設定することで 望みの動作を得ることができます。

(setq TeX-view-style
      '(("^ohp$" "xdvi %d -paper a4r")
        ("." "xdvi %d")))

その他 雑多なこと

Bib-Cite を使う

bib-cite.el は AUC-TeX の package に含まれる contrib で、 編集中の文書内の \cite{} から、 それに対応する bibitem (たとえば @Article{} など) の 記述を呼び出して編集できるようにする tool です。

これを使用するには、以下のように設定します。

(autoload 'turn-on-bib-cite "bib-cite")
(add-hook 'LaTeX-mode-hook 'turn-on-bib-cite)

bibitem 記述はもちろん 他の file 内に存在していても構いません。 ただし、\bibliography{} の対象となる file の search path を Bib-Cite に教えてやる必要があります。

default では Bib-Cite は、環境変数 BIBINPUT を使いますが、 pTeX を使っている場合は BIBINPUT は設定せず ${HOMETEXMF}/bibtex/bib/ などに bib file を置くのが普通です。Bib-Cite では、BIBINPUT の 代わりに用いたい環境変数名を、変数 bib-bibtex-env-variable に設定することで そちらを使わせることができます。

(setq bib-bibtex-env-variable "BIBCITEDIR")

あとは shell の RunCom file で、以下のような感じで 設定しておけばいいでしょう。(zsh の場合)

export BIBCITEDIR=".:${HOMETEXMF}/bibtex/bib:${HOMETEXMF}/jbibtex/bib"

RunCon file に書くのがイヤなら、~/.emacs 内で setenv<f> するのもいいかもしれません。

outline-minor-mode を使う

AUC-TeX と共に outline-minor-mode を 使う場合は、以下のように設定します。

(add-hook 'LaTeX-mode-hook
          (function (lambda () (outline-minor-mode t))))

あと、outline-regexp の設定の仕方が、 他の mode とは異なります。例えば \section{} などは 既に登録されているため変更する必要はなく、自分で heading を追加したい 場合は、TeX-outline-extra という変数に その heading と heading level の set の list を設定します。

たとえば seminar.sty で用いる \begin{slide} を heading として追加したい場合は以下のようにします。

(setq TeX-outline-extra
      '(("^\\\\begin{slide}" 0))) ; for seminar.sty

[TOP] -- [Emacsen] -- [AUC-TeX]
[Tree Map]
邑 tsumura@kuis.kyoto-u.ac.jp