Yet Another tex-mode for emacs『野鳥』// YaTeX //c 1991-2012 by HIROSE, Yuuji [yuuji@yatex.org]

Chapter 1: はじめに

1

1 はじめに野鳥は、GNU Emacs で LaTEX 用の文書を作成する時に pLaTEX などのタイプセットコマンド
や、プレヴューアの起動を Emacs 編集画面中から行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキストの編集を支援します。さらに LaTEX コマンドのオンラインヘルプによりマニュアルを調べる手間を軽減します。

English manual See section “Top” in YaTeX English info.

Chapter 2: 本マニュアル参照上の注意

2

2 本マニュアル参照上の注意
本マニュアルでは以下の表記を用います。

• begin 型コマンド\begin{環境} 〜 \end{環境}という形式の LaTeX コマンドを指します。begin 型コマンドを補完入力することを begin 型補完と呼びます。
• section 型コマンド\section{タイトル}や\mbox{内容}のように引数を取る LaTeX コマンドを指します。
• maketitle 型コマンド\maketitleや\tableofcontentsのように引数を取らない LaTeX コマンドを指します。
• large 型コマンド{\large ...} や {\tt ...} のようなフォント/サイズ指定子を指します。
• [prefix]
野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは C-cに割り当てられているので、
特に変更していない場合本マニュアルの [prefix] という表記は、C-c と読み換えてください。

Chapter 3: 主な機能

33 主な機能• タイプセッタやプレヴューアなどの編集画面からの起動 (C-c t)• カーソル位置によらない固定リジョンの部分タイプセット• \includeonly のワンタッチ更新• エラー箇所への自動ジャンプ (C-c ’)• \begin{}, \end{}, \section... などの LaTEX コマンドの補完入力 (C-c b, C-c s, C-cl, C-c m)• 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完 (リジョン指定後に通常補
完キー)• セクション区切り入力時の文書構造アウトライン表示• セクションコマンドの一括シフト (Section 7.2.4 [view-sectioning], page 13)• 補完辞書の学習• LaTEX の環境やコマンドに応じたガイド付き引数入力• 野鳥にないガイド付き引数入力関数の自動生成 (‘yatexgen.el’)• LaTEX コマンドの削除/変更 (C-c k, C-c c)• ファイル間、\begin<->\end間、\ref<->\label間、\cite<->\bibitemジャンプ (C-c g)• 一括コメントアウト/アンコメントアウト (C-c >, C-c <, C-c ,, C-c .)• アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援 (C-c a, ;, /)• tabular/array 環境のカラム位置ガイド• 標準的 LaTEX コマンドのオンラインヘルプ (C-c ?, C-c /)• ドキュメントのインクルード構造の視覚的表示とバッファ切り替え (C-c d)• 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回り userpackage• \label を打つことはもう忘れよう! ref や cite 補完入力で自動生成します• 画像ファイルのドラッグ&ドロップによる自動 \includegraphics

Chapter 4: 起動法

4

4 起動法
4.1 野鳥起動のための設定~/.emacs に下の 2 項目を加えます。
(setq auto-mode-alist(cons (cons "\\.tex$" ’yatex-mode) auto-mode-alist))(autoload ’yatex-mode "yatex" "Yet Another LaTeX mode" t)
次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。たとえば、‘~/src/emacs/yatex’に置くのであれば、(setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))などとします。
以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥がロードされます。
野鳥が正常に起動できたときはモードラインの表示が「やてふ」に変わります。

4.2 タイプセッタ/プレヴューア環境の設定
利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更します。

tex-command. . . 起動するタイプセッタのコマンド名
dvi2-command. . . 起動するプレヴューアのコマンド名
NTT-jTeX. . . 改行+インデントによって、タイプセット後の字間が空いてしまうのを抑制する場
合に t にする (古い NTT-jTeX で顕著に現れる)。具体的には、ﬁll するときに各行の終わりに%を付加するようになる。

YaTeX-kanji-code. . . 文書を作成する時の漢字コード
dviprint-command-format. . . ファイルの印刷に使われるコマンド列の書式
YaTeX-dvipdf-command. . . DVI を PDF に変換するコマンド
これらを変更する場合は、やはり ‘~/.emacs’にて、たとえば(setq tex-command "pdflatex")のようにしてください。どのような値をセットすれば良いかについては、Section 21.1.1 [Allcustomizable variables], page 31 を参照してください。

Chapter 5: latex コマンド起動

5

5 latex コマンド起動
LaTeX ソースの編集中、次のキー入力により、platex などのタイプセットプログラム (以後タイプ
セッタと呼ぶ)、プレヴューアなどの起動ができます。
[prefix] t j. . . タイプセッタ (platex) 起動[prefix] t r. . . タイプセッタ起動 (領域指定)[prefix] t e. . . 部分タイプセット&プレヴュー (ポイント位置の段落、環境または数式モードのみを
タイプセットして隣のバッファに組版結果の画像を出す)[prefix] t k. . . 動作中のタイプセッタの停止[prefix] t b. . . jbibtex 起動[prefix] t i. . . makeindex 起動[prefix] t d. . . タイプセット完了後 dvipdfmx 起動[prefix] t p. . . プレヴューア起動[prefix] t l. . . lpr(プリントアウト用) コマンド起動[prefix] t s. . . xdvi -remote でのサーチ

5.1 タイプセッタ起動
タイプセッタを起動すると、編集ウィンドウが 2 つに分割され、片方のウィンドウにタイプセット画
面が表示されます。出力されるメッセージと連動しタイプセットバッファは自動的にスクロールしま
す。もし、途中でエラーが起こって止まってしまった場合にはタイプセットバッファに移り、(C-x o)
タイプセッタの出している ? プロンプトに対して、x (処理の中断) などの指示を送ることができます。エラーを修正する場合は、[prefix] ’(prefix+アポストロフィ). . . 直前のエラー発生行へジャンプを入力することにより、タイプセッタがエラーを発生した行に移ることができます。また、タイプ
セッタの出力する overfull hbox などのウォーニング行にも対応していますので、順次 [prefix] ’を押すことにより、一つ前のウォーニング発生行にジャンプしていきます。
もし、気になるエラー行があった場合は、タイプセットバッファで、エラーの表示されている行にカーソルを合わせスペースキーを押すと LaTEX ソースの対応する行にジャンプします。

Chapter 5: latex コマンド起動

6

5.1.1 領域タイプセット
ポイントとマークの間、あるいはテキスト中に埋め込んだ %#BEGIN と%#ENDの間の領域 (Chapter 6[%#notation], page 7) だけを切り取ってタイプセットすることができます。この場合メインファイ
ルのプリアンブルが一時ファイルのプリアンブルとして使われます。したがってプリアンブルにない
マクロ定義が領域内にあるとエラーになります。領域タイプセットを使う場合、必ずマクロ定義はプ
リアンブル (\begin{document}より前) に置くようにして下さい。一時ファイルはメインファイルのあるディレクトリの ‘texput.tex’という名前で出力されるので、上書きには注意してください。

5.1.2 環境タイプセット[prefix] te を押すと、ポイント位置の最も内側の環境、または数式モード内の場合はその数式モード全体、あるいは環境がなければその段落が自動的に領域選択されて、領域タイプセットを呼び出します。tabular 環境や数式モードで複雑なものを作っている場合は確かめたい部分だけを確認できるので便利です。Emacs が画像表示可能な場合は、部分タイプセットの結果を画像化して隣のウィンドウに表示します。また、特定の環境で呼び出した場合は、環境内の文字を書き換える度に自動的にプレビュー
画像を更新します (on-the-ﬂy プレヴュー)。自動表示されない場合はプレヴューアで ‘texput.dvi’を開いたままにしておけば修正と確認が素早くできるでしょう。
画像プレヴューの場合の大きさ (解像度) はデフォルトで 200dpi(数式は 300dpi) です。dpi を変えたい場合は LaTeX ソースのどこかに%#PREVIEWDPI 150 のように dpi 値を書いてください。

