私の使う Emacs での LaTEX 環境  [08/27/2006]

1. Linux 環境について

VineLinux 3.1CR, 3.2 を普段使っていますが,ディスクトップは, GNOME Desktop 2.4 で,エディタは,Emacs 21.3.1 です.今では,Linux も数多くのディストリビューションがあり, この環境は決して新しいものではありません. VineLinux は,本年度中には,4.0 へとバージョンアップしますが,基本的には安定志向のディストリビューションです.

2. Emacs 環境について

VineLinux では,Emacs をインストールすると,同時に YaTeX(やてふ:野鳥) という LaTEX 支援環境が使える状況になっています. LaTEX のコマンドをうろ覚えでも入力補完してくれ, コマンドの部分を違う色で示してくれます.

図 1: Emacs 上で LaTEX の文書を書く
Emacs 上でLaTeXの文書を書く

また,この状態で Ctrl-c t j と入力することで, pLaTEX 注*1 が起動し,コンパイルしてくれます. さらに Ctrl-c t p と入力すれば, xdvi が別のウインドウで起動し,以下のような結果を表示してくれます.

図 2: Emacs 上で LaTEX の文書をコンパイル後,xdvi で結果を表示
Emacs 上でLaTeXの文書をコンパイル後,xdvi で結果を表示

注*1pLaTEX と呼んだのは,日本語入出力をサポート したASCII版pTeXに含まれる LaTEX のこと. VineLinux3.1 では, pTeXk, Version 3.14159-p3.1.5 (euc) (Web2C 7.4.5) が含まれている.以下,日本語を含む文書の取り扱いでは,LaTEX と書いても,特にことわり書きがなければ,ここでは ASCII pTEX を指すことにする.

この例でわかるように,ドイツ語の oウムラウト (ö) は, \”o と入力すれば表示できます.同様に, a ウムラウト, u ウムラウトも,\”a, \”u で表示できます.エスツェット (ß) は, {ss} とします(大文字は,それぞれのアルファベットを大文字にすれば OK です).これらの記法は, LaTEX が標準的にサポートしているものです.

Windows 上で Meadow を使えば,同じ環境を実現できます.(バックスラッシュは,Windows 上では,\ になります. Emacs 上でも,表示フォントを変えることで \ を表示させて使うこともできます.)

3. Babel パッケージを Emacs で使う

Babel パッケージという西洋語の多言語環境を扱えるパッケージを使うと,ドイツ語の入力はもう少し簡単になります.

oウムラウト (ö) は, ”oa ウムラウトと u ウムラウト は,”a, ”u で表示できます.エスツェット (ß) は, ”s とします.

ここで1つ問題が発生します.それは,YaTeX(やてふ:野鳥) 環境では,ダブル・クォーテーション() をチェックしてくれる働きがあります. 注*2 しかし,この機能は,Babel パッケージがダブル・クォーテイション() を制御文字として使っているという部分と激突してしまいます. ダブル・クォーテイション() を入力すると,その時点でシングル・クォーテイション2つに展開されてしまうのです(以下の(1)の例を参照). あるいは,\"o と入力してから,バックスペース キーで,\ を消すと,それ以降が 違う色(ここでは,ピンク)になってしまいます.これは, 次のダブル・クォーテイションが入力されるまで,ずっと続きます(以下の(2)の例を参照). この表示自体は,Babel + LaTEX を使う上で特に支障はないのですが,見づらいことは確かです.

図 3: Emacs 上でYaTEX(野鳥)が Babel の double quotation を展開したり(1),double quotation以降をハイライトしてしまった例(2)
double quotation 以降がピンクになってしまった野鳥 in Emacs

注*2: 「"  "」 という入力は, 「' '  ' '」 と展開され,英文の開きダブル・クォーテイションと閉じダブル・クォーテイション として処理されます.

そこで,永田氏の LaTeXのページ 4-2-2 ドイツ語処理用 .emacs ファイルのサンプル に紹介されている,ニュースグループ fj.editor.emacs の皆さんからの助言を ˜/.emacs.elYaTeX の設定あたりに入れます.

図 4:  Emacs の double quotation のハイライトを外す.emacs.el での設定
Emacs の double quotation のハイライトを外す.emacs.el での設定

これによって,以下のようにダブル・クォーテイション以降の色変わりは避けられます.

図 5:  Emacs の double quotation のハイライトを外したところ
Emacs の double quotation のハイライトを外したところ

ついでに,バベルの設定を見ておくと,
\usepackage[german]{babel} と,\selectlanguage{german} だけです.Babel パッケージを使って出力したものは, ウムラウトが下のベースになる文字に近づきます.

図3 をそのまま pLaTEX で処理すると,以下の図 6のようになります. シングル・クォーテイション2つは,ダブル・クォーテイションとなってしまっています.

図 6:  Babel で処理後の xdvi での出力結果
Babel で処理後の xdvi での出力結果

4. ngerman.sty を使う

最後に,ngerman.sty パッケージを使った例を見ておきます. このスタイルは,いわゆる新正書法のパッケージで(旧正書法のパッケージは, german.sty です),Babel と同様に, ”o で,オー・ウムラウト (ö) が出力されます. Emacs で書いたソースファイルは,図 7で, pLaTEX でコンパイルし,xdvi で出力したものが図 8 です. 今回は,\usepackage{ngerman} として, ngerman.sty パッケージを読み込んでいますが,さらに \usepackage{times} としてTimes 系のフォントを使ってみました.

図 7:  Emacs 上で ngerman.sty を指定したソースファイル
Emacs 上で ngerman.sty を指定したソースファイル
図 8:  Emacs 上で ngerman.sty を指定し,コンパイル, xdvi で表示させたところ
Emacs 上で ngerman.sty を指定し,コンパイル, xdvi で表示させたところ

TEX は難しい,とか,難しいらしい,とか思っている人達がいますが, LaTEX の統合環境が最初からほとんど出来上がっている現在では, 普通に文書を作成するのはいたって簡単です. 場合によっては,Word よりも簡単なこともあったりすると思います.