top page > TeX > here

TeX のための Emacs, XEmacs


概要

内容は次のようなものです.

  1. TeX の原稿を書くという視点からの xemacs, emacs の特徴.
    コンパイルや印刷まで含めた統合環境には触れません.
  2. xemacs, emacs における LaTeX mode の特徴や YaTeX との相性について.
    これらの使用法には触れません. また,AUC TeX にも触れません.(使用経験なし.)
  3. TeXmacs は,紹介だけします.

目次

1. 概要
2. xemacs
2.1 xemacs 21.4
2.2 xemacs 21.5
3. emacs
3.1 emacs 21.3
3.2 emacs 22.3
3.3 emacs 24.3
4. LaTeX mode
5. YaTeX
6. TeXmacs

1. 概要

FreeBSD では,xemacsemacs は種々の version のものを共存させることができません.[1] (そのことは,各々の ports の MakefileCONFLICTS という項目で指示されています.) したがって,どの (x)emacs を使うかを選ぶ場合,e-mail なども含めてすべての目的に対して問題なく動作することを確認する必要があります.[2]

いずれにしても,複数の PC なり HDD がないと,種々の (x)emacs を使い比べるのが困難なのが悩みの種です.

[1] その例外が mule (mule-2.3) です.既に ports からはずされてしまいましたが.

[2] もちろん,(x)emacs の用途を限定し,e-mail などは別のものを使うという選択肢もあります.

2. xemacs

Encoding に関連して,~/.xemacs/init.el に次のように記述します.