5.2 プレヴューア起動[prefix] t p によりプレヴューアの起動ができます。さらに、もしあなたが、-remote 機能つきのxdvi を利用している場合は [prefix] t s を押すことによりカーソル位置の文字列を検索してそのページを表示するようにすでに起動中の xdvi に命令を送ります。これにより、現在編集中の箇所のタ
イプセット結果を即座に見ることができます。

5.3 プリントアウト[prefix] t lを押してプリントアウトを指示すると、出力開始/終了ページを聞いてくるので、それぞれに答えます。これを省略したい時は、universal-argument をつけ、
C-u [prefix] t l. . . ページ確認省略 lpr 起動のように起動してください。

Chapter 6: %#記法

7

6 %#記法
本文中に%#ではじまるキーワードを埋め込むことでタイプセッタ起動等の制御をすることができます。

6.1 タイプセット用コマンド変更
起動するコマンドを変えたい時は本文中に次のような行を書きます。

%#!jlatex-ntt
NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。

6.2 入力ファイル分割
また、章毎に別ファイルの .tex を作成している場合で、‘main.tex’から ‘sub.tex’ を \includeしているような時は、‘sub.tex’の任意の位置に次のような行を埋め込みます。

%#!platex main.tex
上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便利です。

%#!platex main && dvi2ps main.dvi > main
なお、この行の最後の単語のピリオド以前を「メインファイル」のベースネームであると仮定します (上の 2 つの場合どちらも ‘main’)。この行に記述した、%fはメインファイル名に、%r はメイン
ファイルの拡張子を取り除いた部分に置換されます。ただし、%f,%rを利用した場合、初回タイプセット時に必ずメインファイル名の入力を促されます。

[prefix] g (Chapter 10 [Cursor jump], page 19 参照) でのファイル間ジャンプを有効に機能させるため、入力ファイル分割時には次のことに注意して下さい。
1. サブディレクトリを作って、その中にサブファイルを置くことはできるがサブディレクトリのサ
ブディレクトリには置けない。

2. メインファイルからサブディレクトリ内のファイルを include する時には、相対パス指定を用いて、\include{chap1/sub}のように記述。
3. メインファイルが一つ上のディレクトリにある場合も、サブファイルには%#!platex main.texのように記述する (../main ではない)。

6.3 領域の固定[prefix] tr の領域指定のタイプセットでは、とくに指定のないかぎり、C-SPCでマークした位置と、ポイント (カーソル位置) の間を領域とみなしますが、必ず決まった領域をタイプセットしたい場
合は、その領域を%#BEGIN<渡したい領域>%#ENDのように%#BEGINと%#ENDで囲み、カーソルを「%#BEGIN以降」に置いてください。この時の領域決定規則をまとめると次のようになります。

1. カーソル位置よりバッファの先頭方向に%#BEGINというキーワードがある場合
1. %#BEGINよりバッファの末尾方向に%#ENDというキーワードが見つかった場合。⇒%#BEGIN
から、その %#END のある位置まで。
2. %#END が見つからなかった場合。⇒バッファの最後尾まで。

Chapter 6: %#記法

8

2. カーソル位置よりバッファの先頭方向に %#BEGIN というキーワードが見つからなかった場合。
⇒マーク (C-SPC位置) とポイント (カーソル位置) の間の領域。
tabular 環境を何度も試行錯誤しているような場合は、\beginの前の行に %#BEGIN と書き、\endの次の行に %#END と書いておくと簡単に作表結果をテストすることができます。また、長い .tex ファ
イルの後半に %#BEGIN を書いておけば、前半の部分は無視できます。この BEGIN と END の消し
忘れには十分ご注意下さい。

6.4 lpr フォーマット
まず、プリントアウト用コマンド列のフォーマットについて説明します。コマンド列フォーマットは、
3 つの Lisp 変数によって表現されます。デフォルトの dvi2ps 用のフォーマットを例に説明します。

(1)dviprint-command-format"dvi2ps %f %t %s | lpr"(2)dviprint-from-format"-f %b"(3)dviprint-to-format"-t %e"
実際にプリントアウトする時は、(1) 中の %s がファイル名に置き換えられ、%f が (2) の内容、
%t が (3) の内容に置き換えられます。その際に (2) の文字列中の %b は「出力開始ページ」、(3) の文字列中の %e は「出力終了ページ」に置き換えられます。もし、ページを指定しない時には、%f,%t 両方とも無視されます。
この、dviprint-command-format を臨時に変えたい時は、LaTEX のソーステキスト中の任意の場所に、%#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないようにする時に%#LPR dvi2ps %s | lprなどとするのも便利かもしれません。

6.5 その他の起動コマンド制御
LaTEX 文書に関連するコマンドは以下の %# 記法で指定することができます。
%#PREVIEW. . . Command line for DVI viewing ([preﬁx] t p)%#BIBTEX. . . makeindex を行なうコマンドライン ([preﬁx] t b)%#MAKEINDEX. . . bibtex を行なうコマンドライン ([preﬁx] t i)%#DVIPDF. . . DVI から PDF 変換を行なうコマンドライン ([preﬁx] t d)%#LPR

. . . 印刷用のコマンドライン ([preﬁx] t l)%#PDFVIEW. . . PDF ファイルを見るためのコマンドライン%#IMAGEDPI. . . 即時プレヴュー (on-the-ﬂy preview) 用の画像の DPI

Chapter 6: %#記法

9

行頭がこれらのキーワードで始まる行を LaTEX 文書の先頭付近に書いておけば、それで指定したコマンドを起動できます。

6.6 %#記法自体の編集
以上のような%#で始まる各種制御記法を編集するためには[prefix] %. . . %#記法編集メニューを押します。

!)Edit-%#! B)EGIN-END-region L)Edit-%#LPRというメニューが出て来るので、%#!に続くコマンドを変更したい時には!を、%#LPRで lpr フォー
マットを変えたい時は lを、あらかじめ設定したリジョンを %#BEGIN 〜 %#END で括りたい時は、bを押します。bを選んだ時には、それまでバッファ中に置かれていた%#BEGIN, %#END が自動的に消去されます。

Chapter 7: 補完入力

10

7 補完入力LaTEX での環境名などは、野鳥の補完機能を利用して能率的に入力することができます。

7.1 begin 型補完\begin{env}...\end{env}の様な形式の入力の補完を begin 型補完と呼ぶことにします。begin
型補完は、[prefix] b. . . begin 型補完開始 (標準では C-c b)
で始まります。頻繁に用いられる次の LaTEX 環境の補完は、[preﬁx] b に続く次の 1 文字を入力するだけで、\begin{xxx}...\end{xxx}を完成させます。

[prefix] b c. . . \begin{center}...\end{center}[prefix] b d. . . \begin{document}...\end{document}[prefix] b D. . . \begin{description}...\end{description}[prefix] b e. . . \begin{enumerate}...\end{enumerate}[prefix] b E. . . \begin{equation}...\end{equation}[prefix] b i. . . \begin{itemize}...\end{itemize}[prefix] b l. . . \begin{flushleft}...\end{flushleft}[prefix] b m. . . \begin{minipage}...\end{minipage}[prefix] b t. . . \begin{tabbing}...\end{tabbing}[prefix] b T. . . \begin{tabular}...\end{tabular}[prefix] b ^T
. . . \begin{table}...\end{table}[prefix] b p. . . \begin{picture}...\end{picture}[prefix] b q. . . \begin{quote}...\end{quote}[prefix] b Q. . . \begin{quotation}...\end{quotation}

Chapter 7: 補完入力

11

[prefix] b r. . . \begin{flushright}...\end{flushright}[prefix] b v. . . \begin{verbatim}...\end{verbatim}[prefix] b V. . . \begin{verse}...\end{verse}
上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて入力します (上記の環境名も以下の補完入力可能)。

[prefix] b hSPCi. . . begin 型補完入力[prefix] b hSPCi と入力すると、最下行のミニバッファにBegin environment(default document):と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出ているデフォルトの環
境名が入力されますが、適当な環境名を入力すると、\begin{環境名} … \end{環境名}が文書中に挿入されます。ミニバッファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書 (デフォルトでは ‘~/.yatexrc’) に保存します。
さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自動挿入します(例: itemize環境における\itemなど)。挿入されたエントリが不要な場合には undo によって消去して下さい。

