AUCTeX

AUCTeX とは

AUCTeX(旧 AUC TeX)は GNU Emacs / XEmacs の TeX モードです。

[2007-01-12] 最新バージョンは 11.84 です。

[2006-06-08] 最新バージョンは 11.83 です。

[2005-12-18] 最新バージョンは 11.82 です。

[2005-09-25] 最新バージョンは 11.81 です。 安宅さんのページの情報は最新版にあわせて更新されています。

[2005-03-21] 最新バージョンは 11.55 です。

[2004-08-13] AUCTeX 11.50 が出ました。 GNU Emacs 21 / XEmacs 21 以降用です。

Linux で AUCTeX をインストール

古い AUCTeX(例えば /usr/local/share/emacs/site-lisp/{auctex,tex-site.el})を移動します。

上記公式ページあるいは ftp://ftp.gnu.org/pub/gnu/auctex あるいは CTANsupport/auctex/ から最新のものを入手し,適当な場所で展開します。

./configure
make
make install

デフォルトでは、preview-latexもインストールされます。

AUCTeX を自動ロードするために ~/.emacs.el の類に次のように書き込みます。

(load "auctex.el" nil t t)

あとは必要に応じて次のように設定します。

(setq TeX-default-mode 'japanese-latex-mode)
(setq japanese-TeX-command-default "pTeX")
(setq japanese-LaTeX-command-default "pLaTeX")
(setq japanese-LaTeX-default-style "jsarticle")

上の例では 新ドキュメントクラス の jsarticle を標準に設定しました。

禁則処理によって行長が何文字延びてもいいかは,デフォルトでは4ですが,少し長くしておかないと,単語の途中で切れてしまうことがあります。

(setq kinsoku-limit 10)

DVI Viewerを変更する場合は、

(setq TeX-output-view-style '(("^dvi$" "." "/path/viewer %d")))

のようにします。PDF Viewerの場合は、

(setq TeX-output-view-style '(("^pdf$" "." "/path/viewer %o")))

のようになります。

簡単な使い方

拡張子が tex のファイルを開くと自動的に立ち上がります。 うまく japanese-latex-mode にならない場合は M-x japanese-latex-mode と入力します。 あるいは入力ファイルの先頭に次のように書いておくといいでしょう:

% -*- japanese-latex -*-

下の「複数ファイルの文書」にも別の方法を説明しました。

まず C-c C-e すると,\documentclass{...} およびトップレベルの環境 \begin{document} ... \end{document} が入ります。

次に C-c C-s すると,\section の類のコマンドが入ります。 コマンド名は補完できます。

次に C-c C-e すると,\begin{...} ... \end{...} のような環境が入ります。 環境名は補完できます。

次に C-c C-c するとコンパイルできます。

次に C-c C-c すると依存関係を調べて dvi ファイルが新しければ xdvi を立ち上げてプレビューします。再度コンパイルしたいのなら l TAB または l SPACE と打てば補完されて LaTeX 処理に直ります。

いろいろな使い方

ダブルクォート " を打てば,状況に応じて `` または '' に変換してくれます。

TAB または SPACE で補完ができます。 これらが効かないときは ESC TAB で補完します。 候補一覧が出たら,さらに文字を補って補完するか, あるいはマウスの中央のボタンで候補をクリックします。

フォント関係のコマンドです。

その他のコマンドです。

AUCTeX 11.83 Cleanターゲット機能

これ以外にたくさんの機能があります。 ぜひ info auctex でドキュメントをお読みください。

カスタマイズ

サイトごとのカスタマイズは /usr/local/share/emacs/site-lisp/tex-site.el で行います。

複数ファイルの文書

たとえば hogehoge.tex から input または include されているファイルでは,次のように書いておきます。

%%% Local Variables:
%%% mode: japanese-latex
%%% TeX-master: "hogehoge"
%%% End:

すると,このバッファで C-c C-c すると,hogehoge.tex をコンパイルしたり hogehoge.dvi を表示したりします。 これはこのファイルを japanese-latex モードで開くという便利な副作用もあります。

もし自分自身がマスターなら,次のように書いておきます。

%%% Local Variables:
%%% mode: japanese-latex
%%% TeX-master: t
%%% End:

こういったものを自動で入れたい場合は,Emacs の設定ファイルに次のように書いておきます(私は書いていません)。

(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)

こうしておくと,ファイルを開くときに

Master file: (default this file)

と聞いてきますので,自分自身がマスターファイルなら単に Enter を押します。 キャンセルは C-g です。

source specials の利用

source specials を使うには platex を -src オプションで起動しなければなりません。 auctex/tex-jp.el の該当個所を書き換えて,バイトコンパイル(dired で B)し直しておきます。 最新の AUCTeX ならもっと簡単です。 安宅さんの解説 [qa:31141] をご覧ください。

xdvi と相互ジャンプするためには,次のように書いておきます。

;;; emacsclient サーバを起動
(server-start)

(require 'xdvi-search)
(add-hook 'LaTeX-mode-hook
(lambda () (local-set-key "\C-c\C-j" 'xdvi-jump-to-line)))

この xdvi-search.el は The Xdvik HomepageInverse Search with Xdvi(k) に2通りありますので,xdvi のバージョンによって選んでください。 ただし,C-c C-j は AUCTeX で LaTeX-insert-item に定義されていますので,他のものにしてもいいと思います。

その他

AUCTeX とは関係ありませんが,先頭に

% Time-stamp: <>

と書いておくと,保存したときにタイムスタンプが書き込まれます。 こうならない場合は .emacs に次のように書いておきます。

(if (not (memq 'time-stamp write-file-hooks))
(setq write-file-hooks
(cons 'time-stamp write-file-hooks)))

Last-modified: 2007-01-14 (日) 08:19:04 (1122d)