(set-language-environment 'japanese)
(set-default-file-coding-system 'euc-jp-unix)
(set-default-buffer-file-coding-system 'euc-jp-unix)

2.1  xemacs 21.4

ja-xemacs-mule-freewnn-21.4.14 を試しました.(私が常用しているものです.)

動作は問題ありません.

2.2  xemacs 21.5

xemacs-21.5.b17, xemacs-21.5.b27 を試しました.

EUC で書いた TeX の原稿の Encode を正しく認識せずに,Raw にしてしまいます.
(1) [File][Open with Specified Encoding] にて読み込めば,正しく認識される.
(2) 一旦読み込んで Raw にされたものも,[File][Revert] で Encode を変えることができる.

ちなみに,EUC で書いた平文や html の文書ならば,Encode は正しく認識されます. また UTF-8 で書いた TeX の文書も正しく認識されます. (これは TeX の原稿として UTF-8 が使えるかどうかとは別問題の,単なる対照実験です.) また,この現象はファイル名の拡張子の差異でなく,文書の内容の差異により生じています.

なお,ja-xemacs-mule-freewnn-21.4.14 ではメニューで

[編集] → [Multilingual ("Mule")] → [現在のコーディングシステムを説明]

とすれば Encode についての様々な情報,特に上記の問題に関連した

Priority order for recognizing coding systems when reading files:

の状態が得られたのですが,xemacs-21.5 ではメニューからこの項目がなくなりました.
(なくなったのでなく,どこかに移っただけかもしれませんが.)

3. emacs

Encoding に関連して,~/.emacs に次のように記述します.

(set-language-environment 'japanese)

3.1  emacs 21.3

ja-emcws-21.3_8emacs-21.3_9 を試しました. 動作は問題ありません.

3.2  emacs 22.3

動作は問題ありません.

3.3  emacs 24.3

emacs-24.3_3 を試しました. 動作は問題ありません.

4. LaTeX mode

LaTeX mode を使うためには特別な設定は必要なく,.tex のファイルを開いた際に,自動的に LaTeX mode になります. ただし,要素の色分けをしたければ ~/.emacs (emacs の場合) または ~/.xemacs/init.el (xemacs の場合) に次のように記述します.

;; color
(require 'font-lock)

ただし emacs22 は逆で,次のように積極的に拒否しない限り,色が着けられます. (global でなく tex-mode に限定した変数があると思うのですが.)

(global-font-lock-mode nil)

FreeBSD 7.2 + emacs-22.3 においては,数式環境において添字が上下に位置をずらして表示されます. 上記のように色を着けるのをやめると,このような表示もされなくなります. (個人的には,色は着ける,添字の位置は変えないという設定にしたいのですが.)

emacs-24.3 においては,以下のように設定すれば数式環境において添字が上下に位置をずらして表示されるのを抑制することができます. (これが emacs 22 や 23 でも効くのかどうかは不明です.)

(eval-after-load "tex-mode" `(fset `tex-font-lock-suscript `ignore))

色の着け方は (x)emacs ごとにまちまちですが,いくつかの要素がグループにされ,そのグループに色が対応しているので,要素単位でいかようにもカスタマイズできるわけではないようです.

具体的には,以下のファイルを御覧下さい.(version の部分は適宜読み替えて下さい.) xemacs は,

/usr/local/lib/xemacs/xemacs-packages/lisp/texinfo/tex-mode.el
/usr/local/bin/xemacs-21.4.14/lisp/font-lock.el

です. また,emacs は以下のファイルを適当なところで解凍して中身を御覧下さい.

/usr/local/share/emacs/22.3/lisp/textmodes/tex-mode.el.gz
/usr/local/share/emacs/22.3/lisp/font-lock.el.gz

5. YaTeX

YeTeX を使うためには,~/.emacs (emacs の場合) または ~/.xemacs/init.el (xemacs の場合) に次のように記述します.

;; color
(require 'font-lock)      ; emacs22 では不要,他では必要です.
(global-font-lock-mode t) ; emacs21 では必要,同 22 では不要です.xemacs では設定してはいけません.
;;
;; YaTeX
(require 'yatex-startup)
(setq YaTeX-kanji-code 3)  ; set to EUC
;(setq YaTeX-use-font-lock nil)

こうすれば,.tex のファイルを開いた際に,自動的に YaTeX が使われる状態になります.

FreeBSD 7.2 + emacs-22.3 + yatex-1.73 の組合わせにおいて,スクロールが不自然なまでに遅いです. 一旦表示した内容への逆スクロールや,さらにそこまで戻るスクロールは速いです.

(setq YaTeX-use-font-lock nil)

を設定すれば,この問題は生じません. (このモードの魅力である色は着かなくなりますが.)

emacs21xemacs では yatex-1.72 以前との組合わせで,上記の問題は生じておりません. これらと yatex-1.73 との組合わせは試していないので,この問題の原因がどちらの側にあるのかは分かりません.
(試せば分かるという保証はありませんが.)

6. TeXmacs

これを emacs に分類して良いのか,自信はありません.

TeXmacs (ports/editors/texmacs) は,TeX を WYSIWYG (What You See Is What You Get) の環境で入力するものです. TeX の原稿の入力のためにこれを使うか否かは好みとサポートされている機能次第でしょう. 私としては,むしろ maxima を使うプラットフォームとして注目しております. 表示される数式が美しいからです.

ports にて make install すると,最後に次のように警告されます. (この問題は texmacs-1.0.7.2 でも解消されていません.) 先ずは network に繋がっていない PC で使ってみるのが良いでしょう.

===>   Registering installation for texmacs-1.0.7.1_1
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/TeXmacs/bin/texmacs.bin
(後略)

LANGja_JP.eucJPja_JP.UTF-8 である場合には,texmacs を起動すると

% texmacs
TeXmacs] With linked TrueType support
TeXmacs] Loading corktounicode
TeXmacs] Loading unicode-cork-oneway
TeXmacs] Loading tmuniversaltounicode
TeXmacs] Loading unicode-symbol-oneway
locate: database too small: /var/db/locate.database
TeXmacs] Font ipagui 11pt at 300 dpi could not be loaded

と警告されて,Menu がまともな形で表示されません.

これに対処するためには,~/.TeXmacs/fonts/truetype/ipagui.ttfcp するかもしくは symbolic link を作っておく必要があります. 同時に ~/.TeXmacs/system/cache/font_cache.scmrm しておかないと,せっかく準備したフォントが反映されずに同じ警告が繰り返されます. (フォントの置き場は texmacs を起動してから作成されるので,警告される前に対処することはできません.)

あるいは,次のように起動すれば Menu は英語で表示されるので,上記の作業は不要です.

% env LC_ALL=C texmacs

一方,FreeBSD 7.4, 8.2 + texmacs-1.0.7.9 では次のように警告されます.

pidof: not found
pidof: not found
(中略)
TeXmacs] Font ipagui 11pt at 300 dpi could not be loaded
TeXmacs] Font ipagui 6pt at 399 dpi could not be loaded   ← これは 2 回目の起動から出ます.

前者の警告に対処するため,ports/sysutils/pidofmake install します. (依存関係の管理に見落としがあったのでしょう.)