7.1.1 既に書いたテキストを環境で括る
ところで、最初に書いてしまったブロックを後から、itemize 環境の中に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ閉じこめたい段落をマークして、begin 型補完の各コマ
ンドの [prefix] の次の『小文字の ’b’』 を『大文字』に変えて起動して下さい。(または、C-u を先に打ち、universal argument をつけても可能です)
例えばあるパラグラフを description 環境の中に入れたいときは、そのパラグラフをマークしてから、補完機能を呼び出してください (description 環境の場合は [prefix] b D)。
選択された領域を括ります。ただしこれは transient-mark-mode が t (Emacs の標準) になっている場合のみで、普段 transient-mark-mode を nil にしている場合は、補完キー前に universalargument 指定 (C-u) をタイプしてから [prefix] b D など、補完キーをタイプすれば括り補完にな
ります。なお Emacs22 以降であれば transient-mark-mode 無効時も set-mark-command (Cspace) の連打で一時的に transient-mark-mode が有効になります。

7.2 section 型補完\section{目的} のような形式の入力の補完を section 型補完と呼ぶことにします。section 型補
完は、[prefix] s. . . section 型補完
で実行します。[prefix] s を入力するとミニバッファに、

Chapter 7: 補完入力

12

(C-v for view-section) \???{} (default documentclass):というプロンプトが現れるので、そこで ‘section’ のような LaTEX コマンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択されるほか、‘chapter’などのような頻度の高い名称入力にはスペースキーによる補完機能が有効です。 次に、{}の中身の入力を促す、\section{???}:というプロンプトが現れるので、セクションのタイトルなどを入力します。たとえば、(C-v for view-section) \???{} (default documentclass): section\section{???}: 目的のように入力した場合は、文章中に\section{目的}が挿入され、(C-v for view-section) \???{} (default section): vspace*\vspace*{???}:のように{}の中身を省略したときは、\vspace*{}だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。

7.2.1 2 個以上の引数をとる section 型コマンド
ところで、‘\addtolength{\topmargin}{8mm}’ などのように、引数を二つ以上取る LaTEX コマ
ンドがあります。このようなコマンドの補完入力には、section 型補完呼び出しに引数を付けてください。例えば上の ‘addtolength’ の例であれば、引数 2 を指定します。つまり、

C-u 2 [prefix] s(または、ESC 2 [prefix] s)と section 型補完を呼び出した後、(Ctrl-v for view-section) \???{} (default vspace*): addtolength\addtolength{???}: \topmargin
Argument 2: 8mmのように入力してください。最初の addtolength の部分と、第一引数である\topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録される LaTEX コマンドには、この引数の数も学習されるので、最初の補完の時引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数を聞いて来るようになります。あとで引数の個数を変えたい時は、再び C-u を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新します。

7.2.2 既に書いたテキストを括る
また、section 型補完機能の呼び出し時に領域選択状態にしておくと領域内のテキストを section 型
コマンドの第一引数として括ります。これも普段 transient-mark-mode を nil にしている場合
は C-u のあとに補完キーをタイプすれば強制的に括り補完になります。

7.2.3 再帰補完
高度な使い方になるかもしれませんが、section 型補完の引数の入力時にさらに補完入力を利用することができます (section/large/maketitle 型に限る)。section 型コマンドの引数に更に LaTEX コ
マンドが来る場合にはミニバッファで野鳥の補完キーを再帰的に入力することで引数の入力も効率的に行なえます。

Chapter 7: 補完入力

13

7.2.4 セクション区切りのアウトライン表示
通常の section 型補完の時にミニバッファで C-vを押すと現在存在するセクション区切りコマンド全て
を *Sectioning Lines*というバッファに一覧表示します (「<<–」のついている行がもっとも近いセクション区切り)。この時ミニバッファで C-p, C-n を押すと ‘part’, ‘chapter’, ..., ‘subparagraph’のコマンドが論理階層の高さにしたがって上下します。また、C-v, M-v を押すとセクション区切り一覧バッファがスクロールし、数字の 0〜7を押すとある高さ以上のセクション区切りだけを選んで表示
します (実際にやって見れば分かります)。

*Sectioning Lines*バッファは、
M-x YaTeX-section-overview. . . セクション区切り一覧バッファを生成で作成することができます。このバッファを選択し任意の行でスペースを押すと、該当するセク
ション区切りのある本文中の場所にジャンプします。さらに、同バッファで u を押すと、ソーステキストの対応するセクションコマンドが一階層上がり (例: subsection が section に変わる)、dを押すと一階層下がります。*Sectioning Lines*バッファにあるセクション区切りの行をマークしておいて Uを押すとリジョン内のものに対応するソーステキストのセクションコマンドすべてが一階層上がり、Dを押すと下がります。セクション区切り一覧バッファで利用できるキーコマンドには以下のものがあります。

SPC. . . 対応するソース行へジャンプ.

. . . 対応するソース行を表示

u. . . カーソル位置に対応するセクションコマンドを一階層上げる

d. . . カーソル位置に対応するセクションコマンドを一階層下げる

U. . . マークしたセクションコマンドを一階層上げる

D. . . マークしたセクションコマンドを一階層上げる

0〜6. . . レベル n 以下のセクションコマンドを隠して表示

7.2.5 ラベル自動生成\ref{} や \cite{} マクロを section 型補完で入れた場合参照先となり得るものを全て探してメニューにして選択できます。参照先には\label{}をつけておく必要はありません。もしあれば、そのラベルを使い、なければその場で参照先に\label{}を作らせてくれます。ラベル名を考えるのは苦痛に感じるものです。全てのカウンタにラベルをつけるのもたいへんです。もうラベル名に何をつけるか、ラベルをつけるかつけまいか、などということは忘れましょう!
ラベルを打つべき項目の選択の際には、可能性のあるすべてのカウンタが表示されます。これを「数式のみ」のように種別で絞りたいときは以下のキーコマンドが利用できます。

M-a. . . 絞り込みを解除してすべてのカウンタを表示

M-c. . . キャプションのみを表示

M-e. . . 番号のつく数式のみを表示

M-i. . . 番号つき箇条書のみを表示

M-s. . . セクションのみを表示

M-m. . . その他のカウンタのみを表示

Chapter 7: 補完入力

14

7.3 large 型補完{\large } のような形式の補完を large 型補完と呼ぶことにします。
[prefix] l. . . large 型補完開始
が large 型補完の開始です。[prefix] l を押すと、ミニバッファに{\??? } (default large):と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意されているのは、‘footnotesize’ や ‘huge’ のような文字サイズ指定子と、‘bf’や ‘dg’のようなフォント指定子です。

7.3.1 既に書いた文字を括る
また、begin 型補完の時と同様、先に書いてしまった一連の文章の文字のサイズを変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文字の範囲をマークしてから large 型補完を呼んでください。

7.4 maketitle 型補完\maketitle の形式の補完を maketitle 型補完と呼ぶことにします。
[prefix] m. . . maketitle 型補完開始
で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じです。LaTEX 用のコ
マンド名が補完候補として用意されています。

7.5 随時補完
さて、今まで述べた典型的な LaTEX コマンド形式の補完入力を用いずに、今入力しようとしている
LaTEX コマンドを文書中の任意の位置で随時補完することもできます。LaTEX コマンド (先頭が\で始まる) を入力している途中で、[prefix] SPC. . . 随時補完を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入されます。

7.6 end 補完
現在開いたままの環境名を自動的に検出し、\end{環境名}を挿入します。begin 型補完を用いれば環
境の閉じ忘れはないのですが、時にはついつい手で\begin{環境名} を入れてしまい、悲しい思いをすることがあります。そのような時には気にせず続けて文章を入力し、しかるのちに[prefix] e. . . end 補完とすることで、現在開いている環境名で \end{} が補われます。

Chapter 7: 補完入力

15

7.7 アクセント記号補完
欧文のアクセント記号 (\‘{o}など) を入力する時は、[prefix] a. . . アクセント記号入力を押すと、ミニバッファに

1:‘ 2:’ 3:^ 4:" 5:~ 6:= 7:. u v H t c d bというメニューが出て来るので、数字、または対応する記号/英字を入力して下さい。すると編集バッ
ファに、

