yatex

view docs/yatexj.tex @ 33:56f7676ed8ca

Change the document for YaTeX-nervous.
author yuuji
date Wed, 13 Jul 1994 16:11:27 +0000
parents 0f8b77d22c8a
children cd1b63102eed
line source
1 \input texinfo @c -*- texinfo -*-
2 @setfilename yatexj
3 @settitle Yet Another tex-mode for Emacs
5 @iftex
6 @syncodeindex fn cp
7 @syncodeindex vr cp
8 @end iftex
10 @titlepage
11 @sp 10
12 @center
13 @subtitle Yet Another tex-mode for emacs
14 @title 『野鳥』
15 @subtitle // YaTeX //
16 @author @copyright{} 1991-1994 by HIROSE, Yuuji [yuuji@@ae.keio.ac.jp]
17 @end titlepage
19 @node Top, Intro - はじめに, (dir), (dir)
20 @comment node-name, next, previous, up
22 @menu
23 * Intro - はじめに::
24 * Main features - 主な機能::
25 * Installation - インストール::
26 * Invocation - 外部コマンドの起動::
27 * %#記法::
28 * Completion - 補完入力::
29 * Commenting out - コメントアウト::
30 * Cursor jump - カーソルジャンプ::
31 * Modifying/Deleting - 変更/削除::
32 * Filling item - itemの桁揃え::
33 * Local dictionary - ローカル辞書::
34 * Includeonly - 勝手にincludeonly::
35 * Where am I? - 今はどこ?::
36 * Intelligent newline - おまかせ改行::
37 * Online help - オンラインヘルプ::
38 * Cooperation with other packages - 他パッケージとの連携::
39 * Customizations - カスタマイズ::
40 * Etc - その他::
41 * Copying - 取り扱い::
42 @end menu
44 @node Intro - はじめに, Main features - 主な機能, Top, Top
45 @comment node-name, next, previous, up
46 @chapter はじめに
47 @cindex Demacs
48 @cindex Mule
49 @cindex LaTeX
50 @cindex やちょう
52 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に jLa@TeX{} などの
53 タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から
54 行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ
55 ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに
56 よりマニュアルを調べる手間を軽減します。
59 @node Main features - 主な機能, Installation - インストール, Intro - はじめに, Top
60 @comment node-name, next, previous, up
61 @chapter 主な機能
63 @itemize @bullet
64 @item タイプセッタやプレヴューアなどの編集画面からの起動(C-c t)
65 @item カーソル位置によらない固定リジョンの部分タイプセット
66 @item \includeonlyのワンタッチ更新
67 @item エラー箇所への自動ジャンプ(C-c ')
68 @item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{}
69 コマンドの補完入力
70 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
71 @item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完
72 (@kbd{C-u} 通常補完キー)
73 @item 補完辞書の学習
74 @item La@TeX{} の環境やコマンドに応じたガイド付き引数入力
75 @item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el})
76 @item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c})
77 @item ファイル間、@code{\begin}<->@code{\end}間、
78 @code{\ref}<->@code{\label}間ジャンプ(@code{C-c g})
79 @item 一括コメントアウト/アンコメントアウト
80 (@code{C-c >}, @code{C-c <}, @code{C-c ,}, @code{C-c .})
81 @item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援
82 (@code{C-c a}, @code{;}, @code{/})
83 @item tabular/array環境のカラム位置ガイド
84 @item 標準的 La@TeX{} コマンドのオンラインヘルプ(@code{C-c ?}, @code{C-c /})
85 @end itemize
87 @node Installation - インストール, Invocation - 外部コマンドの起動, Main features - 主な機能, Top
88 @comment node-name, next, previous, up
89 @chapter 起動法
90 @cindex Install
91 @cindex インストール[いんすとーる]
92 @cindex .emacs
93 @cindex auto-mode-alist
94 @cindex autoload
96 ~/.emacsに下の2項目を加えます。
98 @lisp
99 (setq auto-mode-alist
100 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
101 (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
102 @end lisp
104 次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に
105 加えます。たとえば、@file{~/src/emacs/yatex}に置くのであれば、
107 @lisp
108 (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))
109 @end lisp
111 @noindent
112 などとします。
114 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が
115 ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」
116 に変わります。
119 @node Invocation - 外部コマンドの起動, %#記法, Installation - インストール, Top
120 @comment node-name, next, previous, up
121 @chapter latexコマンド起動
122 @cindex prefix key
123 @cindex C-c
124 @cindex タイプセッタ[たいぷせった]
125 @cindex プレヴューア[ぷれびゅーあ]
126 @cindex jlatex
127 @cindex プリントアウト[ぷりんとあうと]
129 yatex-mode の prefix キーは、標準状態で @kbd{C-c} (Ctrlキーを押しながらc)
130 です。以下、標準のキー割当の場合、@kbd{[prefix]} は @kbd{C-c} と読み換えて
131 下さい。まず、次のキー入力により、jlatex などのタイプセットプログラム(以後
132 タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。
134 @table @kbd
135 @item [prefix] t j
136 @dots{} タイプセッタ(jlatex)起動
137 @item [prefix] t r
138 @dots{} タイプセッタ起動(領域指定)
139 @item [prefix] t k
140 @dots{} 動作中のタイプセッタの停止
141 @item [prefix] t b
142 @dots{} jbibtex起動
143 @item [prefix] t p
144 @dots{} プレヴューア起動
145 @item [prefix] t l
146 @dots{} lpr(プリントアウト用)コマンド起動
147 @end table
149 @menu
150 * Calling typesetter - タイプセッタ起動::
151 * Print out - プリントアウト用コマンドの起動::
152 @end menu
154 @node Calling typesetter - タイプセッタ起動, Print out - プリントアウト用コマンドの起動, Invocation - 外部コマンドの起動, Invocation - 外部コマンドの起動
155 @comment node-name, next, previous, up
156 @section タイプセッタ起動
157 @cindex タイプセッタ起動
158 @cindex タイプセットエラー[たいぷせっとえらー]
159 @cindex エラー修正[えらーしゅうせい]
161 タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド
162 ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ
163 トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって
164 しまった場合にはタイプセットバッファに移り、(@kbd{^Xo}) タイプセッタの出し
165 ている ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることがで
166 きます。エラーを修正する場合は、
168 @table @kbd
169 @item [prefix] '
170 @itemx (prefix+アポストロフィ)
171 @dots{} 直前のエラー発生行へジャンプ
172 @end table
174 を入力することにより、タイプセッタがエラーを発生した行に移ることができます。
175 また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し
176 ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング
177 発生行にジャンプしていきます。
179 もし、気になるエラー行があった場合は、タイプセットバッファで、エ
180 ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{}
181 ソースの対応する行にジャンプします。
183 なお、領域指定のタイプセットでは、単一ファイルの La@TeX{} ソースの編集時
184 にはそのファイルの documentstyle が、別ファイルから include している場合に
185 はメインファイルの documentstyle が自動的に選択されます。指定領域は、メイ
186 ンファイルのあるディレクトリの@file{texput.tex}という臨時ファイルに出力さ
187 れますので、上書きには注意してください。領域の指定方法は@xref{%#記法}の項を
188 参照してください。
190 @node Print out - プリントアウト用コマンドの起動, , Calling typesetter - タイプセッタ起動, Invocation - 外部コマンドの起動
191 @comment node-name, next, previous, up
192 @section プリントアウト
194 プリントアウトする時は、出力開始/終了ページを聞いてきますが、こ
195 れを省略したい時は、universal-argument をつけて下さい。
197 @cindex 出力開始ページ[しゅつりょくかいしぺーじ]
198 @cindex 出力終了ページ[しゅつりょくしゅうりょうぺーじ]
201 @table @kbd
202 @item C-u [prefix] t l
203 @dots{} ページ確認省略lpr起動
204 @end table
205 @cindex ページ確認省略lpr起動[ぺーじかくにんしょうりゃくlprきどう]
207 @node %#記法, Completion - 補完入力, Invocation - 外部コマンドの起動, Top
208 @comment node-name, next, previous, up
209 @chapter %#記法
211 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等
212 の制御をすることができます。
214 @menu
215 * Changing typesetter - タイプセット用コマンドの変更::
216 * Splitting input files - 入力ファイル分割::
217 * Fix region for typesetting - 領域の固定::
218 * lpr format - プリントアウトコマンド用フォーマット::
219 * Editing %# notation - %#記法の編集::
220 @end menu
222 @node Changing typesetter - タイプセット用コマンドの変更, Splitting input files - 入力ファイル分割, %#記法, %#記法
223 @comment node-name, next, previous, up
224 @section タイプセット用コマンド変更
226 起動するコマンドを変えたい時は本文中に次のような行を書きます。
228 @cindex 起動するコマンドを変える[きどうするこまんどをかえる]
230 @example
231 %#!jlatex-ntt example
232 @end example
234 NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。
236 @cindex タイプセッタの使い分け[たいぷせったのつかいわけ]
238 @node Splitting input files - 入力ファイル分割, Fix region for typesetting - 領域の固定, Changing typesetter - タイプセット用コマンドの変更, %#記法
239 @comment node-name, next, previous, up
240 @section 入力ファイル分割
242 また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から
243 @file{sub.tex}を @code{\include}しているような時は、@file{sub.tex}の任意の
244 位置に次のような行を埋め込みます。
246 @example
247 %#!jlatex main.tex
248 @end example
250 @cindex 入力ファイル分割[にゅうりょくふぁいるぶんかつ]
252 上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま
253 shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便
254 利です。
256 @cindex ghostview
258 @example
259 %#!jlatex main ; dvi2ps main.dvi > main
260 @end example
262 なお、この行の最後の単語のピリオド以前を「メインファイル」のベース
263 ネームであると仮定します(上の2つの場合どちらも@file{main})。
265 入力ファイル分割時には次のことに注意して下さい。
267 @enumerate
268 @item
269 同時に編集するファイル群の名前は重複のないようにする。
270 @item
271 サブディレクトリを作って、その中にサブファイルを置くことはできるが
272 サブディレクトリのサブディレクトリには置けない。
273 @item
274 メインファイルからサブディレクトリ内のファイルを include
275 する時には、相対パス指定を用いて、
276 @code{\include{chap1/sub}}のように記述。
277 @item
278 メインファイルが一つ上のディレクトリにある場合も、サブファイルには
279 %#!jlatex main.tex のように記述する(../mainではない)。
280 @end enumerate
284 @node Fix region for typesetting - 領域の固定, lpr format - プリントアウトコマンド用フォーマット, Splitting input files - 入力ファイル分割, %#記法
285 @comment node-name, next, previous, up
286 @section 領域の固定
287 @cindex 固定領域のタイプセット[こていりょういきのたいぷせっと]
288 @cindex %#BEGIN
289 @cindex %#END
291 @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、
292 @kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま
293 すが、必ず決まった領域をタイプセットしたい場合は、その領域を
295 @example
296 %#BEGIN
297 <渡したい領域>
298 %#END
299 @end example
301 @noindent
302 のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」
303 に置いてください。この時の領域決定規則をまとめると次のようになります。
306 @enumerate
307 @item
308 カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが
309 ある場合
311 @enumerate
312 @item
313 @code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ
314 た場合。
315 →@code{%#BEGIN} から、その @code{%#END} のある位置まで。
316 @item
317 @code{%#END} が見つからなかった場合。
318 →バッファの最後尾まで。
319 @end enumerate
320 @cindex 領域決定規則[りょういきけっていきそく]
322 @item
323 カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが
324 見つからなかった場合。
325 →マーク(C-SPC位置)とポイント(カーソル位置)の間の領域。
326 @end enumerate
328 tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行
329 に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく
330 と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半
331 に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND
332 の消し忘れには十分ご注意下さい。
333 @cindex 長いファイルの編集[ながいふぁいるのへんしゅう]
335 @node Require, lpr format - プリントアウトコマンド用フォーマット, Fix region for typesetting - 領域の固定, %#記法
336 @comment node-name, next, previous, up
338 @node lpr format - プリントアウトコマンド用フォーマット, Editing %# notation - %#記法の編集, Fix region for typesetting - 領域の固定, %#記法
339 @comment node-name, next, previous, up
340 @section lprフォーマット
341 @cindex lprふぉーまっと
342 @cindex lprフォーマット
343 @cindex lpr format
345 まず、プリントアウト用コマンド列のフォーマットについて説明します。
346 コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ
347 フォルトの dvi2ps 用のフォーマットを例に説明します。
349 @table @code
350 @item dviprint-command-format
351 "dvi2ps %f %t %s | lpr"
353 @item dviprint-from-format
354 "-f %b"
356 @item dviprint-to-format
357 "-t %e"
358 @end table
360 実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が
361 (2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は
362 「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ
363 ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。
365 この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の
366 ソーステキスト中の任意の場所に、
368 @example
369 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
370 @end example
372 @noindent
373 のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう
374 にする時に
376 @example
377 %#LPR dvi2ps %s | lpr
378 @end example
380 @noindent
381 などとするのも便利かもしれません。
383 @node Editing %# notation - %#記法の編集, , lpr format - プリントアウトコマンド用フォーマット, %#記法
384 @comment node-name, next, previous, up
385 @section %#記法自体の編集
386 @cindex %#きほうじたいのへんしゅう
388 以上のような@code{%#}で始まる各種制御記法を編集するためには
390 @table @kbd
391 @item [prefix] %
392 @dots{} %#記法編集メニュー
393 @end table
395 @noindent
396 を押します。
398 @example
399 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
400 @end example
402 @noindent
403 というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には
404 @kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか
405 じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、
406 @kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた
407 @code{%#BEGIN}, @code{%#END} が自動的に消去されます。
408 @cindex lprフォーマットの変更[lprふぉーまっとのへんこう]
410 @node Completion - 補完入力, Commenting out - コメントアウト, %#記法, Top
411 @comment node-name, next, previous, up
412 @chapter 補完入力
414 La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること
415 ができます。
417 @menu
418 * begin型補完::
419 * section型補完::
420 * large型補完::
421 * maketitle型補完::
422 * Arbitrary completion - 随時補完::
423 * end補完::
424 * Accent mark completion - アクセント記号補完::
425 * Image completion - 数式記号イメージ補完::
426 * Greek letter completion - ギリシャ文字補完::
427 @end menu
429 @node begin型補完, section型補完, Completion - 補完入力, Completion - 補完入力
430 @comment node-name, next, previous, up
431 @section begin型補完
432 @cindex begin型補完[beginがたほかん]
433 @cindex 環境名の補完[かんきょうめいのほかん]
434 @cindex prefix b
436 @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と
437 呼ぶことにします。begin 型補完は、
439 @table @kbd
440 @item [prefix] b
441 @dots{} begin 型補完開始(標準では C-c b)
442 @end table
444 @noindent
445 で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b}
446 に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成
447 させます。
449 @table @kbd
450 @item [prefix] b c
451 @dots{} @code{\begin@{center@}...\end@{center@}}
452 @item [prefix] b d
453 @dots{} @code{\begin@{document@}...\end@{document@}}
454 @item [prefix] b D
455 @dots{} @code{\begin@{description@}...\end@{description@}}
456 @item [prefix] b e
457 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
458 @item [prefix] b E
459 @dots{} @code{\begin@{equation@}...\end@{equation@}}
460 @item [prefix] b i
461 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
462 @item [prefix] b l
463 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
464 @item [prefix] b m
465 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
466 @item [prefix] b t
467 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
468 @item [prefix] b T
469 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
470 @item [prefix] b ^T
471 @dots{} @code{\begin@{table@}...\end@{table@}}
472 @item [prefix] b p
473 @dots{} @code{\begin@{picture@}...\end@{picture@}}
474 @item [prefix] b q
475 @dots{} @code{\begin@{quote@}...\end@{quote@}}
476 @item [prefix] b Q
477 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
478 @item [prefix] b r
479 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
480 @item [prefix] b v
481 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
482 @item [prefix] b V
483 @dots{} @code{\begin@{verse@}...\end@{verse@}}
484 @end table
486 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて
487 入力します(上記の環境名も以下の補完入力可能)。
489 @table @kbd
490 @item [prefix] b @key{SPC}
491 @dots{} begin 型補完入力
492 @end table
494 @kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに
496 @example
497 Begin environment(default document):
498 @end example
500 @noindent
501 と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい
502 るデフォルトの環境名が入力されますが、適当な環境名を入力すると、
503 @code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ
504 ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、
505 一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、
506 入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専
507 用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル
508 トでは @file{~/.yatexrc})に保存します。
509 @cindex ユーザ辞書[ゆーざじしょ]
511 @subsection 既に書いたテキストを環境で括る
513 ところで、最初に書いてしまったブロックを後から、itemize 環境の中
514 に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ
515 閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]}
516 の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、
517 @kbd{C-u} を先に打ち、universal argument をつけても可能です)
518 @cindex ブロック[ぶろっく]
519 @cindex 閉じ込める[とじこめる]
521 例えばあるパラグラフを description 環境の中に入れたいときは、
522 そのパラグラフをマークしてから、
524 @table @kbd
525 @item [prefix] B D
526 @itemx (または ESC 1 [prefix] b D)
527 @itemx (または C-u [prefix] b D など)
528 @end table
530 とタイプしてください。これは、@kbd{[prefix] b SPC}の補完入力にもあてはまり、
531 @kbd{b} を大文字に変えて、@kbd{[prefix] B SPC} とタイプすれば、あらかじめ
532 マークしておいたリジョンを、begin と end の環境で括ります。
534 @node section型補完, large型補完, begin型補完, Completion - 補完入力
535 @comment node-name, next, previous, up
536 @section section型補完
537 @cindex section型補完[sectionがたほかん]
538 @cindex prefix s
540 @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ
541 とにします。section 型補完は、
543 @table @kbd
544 @item [prefix] s
545 @dots{} section 型補完
546 @end table
548 @noindent
549 で実行します。@kbd{[prefix] s} を入力するとミニバッファに、
551 @example
552 (C-v for view) \???@{@} (default documentstyle):
553 @end example
555 @noindent
556 というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ
557 ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ
558 れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ
559 る補完機能が有効です。 次に、@{@}の中身の入力を促す、
561 @example
562 \section@{???@}:
563 @end example
565 @noindent
566 というプロンプトが現れるので、セクションのタイトルなどを入力します。
567 たとえば、
569 @example
570 (C-v for view) \???@{@} (default documentstyle): section
571 \section@{???@}: 目的
572 @end example
574 @noindent
575 のように入力した場合は、文章中に
577 @example
578 \section@{目的@}
579 @end example
581 @noindent
582 が挿入され、
584 @example
585 (C-v for view) \???@{@} (default section): vspace*
586 \vspace*@{???@}:
587 @end example
589 @noindent
590 のように@{@}の中身を省略したときは、
592 @example
593 \vspace*@{@}
594 @end example
596 @noindent
597 だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。
599 @menu
600 * 2個以上の引数をとる section型コマンド::
601 * Input argument without copletion - 引数入力時に補完しない::
602 * Enclose region -type command - 既に書いたテキストを括る::
603 * Recursive completion - 再帰補完::
604 * view-sectioning - セクション区切りのアウトライン表示::
605 @end menu
607 @node 2個以上の引数をとる section型コマンド, Input argument without copletion - 引数入力時に補完しない, section型補完, section型補完
608 @comment node-name, next, previous, up
609 @subsection 2個以上の引数をとる section型コマンド
610 @cindex 引数[ひきすう]
612 ところで、@samp{\addtolength{\topmargin}{8mm}} などのように、引数を二つ
613 以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、
614 section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength}
615 の例であれば、引数2を指定します。つまり、
617 @example
618 C-u 2 [prefix] s (または、ESC 2 [prefix] s)
619 @end example
621 @noindent
622 と section 型補完を呼び出した後、
624 @example
625 (Ctrl-v for view) \???@{@} (default vspace*): addtolength
626 \addtolength@{???@}: \topmargin
627 Argument 2: 8mm
628 @end example
630 @noindent
631 のように入力してください。最初の addtolength の部分と、第一引数で
632 ある \topmargin の入力は当然スペースによる補完入力が可能です。ユー
633 ザ辞書に登録される La@TeX{} コマンドには、この引数の数も学習されるの
634 で、最初の補完の時引数の数を指定して起動しておけば、以後の補完時に
635 は、記憶された個数だけ引数を聞いて来るようになります。あとで引数の
636 個数を変えたい時は、再び C-u を用いて個数を指定し直すことで、自動
637 的に辞書中の引数の個数の部分を更新します。
638 @cindex 引数の個数を変える[ひきすうのこすうをかえる]
640 @node Input argument without copletion - 引数入力時に補完しない, Enclose region -type command - 既に書いたテキストを括る, 2個以上の引数をとる section型コマンド, section型補完
641 @comment node-name, next, previous, up
642 @subsection 引数入力時に補完しない
643 @cindex 引数入力時に補完しない[ひきすうにゅうりょくじにほかんしない]
645 なお、特別な例として引数0を指定すると、第一引数の入力時に補完入力ではな
646 く、単純な文字列入力を使用するようになります。段落を指定する@samp{chapter}
647 や @samp{section}などは第一引数の段落タイトル入力時に、スペースを含めるこ
648 とがあるので、補完入力は却ってじゃまになります。標準設定では、これらの段落
649 指定コマンド(chapter, section, paragraph など)に引数0の指定が埋め込まれて
650 います。
652 @node Enclose region -type command - 既に書いたテキストを括る, Recursive completion - 再帰補完, Input argument without copletion - 引数入力時に補完しない, section型補完
653 @comment node-name, next, previous, up
654 @subsection 既に書いたテキストを括る
655 @cindex 括る[くくる]
657 また、起動コマンドの@kbd{s}を大文字に変えて起動すると、あらかじめ書
658 いた文章を section 型コマンドの第一引数として括ります。
660 @node Recursive completion - 再帰補完, view-sectioning - セクション区切りのアウトライン表示, Enclose region -type command - 既に書いたテキストを括る, section型補完
661 @comment node-name, next, previous, up
662 @subsection 再帰補完
663 @cindex 再帰補完[さいきほかん]
665 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに
666 補完入力を利用することができます(section/large/maketitle型に限る)。section
667 型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の
668 補完キーを再帰的に入力することで引数の入力も効率的に行なえます。
670 @node view-sectioning - セクション区切りのアウトライン表示, , Recursive completion - 再帰補完, section型補完
671 @comment node-name, next, previous, up
672 @subsection セクション区切りのアウトライン表示
673 @cindex アウトライン[あうとらいん]
675 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク
676 ション区切りコマンド全てを一覧表示します(「<<--」のついている行がもっとも
677 近いセクション区切り)。この時ミニバッファで@kbd{C-p}, @kbd{C-n} を押すと
678 @samp{part}, @samp{chapter}, ..., @samp{subparagraph} のコマンドが論理階層
679 の高さにしたがって上下します。また、@kbd{C-v}, @kbd{M-v} を押すとセクショ
680 ン区切り一覧バッファがスクロールし、数字の@kbd{0}〜@kbd{7}を押すとある高さ
681 以上のセクション区切りだけを選んで表示します(実際にやって見れば分かります)。
682 この一覧バッファにカーソルを移しスペースを押すと、該当するセクション区切り
683 のある本文中の場所にジャンプします。
684 @cindex 論理階層[ろんりかいそう]
685 @cindex セクション区切り[せくしょんくぎり]
686 @cindex ジャンプ[じゃんぷ]
688 @node large型補完, maketitle型補完, section型補完, Completion - 補完入力
689 @comment node-name, next, previous, up
690 @section large型補完
691 @cindex large型補完[largeがたほかん]
692 @cindex prefix l
694 @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。
696 @table @kbd
697 @item [prefix] l
698 @dots{} large 型補完開始
699 @end table
701 @noindent
702 がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに
704 @example
705 @{\??? @} (default large):
706 @end example
708 @noindent
709 と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意
710 されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定
711 子と、@samp{bf}や@samp{dg}のようなフォント指定子です。
712 @cindex 文字サイズ指定子[もじさいずしていし]
713 @cindex フォント指定子[ふぉんとしていし]
715 @subsection 既に書いた文字を括る
716 @cindex 括る[くくる]
718 また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ
719 を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文
720 字の範囲をマークしてから、呼び出しキーを @kbd{[prefix] L} と、大文字の L
721 に変えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。
723 @node maketitle型補完, Arbitrary completion - 随時補完, large型補完, Completion - 補完入力
724 @comment node-name, next, previous, up
725 @section maketitle型補完
726 @cindex maketitle型補完[maketitleがたほかん]
727 @cindex prefix m
729 @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。
731 @table @kbd
732 @item [prefix] m
733 @dots{} maketitle 型補完開始
734 @end table
736 @noindent
737 で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで
738 す。La@TeX{} 用のコマンド名が補完候補として用意されています。
740 @node Arbitrary completion - 随時補完, end補完, maketitle型補完, Completion - 補完入力
741 @comment node-name, next, previous, up
742 @section 随時補完
743 @cindex 随時補完[ずいじほかん]
744 @cindex prefix SPC
746 さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今
747 入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ
748 ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、
750 @table @kbd
751 @item [prefix] SPC
752 @dots{} 随時補完
753 @end table
755 @noindent
756 を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入
757 されます。
759 @node end補完, Accent mark completion - アクセント記号補完, Arbitrary completion - 随時補完, Completion - 補完入力
760 @comment node-name, next, previous, up
761 @section end補完
762 @cindex end補完[endほかん]
763 @cindex prefix e
765 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま
766 す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で
767 @code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ
768 のような時には気にせず続けて文章を入力し、しかるのちに
770 @table @kbd
771 @item [prefix] e
772 @dots{} end 補完
773 @end table
775 @noindent
776 とすることで、現在開いている環境名で \end{} が補われます。
778 @node Accent mark completion - アクセント記号補完, Image completion - 数式記号イメージ補完, end補完, Completion - 補完入力
779 @comment node-name, next, previous, up
780 @section アクセント記号補完
781 @cindex アクセント記号補完[あくせんときごうほかん]
782 @cindex prefix a
783 @cindex 欧文[おうぶん]
785 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、
787 @table @kbd
788 @item [prefix] a
789 @dots{} アクセント記号入力
790 @end table
792 @noindent
793 を押すと、ミニバッファに
795 @example
796 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
797 @end example
799 @noindent
800 というメニューが出て来るので、数字、または対応する記号/英字を入力
801 して下さい。すると編集バッファに、
803 @example
804 \`@{@}
805 @end example
807 @noindent
808 があらわれ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、
810 @example
811 \`@{o@}
812 @end example
814 @noindent
815 が完成され、カーソルは@{@}の外に戻ります。
817 @node Image completion - 数式記号イメージ補完, Greek letter completion - ギリシャ文字補完, Accent mark completion - アクセント記号補完, Completion - 補完入力
818 @comment node-name, next, previous, up
819 @section 数式記号イメージ補完
820 @cindex 数式記号イメージ補完[すうしききごういめーじほかん]
821 @cindex イメージ補完[いめーじほかん]
822 @cindex ;
823 @cindex 数式モード[すうしきもーど]
824 @cindex 矢印[やじるし]
825 @cindex Σ[しぐま]
826 @cindex leftarrow
827 @cindex ∞[むげんだい]
829 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力
830 で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ
831 動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、
832 @kbd{/}に特殊な機能を持たせます。
834 さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」
835 のようにしますが、これを利用して、数式記号イメージ入力モードで
836 @code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と
837 入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する
838 場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--}
839 と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう
840 にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。
842 これらの操作をまとめると次のようになります。
844 @example
845 INPUT 入力される La@TeX{} コマンド
846 ; < - @code{\leftarrow}
847 ; < - - @code{\longleftarrow}
848 ; < - - > @code{\longleftrightarrow}
849 ; o @code{\circ}
850 ; o o @code{\infty}
851 @end example
854 @noindent
855 いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ
856 に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても
857 構いません。
859 数式環境中で@samp{;}自身を入力するには@kbd{};;」のようにします。イメージ
860 入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま
861 す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで
862 その La@TeX{} コマンドがバッファに挿入されます。
863 @cindex ;自身[;じしん]
865 どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した
866 直後にリターンキーを押してください。以下の例は、@kbd{;<}と押した後にTAB
867 を押したものです。
869 @example
870 KEY LaTeX sequence sign
871 < \leq ≦
872 << \ll 《
873 <- \leftarrow ←
874 <= \Leftarrow <=
875 @end example
877 左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と
878 いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ
879 う。ものによってはASCII文字で表現することが困難なので、あまり覚え
880 やすいキー並びではないものがあるでしょうから、そのような場合は
881 \maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単
882 純なキー並びのものを設定すると良いでしょう。
884 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は
885 Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。
886 その内容とデフォルトのものを合わせたものが対応表として使用されます(private
887 の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参
888 照してください。
889 @cindex YaTeX-math-sign-alist-private
891 @node Greek letter completion - ギリシャ文字補完, , Image completion - 数式記号イメージ補完, Completion - 補完入力
892 @comment node-name, next, previous, up
893 @section ギリシャ文字補完
894 @cindex ギリシャ文字補完[ぎりしゃもじほかん]
895 @cindex /
897 もう一つ、数式環境中で@kbd{/}を押すとギリシャ文字入力モードに入ります。
898 @kbd{/}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと
899 @code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。
900 操作方法は;の数式記号補完とまったく同じです。まずは@kbd{/}の直後にリターン
901 キーを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて
902 ください。
904 @kbd{;}と@kbd{/}を数式環境中で押しているにもかかわらず、イメージ補完が働
905 かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ
906 とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう
907 な状態で数式環境内判定に失敗したかをご連絡下さい。
909 @node Commenting out - コメントアウト, Cursor jump - カーソルジャンプ, Completion - 補完入力, Top
910 @comment node-name, next, previous, up
911 @chapter コメントアウト
912 @cindex コメントアウト[こめんとあうと]
913 @cindex prefix <
914 @cindex prefix >
915 @cindex prefix .
916 @cindex prefix ,
919 La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト
920 したり、コメントを外したりしたいことがあります。
922 @table @kbd
923 @item [prefix] >
924 @dots{} リジョンを % でコメントアウト
925 @item [prefix] <
926 @dots{} リジョンの % のコメントを外す
927 @end table
929 @noindent
930 は、あらかじめ設定したリジョンに対しての操作、
932 @table @kbd
933 @item [prefix] .
934 @dots{} 現在のパラグラフをコメントアウト
935 @item [prefix] ,
936 @dots{} 現在のパラグラフのコメントを外す
937 @end table
939 @noindent
940 は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう
941 「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し
942 ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ
943 ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し
944 た場合の動作は保証しませんので御注意ください。
946 さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対
947 してもコメントアウトの操作をしたいときがあります。このようなときは、
948 @code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、
950 @table @kbd
951 @item [prefix] >
952 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト
953 @item [prefix] <
954 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す
955 @end table
957 @noindent
958 とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、
960 @table @kbd
961 @item [prefix] .
962 @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト
963 @item [prefix] ,
964 @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す
965 @end table
967 は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と
968 します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ
969 ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ
970 ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの
971 で注意して下さい。
973 @node Cursor jump - カーソルジャンプ, Modifying/Deleting - 変更/削除, Commenting out - コメントアウト, Top
974 @comment node-name, next, previous, up
975 @chapter カーソルジャンプ
976 @cindex カーソルジャンプ[かーそるじゃんぷ]
977 @cindex prefix g
979 @code{\begin@{@}} や @code{\end@{@}} の行にカーソルを合わせ、
981 @table @kbd
982 @item [prefix] g
983 @dots{} 対応するオブジェクトにジャンプ
984 @end table
986 @noindent
987 を押すことにより、対応する@code{end/begin}の行にジャンプします。もちろん対
988 応するものがない場合はエラーになります。またこれは、領域固定のための
989 @code{%#BEGIN} と @code{%#END} のペアに対しても使えます。
990 @xref{%#記法}
992 メインの .tex ファイルの @code{\include{chap1}} などにカーソルを合わせ、
993 @kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。また、
994 @file{chap1.tex}のようなサブファイルで、
996 @table @kbd
997 @item [prefix] ^
998 @dots{} メインファイルにジャンプ
999 @item [prefix] 4 ^
1000 @dots{} 別ウィンドウでメインファイルにジャンプ
1001 @end table
1003 @noindent
1004 を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを
1005 オープンしていない場合は、カレントディレクトリから探して自動的にオープンし
1006 ます。さらに現在の環境を単位として機能するコマンドに以下のものがあります。
1008 @table @kbd
1009 @item M-C-a
1010 @dots{} 環境の先頭(@code{\begin})へジャンプ
1011 @item M-C-e
1012 @dots{} 環境の末尾(@code{\end})へジャンプ
1013 @item M-C-@@
1014 @dots{} 環境全体をマーク
1015 @end table
1016 @cindex 環境の先頭へ[かんきょうのせんとうへ]
1017 @cindex 環境の末尾へ[かんきょうのまつびへ]
1018 @cindex 環境をマーク[かんきょうをまーく]
1019 @cindex M-C-a
1020 @cindex M-C-e
1021 @cindex M-C-@@
1023 上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク
1024 スとして機能するのでご注意下さい。
1026 @node Modifying/Deleting - 変更/削除, Filling item - itemの桁揃え, Cursor jump - カーソルジャンプ, Top
1027 @comment node-name, next, previous, up
1028 @chapter 変更/削除
1029 @cindex 変更/削除[へんこう/さくじょ]
1030 @cindex prefix c
1031 @cindex prefix k
1033 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意
1034 されています。
1036 @table @kbd
1037 @item [prefix] c
1038 @dots{} カーソル位置の La@TeX{} コマンドの変更
1039 @item [prefix] k
1040 @dots{} カーソル位置の La@TeX{} コマンドの削除
1041 @end table
1043 @noindent
1044 これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し
1045 て下さい。
1047 @kbd{[prefix] c} は、@code{\begin@{@}} または @code{\end@{@}} のある場所で
1048 起動すると、環境名の変更を行います。@kbd{[prefix] k} は起動する位置により
1049 次のような動作を行います。
1050 @cindex 環境名の変更[かんきょうめいのへんこう]
1051 @cindex 環境の削除[かんきょうのさくじょ]
1054 @example
1055 起動位置 動作
1056 \begin\endの行 @code{\begin\end}ペアの削除
1057 %BEGIN, %END の行 %BEGIN,%ENDペアの削除
1058 section型コマンドの上(中) section型コマンドの削除
1059 フォント指定括弧の上 フォント指定の削除
1060 括弧の上 対をなす括弧の削除
1061 @end example
1063 @noindent
1064 上記のものはすべて本文を囲う「容器」を削除するように働きますが、
1065 universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、
1066 それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし
1067 て下さい。
1069 @example
1070 元のテキスト: [prefix] k C-u [prefix] k
1071 本文\footnote@{脚注@}です。 本文脚注です。 本文です。
1072 ↑(カーソル位置)
1073 @end example
1075 @node Filling item - itemの桁揃え, Local dictionary - ローカル辞書, Modifying/Deleting - 変更/削除, Top
1076 @comment node-name, next, previous, up
1077 @chapter itemの桁揃え
1078 @cindex itemの桁揃え[itemのけたぞろえ]
1079 @cindex prefix i
1081 itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項
1082 目の先頭を桁揃えしたい場合には、
1084 @table @kbd
1085 @item [prefix] i
1086 @dots{} itemの桁揃え
1087 @end table
1089 @noindent
1090 によって、その item のインデントの深さに応じて fill されます。なお、NTT
1091 jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセットし
1092 て下さい。
1093 @cindex NTT-jTeX[えぬてぃーてぃーじぇーてっく]
1095 このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を
1096 項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ
1097 マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、
1098 @file{~/.emacs} で次のように指定して下さい。
1099 @cindex YaTeX-item-regexp
1101 @lisp
1102 (setq YaTeX-item-regexp
1103 "\\(\\\\item\\)\\|\\(\\\\underlineitem\\)")
1104 @end lisp
1106 @noindent
1107 この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を
1108 @code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。
1110 @node Local dictionary - ローカル辞書, Includeonly - 勝手にincludeonly, Filling item - itemの桁揃え, Top
1111 @comment node-name, next, previous, up
1112 @chapter ローカル辞書
1113 @cindex ローカル辞書[ろーかるじしょ]
1114 @cindex .yatexrc
1115 @cindex へんなたんご[へんなたんご]
1117 補完入力用の候補は三種類の辞書から構成されています。一つは
1118 @file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用
1119 するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで
1120 のみ有効なコマンドを保存する「ローカル辞書」です。
1122 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて
1123 来ます。
1125 @example
1126 `foo' is not in table. Register into: U)serTable L)ocal N)one
1127 @end example
1129 @noindent
1130 というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える
1131 とローカル辞書を更新することになり、@kbd{n}と答えると新たな単語を学習せず
1132 に捨てることになります。
1134 もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場
1135 合には@file{~/.emacs}などで、
1137 @lisp
1138 (setq YaTeX-nervous nil)
1139 @end lisp
1140 @cindex YaTeX-nervous
1142 @noindent
1143 として下さい。
1145 @node Includeonly - 勝手にincludeonly, Where am I? - 今はどこ?, Local dictionary - ローカル辞書, Top
1146 @comment node-name, next, previous, up
1147 @chapter 勝手にincludeonly
1148 @cindex 勝手にincludeonly[かってにincludeonly]
1149 @cindex includeonly
1151 ファイルを分割して文章を入力している時には、メインファイル中に
1153 @example
1154 \includeonly@{現在編集中のファイル名@}
1155 @end example
1157 @noindent
1158 のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の
1159 ファイルを手直ししたい時には
1160 @cindex 他のファイルの手直し[ほかのふぁいるのてなおし]
1162 @example
1163 \includeonly@{ちょっと手直ししたいファイル名@}
1164 @end example
1166 @noindent
1167 と書き直さなければなりませんが、野鳥では現在編集しているファイル名がメイン
1168 ファイルの@code{\includeonly}にない場合には自動的にこれを検出し、次の指示
1169 を仰ぎます。
1171 @example
1172 A)dd R)eplace %)comment?
1173 @end example
1175 @noindent
1176 現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a}
1177 を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{R}を、
1178 @code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を
1179 それぞれ押して下さい。
1181 @node Where am I? - 今はどこ?, Intelligent newline - おまかせ改行, Includeonly - 勝手にincludeonly, Top
1182 @comment node-name, next, previous, up
1183 @chapter 今はどこ?
1184 @cindex 今はどこ?[いまはどこ]
1185 @cindex prefix &
1186 @cindex 複雑なtabular[ふくざつなtabular]
1188 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて
1189 いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以
1190 下のような tabular において、
1192 @example
1193 \begin@{tabular@}{|c|c|c|c|c|c|c|c|}\hline
1194 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline
1195 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy &
1196 zzz-www & トンガ & 9876-54321 \\
1197 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@}
1198 &&&(???)
1199 \\ \hline
1200 \end@{tabular@}
1201 @end example
1203 @noindent
1204 (???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、
1206 @table @kbd
1207 @item [prefix] &
1208 @dots{} 現在のカラム表示
1209 @end table
1210 @cindex 現在のカラム表示[げんざいのからむひょうじ]
1212 を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま
1213 す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま
1214 す。もし項目名として別のものを与えたい場合は、行頭を@code{%}にしてダミーの
1215 項目並びを作っておくと良いでしょう。
1217 @node Intelligent newline - おまかせ改行, Online help - オンラインヘルプ, Where am I? - 今はどこ?, Top
1218 @comment node-name, next, previous, up
1219 @chapter おまかせ改行
1220 @cindex おまかせ改行[おまかせかいぎょう]
1221 @cindex &入力[&にゅうりょく]
1222 @cindex prefix &
1224 tabular[*], array, itemize, enumerate, tabbing 環境で
1226 @table @kbd
1227 @item ESC RET
1228 @dots{} おまかせ改行
1229 @end table
1231 @noindent
1232 を押すと、その環境に応じた行エントリを次の行に挿入します。例えば、tabular
1233 環境では、その環境のカラム数に対応した個数の @code{&} にくわえ、行末の
1234 @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け加
1235 えます。環境とそれに応じて自動入力するものの対応は以下のようになります。
1237 @itemize
1238 @item @code{tabular}, @code{tabular*}, @code{array}
1240 カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline}
1242 @item @code{tabbing}
1244 一行目で定義している @code{\=} と同じ個数の @code{\>}。
1246 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
1248 @code{\item} または @code{item[]}
1249 @end itemize
1251 tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す
1252 るので、なるべく二行目以降で呼び出すようにしてください。
1254 もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作
1255 させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義
1256 します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま
1257 す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに
1258 インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ
1259 いでしょう。関数 @code{YaTeX-intelligent-newline-itemize} の定義などを参考
1260 にしてください。
1262 @node Online help - オンラインヘルプ, Cooperation with other packages - 他パッケージとの連携, Intelligent newline - おまかせ改行, Top
1263 @comment node-name, next, previous, up
1264 @chapter オンラインヘルプ
1265 @cindex オンラインヘルプ[おんらいんへるぷ]
1266 @cindex apropos
1267 @cindex キーワード検索[きーわーどけんさく]
1268 @cindex prefix ?
1269 @cindex prefix /
1271 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル
1272 プをひきましょう。ヘルプに関するキーには以下のものがあります。
1274 @table @kbd
1275 @item [prefix] ?
1276 @dots{} オンラインヘルプ
1277 @item [prefix] /
1278 @dots{} オンラインapropos
1279 @end table
1281 @section オンラインヘルプ
1282 @cindex グローバルヘルプ[ぐろーばるへるぷ]
1283 @cindex プライベートヘルプ[ぷらいべーとへるぷ]
1285 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル
1286 位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ
1287 ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ
1288 り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数
1289 @code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ
1290 フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように
1291 全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ
1292 クロ定義に関する説明が書かれているファイルで、変数
1293 @code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ
1294 レクトリの下などに置かれます。
1295 @cindex YaTeX-help-file
1296 @cindex YaTeX-help-file-private
1298 @section オンラインapropos
1300 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー
1301 ワードを説明文に含む項目すべてを隣のバッファに表示します。
1303 もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ
1304 からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを
1305 調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに
1306 対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め
1307 たいと思います。
1309 @node Cooperation with other packages - 他パッケージとの連携, Customizations - カスタマイズ, Online help - オンラインヘルプ, Top
1310 @comment node-name, next, previous, up
1311 @chapter 他パッケージとの連携
1312 @cindex 他パッケージとの連携[たぱっけーじとのれんけい]
1314 @section gmhist
1315 @cindex gmhist
1316 @cindex コマンドヒストリ[こまんどひすとり]
1317 @cindex ヒストリ[ひすとり]
1319 @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ
1320 マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の
1321 時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押
1322 すと直前に利用したコマンド文字列をくり返し呼び出すことができます。
1324 @section min-out
1325 @cindex min-out
1327 @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ
1328 とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。
1330 @node Customizations - カスタマイズ, Etc - その他, Cooperation with other packages - 他パッケージとの連携, Top
1331 @comment node-name, next, previous, up
1332 @chapter カスタマイズ
1333 @cindex カスタマイズ[かすたまいず]
1334 @cindex キーアサイン[きーあさいん]
1336 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入
1337 力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ
1338 せることなどができます。
1340 @menu
1341 * Lisp variables - lisp 変数::
1342 * Add-in functions - 付加関数(アドイン関数)::
1343 @end menu
1345 @node Lisp variables - lisp 変数, Add-in functions - 付加関数(アドイン関数), Customizations - カスタマイズ, Customizations - カスタマイズ
1346 @comment node-name, next, previous, up
1347 @section lisp 変数
1348 @cindex prefixキー変更[prefixきーへんこう]
1350 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、
1351 @code{YaTeX-prefix }に prefix キーにしたいシンボルを定義してください。さら
1352 に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使
1353 いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t}
1354 に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c
1355 C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ
1356 ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ
1357 トして下さい。)。
1359 @menu
1360 * All customizable variables - カスタマイズ変数一覧::
1361 * Sample definitions - カスタマイズ変数設定例::
1362 * Hook variables - hook変数::
1363 * Hook file - hook用ファイル::
1364 @end menu
1366 @node All customizable variables - カスタマイズ変数一覧, Sample definitions - カスタマイズ変数設定例, Lisp variables - lisp 変数, Lisp variables - lisp 変数
1367 @comment node-name, next, previous, up
1368 @subsection カスタマイズ変数一覧
1369 @cindex カスタマイズ変数一覧[かすたまいずへんすういちらん]
1371 yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で
1372 @code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値
1373 です。
1375 @table @samp
1376 @item YaTeX-prefix
1378 yatex-mode 中のプリフィクスキー(@kbd{C-c})
1380 @item YaTeX-inhibit-prefix-letter
1382 prefix キーの直後のキーバインドで@kbd{英字}のものを@kbd{C-英字}に変更
1383 (@code{nil})
1385 @item YaTeX-fill-prefix
1387 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)})
1389 @item YaTeX-open-lines
1391 \begin{環境}と\end{環境}のあいだの空白行数 (0)
1393 @item YaTeX-user-completion-table
1395 学習したLa@TeX{}コマンド保存ファイル名(@code{"~/.yatexrc"})
1397 @item YaTeX-kanji-code
1399 文書を作成する時の漢字コード1=Shift JIS, 2=JIS, 3=EUC(2 (MS-DOSでは1))
1401 @item YaTeX-item-regexp
1403 itemの桁揃えの時に用いる、itemの正規表現(@code{"\\\\item"})
1405 @item tex-command
1407 La@TeX{}タイプセッタコマンド名 (@code{"jlatex"})
1409 @item dvi2-command
1411 プレヴューアコマンド名(@code{"xdvi -geo +0+0 -s 4 -display (getenv"DISPLAY")"})
1413 @item dviprint-command-format
1415 dviファイルの印刷に使われるコマンド式(@code{"dvi2ps %f %t %s | lpr"})
1417 @item dviprint-from-format
1419 上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変
1420 わる(@code{"-f %b"})
1422 @item dviprint-to-format
1424 @code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる
1425 (@code{"-t %e"})
1427 @item section-name
1429 最初のsection型補完の規定値(@code{"documentstyle"})
1431 @item env-name
1433 最初のbegin型補完の規定値(@code{"document"})
1435 @item fontsize-name
1437 最初のlarge型補完の規定値(@code{"large"})
1439 @item single-command
1441 最初のmaketitle型補完の規定値(@code{"maketitle"})
1442 @item YaTeX-need-nonstop
1444 @code{\nonstopmode@{@}}を自動的に付加するか(@code{nil})
1446 @item latex-warning-regexp
1448 latexコマンドの出力するウォーニング行の正規表現(@code{"line.* [0-9]*"})
1450 @item latex-error-regexp
1452 同じくエラー行の正規表現(@code{"l\\.[1-9][0-9]*"})
1454 @item latex-dos-emergency-message
1456 MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ
1457 セージ (@code{"Emergency stop"})
1459 @item latex-message-kanji-code
1461 jlatex コマンドの出力するメッセージの漢字コード.タイプセットバッファ
1462 の出力が化ける時は、これを設定する(2, Nemacsでのみ有効)
1464 @item NTT-jTeX
1466 NTT-j@TeX{}使用時@code{t}にする(@code{nil})
1468 @item YaTeX-item-regexp
1470 item化コマンドの正規表現(@code{"\\\\(sub\\)*item"})
1472 @item YaTeX-nervous
1474 ローカル辞書を用いる時 @code{t} (@code{t})
1476 @item YaTeX-sectioning-regexp
1478 セクション区切り設定コマンドの正規表現
1479 (@code{"part\\|chapter\\|\\(sub\\)*\\(section\\|paragraph\\)"})
1481 @item YaTeX-fill-inhibit-environments
1483 fill を抑止する環境名のリスト(@code{'("verbatim" "tabular")})
1485 @item YaTeX-uncomment-once
1487 領域uncommentで行頭の複数の@code{%}を全て削除するか(@code{nil})
1489 @item YaTeX-close-paren-always
1491 開き括弧の入力で常に閉じ括弧を入力する(@code{t})
1493 @item YaTeX-auto-math-mode
1495 数式モードの切り替えを自動的に行う。(@code{nil})
1497 @item YaTeX-default-pop-window-height
1499 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字
1500 文字列でEmacsウィンドウに対する百分率(10)。
1502 @item YaTeX-help-file
1504 共用ヘルプファイル(@file{$EMACS/etc/YATEXHLP.jp})
1506 @item YaTeX-help-file-private
1508 個人用ヘルプファイル(@file{"~/YATEXHLP.jp"})
1510 @item YaTeX-no-begend-shortcut
1512 @kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完
1513 入力に入る(@kbd{nil})
1514 @end table
1516 @node Sample definitions - カスタマイズ変数設定例, Hook variables - hook変数, All customizable variables - カスタマイズ変数一覧, Lisp variables - lisp 変数
1517 @comment node-name, next, previous, up
1518 @subsection カスタマイズ変数設定例
1519 @cindex 設定例[せっていれい]
1521 たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ
1522 イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変
1523 えたいときは、
1525 @lisp
1526 (setq YaTeX-prefix "\e"
1527 YaTeX-user-completion-table "~/src/emacs/yatexrc"
1528 YaTeX-fill-prefix " ")
1529 @end lisp
1531 @noindent
1532 を @file{~/.emacs} に加えます。
1534 @node Hook variables - hook変数, Hook file - hook用ファイル, Sample definitions - カスタマイズ変数設定例, Lisp variables - lisp 変数
1535 @comment node-name, next, previous, up
1536 @subsection hook変数
1537 @cindex hook変数[hook変数]
1538 @cindex yatex-mode-hook
1539 @cindex yatex-mode-load-hook
1541 また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用
1542 意しています。すべての yatex-mode のバッファで作用させたいものは、
1543 @code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ
1544 せたいものは@code{yatex-mode-load-hook} に記述します。例えば、
1545 @code{outline-minor-mode} を利用する場合、それぞれのバッファで
1546 @code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次
1547 のように設定します。
1549 @lisp
1550 (setq yatex-mode-hook
1551 '(lambda () (outline-minor-mode t)))
1552 @end lisp
1554 @noindent
1555 逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用
1556 します。例えば、begin 型補完において、 document や、enumerate 以外の環境名
1557 もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、
1558 @kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を
1559 挿入します。
1561 @lisp
1562 (setq yatex-mode-load-hook
1563 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
1564 @end lisp
1566 なお、新たなキーの定義には、関数 @code{YaTeX-define-key}
1567 @code{YaTeX-define-begend-key}を利用するようにしてください。
1569 @node Hook file - hook用ファイル, , Hook variables - hook変数, Lisp variables - lisp 変数
1570 @comment node-name, next, previous, up
1571 @subsection hook用ファイル
1573 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、
1574 @file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、
1575 初期化の時に自動的にロードします。
1578 @node Add-in functions - 付加関数(アドイン関数), , Lisp variables - lisp 変数, Customizations - カスタマイズ
1579 @comment node-name, next, previous, up
1580 @section 付加関数(アドイン関数)
1582 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す
1583 るための関数を作成することができます。この関数の作成方法や、組み込み方法に
1584 関しては、@code{yatexadd.doc} をご覧ください。
1586 @node Etc - その他, Copying - 取り扱い, Customizations - カスタマイズ, Top
1587 @comment node-name, next, previous, up
1588 @chapter その他
1590 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ
1591 れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した
1592 いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標
1593 準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ
1594 せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ
1595 う。
1597 @node Copying - 取り扱い, , Etc - その他, Top
1598 @comment node-name, next, previous, up
1599 @chapter 取り扱い
1601 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな
1602 る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた
1603 しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい
1604 ただくと、作者は喜んでサポートに励むことでしょう(ほんとか)。
1606 苦情、希望、バグ報告、感想等、作者が本プログラムに興味を持ってい
1607 る間に限り受け付けます。連絡は pcs39334@@asciinet.or.jp または、
1608 yuuji@@ae.keio.ac.jpまで(1995年3月現在)。
1610 仕様は、予告なく確実に(気分次第で)変更されます:-p。
1612 @flushright
1613 広瀬雄二
1614 @end flushright
1616 @bye
1618 @c Local Variables:
1619 @c fill-column: 74
1620 @c fill-prefix: nil
1621 @c End:
1623 Tag table:
1625 End tag table