yatex

view docs/yatexj.tex @ 48:a0640ff3f72f

Inter-file ref/label, cite/bibitem jump.
author yuuji
date Mon, 31 Oct 1994 17:49:43 +0000
parents cd1b63102eed
children eb0512bfcb7f
line source
1 \def\lang{jp} % -*- texinfo -*- for Texinfo V.3.1
2 \input texinfo
3 @setfilename yatexj
4 @settitle Yet Another tex-mode for Emacs
6 @iftex
7 @c @syncodeindex fn cp
8 @syncodeindex vr cp
9 @end iftex
11 @titlepage
12 @sp 10
13 @center
14 @subtitle Yet Another tex-mode for emacs
15 @title 『野鳥』
16 @subtitle // YaTeX //
17 @author @copyright{} 1991-1994 by HIROSE, Yuuji [yuuji@@ae.keio.ac.jp]
18 @end titlepage
20 @node Top, Intro, (dir), (dir)
21 @comment node-name, next, previous, up
23 @menu
24 * Intro:: はじめに
25 * Main features:: 主な機能
26 * Installation:: インストール
27 * Invocation:: 外部コマンドの起動
28 * %#記法::
29 * Completion:: 補完入力
30 * Commenting out:: コメントアウト
31 * Cursor jump:: カーソルジャンプ
32 * Modifying/Deleting:: 変更/削除
33 * Filling item:: itemの桁揃え
34 * Local dictionary:: ローカル辞書
35 * Includeonly:: 勝手にincludeonly
36 * Where am I?::
37 * Intelligent newline:: おまかせ改行
38 * Online help:: オンラインヘルプ
39 * Cooperation with other packages:: 他パッケージとの連携
40 * Customizations:: カスタマイズ
41 * Etc:: その他
42 * Copying:: 取り扱い
43 * Concept Index:: 索引
44 @end menu
46 @node Intro, Main features, Top, Top
47 @comment node-name, next, previous, up
48 @chapter はじめに
49 @cindex Demacs
50 @cindex Mule
51 @cindex LaTeX
52 @cindex やちょう[やちよう]
54 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に jLa@TeX{} などの
55 タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から
56 行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ
57 ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに
58 よりマニュアルを調べる手間を軽減します。
61 @node Main features, Installation, Intro, Top
62 @comment node-name, next, previous, up
63 @chapter 主な機能
65 @itemize @bullet
66 @item タイプセッタやプレヴューアなどの編集画面からの起動(@kbd{C-c t})
67 @item カーソル位置によらない固定リジョンの部分タイプセット
68 @item \includeonlyのワンタッチ更新
69 @item エラー箇所への自動ジャンプ(@kbd{C-c '})
70 @item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{}
71 コマンドの補完入力
72 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
73 @item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完
74 (@kbd{C-u} 通常補完キー)
75 @item 補完辞書の学習
76 @item La@TeX{} の環境やコマンドに応じたガイド付き引数入力
77 @item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el})
78 @item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c})
79 @item ファイル間、@code{\begin}<->@code{\end}間、
80 @code{\ref}<->@code{\label}間、
81 @code{\cite}<->@code{\bibitem}ジャンプ(@kbd{C-c g})
82 @item 一括コメントアウト/アンコメントアウト
83 (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .})
84 @item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援
85 (@kbd{C-c a}, @code{;}, @code{/})
86 @item tabular/array環境のカラム位置ガイド
87 @item 標準的 La@TeX{} コマンドのオンラインヘルプ(@kbd{C-c ?}, @kbd{C-c /})
88 @end itemize
90 @node Installation, Invocation, Main features, Top
91 @comment node-name, next, previous, up
92 @chapter 起動法
93 @cindex Install
94 @cindex インストール[いんすとおる]
95 @cindex .emacs
96 @cindex auto-mode-alist
97 @cindex autoload
99 ~/.emacsに下の2項目を加えます。
101 @lisp
102 (setq auto-mode-alist
103 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
104 (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
105 @end lisp
107 次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。
108 たとえば、 @file{~/src/emacs/yatex}に置くのであれば、
110 @lisp
111 (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))
112 @end lisp
114 @noindent
115 などとします。
117 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が
118 ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」
119 に変わります。
122 @node Invocation, %#記法, Installation, Top
123 @comment node-name, next, previous, up
124 @chapter latexコマンド起動
125 @cindex prefix key
126 @cindex C-c
127 @cindex タイプセッタ[たいふせつた]
128 @cindex プレヴューア[ふれひゆうあ]
129 @cindex jlatex
130 @cindex プリントアウト[ふりんとあうと]
132 yatex-mode の prefix キーは、標準状態で @kbd{C-c} (Ctrlキーを押しながらc)
133 です。以下、標準のキー割当の場合、@kbd{[prefix]} は @kbd{C-c} と読み換えて
134 下さい。まず、次のキー入力により、jlatex などのタイプセットプログラム(以後
135 タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。
137 @table @kbd
138 @item [prefix] t j
139 @dots{} タイプセッタ(jlatex)起動
140 @item [prefix] t r
141 @dots{} タイプセッタ起動(領域指定)
142 @item [prefix] t k
143 @dots{} 動作中のタイプセッタの停止
144 @item [prefix] t b
145 @dots{} jbibtex起動
146 @item [prefix] t p
147 @dots{} プレヴューア起動
148 @item [prefix] t l
149 @dots{} lpr(プリントアウト用)コマンド起動
150 @end table
152 @menu
153 * Calling typesetter:: タイプセッタ起動
154 * Print out:: プリントアウト用コマンドの起動
155 @end menu
157 @node Calling typesetter, Print out, Invocation, Invocation
158 @comment node-name, next, previous, up
159 @section タイプセッタ起動
160 @cindex タイプセッタ起動
161 @cindex タイプセットエラー[たいふせつとえらあ]
162 @cindex エラー修正[えらあしゆうせい]
164 タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド
165 ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ
166 トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって
167 しまった場合にはタイプセットバッファに移り、(@kbd{^Xo}) タイプセッタの出し
168 ている ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることがで
169 きます。エラーを修正する場合は、
171 @table @kbd
172 @item [prefix] '
173 @itemx (prefix+アポストロフィ)
174 @dots{} 直前のエラー発生行へジャンプ
175 @end table
177 を入力することにより、タイプセッタがエラーを発生した行に移ることができます。
178 また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し
179 ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング
180 発生行にジャンプしていきます。
182 もし、気になるエラー行があった場合は、タイプセットバッファで、エ
183 ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{}
184 ソースの対応する行にジャンプします。
186 なお、領域指定のタイプセットでは、単一ファイルの La@TeX{} ソースの編集時
187 にはそのファイルの documentstyle が、別ファイルから include している場合に
188 はメインファイルの documentstyle が自動的に選択されます。指定領域は、メイ
189 ンファイルのあるディレクトリの@file{texput.tex}という臨時ファイルに出力さ
190 れますので、上書きには注意してください。領域の指定方法は@ref{%#記法}の項を
191 参照してください。
193 @node Print out, , Calling typesetter, Invocation
194 @comment node-name, next, previous, up
195 @section プリントアウト
197 プリントアウトする時は、出力開始/終了ページを聞いてきますが、こ
198 れを省略したい時は、universal-argument をつけて下さい。
200 @cindex 出力開始ページ[しゆつりよくかいしへえし]
201 @cindex 出力終了ページ[しゆつりよくしゆうりようへえし]
204 @table @kbd
205 @item C-u [prefix] t l
206 @dots{} ページ確認省略lpr起動
207 @end table
208 @cindex ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう]
210 @node %#記法, Completion, Invocation, Top
211 @comment node-name, next, previous, up
212 @chapter %#記法
214 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等
215 の制御をすることができます。
217 @menu
218 * Changing typesetter:: タイプセット用コマンドの変更
219 * Splitting input files:: 入力ファイル分割
220 * Fix region for typesetting:: 領域の固定
221 * lpr format:: プリントアウトコマンド用フォーマット
222 * Editing %# notation:: %#記法の編集
223 @end menu
225 @node Changing typesetter, Splitting input files, %#記法, %#記法
226 @comment node-name, next, previous, up
227 @section タイプセット用コマンド変更
229 起動するコマンドを変えたい時は本文中に次のような行を書きます。
231 @cindex 起動するコマンドを変える[きとうするこまんとをかえる]
233 @example
234 %#!jlatex-ntt example
235 @end example
237 NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。
239 @cindex タイプセッタの使い分け[たいふせつたのつかいわけ]
241 @node Splitting input files, Fix region for typesetting, Changing typesetter, %#記法
242 @comment node-name, next, previous, up
243 @section 入力ファイル分割
245 また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から
246 @file{sub.tex}を @code{\include}しているような時は、@file{sub.tex}の任意の
247 位置に次のような行を埋め込みます。
249 @example
250 %#!jlatex main.tex
251 @end example
253 @cindex 入力ファイル分割[にゆうりよくふあいるふんかつ]
255 上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま
256 shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便
257 利です。
259 @cindex ghostview
261 @example
262 %#!jlatex main ; dvi2ps main.dvi > main
263 @end example
265 なお、この行の最後の単語のピリオド以前を「メインファイル」のベース
266 ネームであると仮定します(上の2つの場合どちらも@file{main})。
268 入力ファイル分割時には次のことに注意して下さい。
270 @enumerate
271 @item
272 同時に編集するファイル群の名前は重複のないようにする。
273 @item
274 サブディレクトリを作って、その中にサブファイルを置くことはできるが
275 サブディレクトリのサブディレクトリには置けない。
276 @item
277 メインファイルからサブディレクトリ内のファイルを include
278 する時には、相対パス指定を用いて、
279 @code{\include{chap1/sub}}のように記述。
280 @item
281 メインファイルが一つ上のディレクトリにある場合も、サブファイルには
282 %#!jlatex main.tex のように記述する(../mainではない)。
283 @end enumerate
287 @node Fix region for typesetting, lpr format, Splitting input files, %#記法
288 @comment node-name, next, previous, up
289 @section 領域の固定
290 @cindex 固定領域のタイプセット[こていりよういきのたいふせつと]
291 @cindex %#BEGIN
292 @cindex %#END
294 @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、
295 @kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま
296 すが、必ず決まった領域をタイプセットしたい場合は、その領域を
298 @example
299 %#BEGIN
300 <渡したい領域>
301 %#END
302 @end example
304 @noindent
305 のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」
306 に置いてください。この時の領域決定規則をまとめると次のようになります。
309 @enumerate
310 @item
311 カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが
312 ある場合
314 @enumerate
315 @item
316 @code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ
317 た場合。
318 @result{}@code{%#BEGIN} から、その @code{%#END} のある位置まで。
319 @item
320 @code{%#END} が見つからなかった場合。
321 @result{}バッファの最後尾まで。
322 @end enumerate
323 @cindex 領域決定規則[りよういきけつていきそく]
325 @item
326 カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが
327 見つからなかった場合。
328 @result{}マーク(@kbd{C-SPC}位置)とポイント(カーソル位置)の間の領域。
329 @end enumerate
331 tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行
332 に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく
333 と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半
334 に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND
335 の消し忘れには十分ご注意下さい。
336 @cindex 長いファイルの編集[なかいふあいるのへんしゆう]
338 @node Require, lpr format, Fix region for typesetting, %#記法
339 @comment node-name, next, previous, up
341 @node lpr format, Editing %# notation, Fix region for typesetting, %#記法
342 @comment node-name, next, previous, up
343 @section lprフォーマット
344 @cindex lprふぉーまっと[lprふおおまつと]
345 @cindex lprフォーマット[lprふおおまつと]
346 @cindex lpr format
348 まず、プリントアウト用コマンド列のフォーマットについて説明します。
349 コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ
350 フォルトの dvi2ps 用のフォーマットを例に説明します。
352 @table @code
353 @item (1)dviprint-command-format
354 @code{"dvi2ps %f %t %s | lpr"}
356 @item (2)dviprint-from-format
357 @code{"-f %b"}
359 @item (3)dviprint-to-format
360 @code{"-t %e"}
361 @end table
363 実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が
364 (2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は
365 「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ
366 ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。
368 この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の
369 ソーステキスト中の任意の場所に、
371 @example
372 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
373 @end example
375 @noindent
376 のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう
377 にする時に
379 @example
380 %#LPR dvi2ps %s | lpr
381 @end example
383 @noindent
384 などとするのも便利かもしれません。
386 @node Editing %# notation, , lpr format, %#記法
387 @comment node-name, next, previous, up
388 @section %#記法自体の編集
389 @cindex %#きほうじたいのへんしゅう[%#きほうしたいのへんしゆう]
391 以上のような@code{%#}で始まる各種制御記法を編集するためには
393 @table @kbd
394 @item [prefix] %
395 @dots{} @code{%#}@var{記法編集メニュー}
396 @end table
398 @noindent
399 を押します。
401 @example
402 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
403 @end example
405 @noindent
406 というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には
407 @kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか
408 じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、
409 @kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた
410 @code{%#BEGIN}, @code{%#END} が自動的に消去されます。
411 @cindex lprフォーマットの変更[lprふおおまつとのへんこう]
413 @node Completion, Commenting out, %#記法, Top
414 @comment node-name, next, previous, up
415 @chapter 補完入力
417 La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること
418 ができます。
420 @menu
421 * begin型補完::
422 * section型補完::
423 * large型補完::
424 * maketitle型補完::
425 * Arbitrary completion:: 随時補完
426 * end補完::
427 * Accent mark completion:: アクセント記号補完
428 * Image completion:: 数式記号イメージ補完
429 * Greek letter completion:: ギリシャ文字補完
430 @end menu
432 @node begin型補完, section型補完, Completion, Completion
433 @comment node-name, next, previous, up
434 @section begin型補完
435 @cindex begin型補完[beginかたほかん]
436 @cindex 環境名の補完[かんきようめいのほかん]
437 @cindex prefix b
439 @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と
440 呼ぶことにします。begin 型補完は、
442 @table @kbd
443 @item [prefix] b
444 @dots{} begin 型補完開始(標準では @kbd{C-c b})
445 @end table
447 @noindent
448 で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b}
449 に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成
450 させます。
452 @table @kbd
453 @item [prefix] b c
454 @dots{} @code{\begin@{center@}...\end@{center@}}
455 @item [prefix] b d
456 @dots{} @code{\begin@{document@}...\end@{document@}}
457 @item [prefix] b D
458 @dots{} @code{\begin@{description@}...\end@{description@}}
459 @item [prefix] b e
460 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
461 @item [prefix] b E
462 @dots{} @code{\begin@{equation@}...\end@{equation@}}
463 @item [prefix] b i
464 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
465 @item [prefix] b l
466 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
467 @item [prefix] b m
468 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
469 @item [prefix] b t
470 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
471 @item [prefix] b T
472 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
473 @item [prefix] b ^T
474 @dots{} @code{\begin@{table@}...\end@{table@}}
475 @item [prefix] b p
476 @dots{} @code{\begin@{picture@}...\end@{picture@}}
477 @item [prefix] b q
478 @dots{} @code{\begin@{quote@}...\end@{quote@}}
479 @item [prefix] b Q
480 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
481 @item [prefix] b r
482 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
483 @item [prefix] b v
484 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
485 @item [prefix] b V
486 @dots{} @code{\begin@{verse@}...\end@{verse@}}
487 @end table
489 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて
490 入力します(上記の環境名も以下の補完入力可能)。
492 @table @kbd
493 @item [prefix] b @key{SPC}
494 @dots{} begin 型補完入力
495 @end table
497 @kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに
499 @example
500 Begin environment(default document):
501 @end example
503 @noindent
504 と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい
505 るデフォルトの環境名が入力されますが、適当な環境名を入力すると、
506 @code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ
507 ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、
508 一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、
509 入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専
510 用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル
511 トでは @file{~/.yatexrc})に保存します。
512 @cindex ユーザ辞書[ゆうさししよ]
514 @subsection 既に書いたテキストを環境で括る
516 ところで、最初に書いてしまったブロックを後から、itemize 環境の中
517 に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ
518 閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]}
519 の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、
520 @kbd{C-u} を先に打ち、universal argument をつけても可能です)
521 @cindex ブロック[ふろつく]
522 @cindex 閉じ込める[としこめる]
524 例えばあるパラグラフを description 環境の中に入れたいときは、
525 そのパラグラフをマークしてから、
527 @table @kbd
528 @item [prefix] B D
529 @itemx (または ESC 1 [prefix] b D)
530 @itemx (または C-u [prefix] b D など)
531 @end table
533 とタイプしてください。これは、@kbd{[prefix] b SPC}の補完入力にもあてはまり、
534 @kbd{b} を大文字に変えて、@kbd{[prefix] B SPC} とタイプすれば、あらかじめ
535 マークしておいたリジョンを、begin と end の環境で括ります。
537 @node section型補完, large型補完, begin型補完, Completion
538 @comment node-name, next, previous, up
539 @section section型補完
540 @cindex section型補完[sectionかたほかん]
541 @cindex prefix s
543 @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ
544 とにします。section 型補完は、
546 @table @kbd
547 @item [prefix] s
548 @dots{} section 型補完
549 @end table
551 @noindent
552 で実行します。@kbd{[prefix] s} を入力するとミニバッファに、
554 @example
555 (C-v for view) \???@{@} (default documentstyle):
556 @end example
558 @noindent
559 というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ
560 ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ
561 れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ
562 る補完機能が有効です。 次に、@{@}の中身の入力を促す、
564 @example
565 \section@{???@}:
566 @end example
568 @noindent
569 というプロンプトが現れるので、セクションのタイトルなどを入力します。
570 たとえば、
572 @example
573 (C-v for view) \???@{@} (default documentstyle): section
574 \section@{???@}: 目的
575 @end example
577 @noindent
578 のように入力した場合は、文章中に
580 @example
581 \section@{目的@}
582 @end example
584 @noindent
585 が挿入され、
587 @example
588 (C-v for view) \???@{@} (default section): vspace*
589 \vspace*@{???@}:
590 @end example
592 @noindent
593 のように@{@}の中身を省略したときは、
595 @example
596 \vspace*@{@}
597 @end example
599 @noindent
600 だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。
602 @menu
603 * 2個以上の引数をとる section型コマンド::
604 * Input argument without copletion:: 引数入力時に補完しない
605 * Enclose region-type command::
606 * Recursive completion:: 再帰補完
607 * view-sectioning:: セクション区切りのアウトライン表示
608 @end menu
610 @node 2個以上の引数をとる section型コマンド, Input argument without copletion, section型補完, section型補完
611 @comment node-name, next, previous, up
612 @subsection 2個以上の引数をとる section型コマンド
613 @cindex 引数[ひきすう]
615 ところで、@samp{\addtolength{\topmargin}{8mm}} などのように、引数を二つ
616 以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、
617 section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength}
618 の例であれば、引数2を指定します。つまり、
620 @example
621 C-u 2 [prefix] s (または、ESC 2 [prefix] s)
622 @end example
624 @noindent
625 と section 型補完を呼び出した後、
627 @example
628 (Ctrl-v for view) \???@{@} (default vspace*): addtolength
629 \addtolength@{???@}: \topmargin
630 Argument 2: 8mm
631 @end example
633 @noindent
634 のように入力してください。最初の addtolength の部分と、第一引数である
635 \topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録
636 される La@TeX{} コマンドには、この引数の数も学習されるので、最初の補完の時
637 引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数
638 を聞いて来るようになります。あとで引数の個数を変えたい時は、再び @kbd{C-u}
639 を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新しま
640 す。
641 @cindex 引数の個数を変える[ひきすうのこすうをかえる]
643 @node Input argument without copletion, Enclose region-type command, 2個以上の引数をとる section型コマンド, section型補完
644 @comment node-name, next, previous, up
645 @subsection 引数入力時に補完しない
646 @cindex 引数入力時に補完しない[ひきすうにゆうりよくしにほかんしない]
648 なお、特別な例として引数0を指定すると、第一引数の入力時に補完入力ではな
649 く、単純な文字列入力を使用するようになります。段落を指定する@samp{chapter}
650 や @samp{section}などは第一引数の段落タイトル入力時に、スペースを含めるこ
651 とがあるので、補完入力は却ってじゃまになります。標準設定では、これらの段落
652 指定コマンド(chapter, section, paragraph など)に引数0の指定が埋め込まれて
653 います。
655 @node Enclose region-type command, Recursive completion, Input argument without copletion, section型補完
656 @comment node-name, next, previous, up
657 @subsection 既に書いたテキストを括る
658 @cindex 括る[くくる]
660 また、起動コマンドの@kbd{s}を大文字に変えて起動すると、あらかじめ書
661 いた文章を section 型コマンドの第一引数として括ります。
663 @node Recursive completion, view-sectioning, Enclose region-type command, section型補完
664 @comment node-name, next, previous, up
665 @subsection 再帰補完
666 @cindex 再帰補完[さいきほかん]
668 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに
669 補完入力を利用することができます(section/large/maketitle型に限る)。section
670 型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の
671 補完キーを再帰的に入力することで引数の入力も効率的に行なえます。
673 @node view-sectioning, , Recursive completion, section型補完
674 @comment node-name, next, previous, up
675 @subsection セクション区切りのアウトライン表示
676 @cindex アウトライン[あうとらいん]
678 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク
679 ション区切りコマンド全てを一覧表示します(「<<--」のついている行がもっとも
680 近いセクション区切り)。この時ミニバッファで@kbd{C-p}, @kbd{C-n} を押すと
681 @samp{part}, @samp{chapter}, ..., @samp{subparagraph} のコマンドが論理階層
682 の高さにしたがって上下します。また、@kbd{C-v}, @kbd{M-v} を押すとセクショ
683 ン区切り一覧バッファがスクロールし、数字の@kbd{0}〜@kbd{7}を押すとある高さ
684 以上のセクション区切りだけを選んで表示します(実際にやって見れば分かります)。
685 この一覧バッファにカーソルを移しスペースを押すと、該当するセクション区切り
686 のある本文中の場所にジャンプします。
687 @cindex 論理階層[ろんりかいそう]
688 @cindex セクション区切り[せくしよんくきり]
689 @cindex ジャンプ[しやんふ]
691 @node large型補完, maketitle型補完, section型補完, Completion
692 @comment node-name, next, previous, up
693 @section large型補完
694 @cindex large型補完[largeかたほかん]
695 @cindex prefix l
697 @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。
699 @table @kbd
700 @item [prefix] l
701 @dots{} large 型補完開始
702 @end table
704 @noindent
705 がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに
707 @example
708 @{\??? @} (default large):
709 @end example
711 @noindent
712 と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意
713 されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定
714 子と、@samp{bf}や@samp{dg}のようなフォント指定子です。
715 @cindex 文字サイズ指定子[もしさいすしていし]
716 @cindex フォント指定子[ふおんとしていし]
718 @subsection 既に書いた文字を括る
719 @cindex 括る[くくる]
721 また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ
722 を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文
723 字の範囲をマークしてから、呼び出しキーを @kbd{[prefix] L} と、大文字の L
724 に変えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。
726 @node maketitle型補完, Arbitrary completion, large型補完, Completion
727 @comment node-name, next, previous, up
728 @section maketitle型補完
729 @cindex maketitle型補完[maketitleかたほかん]
730 @cindex prefix m
732 @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。
734 @table @kbd
735 @item [prefix] m
736 @dots{} maketitle 型補完開始
737 @end table
739 @noindent
740 で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで
741 す。La@TeX{} 用のコマンド名が補完候補として用意されています。
743 @node Arbitrary completion, end補完, maketitle型補完, Completion
744 @comment node-name, next, previous, up
745 @section 随時補完
746 @cindex 随時補完[すいしほかん]
747 @cindex prefix SPC
749 さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今
750 入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ
751 ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、
753 @table @kbd
754 @item [prefix] SPC
755 @dots{} 随時補完
756 @end table
758 @noindent
759 を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入
760 されます。
762 @node end補完, Accent mark completion, Arbitrary completion, Completion
763 @comment node-name, next, previous, up
764 @section end補完
765 @cindex end補完[endほかん]
766 @cindex prefix e
768 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま
769 す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で
770 @code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ
771 のような時には気にせず続けて文章を入力し、しかるのちに
773 @table @kbd
774 @item [prefix] e
775 @dots{} end 補完
776 @end table
778 @noindent
779 とすることで、現在開いている環境名で \end{} が補われます。
781 @node Accent mark completion, Image completion, end補完, Completion
782 @comment node-name, next, previous, up
783 @section アクセント記号補完
784 @cindex アクセント記号補完[あくせんときこうほかん]
785 @cindex prefix a
786 @cindex 欧文[おうふん]
788 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、
790 @table @kbd
791 @item [prefix] a
792 @dots{} アクセント記号入力
793 @end table
795 @noindent
796 を押すと、ミニバッファに
798 @example
799 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
800 @end example
802 @noindent
803 というメニューが出て来るので、数字、または対応する記号/英字を入力
804 して下さい。すると編集バッファに、
806 @example
807 \`@{@}
808 @end example
810 @noindent
811 があらわれ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、
813 @example
814 \`@{o@}
815 @end example
817 @noindent
818 が完成され、カーソルは@{@}の外に戻ります。
820 @node Image completion, Greek letter completion, Accent mark completion, Completion
821 @comment node-name, next, previous, up
822 @section 数式記号イメージ補完
823 @cindex 数式記号イメージ補完[すうしききこういめえしほかん]
824 @cindex イメージ補完[いめえしほかん]
825 @cindex ;
826 @cindex 数式モード[すうしきもおと]
827 @cindex 矢印[やしるし]
828 @cindex Σ[しくま]
829 @cindex leftarrow
830 @cindex ∞[むけんたい]
832 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力
833 で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ
834 動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、
835 @kbd{/}に特殊な機能を持たせます。
837 さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」
838 のようにしますが、これを利用して、数式記号イメージ入力モードで
839 @code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と
840 入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する
841 場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--}
842 と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう
843 にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。
845 これらの操作をまとめると次のようになります。
847 @example
848 INPUT 入力される La@TeX{} コマンド
849 ; < - @code{\leftarrow}
850 ; < - - @code{\longleftarrow}
851 ; < - - > @code{\longleftrightarrow}
852 ; o @code{\circ}
853 ; o o @code{\infty}
854 @end example
857 @noindent
858 いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ
859 に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても
860 構いません。
862 数式環境中で@samp{;}自身を入力するには@kbd{};;」のようにします。イメージ
863 入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま
864 す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで
865 その La@TeX{} コマンドがバッファに挿入されます。
866 @cindex ;自身[;ししん]
868 どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した
869 直後にリターンキーを押してください。以下の例は、@kbd{;<}と押した後にTAB
870 を押したものです。
872 @example
873 KEY LaTeX sequence sign
874 < \leq ≦
875 << \ll 《
876 <- \leftarrow ←
877 <= \Leftarrow <=
878 @end example
880 左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と
881 いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ
882 う。ものによってはASCII文字で表現することが困難なので、あまり覚え
883 やすいキー並びではないものがあるでしょうから、そのような場合は
884 \maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単
885 純なキー並びのものを設定すると良いでしょう。
887 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は
888 Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。
889 その内容とデフォルトのものを合わせたものが対応表として使用されます(private
890 の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参
891 照してください。
892 @cindex YaTeX-math-sign-alist-private
894 @node Greek letter completion, , Image completion, Completion
895 @comment node-name, next, previous, up
896 @section ギリシャ文字補完
897 @cindex ギリシャ文字補完[きりしやもしほかん]
898 @cindex /
900 もう一つ、数式環境中で@kbd{/}を押すとギリシャ文字入力モードに入ります。
901 @kbd{/}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと
902 @code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。
903 操作方法は;の数式記号補完とまったく同じです。まずは@kbd{/}の直後にリターン
904 キーを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて
905 ください。
907 @kbd{;}と@kbd{/}を数式環境中で押しているにもかかわらず、イメージ補完が働
908 かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ
909 とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう
910 な状態で数式環境内判定に失敗したかをご連絡下さい。
912 @node Commenting out, Cursor jump, Completion, Top
913 @comment node-name, next, previous, up
914 @chapter コメントアウト
915 @cindex コメントアウト[こめんとあうと]
916 @cindex prefix <
917 @cindex prefix >
918 @cindex prefix .
919 @cindex prefix ,
922 La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト
923 したり、コメントを外したりしたいことがあります。
925 @table @kbd
926 @item [prefix] >
927 @dots{} リジョンを % でコメントアウト
928 @item [prefix] <
929 @dots{} リジョンの % のコメントを外す
930 @end table
932 @noindent
933 は、あらかじめ設定したリジョンに対しての操作、
935 @table @kbd
936 @item [prefix] .
937 @dots{} 現在のパラグラフをコメントアウト
938 @item [prefix] ,
939 @dots{} 現在のパラグラフのコメントを外す
940 @end table
942 @noindent
943 は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう
944 「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し
945 ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ
946 ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し
947 た場合の動作は保証しませんので御注意ください。
949 さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対
950 してもコメントアウトの操作をしたいときがあります。このようなときは、
951 @code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、
953 @table @kbd
954 @item [prefix] >
955 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト
956 @item [prefix] <
957 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す
958 @end table
960 @noindent
961 とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、
963 @table @kbd
964 @item [prefix] .
965 @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト
966 @item [prefix] ,
967 @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す
968 @end table
970 は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と
971 します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ
972 ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ
973 ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの
974 で注意して下さい。
976 @node Cursor jump, Modifying/Deleting, Commenting out, Top
977 @comment node-name, next, previous, up
978 @chapter カーソルジャンプ
979 @cindex カーソルジャンプ[かあそるしやんふ]
980 @cindex prefix g
982 文書中のいろいろな場所で
984 @table @kbd
985 @item [prefix] g
986 @dots{} 対応するオブジェクトにジャンプ
987 @end table
989 @noindent
990 を押すことにより、カーソル位置のLa@TeX{}コマンドに対応する場所にジャンプ
991 します。対応関係が存在すると解釈されるコマンドには以下のものがあります。
993 @table
994 @item @code{\begin@{@}}←→@code{\end@{@}}
995 @item @code{%#BEGIN}←→@code{%#END}
996 @item @code{\label@{@}}←→@code{\ref@{@}}
997 @item @code{\include(\input)}→対応するファイル
998 @item @code{\bibitem@{@}}←→@code{\cite@{@}}
999 @end table
1001 @code{\begin@{@}} か @code{\end@{@}} の行で@kbd{[prefix] g}
1002 を押すことにより、対応する@code{end/begin}の行にジャンプします。もちろん対
1003 応するものがない場合はエラーになります。またこれは、領域固定のための
1004 @code{%#BEGIN} と @code{%#END} のペアに対しても同様に動作します。
1005 @xref{%#記法}
1007 メインの .tex ファイルの @code{\include{chap1}} などにカーソルを合わせ、
1008 @kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。また、
1009 @file{chap1.tex}のようなサブファイルで、
1011 @table @kbd
1012 @item [prefix] ^
1013 @dots{} メインファイルにジャンプ
1014 @item [prefix] 4 ^
1015 @dots{} 別ウィンドウでメインファイルにジャンプ
1016 @end table
1018 @noindent
1019 を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを
1020 オープンしていない場合は、カレントディレクトリから探して自動的にオープンし
1021 ます。さらに現在の環境を単位として機能するコマンドに以下のものがあります。
1023 @table @kbd
1024 @item M-C-a
1025 @dots{} 環境の先頭(@code{\begin})へジャンプ
1026 @item M-C-e
1027 @dots{} 環境の末尾(@code{\end})へジャンプ
1028 @item M-C-@@
1029 @dots{} 環境全体をマーク
1030 @end table
1031 @cindex 環境の先頭へ[かんきようのせんとうへ]
1032 @cindex 環境の末尾へ[かんきようのまつひへ]
1033 @cindex 環境をマーク[かんきようをまあく]
1034 @cindex M-C-a
1035 @cindex M-C-e
1036 @cindex M-C-@@
1038 上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク
1039 スとして機能するのでご注意下さい。
1043 @node Modifying/Deleting, Filling item, Cursor jump, Top
1044 @comment node-name, next, previous, up
1045 @chapter 変更/削除
1046 @cindex 変更/削除[へんこう/さくしよ]
1047 @cindex prefix c
1048 @cindex prefix k
1050 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意
1051 されています。
1053 @table @kbd
1054 @item [prefix] c
1055 @dots{} カーソル位置の La@TeX{} コマンドの変更
1056 @item [prefix] k
1057 @dots{} カーソル位置の La@TeX{} コマンドの削除
1058 @end table
1060 @noindent
1061 これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し
1062 て下さい。
1064 @kbd{[prefix] c} は、@code{\begin@{@}} または @code{\end@{@}} のある場所で
1065 起動すると、環境名の変更を行います。@kbd{[prefix] k} は起動する位置により
1066 次のような動作を行います。
1067 @cindex 環境名の変更[かんきようめいのへんこう]
1068 @cindex 環境の削除[かんきようのさくしよ]
1071 @example
1072 起動位置 動作
1073 \begin\endの行 @code{\begin\end}ペアの削除
1074 %BEGIN, %END の行 %BEGIN,%ENDペアの削除
1075 section型コマンドの上(中) section型コマンドの削除
1076 フォント指定括弧の上 フォント指定の削除
1077 括弧の上 対をなす括弧の削除
1078 @end example
1080 @noindent
1081 上記のものはすべて本文を囲う「容器」を削除するように働きますが、
1082 universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、
1083 それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし
1084 て下さい。
1086 @example
1087 元のテキスト: [prefix] k C-u [prefix] k
1088 本文\footnote@{脚注@}です。 本文脚注です。 本文です。
1089 ↑(カーソル位置)
1090 @end example
1092 @node Filling item, Local dictionary, Modifying/Deleting, Top
1093 @comment node-name, next, previous, up
1094 @chapter itemの桁揃え
1095 @cindex itemの桁揃え[itemのけたそろえ]
1096 @cindex prefix i
1098 itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項
1099 目の先頭を桁揃えしたい場合には、
1101 @table @kbd
1102 @item [prefix] i
1103 @dots{} itemの桁揃え
1104 @end table
1106 @noindent
1107 によって、その item のインデントの深さに応じて fill されます。なお、NTT
1108 jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセットし
1109 て下さい。
1110 @cindex NTT-jTeX[えぬていいていいしえいてつく]
1112 このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を
1113 項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ
1114 マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、
1115 @file{~/.emacs} で次のように指定して下さい。
1116 @cindex YaTeX-item-regexp
1118 @lisp
1119 (setq YaTeX-item-regexp
1120 "\\(\\\\item\\)\\|\\(\\\\underlineitem\\)")
1121 @end lisp
1123 @noindent
1124 この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を
1125 @code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。
1127 @node Local dictionary, Includeonly, Filling item, Top
1128 @comment node-name, next, previous, up
1129 @chapter ローカル辞書
1130 @cindex ローカル辞書[ろおかるししよ]
1131 @cindex .yatexrc
1132 @cindex 変な単語[へんなたんこ]
1134 補完入力用の候補は三種類の辞書から構成されています。一つは
1135 @file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用
1136 するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで
1137 のみ有効なコマンドを保存する「ローカル辞書」です。
1139 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて
1140 来ます。
1142 @example
1143 `foo' is not in table. Register into: U)serTable L)ocal N)one
1144 @end example
1146 @noindent
1147 というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える
1148 とローカル辞書を更新することになり、@kbd{n}と答えると新たな単語を学習せず
1149 に捨てることになります。
1151 もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場
1152 合には@file{~/.emacs}などで、
1154 @lisp
1155 (setq YaTeX-nervous nil)
1156 @end lisp
1157 @cindex YaTeX-nervous
1159 @noindent
1160 として下さい。
1162 @node Includeonly, Where am I?, Local dictionary, Top
1163 @comment node-name, next, previous, up
1164 @chapter 勝手にincludeonly
1165 @cindex 勝手にincludeonly[かつてにincludeonly]
1166 @cindex includeonly
1168 ファイルを分割して文章を入力している時には、メインファイル中に
1170 @example
1171 \includeonly@{現在編集中のファイル名@}
1172 @end example
1174 @noindent
1175 のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の
1176 ファイルを手直ししたい時には
1177 @cindex 他のファイルの手直し[ほかのふあいるのてなおし]
1179 @example
1180 \includeonly@{ちょっと手直ししたいファイル名@}
1181 @end example
1183 @noindent
1184 と書き直さなければなりませんが、野鳥では現在編集しているファイル名がメイン
1185 ファイルの@code{\includeonly}にない場合には自動的にこれを検出し、次の指示
1186 を仰ぎます。
1188 @example
1189 A)dd R)eplace %)comment?
1190 @end example
1192 @noindent
1193 現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a}
1194 を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{R}を、
1195 @code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を
1196 それぞれ押して下さい。
1198 @node Where am I?, Intelligent newline, Includeonly, Top
1199 @comment node-name, next, previous, up
1200 @chapter 今はどこ?
1201 @cindex 今はどこ?[いまはとこ]
1202 @cindex prefix &
1203 @cindex 複雑なtabular[ふくさつなtabular]
1205 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて
1206 いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以
1207 下のような tabular において、
1209 @example
1210 \begin@{tabular@}{|c|c|c|c|c|c|c|c|}\hline
1211 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline
1212 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy &
1213 zzz-www & トンガ & 9876-54321 \\
1214 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@}
1215 &&&(???)
1216 \\ \hline
1217 \end@{tabular@}
1218 @end example
1220 @noindent
1221 (???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、
1223 @table @kbd
1224 @item [prefix] &
1225 @dots{} 現在のカラム表示
1226 @end table
1227 @cindex 現在のカラム表示[けんさいのからむひようし]
1229 を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま
1230 す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま
1231 す。もし項目名として別のものを与えたい場合は、行頭を@code{%}にしてダミーの
1232 項目並びを作っておくと良いでしょう。
1234 @node Intelligent newline, Online help, Where am I?, Top
1235 @comment node-name, next, previous, up
1236 @chapter おまかせ改行
1237 @cindex おまかせ改行[おまかせかいぎょう]
1238 @cindex &入力[&にゅうりょく]
1239 @cindex prefix &
1241 tabular[*], array, itemize, enumerate, tabbing 環境で
1243 @table @kbd
1244 @item ESC RET
1245 @dots{} おまかせ改行
1246 @end table
1248 @noindent
1249 を押すと、その環境に応じた行エントリを次の行に挿入します。例えば、tabular
1250 環境では、その環境のカラム数に対応した個数の @code{&} にくわえ、行末の
1251 @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け加
1252 えます。環境とそれに応じて自動入力するものの対応は以下のようになります。
1254 @itemize
1255 @item @code{tabular}, @code{tabular*}, @code{array}
1257 カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline}
1259 @item @code{tabbing}
1261 一行目で定義している @code{\=} と同じ個数の @code{\>}。
1263 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
1265 @code{\item} または @code{item[]}
1266 @end itemize
1268 tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す
1269 るので、なるべく二行目以降で呼び出すようにしてください。
1271 もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作
1272 させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義
1273 します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま
1274 す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに
1275 インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ
1276 いでしょう。関数 @code{YaTeX-intelligent-newline-itemize} の定義などを参考
1277 にしてください。
1279 @node Online help, Cooperation with other packages, Intelligent newline, Top
1280 @comment node-name, next, previous, up
1281 @chapter オンラインヘルプ
1282 @cindex オンラインヘルプ[おんらいんへるふ]
1283 @cindex apropos
1284 @cindex キーワード検索[きいわあとけんさく]
1285 @cindex prefix ?
1286 @cindex prefix /
1288 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル
1289 プをひきましょう。ヘルプに関するキーには以下のものがあります。
1291 @table @kbd
1292 @item [prefix] ?
1293 @dots{} オンラインヘルプ
1294 @item [prefix] /
1295 @dots{} オンラインapropos
1296 @end table
1298 @section オンラインヘルプ
1299 @cindex グローバルヘルプ[くろおはるへるふ]
1300 @cindex プライベートヘルプ[ふらいへえとへるふ]
1302 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル
1303 位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ
1304 ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ
1305 り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数
1306 @code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ
1307 フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように
1308 全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ
1309 クロ定義に関する説明が書かれているファイルで、変数
1310 @code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ
1311 レクトリの下などに置かれます。
1312 @cindex YaTeX-help-file
1313 @cindex YaTeX-help-file-private
1315 @section オンラインapropos
1317 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー
1318 ワードを説明文に含む項目すべてを隣のバッファに表示します。
1320 もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ
1321 からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを
1322 調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに
1323 対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め
1324 たいと思います。
1326 @node Cooperation with other packages, Customizations, Online help, Top
1327 @comment node-name, next, previous, up
1328 @chapter 他パッケージとの連携
1329 @cindex 他パッケージとの連携[たはつけえしとのれんけい]
1331 @section gmhist
1332 @cindex gmhist
1333 @cindex コマンドヒストリ[こまんとひすとり]
1334 @cindex ヒストリ[ひすとり]
1336 @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ
1337 マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の
1338 時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押
1339 すと直前に利用したコマンド文字列をくり返し呼び出すことができます。
1341 @section min-out
1342 @cindex min-out
1344 @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ
1345 とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。
1347 @node Customizations, Etc, Cooperation with other packages, Top
1348 @comment node-name, next, previous, up
1349 @chapter カスタマイズ
1350 @cindex カスタマイズ[かすたまいす]
1351 @cindex キーアサイン[きいあさいん]
1353 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入
1354 力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ
1355 せることなどができます。
1357 @menu
1358 * Lisp variables:: lisp 変数
1359 * Add-in functions:: 付加関数(アドイン関数)
1360 @end menu
1362 @node Lisp variables, Add-in functions, Customizations, Customizations
1363 @comment node-name, next, previous, up
1364 @section lisp 変数
1365 @cindex prefixキー変更[prefixきいへんこう]
1367 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、
1368 @code{YaTeX-prefix}に prefix キーにしたいシンボルを定義してください。さら
1369 に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使
1370 いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t}
1371 に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c
1372 C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ
1373 ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ
1374 トして下さい。)。
1376 @menu
1377 * All customizable variables:: カスタマイズ変数一覧
1378 * Sample definitions:: カスタマイズ変数設定例
1379 * Hook variables:: hook変数
1380 * Hook file:: hook用ファイル
1381 @end menu
1383 @node All customizable variables, Sample definitions, Lisp variables, Lisp variables
1384 @comment node-name, next, previous, up
1385 @subsection カスタマイズ変数一覧
1386 @cindex カスタマイズ変数一覧[かすたまいすへんすういちらん]
1388 yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で
1389 @code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値
1390 です。
1392 @defvar YaTeX-prefix
1393 yatex-mode 中のプリフィクスキー(@kbd{C-c})
1394 @end defvar
1396 @defvar YaTeX-inhibit-prefix-letter
1397 prefix キーの直後のキーバインドで@kbd{英字}のものを@kbd{C-英字}に変更
1398 (@code{nil})
1399 @end defvar
1401 @defvar YaTeX-fill-prefix
1402 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)})
1403 @end defvar
1405 @defvar YaTeX-open-lines
1406 \begin{環境}と\end{環境}のあいだの空白行数 (0)
1407 @end defvar
1409 @defvar YaTeX-user-completion-table
1410 学習したLa@TeX{}コマンド保存ファイル名(@code{"~/.yatexrc"})
1411 @end defvar
1413 @defvar YaTeX-kanji-code
1414 文書を作成する時の漢字コード1=Shift JIS, 2=JIS, 3=EUC(2 (MS-DOSでは1))
1415 @end defvar
1417 @defvar YaTeX-item-regexp
1418 itemの桁揃えの時に用いる、itemの正規表現(@code{"\\\\item"})
1419 @end defvar
1421 @defvar tex-command
1422 La@TeX{}タイプセッタコマンド名 (@code{"jlatex"})
1423 @end defvar
1425 @defvar dvi2-command
1426 プレヴューアコマンド名(@code{"xdvi -geo +0+0 -s 4 -display (getenv"DISPLAY")"})
1427 @end defvar
1429 @defvar dviprint-command-format
1430 dviファイルの印刷に使われるコマンド式(@code{"dvi2ps %f %t %s | lpr"})
1431 @end defvar
1433 @defvar dviprint-from-format
1434 上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変
1435 わる(@code{"-f %b"})
1436 @end defvar
1438 @defvar dviprint-to-format
1439 @code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる
1440 (@code{"-t %e"})
1441 @end defvar
1443 @defvar section-name
1444 最初のsection型補完の規定値(@code{"documentstyle"})
1445 @end defvar
1447 @defvar env-name
1448 最初のbegin型補完の規定値(@code{"document"})
1449 @end defvar
1451 @defvar fontsize-name
1452 最初のlarge型補完の規定値(@code{"large"})
1453 @end defvar
1455 @defvar single-command
1456 @end defvar
1457 最初のmaketitle型補完の規定値(@code{"maketitle"})
1459 @defvar YaTeX-need-nonstop
1460 @code{\nonstopmode@{@}}を自動的に付加するか(@code{nil})
1461 @end defvar
1463 @defvar latex-warning-regexp
1464 latexコマンドの出力するウォーニング行の正規表現(@code{"line.* [0-9]*"})
1465 @end defvar
1467 @defvar latex-error-regexp
1468 同じくエラー行の正規表現(@code{"l\\.[1-9][0-9]*"})
1469 @end defvar
1471 @defvar latex-dos-emergency-message
1472 MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ
1473 セージ (@code{"Emergency stop"})
1474 @end defvar
1476 @defvar latex-message-kanji-code
1477 jlatex コマンドの出力するメッセージの漢字コード.タイプセットバッファ
1478 の出力が化ける時は、これを設定する(2, Nemacsでのみ有効)
1479 @end defvar
1481 @defvar NTT-jTeX
1482 NTT-j@TeX{}使用時@code{t}にする(@code{nil})
1483 @end defvar
1485 @defvar YaTeX-item-regexp
1486 item化コマンドの正規表現(@code{"\\\\(sub\\)*item"})
1487 @end defvar
1489 @defvar YaTeX-nervous
1490 ローカル辞書を用いる時 @code{t} (@code{t})
1491 @end defvar
1493 @defvar YaTeX-sectioning-regexp
1494 セクション区切り設定コマンドの正規表現
1495 (@code{"part\\|chapter\\|\\(sub\\)*\\(section\\|paragraph\\)"})
1496 @end defvar
1498 @defvar YaTeX-fill-inhibit-environments
1499 fill を抑止する環境名のリスト(@code{'("verbatim" "tabular")})
1500 @end defvar
1502 @defvar YaTeX-uncomment-once
1503 領域uncommentで行頭の複数の@code{%}を全て削除するか(@code{nil})
1504 @end defvar
1506 @defvar YaTeX-close-paren-always
1507 開き括弧の入力で常に閉じ括弧を入力する(@code{t})
1508 @end defvar
1510 @defvar YaTeX-auto-math-mode
1511 数式モードの切り替えを自動的に行う。(@code{nil})
1512 @end defvar
1514 @defvar YaTeX-default-pop-window-height
1515 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字
1516 文字列でEmacsウィンドウに対する百分率(10)。
1517 @end defvar
1519 @defvar YaTeX-help-file
1520 共用ヘルプファイル(@file{$EMACS/etc/YATEXHLP.jp})
1521 @end defvar
1523 @defvar YaTeX-help-file-private
1524 個人用ヘルプファイル(@file{"~/YATEXHLP.jp"})
1525 @end defvar
1527 @defvar YaTeX-no-begend-shortcut
1528 @kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完
1529 入力に入る(@kbd{nil})
1530 @end defvar
1532 @node Sample definitions, Hook variables, All customizable variables, Lisp variables
1533 @comment node-name, next, previous, up
1534 @subsection カスタマイズ変数設定例
1535 @cindex 設定例[せつていれい]
1537 たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ
1538 イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変
1539 えたいときは、
1541 @lisp
1542 (setq YaTeX-prefix "\e"
1543 YaTeX-user-completion-table "~/src/emacs/yatexrc"
1544 YaTeX-fill-prefix " ")
1545 @end lisp
1547 @noindent
1548 を @file{~/.emacs} に加えます。
1550 @node Hook variables, Hook file, Sample definitions, Lisp variables
1551 @comment node-name, next, previous, up
1552 @subsection hook変数
1553 @cindex hook変数[hookへんすう]
1554 @cindex yatex-mode-hook
1555 @cindex yatex-mode-load-hook
1557 また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用
1558 意しています。すべての yatex-mode のバッファで作用させたいものは、
1559 @code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ
1560 せたいものは@code{yatex-mode-load-hook} に記述します。例えば、
1561 @code{outline-minor-mode} を利用する場合、それぞれのバッファで
1562 @code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次
1563 のように設定します。
1565 @lisp
1566 (setq yatex-mode-hook
1567 '(lambda () (outline-minor-mode t)))
1568 @end lisp
1570 @noindent
1571 逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用
1572 します。例えば、begin 型補完において、 document や、enumerate 以外の環境名
1573 もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、
1574 @kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を
1575 挿入します。
1577 @lisp
1578 (setq yatex-mode-load-hook
1579 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
1580 @end lisp
1582 なお、新たなキーの定義には、関数 @code{YaTeX-define-key}
1583 @code{YaTeX-define-begend-key}を利用するようにしてください。
1585 @node Hook file, , Hook variables, Lisp variables
1586 @comment node-name, next, previous, up
1587 @subsection hook用ファイル
1589 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、
1590 @file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、
1591 初期化の時に自動的にロードします。
1594 @node Add-in functions, , Lisp variables, Customizations
1595 @comment node-name, next, previous, up
1596 @section 付加関数(アドイン関数)
1598 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す
1599 るための関数を作成することができます。この関数の作成方法や、組み込み方法に
1600 関しては、@code{yatexadd.doc} をご覧ください。
1602 @node Etc, Copying, Customizations, Top
1603 @comment node-name, next, previous, up
1604 @chapter その他
1606 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ
1607 れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した
1608 いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標
1609 準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ
1610 せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ
1611 う。
1613 @node Copying, Concept Index, Etc, Top
1614 @comment node-name, next, previous, up
1615 @chapter 取り扱い
1617 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな
1618 る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた
1619 しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい
1620 ただくと、作者は喜んでサポートに励むことでしょう(ほんとか)。
1622 苦情、希望、バグ報告、感想等、作者が本プログラムに興味を持ってい
1623 る間に限り受け付けます。連絡は pcs39334@@asciinet.or.jp または、
1624 yuuji@@ae.keio.ac.jpまで(1995年3月現在)。
1626 仕様は、予告なく確実に(気分次第で)変更されます:-p。
1628 @flushright
1629 広瀬雄二
1630 @end flushright
1632 @node Concept Index, , Copying, Top
1633 @comment node-name, next, previous, up
1634 @unnumbered 索引
1635 @printindex cp
1637 @c カスタマイズ変数索引を索引と分離する場合にはコメントアウトを外す!!!
1638 @c @node Variable Index
1639 @c @comment node-name, next, previous, up
1640 @c @unnumbered カスタマイズ変数索引
1641 @c @printindex vr
1643 @contents
1645 @bye
1647 @c Local Variables:
1648 @c fill-column: 74
1649 @c fill-prefix: nil
1650 @c End:
1652 Tag table:
1654 End tag table