\‘{}
が現われ、カーソルが{}内に位置するので、さらに一文字入力する事で、\‘{o}が完成され、カーソルは{}の外に戻ります。

7.8 数式記号イメージ補完
主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力で、LaTEX コマン
ドを入力できます。これは野鳥自身の「数式モード」でのみ動作します。野鳥はカーソルが TEX の数
式環境の中にある時に;や、:に特殊な機能を持たせます。
さて、例えば、← (leftarrow) を ASCII 文字だけで表現する場合、一般的には「<-」のようにしますが、これを利用して、数式記号イメージ入力モードで\leftarrowを入力するには、;(セミコロン) を打ってから<-と入力します。同様に、長い矢印←-(long-leftarrow) を ASCII 文字だけで表現する場合「<–」とするので、\longleftarrowを入力するためには、;<-- と入力します。あるいは
無限大記号を ASCII 文字だけで表現する時は「oo」のようにすることから、\infty を入力する時
は、;ooとキー入力します。
これらの操作をまとめると次のようになります。

INPUT; < ; < - ; < - - >
; o
; o o

入力される LaTEX コマンド

\leftarrow\longleftarrow\longleftrightarrow\circ\infty

いずれの場合も、イメージ入力を行っている途中で望みのものがバッファに表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても構いません。
数式環境中で ‘;’自身を入力するには;;のようにします。イメージ入力の途中で TAB を押すと、それまで入力した文字で始まるもの一覧が表示されます。ここで目的の LaTEX コマンドまでカーソ
ルを移動し再度 TAB を押すことでその LaTEX コマンドがバッファに挿入されます。
どのキー入力にどの記号が対応しているか全て知りたい時は、;を押した直後に TAB を押してください。以下の例は、;<と押した後に TAB を押したものです。

KEY
<
<<
<<=

LaTeX sequence\leq\ll\leftarrow\Leftarrow

sign
≦
《
←

<=

Chapter 7: 補完入力

16

左から [入力キー]、[対応する LaTEX コマンド]、[(擬似) 記号図示]、という順でメニューが出て来るので、よく使うものを覚えておくと良いでしょう。ものによっては ASCII 文字で表現することが困難なので、あまり覚えやすいキー並びではないものがあるでしょうから、そのような場合は\maketitle
型補完で入力するか、以下に述べる対応表の設定を行って単純なキー並びのものを設定すると良いでしょう。
入力キーと LaTEX コマンド、記号の対応表を個人的に設定したい場合は Emacs-Lisp 変数
YaTeX-math-sign-alist-private に定義してください。その内容とデフォルトのものを合わせたものが対応表として使用されます (private の方が優先される)。なお、この変数の構造については‘yatexmth.el’ を参照してください。

7.9 ギリシャ文字補完
もう一つ、数式環境中で:を押すとギリシャ文字入力モードに入ります。:を押した直後に aを押すと\alphaが、g を押すと\gammaが、などアルファベットに対応したギリシャ文字が挿入されます。操作方法は; の数式記号補完とまったく同じです。まずは:の直後に TAB を押してどのアルファベットにどのギリシャ文字が対応しているか調べてみてください。

;と:を数式環境中で押しているにもかかわらず、イメージ補完が働かない場合は、C-u ;のようにuniversal-argument をつけてキーを押すことにより、強制的にイメージ補完に入ることができます。
また、この時にどのような状態で数式環境内判定に失敗したかをご連絡下さい。

7.10 括弧入力補助
3 種類ある括弧 () [] の開き括弧を入れたときに閉じ括弧を自動的に入れます。\ の直後にの [ を入れると行を分けてインデントを揃え、数式入力に備えます。その他 LaTEX のマクロに応じて括弧の釣合の取れた状態に導きます。開き括弧そのものを 1 つだけ入れたいときは C-q でクォート入力する
か、[prefix] w m で修正モードを OFF にしてください。
領域選択してから開き括弧を入れるとその領域をその種類の括弧で括ります。

Chapter 8: ローカル辞書

17

8 ローカル辞書
補完入力用の候補は三種類の辞書から構成されています。一つは ‘yatex.el’に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリでのみ有効なコマンドを保存する「ローカル辞書」です。
補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて来ます。

‘foo’ is not in table. Register into: U)serDic L)ocalDic N)one D)iscardというプロンプトに対し、uと答えると「ユーザ辞書」を、lと答えるとローカル辞書を更新し、nと答えると辞書ファイルは更新せず現在の Emacs セッションのみ有効な単語とし、dと答えると新たな単語を学習せずに捨てることになります。
もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場合には ‘~/.emacs’などで、(setq YaTeX-nervous nil)
として下さい。

Chapter 9: コメントアウト

18

9 コメントアウト
LaTEX の編集には試行錯誤がつきものです。ある部分を一括でコメントアウトしたり、コメントを外したりしたいことがあります。

[prefix] >. . . リジョンを % でコメントアウト[prefix] <. . . リジョンの % のコメントを外す
は、あらかじめ設定したリジョンに対しての操作、[prefix] .
. . . 現在のパラグラフをコメントアウト[prefix] ,. . . 現在のパラグラフのコメントを外す
は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう「パラグラフ」は(mark-paragraph) 関数によりマークされる範囲を指します (標準設定で ESC hにバインドされている)。なお、既に%でコメントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用した場合の動作は保証しませんので御注意ください。
さて、文章に対してだけでなく、時には\begin, \end 自体に対してもコメントアウトの操作をしたいときがあります。このようなときは、\begin{} あるいは \end{} の行にカーソルを合わせ、[prefix] >. . . \begin{}〜\end{} 全てコメントアウト[prefix] <. . . \begin{}〜\end{} 全てコメントを外すとすることで、\begin〜\endで囲まれる環境全てに対してコメント操作し、[prefix] .
. . . \begin{} と \end{} をコメントアウト[prefix] ,. . . \begin{} と \end{} のコメントを外すは、対応する \begin と \end 2 行だけを、コメント操作の対象とします。リジョンをコメント
アウトしようとして、マークを設定したのちにカーソルを移動し [preifx] > を押してもカーソルが\begin{} の上にあると\begin{}〜\end{}モードでコメント機能が働いてしまうので注意して下さい。

Chapter 10: カーソルジャンプ

19

10 カーソルジャンプ
10.1 対応オブジェクトへのジャンプ
文書中のいろいろな場所で[prefix] g. . . 対応するオブジェクトにジャンプを押すことにより、カーソル位置の LaTEX コマンドに対応する場所にジャンプします。対応関係が存在すると解釈されるコマンドには以下のものがあります。

• \begin{} ←→ \end{}• %#BEGIN ←→ %#END• 画像ファイルの取り込みマクロ → 対応する viewer/お絵かきツール起動• \label{} ←→ \ref{}• \include(\input) → 対応するファイル• \bibitem{} ←→ \cite{}\begin{} か \end{} の行で [prefix] gを押すことにより、対応する end/beginの行にジャンプします。もちろん対応するものがない場合はエラーになります。またこれは、領域固定のための%#BEGIN と%#END のペアに対しても同様に動作します。なお、label/refや cite/bibitem対応
するものが別ファイルにある時は、ジャンプ先となるファイルがオープンされていなければなりません。See Chapter 6 [%#notation], page 7. メインの .tex ファイルの \include{chap1} などにカーソルを合わせ、[prefix] g を押すと、‘chap1.tex’ にジャンプします。
また、[prefix] 4 g. . . 別ウィンドウで対応オブジェクトにジャンプを押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、この機能はbegin/end, %#BEGIN/%#END 間のジャンプに対しては (意味がないと思われるので) 機能しないので注意してください。

10.2 お絵描きツール起動
上記の「画像ファイルの取り込みマクロ」とは、例えば\epsfile{file=foo} のような挿絵取り込
みコマンドのことで、この行にカーソルを合わせて [prefix] gを押すとその画像ファイルの元となったファイルを対応するお絵描きツールを起動してオープンします。起動するツールの判定は以下のよ
うになされます。

1. カレント行が変数 YaTeX-processed-file-regexp-alist に定義されている正規表現のいずれかとマッチしたら、ファイル名に相当する部分を\\(\\) から抜き出して覚えておく (何番目の\\(\\) かは変数の各リストの cdr 部に入れておく)。マッチしなければ何もしない。
2. 行末に、変数 YaTeX-file-processor-alist に登録されているコマンドが「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名. 拡張子」を起動。
3. なければ、変数 YaTeX-file-processor-alist の各リストの cdr 部に入っている拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べて、存在した場合 car 部に入っているコマンドを起動する。

Chapter 10: カーソルジャンプ

20

4. 以上どれかにマッチしなければあきらめる。
変数 YaTeX-file-processor-alist と変数 YaTeX-file-processor-alist の設定方法についてはそれぞれの変数について describe-variable して説明を読んで下さい。うまく設定すると、画像ファイルにかぎらず、任意の形式のファイルを任意のプロセッサで処理するコマンドを簡単に呼び出すことができます。

10.3 メインファイルへのジャンプ‘chap1.tex’のようなサブファイルで、[prefix] ^. . . メインファイルにジャンプ[prefix] 4 ^. . . 別ウィンドウでメインファイルにジャンプを押すと、メインファイルの編集バッファに切替えます。もし、メインファイルをオープンしていな
い場合は、カレントディレクトリから探して自動的にオープンします。

10.4 環境を単位としたジャンプ
さらに現在の環境を単位として機能するコマンドに以下のものがあります。

M-C-a. . . 環境の先頭 (\begin) へジャンプ

M-C-e. . . 環境の末尾 (\end) へジャンプ

M-C-@. . . 環境全体をマーク

上記のコマンドは通常の [prefix]キーではなく METAキーをプリフィクスとして機能するのでご注意下さい。

10.5 最後の補完位置へのジャンプ
野鳥は補完入力した位置を常にレジスタ 3に保存しています。入力途中で如何なるファイルの如何なる位置に行ったとしても、C-x j 3(jump-to-register) を使って直ちに最後の補完入力位置に戻ることができます。

Chapter 11: 変更/削除

21

11 変更/削除
既に入力されている LaTEX コマンドの変更/削除のために以下の機能が用意されています。

[prefix] c. . . カーソル位置の LaTEX コマンドの変更[prefix] k. . . カーソル位置の LaTEX コマンドの削除
これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意して下さい。

11.1 LaTEX コマンドの変更
変更したい LaTEX コマンドにカーソルを合わせて [prefix] c を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。[prefix] c で変更できるコマンドには以下のものがあります。

• begin/end の環境名
• section 型コマンドのコマンド名• section 型コマンドの引数• section 型コマンドのオプションパラメータ ([] で囲まれたもの)• large 型コマンド• (イメージ補完で入力可能な) 数式モード専用の maketitle 型コマンド
変えたい section 型コマンドの引数がさらに LaTEX コマンドを含む場合は、その引数を囲む中
括弧の上で [prefix] c を押すことで中のコマンドを変更対象判定から除外することができます。

11.2 LaTEX コマンドの削除[prefix] k は起動する位置により次のような動作を行います。
起動位置

動作

\begin, \end の行%#BEGIN, %#END の行
section 型コマンドの上 (中)\begin\endペアの削除%#BEGIN,%#END ペアの削除
section 型コマンドの削除

フォント指定括弧の上
括弧の上フォント指定の削除対をなす括弧の削除\begin, \end および %#BEGIN, %#END を削除する場合、\begin, \end や %#BEGIN, %#ENDの存在する行はまるごと削除されるので、それらの一行に \begin などを二つ以上連ねて書かないように注意してください。上記のものはすべて本文を囲う「容器」を削除するように働きますが、universalargument (C-u) を打った後で [prefix] kをタイプすると、それぞれの「容器」に含まれる「中身」
も一気に削除します。以下の例を参考にして下さい。
元のテキスト:
本文\footnote{脚注}です。
↑ (カーソル位置)[prefix] k
本文脚注です。

C-u [prefix] k
本文です。

Chapter 12: 桁揃え

22

12 桁揃え12.1 item の桁揃え
itemize 環境中にある\itemの項目 (文章) が複数行に渡る場合に、項目の先頭を桁揃えしたい場合
には、

M-q

. . . 桁揃え

によって、その item のインデントの深さに応じて ﬁll されます。なお、古い NTT jTeX を使用している場合には、Lisp 変数 NTT-jTeXを tにセットして下さい。
このとき、変数 YaTeX-item-regexpの値 (標準では "\\\\item") を項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコマンドを定義して項目を列挙している場合(例えば\underlineitem) は、‘~/.emacs’ で次のように指定して下さい。

(setq YaTeX-item-regexp"\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)")
この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を"\item"で始まるものにして下さい (例えば"\itembf")。
野鳥の M-q では \item を環境に応じて以下のように「ハングインデント」します。
itemize, enumerate 環境:>\item[ほげほげ] 英語では、特に意味のない単語を ‘foo’ であらわしま>すが、これの日本語版ともいえる単語が「ほげほげ」>
です。
description 環境:> \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第>2 のでたらめな単語として「へろへろ」が使われることが多>いようです。

12.2 パラグラフの桁揃え
itemize 環境以外でのパラグラフの桁揃え (ﬁll) は、基本的に他のモードと同じように機能しますが、
verbatim 環境や、tabular 環境など桁揃えをすると悲惨な状況になるような環境中では機能しません。また、\verb で括ってあるものは決して行分割されません (変数 YaTeX-verb-regexp で制御))。さらに、一時的にインデントの深さを変えてある箇所では、そのインデントの先頭で M-qを押すことにより ﬁll-preﬁx をいちいち変更しなくて桁揃えができます。

Chapter 13: 勝手に includeonly

23

13 勝手に includeonly
ファイルを分割して文章を入力している時には、メインファイル中に\includeonly{現在編集中のファイル名}のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他のファイルを手直ししたい時には\includeonly{ちょっと手直ししたいファイル名}と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル名がメインファ
イルの\includeonlyにない場合には自動的にこれを検出し、次の指示を仰ぎます。

A)dd R)eplace %)comment?
現在編集中のファイルを \includeonly のリストに加えたい時には a を、現在編集中のファイルだけを \includeonly にしたい時は rを、\includeonly の行をコメントアウトして無効化したい時には、%をそれぞれ押して下さい。

Chapter 14: ここはどこ?

24

14 ここはどこ?
項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いている桁がどこに対応す
るのかわからなくなってしまうことがあります。例えば、以下のような tabular において、\begin{tabular}{|c|c|c|c|c|c|c|c|}\hline
氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline
矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy &zzz-www & トンガ & 9876-54321 \\日吉小僧 & 2 & \multicolumn{2}{c|}{教えない}&&&(???)\\ \hline\end{tabular}(???) の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、[prefix] &. . . 現在のカラム表示
を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示します。tabular/array
環境の第 1 行目を項目名の並びとみなして対応するものを探します。もし項目名として別のものを表示して欲しい場合は、行頭を%にしてダミーの項目並びを作っておくと良いでしょう。

Chapter 15: おまかせ改行

25

15 おまかせ改行
tabular[*], array, itemize, enumerate, tabbing 環境を begin 型補完で入力した時、または各環境
内で

ESC RET. . . おまかせ改行を押すと、その環境に応じた行エントリを次の行に挿入します (begin 型補完時に自動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、tabular 環境では、その環境のカラム数に対応した個数の & に加え、行末の \\ を入れます。この時それ以前に \hline があればそれも付け加えます。環境とそれに応じて自動入力するものの対応は以下のようになります。

• tabular, tabular*, array
カラム数-1 だけの & と \\。必要に応じて \hline• tabbing
一行目で定義している \= と同じ個数の \>。
• itemize, enumerate, description, list
\item または item[]tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作するので、なるべく二行目以降で呼び出すようにしてください。
も し 、そ の 他 の 環 境 、例 え ば foo、に 対 し て お ま か せ 改 行を 動 作 さ せ た い 時 は 、YaTeXintelligent-newline-foo という名前の関数を定義します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれます。関数 YaTeX-indent-line を呼ぶと現在の環境のネストに応じた深さにインデントされるので、これを呼んでから何かを挿入するようなコードを書くとよいでしょう。‘yatexenv.el’内の関数 YaTeX-intelligent-newline-itemize の定義などを参考にしてください。

Chapter 16: 先回り usepackage

26

16 先回り usepackage
begin 型、section 型、maketitle 型、いずれかの LaTeX2e マクロを補完入力すると、そのマクロの利用に外部パッケージを必要とする場合、そのパッケージを本文中で \usepackage{} しているかどうかを調査し、もししていなければプリアンブルに対応するパッケージを引数にした \usepackage
文を (確認後に) 挿入します。
ただしこの機能が働くためには、パッケージ名とその中で定義されているマクロ群を alist の形式
で変数 YaTeX-package-alist-private に設定しておく必要があります。

Chapter 17: 野鳥の動作モード切り替え

27

17 野鳥の動作モード切り替え[prefix] w. . . 野鳥動作モード切り替えメニュー
で野鳥自身の動作を決定する以下のモードを切り替えます。

• 修正モード• 野鳥数式モード
修正モードは、開き括弧入力時の処理をコントロールし、修正モード ON の時は開き括弧の入力
は開き括弧のみの入力になり、修正モード OFF の時は開き括弧の入力だけで閉じ括弧まで入力します。デフォルト (起動時) の設定は OFF です。
野鳥数式モードは、変数 YaTeX-auto-math-mode が nil の時のみ有効で、このとき;や:を押した時 (Section 7.8 [Image completion], page 15 参照) に、どのようなイメージ補完を機能させる
か、通常のキーとして機能させるかを手動で切り替えます。自動判定が遅いマシンでは YaTeX-automath-mode nilにセットし、野鳥数式モードを手動で切り替えると良いでしょう。

Chapter 18: オンラインヘルプ

28

18 オンラインヘルプ
使おうとする LaTEX コマンドの用法がよく分からない時は、オンラインヘルプをひきましょう。ヘ
ルプに関するキーには以下のものがあります。

[prefix] ?
. . . オンラインヘルプ[prefix] /. . . オンライン apropos

18.1 オンラインヘルプ「オンラインヘルプ」は、一般的な LaTEX コマンド (デフォルトでカーソル位置のコマンド) に対する説明を隣のバッファに表示します。この時参照されるヘルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があり、前者は LaTEX の標準コマンドの主なものの説明を含むファイルで、変数 YaTeX-help-fileの値で指定されます。このファイルは通常公共の場所 (デフォ
ルトで$EMACSEXECPATH) に置かれ、誰もがその内容を更新できるように全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマクロ定義に関する説明が書かれているファイ
ルで、変数 YaTeX-help-file-privateの値で指定されます。こちらはユーザのホームディレクト
リの下などに置かれます。

18.2 オンライン apropos「オンライン apropos」は GNU Emacs の apropos と同様、ユーザが指定したキーワードを説明文に含む項目すべてを隣のバッファに表示します。
もし、調べようとした LaTEX コマンドに対する説明がヘルプファイル中に見つからなかった場合
は、説明文の入力を求めてくるので、可能であれば参考書などを調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含めたいと思います。

Chapter 19: インクルード構造ブラウザ

29

19 インクルード構造ブラウザ
複数のファイルに分割しているドキュメントを書いている場合、[prefix] d. . . インクルード構造ブラウズを押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイルの親となるファイル(デフォルトが示されているので大抵は RET のみ) を入力するとインクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示します。このバッファでは以下のキー操作が有効です。

n. . . 次の行に移動し対応するファイルを隣のバッファに表示

p. . . 上の行に移動し対応するファイルを隣のバッファに表示N. . . 同じインクルードレベルの次のファイルに移動

P. . . 同じインクルードレベルの前のファイルに移動

j. . . 次の行に移動

k. . . 上の行に移動

u. . . 一代親にあたるファイルに移動.

. . . カーソル位置のファイルを隣のバッファに表示

SPC. . . 隣のバッファの対応ファイルをスクロールアップ

DEL, b. . . 隣のバッファの対応ファイルをスクロールダウン<. . . 隣のバッファの対応ファイルの先頭を表示>. . . 隣のバッファの対応ファイルの末尾を表示’. . . (<や>の後で) 元の表示位置に戻る

RET, g. . . カーソル位置のファイルを隣のバッファでオープン

mouse-2. . . RET と同じ (ウィンドウ使用時のみ)

o. . . 隣のウィンドウに移動

1. . . 他のウィンドウを消す-. . . ブラウズウィンドウを小さくする+. . . ブラウズウィンドウを大きくする?

. . . ヘルプ表示q. . . 表示前の状態に戻る

ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応するファイルをクローズしてしまうとうまく働きませんのでご注意ください。

Chapter 20: 他パッケージとの連携

30

20 他パッケージとの連携
20.1 gmhist‘gmhist.el’と ‘gmhist-mh.el’ をロードしている場合、プレヴューコマンドの入力 ([prefix]tp])、印刷コマンドの入力 ([prefix] tl) の時に独立したヒストリを利用できます。それぞれのプ
ロンプトで、M-p を押すと直前に利用したコマンド文字列をくり返し呼び出すことができます。

20.2 min-out‘min-out.el’ (outline-minor-mode) と野鳥を組み合わせて使うことももちろん可能です。設定の方法に関しては ‘yatexm-o.el’をご覧ください。

Chapter 21: カスタマイズ

31

21 カスタマイズ
野鳥の動作を制御する種々の変数を独自に設定することにより、補完入力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実させることなどができます。

21.1 lisp 変数
例えば preﬁx キーを C-c 以外のキーにしたい場合は、YaTeX-prefixに preﬁx キーにしたいシンボルを定義してください。さらに、「C-c 英字」というキーバインドは独自の関数が割り当ててあるので使いたくない。このような時は、YaTeX-inhibit-prefix-letter を t に設定することにより、C-c 英字…のバインドが全て、対応する C-c C-英字…に変わります (ただし、begin 型 large 型
補完の大文字起動によるリジョン指定は可能なままです。これも無効にしたい場合は tではなく 1 にセットして下さい。)。

21.1.1 カスタマイズ変数一覧
yatex-mode における次の変数がカスタマイズ可能です。‘~/.emacs’ で setq しておけば、そちらの定義が優先されます。括弧の中はデフォルト値です。実際に変数の値を変更する場合は M-x describevariable で変数の詳細な説明を参照してください。

YaTeX-prefix[Variable]

yatex-mode 中のプリフィクスキー (\C-c)

YaTeX-inhibit-prefix-letter[Variable]

preﬁx キーの直後のキーバインドで 英字 のものを C-英字 に変更 (nil)YaTeX-fill-prefix[Variable]

本文を書く時の行頭に挿入する接頭辞すなわち ﬁll-preﬁx (""(nil))

YaTeX-user-completion-table[Variable]

学習した LaTEX コマンド保存ファイル名 ("~/.yatexrc")[Variable]
文書を作成する時の漢字コード nil=既存のコードのまま 0=no-conversion 1=Shift JIS,
2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOS では 1))

YaTeX-kanji-code

tex-command[Variable]

LaTEX タイプセッタコマンド名 ("platex")dvi2-command[Variable]

プレヴューアコマンド名 ("xdvi -geo +0+0 -s 4")

dviprint-command-format[Variable]

dvi ファイルの印刷に使われるコマンド式 ("dvi2ps %f %t %s | lpr")

dviprint-from-format[Variable]

上の%fに相当する開始ページ指定書式、%b が開始ページ番号に変わる ("-f %b")

dviprint-to-format%t に相当する終了ページ指定書式、%eが終了ページ番号に変わる ("-t %e")[Variable]

Chapter 21: カスタマイズ

makeindex-command

32[Variable]

makeindex コマンド ("makeindex" (MS-DOS では"makeind"))

YaTeX-dvipdf-command[Variable]

dvi を PDF に変換するコマンド ("dvipdfmx")[Variable][prefix] t eで環境即時 preview をする場合の変換処理までの無操作時間 (秒) (0.9) nil の

YaTeX-on-the-fly-preview-interval
場合は即時プレヴューをしない。

[Variable][prefix] t eで数式環境を即時 preview する時に用いるエンジン (latex-math-preview が利用可能なときは latex-math-preview-expression を呼ぶ’YaTeX-typeset-environmentby-lmp そうでないときは内蔵関数を呼ぶ ’YaTeX-typeset-environment-by-builtin)

YaTeX-on-the-fly-math-preview-engine

YaTeX-cmd-gimp[Variable]

GIMP を起動するコマンド (code"gimp")

YaTeX-cmd-tgif[Variable]tgif を起動するコマンド (code"tgif")

YaTeX-cmd-inkscape[Variable]

Inkscape を起動するコマンド (code"inkscape")

YaTeX-cmd-dia[Variable]

Dia を起動するコマンド (code"dia")

YaTeX-cmd-ooo[Variable]

OpenOﬃce.org または LibreOﬃce を起動するコマンド (code"soﬃce")

YaTeX-cmd-gs[Variable]

Ghostscript を起動するコマンド (code"gs")

YaTeX-cmd-dvips[Variable]

dvips を起動するコマンド (環境によっては pdvips など) (code"dvips")[Variable]
displayline を起動するコマンド (code"/Applications/Skim.app/Contents/SharedSupport/displayline")

YaTeX-cmd-displayline
YaTeX-cmd-edit-ps[Variable]

PostScript ファイルを編集するコマンド (変数 code"YaTeX-cmd-gimp"の値)

YaTeX-cmd-edit-pdf[Variable]

PDF ファイルを編集するコマンド (変数 code"YaTeX-cmd-ooo"の値)

YaTeX-cmd-edit-ai[Variable].ai ファイルを編集するコマンド (変数 code"YaTeX-cmd-inkscape"の値)

YaTeX-cmd-edit-svg[Variable]

SVG ファイルを編集するコマンド (変数 code"YaTeX-cmd-inkscape"の値)

YaTeX-cmd-edit-images
その他画像ファイルを編集するコマンド (変数 code"YaTeX-cmd-gimp"の値)[Variable]

Chapter 21: カスタマイズ

33

YaTeX-need-nonstop[Variable]\nonstopmode{}を自動的に付加するか (nil)latex-warning-regexp[Variable]latex コマンドの出力するウォーニング行の正規表現 ("line.* [0-9]*")latex-error-regexp[Variable]

同じくエラー行の正規表現 ("l\\.[1-9][0-9]*")[Variable]
MS-DOS 上で動作する latex コマンドが、エラーにより停止するとき出力するメッセージ("Emergency stop")

latex-dos-emergency-message

latex-message-kanji-code[Variable]

タイプセッタの出力するメッセージの漢字コード. タイプセットバッファの出力が化ける時は、これを設定する (2, Nemacs でのみ有効)

NTT-jTeX[Variable]

古い NTT-jTEX 使用時のようにインデントした行の先頭と前の行の (タイプセット後の) 字間が空いてしまうのを嫌う場合は tにする (nil)YaTeX-item-regexp[Variable]

item の桁揃えの時に用いる、item の正規表現 ("\\\\(sub\\)*item")

YaTeX-verb-regexp[Variable]

verb コマンドの正規表現。先頭の\\\\はつけない ("verb\\*?\\|path")

YaTeX-nervous[Variable]

ローカル辞書を用いる時 t (t)YaTeX-sectioning-regexp[Variable]

セクション区切り設定コマンドの正規表現 ("\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|para[Variable]
ﬁll を 抑 止 す る 環 境 名 の リ ス ト (’("tabular" "tabular*" "array" "picture""eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim""verbatim*"))YaTeX-fill-inhibit-environments

YaTeX-uncomment-once[Variable]

領域 uncomment で行頭の複数の%を全て削除するか (nil)YaTeX-close-paren-always[Variable]

開き括弧の入力で常に閉じ括弧を入力する (t)YaTeX-auto-math-mode[Variable]

数式モードの切り替えを自動的に行う (t)YaTeX-math-key-list-private[Variable]

数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の alist (nil)。補完テー
ブルの書き方については ‘yatexmth.el’を参照。

Chapter 21: カスタマイズ

34[Variable]
1 画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字文字列で Emacs
ウィンドウに対する百分率 (10)YaTeX-default-pop-window-height

YaTeX-help-file[Variable]

共用ヘルプファイル (‘$doc-directory/../../site-lisp/YATEXHLP.jp’)

YaTeX-help-file-private[Variable]

個人用ヘルプファイル (‘"~/YATEXHLP.jp"’)[Variable][prefix] b ?? のショートカットを使わず、[prefix] b だけで補完入力に入る (nil)YaTeX-no-begend-shortcut

YaTeX-hilit-pattern-adjustment-private[Variable]

正規表現とそれにマッチするものの論理的意味をシンボルであらわしたもののリスト…のリス
ト。hilit19 を組み込んでいる時のみ有効。詳しくは (assq ’yatex-mode hilit-patternsalist) した結果と、変数 YaTeX-hilit-pattern-adjustment-default の値 (と場合によっては hilit19 のドキュメント) を参照せよ。

YaTeX-sectioning-level[Variable]

LaTeX のセクション単位宣言コマンドとその論理的高さの alist。
[Variable]
Hierarchy バッファは通常ファイルヘッダとして、LaTeX のセクション宣言コマンドの引数を

YaTeX-hierarchy-ignore-heading-regexp

検索し、それがなければコメント行を探すが、その際にヘッダとしては意味を持たないパター
ンをこの変数に設定する。デフォルトでは RCS ヘッダとモード指定行 (-*- xxx -*-) が設定されている。

[Variable]
Non-nil に設定すると section 型コマンドの引数入力時、アドイン関数がなければミニバッファ
での読み込みをせずに入力を完了させる (nil)YaTeX-skip-default-reader[Variable]\includeなどで prefix gした時に、ジャンプ先が存在しないファイルであってもオープンする (nil)YaTeX-create-file-prefix-g

YaTeX-simple-messages[Variable]

各種補完時のメッセージ出力を簡素化する (nil)[Variable]
色付けが有効な時の \part の色 (’(yellow/dodgerblue yellow/slateblue))。リストの第一要素は hilit-background-mode が ’light の時の、第二要素は ’dark の時の\chapter の色で、文字色/背景色 のように指定する。

YaTeX-hilit-sectioning-face

YaTeX-hilit-sectioning-attenuation-rate[Variable]

色付けが有効な時の、\subparagraph の色を \chapter の濃度の何%薄くしたものにするか (’(15 40)) YaTeX-hilit-sectioning-face の項参照。

YaTeX-use-AMS-LaTeXAMS-LaTeX を使用する場合は t に設定する (nil)[Variable]

Chapter 21: カスタマイズ

YaTeX-use-LaTeX2e

35[Variable]

LaTeX2e を使用する場合は t に設定する (t)YaTeX-template-file[Variable]

新規ファイル作成時に自動挿入するファイル名 (~/work/template.tex)[Variable]
input するファイルを探すときの基準ディレクトリを main ファイルのあるディレクトリにするか (t)

YaTeX-search-file-from-top-directory

YaTeX-use-font-lock[Variable]

ソースの色づけパッケージとして font-lock を利用するかどうか ((featurep ’font-lock))[Variable]
ソースの色づけパッケージとして hilit19 を利用するかどうか ((featurep ’hilit19))

YaTeX-use-hilit19[Variable]
italic, bold フォントを野鳥が探すかどうか (Emacs20 以降なら t) font-lock 利用時のみ有効。
((featurep ’hilit19)

YaTeX-use-italic-bold

YaTeX-singlecmd-suffix[Variable]

全ての maketitle 型コマンドの補完入力直後に挿入する文字列。"{}" などがお勧め。

YaTeX-package-alist-private[Variable]

LaTeX2e のパッケージ名とその中に含まれるマクロのリスト。適切に設定しておくと本文入力時にマクロを補完入力するとそのマクロに必要なパッケージを usepackage するか自動的に検査してくれる。していなければ \usepackage を自動追加することもできる。リストは’((パッケージ名 1(補完タイプ マクロのリスト……)(補完タイプ マクロのリスト……))(パッケージ名 2(補完タイプ マクロのリスト……)(補完タイプ マクロのリスト……))………)という形式にする。補完タイプは env, section, maketitle のどれか。具体例は変数
YaTeX-package-alist-default の値参照。

YaTeX-tabular-indentation[Variable]

tabular/array 環境で現在行の先頭位置が表の第 N カラムのときは標準インデント位置から
N*YaTeX-tabular-indentation 桁下げたインデントにする。

YaTeX-noindent-env-regexp[Variable]

別の環境内にあっても \begin{} が行頭から始まるべき環境名の正規表現。verbatim 環境などを指定する。

[Variable]
Emacs 24.4 で導入された改行時の、自動インデントをどうするか。この値がそのまま electricindent-local-mode に渡される。-1 で oﬀ。

YaTeX-electric-indent-mode

Chapter 21: カスタマイズ

36[Variable]\ref{} のラベル補完でラベル未設定のものに自動的に生成するラベル名の書式。strftime(3)関数に似た日付ベースで指定する。利用できる書式は以下のとおり。%y -> 西暦下二桁, %b-> 月の英名, %m -> 月 (1〜12) %d -> 日, %H -> 時, %M -> 分, %S -> 秒, %qx -> アルファベットで 26 進数化した yymmdd. %qX -> アルファベットで 26 進数化した HHMMSS.
デフォルトは "%H%M%S %d%b%y"

YaTeX-ref-default-label-string[Variable]\ref{}のラベル名自動生成のときに使う関数のシンボル。デフォルトは標準の YaTeX::refgenerate-label 関数が割り当ててある。引数を 2 つ取る関数を定義して、この変数にセットするとその関数を呼んだ結果をデフォルトのラベル名候補とする。設定例:

YaTeX-ref-generate-label-function(setq YaTeX-ref-generate-label-function ’my-yatex-generate-label)(defun my-yatex-generate-label (command value)(and (string= command "caption")(re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t)(setq command (match-string 1)))(let ((alist ’(("chapter" . "chap")("section" . "sec")("subsection" . "subsec")("figure" . "fig")("table" . "tbl"))))(if (setq command (cdr (assoc command alist)))(concat command ":" value)(YaTeX::ref-generate-label nil nil))))21.1.2 カスタマイズ変数設定例
た と え ば 、preﬁx

キ ー と し て ESCを 使 用 し 、新 た な 補 完 候 補 を 格 納 す る ファイ ル を 、‘~/src/emacs/yatexrc’ にし、行頭の preﬁx をタブ文字一つに変えたいときは、(setq YaTeX-prefix "\e"YaTeX-user-completion-table "~/src/emacs/yatexrc"
YaTeX-fill-prefix "")を ‘~/.emacs’ に加えます。

21.1.3 hook 変数
また、hook 変数 yatex-mode-hook, yatex-mode-load-hook を用意しています。すべての yatexmode のバッファで作用させたいものは、yatex-mode-hook に記述し、‘yatex.el’ をロードする時だけ作用させたいものは yatex-mode-load-hook に記述します。例えば、outline-minor-modeを利用する場合、それぞれのバッファで outline-minor-mode を有効にしたいので、yatex-modehook を次のように設定します。

(setq yatex-mode-hook’(lambda () (outline-minor-mode t)))逆に、独自のキー定義を行いたい時などは、yatex-mode-load-hook を利用します。例えば、begin 型補完において、 document や、enumerate 以外の環境名もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、[prefix] ba で \begin{abstract}, \end{abstract}を挿入します。

Chapter 21: カスタマイズ

37(setq yatex-mode-load-hook’(lambda() (YaTeX-define-begend-key "ba" "abstract")))
なお、新たなキーの定義には、関数 YaTeX-define-key YaTeX-define-begend-keyを利用するようにしてください。

21.1.4 hook 用ファイル
変数 yatex-mode-load-hook で定義する内容が多い時は、‘yatexhks.el’というファイルを作り、その中に野鳥関連の設定を書く事で、初期化の時に自動的にロードします。

21.2 付加関数 (アドイン関数)
各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現するための関数を作成することができます。この関数の作成方法や、組み込み方法に関しては、yatexadd.doc をご覧ください。

Chapter 22: その他

38

22 その他
野鳥の標準の LaTEX コマンドの辞書には、作者が頻繁に使うものしか登録されていません。これは、補完候補に使いそうもないコマンドが存在して、補完したいコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実させることで、あなたの LaTEX スタイルにあった野鳥へと育っていくことでしょう。

Chapter 23: 取り扱い

39

23 取り扱い
本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかなる結果に対しても作者は責任を負わないこととします。転載等に関しては制限いたしません。常識的に扱ってください。また、本プログラムに含まれるコードを利用すること、改造することも自由に行なって構いませんが、流用することにより契約締結の必要が生じる場合、私はいかなる契約も締結しません。具体的には GPL
へのサインはしませんので、GNU に寄贈するものを作っている場合私の作品から取り込んだコードを流用すると苦労するかもしれません。いかなるコード流用も拒否しませんが契約締結は辞退します。
苦情、希望、バグ報告、感想等は歓迎いたします。連絡は yuuji@yatex.org まで (2004 年 1 月現在)。継続的に使用してくださる方はメイリングリスト「fj 野鳥の会」に是非加入してください。加入
方法については本パッケージの ‘docs/qanda’ ファイルの「その他」の章を御覧ください。
仕様は、予告なく確実に (気分次第で) 変更されます:-p。
広瀬雄二

索引

索引

(Index is nonexistent)40

iTable of Contents
1

はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

2

本マニュアル参照上の注意 . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

主な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

起動法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

4.1 野鳥起動のための設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.2 タイプセッタ/プレヴューア環境の設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5latex コマンド起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1 タイプセッタ起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.1.1 領域タイプセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1.2 環境タイプセット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 プレヴューア起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 プリントアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66%#記法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
6.1
6.2
6.3
6.4
6.5
6.6

7

タイプセット用コマンド変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
入力ファイル分割 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
領域の固定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
lpr フォーマット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
その他の起動コマンド制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8%#記法自体の編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

補完入力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7.1

10

begin 型補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
7.1.1 既に書いたテキストを環境で括る . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2 section 型補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.2.1 2 個以上の引数をとる section 型コマンド . . . . . . . . . . . . . . . . . . . 12
7.2.2 既に書いたテキストを括る . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2.3 再帰補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2.4 セクション区切りのアウトライン表示 . . . . . . . . . . . . . . . . . . . . . . . 13
7.2.5 ラベル自動生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3 large 型補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.3.1 既に書いた文字を括る . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.4 maketitle 型補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.5 随時補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.6 end 補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
7.7 アクセント記号補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
7.8 数式記号イメージ補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

ii
7.9 ギリシャ文字補完 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.10 括弧入力補助 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

8

ローカル辞書 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

9

コメントアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

10

カーソルジャンプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

10.1
10.2
10.3
10.4
10.5

11

変更/削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.1
11.2

12

対応オブジェクトへのジャンプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
お絵描きツール起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
メインファイルへのジャンプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
環境を単位としたジャンプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
最後の補完位置へのジャンプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

21

LaTEX コマンドの変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
LaTEX コマンドの削除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21桁揃え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

12.1
12.2

item の桁揃え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
パラグラフの桁揃え . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

13

勝手に includeonly . . . . . . . . . . . . . . . . . . . . . . . . .

23

14

ここはどこ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

15

おまかせ改行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

16

先回り usepackage . . . . . . . . . . . . . . . . . . . . . . . . . .

26

17

野鳥の動作モード切り替え . . . . . . . . . . . . . . . . . . . . . . . . .

27

18

オンラインヘルプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

18.1
18.2

オンラインヘルプ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
オンライン apropos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

19

インクルード構造ブラウザ . . . . . . . . . . . . . . . . . . . . . . . . .

20

他パッケージとの連携 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

29

20.1 gmhist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
20.2 min-out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

iii

21

カスタマイズ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

21.1 lisp 変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
21.1.1 カスタマイズ変数一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
21.1.2 カスタマイズ変数設定例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
21.1.3 hook 変数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
21.1.4 hook 用ファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
21.2 付加関数 (アドイン関数) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

22

その他 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

23

取り扱い . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40