yatex

view docs/yatexj.tex @ 69:807c1e7e68b7

yahtml-escape-chars-region Translate <>"& to entity reference. And inverse translation to above. yahtml-translate-hyphens-when-comment-region yahtml-prefer-upcase-attributes Inquire .htaccess file to determine the file-coding-system. Completions for StyleSheet. ---yahtml--- Auto insert of \), \|, \] after corresponding \(, \| \]. [prefix] c for \right\left parens.
author yuuji
date Thu, 15 Jul 1999 04:58:26 +0000
parents 0eb6997bee16
children 44e3a5e1e883
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 @c いつも忘れるのでここに書いとくか。
9 @c C-l C-c n でノード入れ
10 @c ノードいじったら C-l C-u C-n 全部のノード更新 C-l C-u C-e
11 @c メニュー増やしたら C-l C-u C-m 全部のメニュー更新 C-l C-u C-a
12 @c フォーマットするときは C-l C-e C-b
13 @syncodeindex vr cp
14 @end iftex
16 @titlepage
17 @sp 10
18 @center
19 @subtitle Yet Another tex-mode for emacs
20 @title 『野鳥』
21 @subtitle // YaTeX //
22 @author @copyright{} 1991-1999 by HIROSE, Yuuji [yuuji@@gentei.org]
23 @end titlepage
25 @node Top, Intro, (dir), (dir)
26 @comment node-name, next, previous, up
28 @menu
29 * Intro:: はじめに
30 * Terminology:: マニュアル参照上の注意
31 * Main features:: 主な機能
32 * Installation:: インストール
33 * Invocation:: プロセス起動
34 * %#notation :: %#記法
35 * Completion:: 補完入力
36 * Local dictionary:: ローカル辞書
37 * Commenting out:: コメントアウト
38 * Cursor jump:: カーソルジャンプ
39 * Modifying/Deleting:: LaTeXコマンドの変更/削除
40 * Filling:: 桁揃え
41 * Includeonly:: 勝手に includeonly
42 * What column:: カラム位置ガイド
43 * Intelligent newline:: おまかせ改行
44 * Changing mode of YaTeX:: 野鳥動作モード変更
45 * Online help:: LaTeXオンラインヘルプ
46 * Inclusion hierarchy browser:: ファイル分割階層構造の表示
47 * Cooperation with other packages:: 他パッケージとの連携
48 * Customizations:: カスタマイズ
49 * Etc:: その他
50 * Copying:: 取り扱い
51 * Concept Index:: 索引
53 --- The Detailed Node Listing ---
55 latexコマンド起動
57 * Calling typesetter:: タイプセッタ起動
58 * Calling previewer:: プレヴューア起動
59 * Print out:: プリントアウト用コマンドの起動
61 %#記法
63 * Changing typesetter:: タイプセット用コマンドの変更
64 * Splitting input files:: 入力ファイル分割
65 * Fix region for typesetting:: 領域の固定
66 * lpr format:: プリントアウトコマンド用フォーマット
67 * Editing %# notation:: %#記法の編集
69 補完入力
71 * begin型補完::
72 * section型補完::
73 * large型補完::
74 * maketitle型補完::
75 * Arbitrary completion:: 随時補完
76 * end補完::
77 * Accent mark completion:: アクセント記号補完
78 * Image completion:: 数式記号イメージ補完
79 * Greek letter completion:: ギリシャ文字補完
81 section型補完
83 * 2個以上の引数をとる section型コマンド::
84 * Enclose section-type command:: 括り補完
85 * Recursive completion:: 再帰補完
86 * view-sectioning:: セクション区切りのアウトライン表示
88 カーソルジャンプ
90 * 対応オブジェクトへのジャンプ::
91 * お絵描きツール起動::
92 * メインファイルへのジャンプ::
93 * 環境を単位としたジャンプ::
94 * 最後の補完位置へのジャンプ::
96 変更/削除
98 * Changing LaTeX command:: La@TeX{} コマンドの変更
99 * Killing LaTeX command:: La@TeX{} コマンドの削除
101 カスタマイズ
103 * Lisp variables:: lisp 変数
104 * Add-in functions:: 付加関数(アドイン関数)
106 lisp 変数
108 * All customizable variables:: カスタマイズ変数一覧
109 * Sample definitions:: カスタマイズ変数設定例
110 * Hook variables:: hook変数
111 * Hook file:: hook用ファイル
112 @end menu
114 @node Intro, Terminology, Top, Top
115 @comment node-name, next, previous, up
116 @chapter はじめに
117 @cindex Demacs
118 @cindex Mule
119 @cindex LaTeX
120 @cindex やちょう[やちよう]
122 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に jLa@TeX{} などの
123 タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から
124 行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ
125 ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに
126 よりマニュアルを調べる手間を軽減します。
128 English manual @xref{Top, , , yatexe,YaTeX English info}
130 @node Terminology, Main features, Intro, Top
131 @comment node-name, next, previous, up
132 @chapter 本マニュアル参照上の注意
134 本マニュアルでは以下の表記を用います。
136 @itemize @bullet
137 @item
138 begin型コマンド
140 @code{\begin@{環境@} 〜 \end@{環境@}}という形式のLaTeXコマンドを指します。
141 begin型コマンドを補完入力することをbegin型補完と呼びます。
143 @item
144 section型コマンド
146 @code{\section@{タイトル@}}や@code{\mbox@{内容@}}のように
147 引数を取るLaTeXコマンドを指します。
149 @item
150 maketitle型コマンド
152 @code{\maketitle}や@code{\tableofcontents}のように引数を取らないLaTeXコマ
153 ンドを指します。
155 @item
156 large型コマンド
158 @code{@{\large ...@}} や @code{@{\tt ...@}} のようなフォント/サイズ指定子
159 を指します。
161 @item @kbd{[prefix]}
163 野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは@kbd{C-c}に割り
164 当てられているので、特に変更していない場合本マニュアルの @kbd{[prefix]} と
165 いう表記は、@kbd{C-c} と読み換えてください。
166 @end itemize
168 @node Main features, Installation, Terminology, Top
169 @comment node-name, next, previous, up
170 @chapter 主な機能
172 @itemize @bullet
173 @item タイプセッタやプレヴューアなどの編集画面からの起動(@kbd{C-c t})
174 @item カーソル位置によらない固定リジョンの部分タイプセット
175 @item \includeonlyのワンタッチ更新
176 @item エラー箇所への自動ジャンプ(@kbd{C-c '})
177 @item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{}
178 コマンドの補完入力
179 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
180 @item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完
181 (@kbd{C-u} +通常補完キー)
182 @item セクション区切り入力時の文書構造アウトライン表示
183 @item セクションコマンドの一括シフト (@ref{view-sectioning})
184 @item 補完辞書の学習
185 @item La@TeX{} の環境やコマンドに応じたガイド付き引数入力
186 @item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el})
187 @item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c})
188 @item ファイル間、@code{\begin}<->@code{\end}間、
189 @code{\ref}<->@code{\label}間、
190 @code{\cite}<->@code{\bibitem}ジャンプ(@kbd{C-c g})
191 @item 一括コメントアウト/アンコメントアウト
192 (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .})
193 @item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援
194 (@kbd{C-c a}, @kbd{;}, @kbd{/})
195 @item tabular/array環境のカラム位置ガイド
196 @item 標準的 La@TeX{} コマンドのオンラインヘルプ(@kbd{C-c ?}, @kbd{C-c /})
197 @item ドキュメントのインクルード構造の視覚的表示とバッファ切り替え
198 (@kbd{C-c d})
199 @end itemize
201 @node Installation, Invocation, Main features, Top
202 @comment node-name, next, previous, up
203 @chapter 起動法
204 @cindex Install
205 @cindex インストール[いんすとおる]
206 @cindex .emacs
207 @cindex auto-mode-alist
208 @cindex autoload
209 @section 野鳥起動のための設定
211 ~/.emacsに下の2項目を加えます。
213 @lisp
214 (setq auto-mode-alist
215 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
216 (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
217 @end lisp
219 次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。
220 たとえば、 @file{~/src/emacs/yatex}に置くのであれば、
222 @lisp
223 (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))
224 @end lisp
226 @noindent
227 などとします。
229 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が
230 ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」
231 に変わります。
233 @section タイプセッタ/プレヴューア環境の設定
235 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更
236 します。
237 @table @code
238 @item tex-command
239 @dots{} 起動するタイプセッタのコマンド名
240 @item dvi2-command
241 @dots{} 起動するプレヴューアのコマンド名
242 @item NTT-jTeX
243 @dots{} 改行+インデントによって、タイプセット後の字間が空いてしま
244 うのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れる)。具体的には、
245 fillするときに各行の終わりに%を付加するようになる。
246 @item YaTeX-kanji-code
247 @dots{} 文書を作成する時の漢字コード
248 @item dviprint-command-format
249 @dots{} ファイルの印刷に使われるコマンド列の書式
250 @item makeindex-command
251 @dots{} makeindexコマンド
252 @end table
254 これらを変更する場合は、やはり@file{~/.emacs}にて、たとえば
255 @lisp
256 (setq tex-command "bigjlatex")
257 @end lisp
258 のようにしてください。どのような値をセットすれば良いかについては、
259 @ref{All customizable variables}を参照してください。
262 @node Invocation, %#notation , Installation, Top
263 @comment node-name, next, previous, up
264 @chapter latexコマンド起動
265 @cindex prefix key
266 @cindex C-c
267 @cindex タイプセッタ[たいふせつた]
268 @cindex プレヴューア[ふれひゆうあ]
269 @cindex jlatex
270 @cindex プリントアウト[ふりんとあうと]
272 LaTeXソースの編集中、次のキー入力により、jlatex などのタイプセットプログラ
273 ム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。
275 @table @kbd
276 @item [prefix] t j
277 @dots{} タイプセッタ(jlatex)起動
278 @item [prefix] t r
279 @dots{} タイプセッタ起動(領域指定)
280 @item [prefix] t k
281 @dots{} 動作中のタイプセッタの停止
282 @item [prefix] t b
283 @dots{} jbibtex起動
284 @item [prefix] t p
285 @dots{} プレヴューア起動
286 @item [prefix] t l
287 @dots{} lpr(プリントアウト用)コマンド起動
288 @item [prefix] t s
289 @dots{} xdvi -remote でのサーチ
290 @end table
292 @menu
293 * Calling typesetter:: タイプセッタ起動
294 * Calling previewer:: プレヴューア起動
295 * Print out:: プリントアウト用コマンドの起動
296 @end menu
298 @node Calling typesetter, Calling previewer, Invocation, Invocation
299 @comment node-name, next, previous, up
300 @section タイプセッタ起動
301 @cindex タイプセッタ起動[たいふせつたきとう]
302 @cindex タイプセットエラー[たいふせつとえらあ]
303 @cindex エラー修正[えらあしゆうせい]
305 タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド
306 ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ
307 トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって
308 しまった場合にはタイプセットバッファに移り、(@kbd{C-x o}) タイプセッタの出
309 している ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることが
310 できます。エラーを修正する場合は、
312 @table @kbd
313 @item [prefix] '
314 @itemx (prefix+アポストロフィ)
315 @dots{} 直前のエラー発生行へジャンプ
316 @end table
318 を入力することにより、タイプセッタがエラーを発生した行に移ることができます。
319 また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し
320 ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング
321 発生行にジャンプしていきます。
323 もし、気になるエラー行があった場合は、タイプセットバッファで、エ
324 ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{}
325 ソースの対応する行にジャンプします。
327 @subsection 領域タイプセット
329 ポイントとマークの間、あるいはテキスト中に埋め込んだ @code{%#BEGIN} と
330 @code{%#END}の間の領域(@ref{%#notation})だけを切り取ってタイプセットすることが
331 できます。この場合の documentstyle は、単一ファイルの La@TeX{} ソースの編
332 集時にはそのファイルの documentstyle が、別ファイルから include している場
333 合にはメインファイルの documentstyle が自動的に選択されます。指定領域は、
334 メインファイルのあるディレクトリの@file{texput.tex}という臨時ファイルに出
335 力されますので、上書きには注意してください。
337 @node Calling previewer, Print out, Calling typesetter, Invocation
338 @comment node-name, next, previous, up
339 @section プレヴューア起動
340 @kbd{[prefix] t p} によりプレヴューアの起動ができます。さらに、もしあな
341 たが、-remote 機能つきのxdviを利用している場合は @kbd{[prefix] t s} を押す
342 ことによりカーソル位置の文字列を検索してそのページを表示するようにすでに起
343 動中のxdviに命令を送ります。これにより、現在編集中の箇所のタイプセット結果
344 を即座に見ることができます。なお、-remote 機能付きの xdvi は
345 @code{ftp://ftp.ae.keio.ac.jp/pub/text/xdvi/xdvi-remote}
346 などから入手することができます。
348 @node Print out, , Calling previewer, Invocation
349 @comment node-name, next, previous, up
350 @section プリントアウト
352 @kbd{[prefix] t l}を押してプリントアウトを指示すると、出力開始/終了ペー
353 ジを聞いてくるので、それぞれに答えます。これを省略したい時は、
354 universal-argument をつけ、
356 @cindex 出力開始ページ[しゆつりよくかいしへえし]
357 @cindex 出力終了ページ[しゆつりよくしゆうりようへえし]
359 @table @kbd
360 @item C-u [prefix] t l
361 @dots{} ページ確認省略lpr起動
362 @end table
363 @cindex ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう]
365 @noindent
366 のように起動してください。
368 @node %#notation , Completion, Invocation, Top
369 @comment node-name, next, previous, up
370 @chapter %#記法
372 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等
373 の制御をすることができます。
375 @menu
376 * Changing typesetter:: タイプセット用コマンドの変更
377 * Splitting input files:: 入力ファイル分割
378 * Fix region for typesetting:: 領域の固定
379 * lpr format:: プリントアウトコマンド用フォーマット
380 * Editing %# notation:: %#記法の編集
381 @end menu
383 @node Changing typesetter, Splitting input files, %#notation , %#notation
384 @comment node-name, next, previous, up
385 @section タイプセット用コマンド変更
387 起動するコマンドを変えたい時は本文中に次のような行を書きます。
389 @cindex 起動するコマンドを変える[きとうするこまんとをかえる]
391 @example
392 %#!jlatex-ntt
393 @end example
395 NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。
397 @cindex タイプセッタの使い分け[たいふせつたのつかいわけ]
399 @node Splitting input files, Fix region for typesetting, Changing typesetter, %#notation
400 @comment node-name, next, previous, up
401 @section 入力ファイル分割
403 また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から
404 @file{sub.tex}を @code{\include}しているような時は、@file{sub.tex}の任意の
405 位置に次のような行を埋め込みます。
407 @example
408 %#!jlatex main.tex
409 @end example
411 @cindex 入力ファイル分割[にゆうりよくふあいるふんかつ]
413 上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま
414 shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便
415 利です。
417 @cindex ghostview
419 @example
420 %#!jlatex main ; dvi2ps main.dvi > main
421 @end example
423 なお、この行の最後の単語のピリオド以前を「メインファイル」のベース
424 ネームであると仮定します(上の2つの場合どちらも@file{main})。
426 @kbd{[prefix] g} (@ref{Cursor jump}参照) での
427 ファイル間ジャンプを有効に機能させるため、入力ファイル分割時には次のことに
428 注意して下さい。
430 @enumerate
431 @item
432 サブディレクトリを作って、その中にサブファイルを置くことはできるが
433 サブディレクトリのサブディレクトリには置けない。
434 @item
435 メインファイルからサブディレクトリ内のファイルを include
436 する時には、相対パス指定を用いて、
437 @code{\include{chap1/sub}}のように記述。
438 @item
439 メインファイルが一つ上のディレクトリにある場合も、サブファイルには
440 %#!jlatex main.tex のように記述する(../mainではない)。
441 @end enumerate
445 @node Fix region for typesetting, lpr format, Splitting input files, %#notation
446 @comment node-name, next, previous, up
447 @section 領域の固定
448 @cindex 固定領域のタイプセット[こていりよういきのたいふせつと]
449 @cindex %#BEGIN
450 @cindex %#END
452 @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、
453 @kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま
454 すが、必ず決まった領域をタイプセットしたい場合は、その領域を
456 @example
457 %#BEGIN
458 <渡したい領域>
459 %#END
460 @end example
462 @noindent
463 のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」
464 に置いてください。この時の領域決定規則をまとめると次のようになります。
467 @enumerate
468 @item
469 カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが
470 ある場合
472 @enumerate
473 @item
474 @code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ
475 た場合。
476 @result{}@code{%#BEGIN} から、その @code{%#END} のある位置まで。
477 @item
478 @code{%#END} が見つからなかった場合。
479 @result{}バッファの最後尾まで。
480 @end enumerate
481 @cindex 領域決定規則[りよういきけつていきそく]
483 @item
484 カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが
485 見つからなかった場合。
486 @result{}マーク(@kbd{C-SPC}位置)とポイント(カーソル位置)の間の領域。
487 @end enumerate
489 tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行
490 に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく
491 と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半
492 に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND
493 の消し忘れには十分ご注意下さい。
494 @cindex 長いファイルの編集[なかいふあいるのへんしゆう]
496 @node Require, lpr format, Fix region for typesetting, %#notation
497 @comment node-name, next, previous, up
499 @node lpr format, Editing %# notation, Fix region for typesetting, %#notation
500 @comment node-name, next, previous, up
501 @section lprフォーマット
502 @cindex lprふぉーまっと[lprふおおまつと]
503 @cindex lprフォーマット[lprふおおまつと]
504 @cindex lpr format
506 まず、プリントアウト用コマンド列のフォーマットについて説明します。
507 コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ
508 フォルトの dvi2ps 用のフォーマットを例に説明します。
510 @table @code
511 @item (1)dviprint-command-format
512 @code{"dvi2ps %f %t %s | lpr"}
514 @item (2)dviprint-from-format
515 @code{"-f %b"}
517 @item (3)dviprint-to-format
518 @code{"-t %e"}
519 @end table
521 実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が
522 (2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は
523 「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ
524 ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。
526 この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の
527 ソーステキスト中の任意の場所に、
529 @example
530 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
531 @end example
533 @noindent
534 のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう
535 にする時に
537 @example
538 %#LPR dvi2ps %s | lpr
539 @end example
541 @noindent
542 などとするのも便利かもしれません。
544 @node Editing %# notation, , lpr format, %#notation
545 @comment node-name, next, previous, up
546 @section %#記法自体の編集
547 @cindex %#記法自体の編集[%#きほうしたいのへんしゆう]
549 以上のような@code{%#}で始まる各種制御記法を編集するためには
551 @table @kbd
552 @item [prefix] %
553 @dots{} @code{%#}@var{記法編集メニュー}
554 @end table
556 @noindent
557 を押します。
559 @example
560 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
561 @end example
563 @noindent
564 というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には
565 @kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか
566 じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、
567 @kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた
568 @code{%#BEGIN}, @code{%#END} が自動的に消去されます。
569 @cindex lprフォーマットの変更[lprふおおまつとのへんこう]
571 @node Completion, Local dictionary, %#notation , Top
572 @comment node-name, next, previous, up
573 @chapter 補完入力
575 La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること
576 ができます。
578 @menu
579 * begin型補完::
580 * section型補完::
581 * large型補完::
582 * maketitle型補完::
583 * Arbitrary completion:: 随時補完
584 * end補完::
585 * Accent mark completion:: アクセント記号補完
586 * Image completion:: 数式記号イメージ補完
587 * Greek letter completion:: ギリシャ文字補完
588 @end menu
590 @node begin型補完, section型補完, Completion, Completion
591 @comment node-name, next, previous, up
592 @section begin型補完
593 @cindex begin型補完[beginかたほかん]
594 @cindex 環境名の補完[かんきようめいのほかん]
595 @cindex prefix b
597 @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と
598 呼ぶことにします。begin 型補完は、
600 @table @kbd
601 @item [prefix] b
602 @dots{} begin 型補完開始(標準では @kbd{C-c b})
603 @end table
605 @noindent
606 で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b}
607 に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成
608 させます。
610 @table @kbd
611 @item [prefix] b c
612 @dots{} @code{\begin@{center@}...\end@{center@}}
613 @item [prefix] b d
614 @dots{} @code{\begin@{document@}...\end@{document@}}
615 @item [prefix] b D
616 @dots{} @code{\begin@{description@}...\end@{description@}}
617 @item [prefix] b e
618 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
619 @item [prefix] b E
620 @dots{} @code{\begin@{equation@}...\end@{equation@}}
621 @item [prefix] b i
622 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
623 @item [prefix] b l
624 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
625 @item [prefix] b m
626 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
627 @item [prefix] b t
628 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
629 @item [prefix] b T
630 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
631 @item [prefix] b ^T
632 @dots{} @code{\begin@{table@}...\end@{table@}}
633 @item [prefix] b p
634 @dots{} @code{\begin@{picture@}...\end@{picture@}}
635 @item [prefix] b q
636 @dots{} @code{\begin@{quote@}...\end@{quote@}}
637 @item [prefix] b Q
638 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
639 @item [prefix] b r
640 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
641 @item [prefix] b v
642 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
643 @item [prefix] b V
644 @dots{} @code{\begin@{verse@}...\end@{verse@}}
645 @end table
647 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて
648 入力します(上記の環境名も以下の補完入力可能)。
650 @table @kbd
651 @item [prefix] b @key{SPC}
652 @dots{} begin 型補完入力
653 @end table
655 @kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに
657 @example
658 Begin environment(default document):
659 @end example
661 @noindent
662 と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい
663 るデフォルトの環境名が入力されますが、適当な環境名を入力すると、
664 @code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ
665 ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、
666 一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、
667 入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専
668 用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル
669 トでは @file{~/.yatexrc})に保存します。
671 さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自
672 動挿入します(例: @code{itemize}環境における@code{\item}など)。挿入されたエ
673 ントリが不要な場合にはundoによって消去して下さい。
674 @cindex ユーザ辞書[ゆうさししよ]
676 @subsection 既に書いたテキストを環境で括る
678 ところで、最初に書いてしまったブロックを後から、itemize 環境の中
679 に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ
680 閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]}
681 の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、
682 @kbd{C-u} を先に打ち、universal argument をつけても可能です)
683 @cindex ブロック[ふろつく]
684 @cindex 閉じ込める[としこめる]
686 例えばあるパラグラフを description 環境の中に入れたいときは、
687 そのパラグラフをマークしてから、
689 @table @kbd
690 @item [prefix] B D
691 @itemx (または ESC 1 [prefix] b D)
692 @itemx (または C-u [prefix] b D など)
693 @end table
695 とタイプしてください。これは、@kbd{[prefix] b SPC}の補完入力にもあてはまり、
696 @kbd{b} を大文字に変えて、@kbd{[prefix] B SPC} とタイプすれば、あらかじめ
697 マークしておいたリジョンを、begin と end の環境で括ります。
699 @node section型補完, large型補完, begin型補完, Completion
700 @comment node-name, next, previous, up
701 @section section型補完
702 @cindex section型補完[sectionかたほかん]
703 @cindex prefix s
705 @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ
706 とにします。section 型補完は、
708 @table @kbd
709 @item [prefix] s
710 @dots{} section 型補完
711 @end table
713 @noindent
714 で実行します。@kbd{[prefix] s} を入力するとミニバッファに、
716 @example
717 (C-v for view-section) \???@{@} (default documentstyle):
718 @end example
720 @noindent
721 というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ
722 ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ
723 れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ
724 る補完機能が有効です。 次に、@{@}の中身の入力を促す、
726 @example
727 \section@{???@}:
728 @end example
730 @noindent
731 というプロンプトが現れるので、セクションのタイトルなどを入力します。
732 たとえば、
734 @example
735 (C-v for view-section) \???@{@} (default documentstyle): section
736 \section@{???@}: 目的
737 @end example
739 @noindent
740 のように入力した場合は、文章中に
742 @example
743 \section@{目的@}
744 @end example
746 @noindent
747 が挿入され、
749 @example
750 (C-v for view-section) \???@{@} (default section): vspace*
751 \vspace*@{???@}:
752 @end example
754 @noindent
755 のように@{@}の中身を省略したときは、
757 @example
758 \vspace*@{@}
759 @end example
761 @noindent
762 だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。
764 @menu
765 * 2個以上の引数をとる section型コマンド::
766 * Enclose section-type command:: 括り補完
767 * Recursive completion:: 再帰補完
768 * view-sectioning:: セクション区切りのアウトライン表示
769 @end menu
771 @node 2個以上の引数をとる section型コマンド, Enclose section-type command, section型補完, section型補完
772 @comment node-name, next, previous, up
773 @subsection 2個以上の引数をとる section型コマンド
774 @cindex 引数[ひきすう]
776 ところで、@samp{\addtolength{\topmargin}{8mm}} などのように、引数を二つ
777 以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、
778 section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength}
779 の例であれば、引数2を指定します。つまり、
781 @example
782 C-u 2 [prefix] s (または、ESC 2 [prefix] s)
783 @end example
785 @noindent
786 と section 型補完を呼び出した後、
788 @example
789 (Ctrl-v for view-section) \???@{@} (default vspace*): addtolength
790 \addtolength@{???@}: \topmargin
791 Argument 2: 8mm
792 @end example
794 @noindent
795 のように入力してください。最初の addtolength の部分と、第一引数である
796 \topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録
797 される La@TeX{} コマンドには、この引数の数も学習されるので、最初の補完の時
798 引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数
799 を聞いて来るようになります。あとで引数の個数を変えたい時は、再び @kbd{C-u}
800 を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新しま
801 す。
802 @cindex 引数の個数を変える[ひきすうのこすうをかえる]
805 @node Enclose section-type command, Recursive completion, 2個以上の引数をとる section型コマンド, section型補完
806 @subsection 既に書いたテキストを括る
807 @cindex 括る[くくる]
809 また、起動コマンドの@kbd{s}を大文字に変えて起動すると、あらかじめ書
810 いた文章を section 型コマンドの第一引数として括ります。
812 @node Recursive completion, view-sectioning, Enclose section-type command, section型補完
813 @comment node-name, next, previous, up
814 @subsection 再帰補完
815 @cindex 再帰補完[さいきほかん]
817 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに
818 補完入力を利用することができます(section/large/maketitle型に限る)。section
819 型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の
820 補完キーを再帰的に入力することで引数の入力も効率的に行なえます。
822 @node view-sectioning, , Recursive completion, section型補完
823 @comment node-name, next, previous, up
824 @subsection セクション区切りのアウトライン表示
825 @cindex アウトライン[あうとらいん]
827 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク
828 ション区切りコマンド全てを @code{*Sectioning Lines*}というバッファに一覧表
829 示します(「<<--」のついている行がもっとも近いセクション区切り)。この時ミニ
830 バッファで@kbd{C-p}, @kbd{C-n} を押すと@samp{part}, @samp{chapter}, ...,
831 @samp{subparagraph} のコマンドが論理階層の高さにしたがって上下します。また、
832 @kbd{C-v}, @kbd{M-v} を押すとセクション区切り一覧バッファがスクロールし、
833 数字の@kbd{0}〜@kbd{7}を押すとある高さ以上のセクション区切りだけを選んで表
834 示します(実際にやって見れば分かります)。
836 @code{*Sectioning Lines*}バッファは、
838 @table @kbd
839 @item M-x YaTeX-section-overview
840 @dots{} セクション区切り一覧バッファを生成
841 @end table
843 @cindex セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ]
844 で作成することができます。このバッファを選択し任意の行でスペースを押すと、
845 該当するセクション区切りのある本文中の場所にジャンプします。さらに、同バッ
846 ファで @kbd{u} を押すと、ソーステキストの対応するセクションコマンドが一階
847 層上がり(例: subsection が section に変わる)、@kbd{d}を押すと一階層下がり
848 ます。@code{*Sectioning Lines*}バッファにあるセクション区切りの行をマーク
849 しておいて@kbd{U}を押すとリジョン内のものに対応するソーステキストのセクショ
850 ンコマンドすべてが一階層上がり、@kbd{D}を押すと下がります。セクション区切
851 り一覧バッファで利用できるキーコマンドには以下のものがあります。
853 @table @kbd
854 @item SPC
855 @dots{} 対応するソース行へジャンプ
856 @item .
857 @dots{} 対応するソース行を表示
858 @item u
859 @dots{} カーソル位置に対応するセクションコマンドを一階層上げる
860 @item d
861 @dots{} カーソル位置に対応するセクションコマンドを一階層下げる
862 @item U
863 @dots{} マークしたセクションコマンドを一階層上げる
864 @item D
865 @dots{} マークしたセクションコマンドを一階層上げる
866 @item 0〜6
867 @dots{} レベル n 以下のセクションコマンドを隠して表示
868 @end table
870 @cindex 論理階層[ろんりかいそう]
871 @cindex セクション区切り[せくしよんくきり]
872 @cindex ジャンプ[しやんふ]
874 @node large型補完, maketitle型補完, section型補完, Completion
875 @comment node-name, next, previous, up
876 @section large型補完
877 @cindex large型補完[largeかたほかん]
878 @cindex prefix l
880 @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。
882 @table @kbd
883 @item [prefix] l
884 @dots{} large 型補完開始
885 @end table
887 @noindent
888 がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに
890 @example
891 @{\??? @} (default large):
892 @end example
894 @noindent
895 と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意
896 されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定
897 子と、@samp{bf}や@samp{dg}のようなフォント指定子です。
898 @cindex 文字サイズ指定子[もしさいすしていし]
899 @cindex フォント指定子[ふおんとしていし]
901 @subsection 既に書いた文字を括る
902 @cindex 括る[くくる]
904 また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ
905 を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文
906 字の範囲をマークしてから、呼び出しキーを @kbd{[prefix] L} と、大文字の L
907 に変えて呼び出せば、そのリジョン全体が、ブレースで囲まれます。
909 @node maketitle型補完, Arbitrary completion, large型補完, Completion
910 @comment node-name, next, previous, up
911 @section maketitle型補完
912 @cindex maketitle型補完[maketitleかたほかん]
913 @cindex prefix m
915 @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。
917 @table @kbd
918 @item [prefix] m
919 @dots{} maketitle 型補完開始
920 @end table
922 @noindent
923 で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで
924 す。La@TeX{} 用のコマンド名が補完候補として用意されています。
926 @node Arbitrary completion, end補完, maketitle型補完, Completion
927 @comment node-name, next, previous, up
928 @section 随時補完
929 @cindex 随時補完[すいしほかん]
930 @cindex prefix SPC
932 さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今
933 入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ
934 ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、
936 @table @kbd
937 @item [prefix] SPC
938 @dots{} 随時補完
939 @end table
941 @noindent
942 を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入
943 されます。
945 @node end補完, Accent mark completion, Arbitrary completion, Completion
946 @comment node-name, next, previous, up
947 @section end補完
948 @cindex end補完[endほかん]
949 @cindex prefix e
951 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま
952 す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で
953 @code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ
954 のような時には気にせず続けて文章を入力し、しかるのちに
956 @table @kbd
957 @item [prefix] e
958 @dots{} end 補完
959 @end table
961 @noindent
962 とすることで、現在開いている環境名で \end{} が補われます。
964 @node Accent mark completion, Image completion, end補完, Completion
965 @comment node-name, next, previous, up
966 @section アクセント記号補完
967 @cindex アクセント記号補完[あくせんときこうほかん]
968 @cindex prefix a
969 @cindex 欧文[おうふん]
971 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、
973 @table @kbd
974 @item [prefix] a
975 @dots{} アクセント記号入力
976 @end table
978 @noindent
979 を押すと、ミニバッファに
981 @example
982 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
983 @end example
985 @noindent
986 というメニューが出て来るので、数字、または対応する記号/英字を入力
987 して下さい。すると編集バッファに、
989 @example
990 \`@{@}
991 @end example
993 @noindent
994 があらわれ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、
996 @example
997 \`@{o@}
998 @end example
1000 @noindent
1001 が完成され、カーソルは@{@}の外に戻ります。
1003 @node Image completion, Greek letter completion, Accent mark completion, Completion
1004 @comment node-name, next, previous, up
1005 @section 数式記号イメージ補完
1006 @cindex 数式記号イメージ補完[すうしききこういめえしほかん]
1007 @cindex イメージ補完[いめえしほかん]
1008 @cindex ;
1009 @cindex 数式モード[すうしきもおと]
1010 @cindex 矢印[やしるし]
1011 @cindex Σ[しくま]
1012 @cindex leftarrow
1013 @cindex ∞[むけんたい]
1015 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力
1016 で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ
1017 動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、
1018 @kbd{:}に特殊な機能を持たせます。
1020 さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」
1021 のようにしますが、これを利用して、数式記号イメージ入力モードで
1022 @code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と
1023 入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する
1024 場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--}
1025 と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう
1026 にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。
1028 これらの操作をまとめると次のようになります。
1030 @example
1031 INPUT 入力される La@TeX{} コマンド
1032 ; < - @code{\leftarrow}
1033 ; < - - @code{\longleftarrow}
1034 ; < - - > @code{\longleftrightarrow}
1035 ; o @code{\circ}
1036 ; o o @code{\infty}
1037 @end example
1040 @noindent
1041 いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ
1042 に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても
1043 構いません。
1045 @cindex ;自身[;ししん]
1046 数式環境中で@samp{;}自身を入力するには@kbd{;;}のようにします。イメージ
1047 入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま
1048 す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで
1049 その La@TeX{} コマンドがバッファに挿入されます。
1051 どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した
1052 直後にTABを押してください。以下の例は、@kbd{;<}と押した後にTABを押したもの
1053 です。
1055 @example
1056 KEY LaTeX sequence sign
1057 < \leq ≦
1058 << \ll 《
1059 <- \leftarrow ←
1060 <= \Leftarrow <=
1061 @end example
1063 左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と
1064 いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ
1065 う。ものによってはASCII文字で表現することが困難なので、あまり覚え
1066 やすいキー並びではないものがあるでしょうから、そのような場合は
1067 \maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単
1068 純なキー並びのものを設定すると良いでしょう。
1070 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は
1071 Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。
1072 その内容とデフォルトのものを合わせたものが対応表として使用されます(private
1073 の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参
1074 照してください。
1075 @cindex YaTeX-math-sign-alist-private
1077 @node Greek letter completion, , Image completion, Completion
1078 @comment node-name, next, previous, up
1079 @section ギリシャ文字補完
1080 @cindex ギリシャ文字補完[きりしやもしほかん]
1081 @cindex :
1083 もう一つ、数式環境中で@kbd{:}を押すとギリシャ文字入力モードに入ります。
1084 @kbd{:}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと
1085 @code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。
1086 操作方法は;の数式記号補完とまったく同じです。まずは@kbd{:}の直後に
1087 TABを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて
1088 ください。
1090 @kbd{;}と@kbd{:}を数式環境中で押しているにもかかわらず、イメージ補完が働
1091 かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ
1092 とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう
1093 な状態で数式環境内判定に失敗したかをご連絡下さい。
1095 @node Local dictionary, Commenting out, Completion, Top
1096 @comment node-name, next, previous, up
1097 @chapter ローカル辞書
1098 @cindex ローカル辞書[ろおかるししよ]
1099 @cindex .yatexrc
1101 補完入力用の候補は三種類の辞書から構成されています。一つは
1102 @file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用
1103 するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで
1104 のみ有効なコマンドを保存する「ローカル辞書」です。
1106 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて
1107 来ます。
1109 @example
1110 `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard
1111 @end example
1113 @noindent
1114 というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える
1115 とローカル辞書を更新し、@kbd{n}と答えると辞書ファイルは更新せず現在のEmacs
1116 セッションのみ有効な単語とし、@kbd{d}と答えると新たな単語を学習せずに捨て
1117 ることになります。
1119 もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場
1120 合には@file{~/.emacs}などで、
1121 @cindex YaTeX-nervous
1123 @lisp
1124 (setq YaTeX-nervous nil)
1125 @end lisp
1127 @noindent
1128 として下さい。
1130 @node Commenting out, Cursor jump, Local dictionary, Top
1131 @comment node-name, next, previous, up
1132 @chapter コメントアウト
1133 @cindex コメントアウト[こめんとあうと]
1134 @cindex prefix <
1135 @cindex prefix >
1136 @cindex prefix .
1137 @cindex prefix ,
1140 La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト
1141 したり、コメントを外したりしたいことがあります。
1143 @table @kbd
1144 @item [prefix] >
1145 @dots{} リジョンを % でコメントアウト
1146 @item [prefix] <
1147 @dots{} リジョンの % のコメントを外す
1148 @end table
1150 @noindent
1151 は、あらかじめ設定したリジョンに対しての操作、
1153 @table @kbd
1154 @item [prefix] .
1155 @dots{} 現在のパラグラフをコメントアウト
1156 @item [prefix] ,
1157 @dots{} 現在のパラグラフのコメントを外す
1158 @end table
1160 @noindent
1161 は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう
1162 「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し
1163 ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ
1164 ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し
1165 た場合の動作は保証しませんので御注意ください。
1167 さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対
1168 してもコメントアウトの操作をしたいときがあります。このようなときは、
1169 @code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、
1171 @table @kbd
1172 @item [prefix] >
1173 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト
1174 @item [prefix] <
1175 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す
1176 @end table
1178 @noindent
1179 とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、
1181 @table @kbd
1182 @item [prefix] .
1183 @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト
1184 @item [prefix] ,
1185 @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す
1186 @end table
1188 は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と
1189 します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ
1190 ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ
1191 ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの
1192 で注意して下さい。
1194 @node Cursor jump, Modifying/Deleting, Commenting out, Top
1195 @comment node-name, next, previous, up
1196 @chapter カーソルジャンプ
1197 @cindex カーソルジャンプ[かあそるしやんふ]
1198 @cindex prefix g
1201 @menu
1202 * 対応オブジェクトへのジャンプ::
1203 * お絵描きツール起動::
1204 * メインファイルへのジャンプ::
1205 * 環境を単位としたジャンプ::
1206 * 最後の補完位置へのジャンプ::
1207 @end menu
1209 @node 対応オブジェクトへのジャンプ, お絵描きツール起動, Cursor jump, Cursor jump
1210 @comment node-name, next, previous, up
1211 @section 対応オブジェクトへのジャンプ
1213 文書中のいろいろな場所で
1215 @table @kbd
1216 @item [prefix] g
1217 @dots{} 対応するオブジェクトにジャンプ
1218 @end table
1220 @noindent
1221 を押すことにより、カーソル位置のLa@TeX{}コマンドに対応する場所にジャンプ
1222 します。対応関係が存在すると解釈されるコマンドには以下のものがあります。
1224 @itemize @bullet
1225 @item @code{\begin@{@}} ←→ @code{\end@{@}}
1226 @item @code{%#BEGIN} ←→ @code{%#END}
1227 @item 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動
1228 @item @code{\label@{@}} ←→ @code{\ref@{@}}
1229 @item @code{\include(\input)} → 対応するファイル
1230 @item @code{\bibitem@{@}} ←→ @code{\cite@{@}}
1231 @end itemize
1233 @code{\begin@{@}} か @code{\end@{@}} の行で@kbd{[prefix] g}を押すことに
1234 より、対応する@code{end/begin}の行にジャンプします。もちろん対応するものが
1235 ない場合はエラーになります。またこれは、領域固定のための @code{%#BEGIN} と
1236 @code{%#END} のペアに対しても同様に動作します。なお、@code{label/ref}や
1237 @code{cite/bibitem}対応するものが別ファイルにある時は、ジャンプ先となるファ
1238 イルがオープンされていなければなりません。@xref{%#notation}
1239 メインの .tex ファイルの @code{\include{chap1}} などにカーソルを合わせ、
1240 @kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。
1242 また、
1244 @table @kbd
1245 @item [prefix] 4 g
1246 @dots{} 別ウィンドウで対応オブジェクトにジャンプ
1247 @end table
1249 @noindent
1250 を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、
1251 この機能は @code{begin/end}, @code{%#BEGIN/%#END} 間のジャンプに対しては
1252 (意味がないと思われるので)機能しないので注意してください。
1254 @node お絵描きツール起動, メインファイルへのジャンプ, 対応オブジェクトへのジャンプ, Cursor jump
1255 @comment node-name, next, previous, up
1256 @section お絵描きツール起動
1257 @cindex お絵描きツール起動[おえかきつうるきとう]
1259 上記の「画像ファイルの取り込みマクロ」とは、例えば
1260 @code{\epsfile@{file=foo@}} のような挿絵取り込みコマンドのことで、この行に
1261 カーソルを合わせて@kbd{[prefix] g}を押すとその画像ファイルの元となったファ
1262 イルを対応するお絵描きツールを起動してオープンします。起動するツールの判定
1263 は以下のようになされます。
1265 @enumerate
1266 @item
1267 カレント行が変数 @code{YaTeX-processed-file-regexp-alist} に定義さ
1268 れている正規表現のいずれかとマッチしたら、ファイル名に相当する部分を
1269 \\(\\)から抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に
1270 入れておく)。マッチしなければ何もしない。
1271 @item
1272 行末に、変数 @code{YaTeX-file-processor-alist} に登録されているコマンドが
1273 「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名.拡張子」を
1274 起動。
1275 @item
1276 なければ、変数 @code{YaTeX-file-processor-alist} の各リストのcdr部に入って
1277 いる拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べて、存
1278 在した場合car部に入っているコマンドを起動する。
1279 @item
1280 以上どれかにマッチしなければあきらめる。
1281 @end enumerate
1284 変数 @code{YaTeX-file-processor-alist} と変数
1285 @code{YaTeX-file-processor-alist} の設定方法についてはそれぞれの変数につい
1286 て describe-variable して説明を読んで下さい。うまく設定すると、画像ファイ
1287 ルにかぎらず、任意の形式のファイルを任意のプロセッサで処理するコマンドを簡
1288 単に呼び出すことができます。
1290 @node メインファイルへのジャンプ, 環境を単位としたジャンプ, お絵描きツール起動, Cursor jump
1291 @comment node-name, next, previous, up
1292 @section メインファイルへのジャンプ
1294 @file{chap1.tex}のようなサブファイルで、
1296 @table @kbd
1297 @item [prefix] ^
1298 @dots{} メインファイルにジャンプ
1299 @item [prefix] 4 ^
1300 @dots{} 別ウィンドウでメインファイルにジャンプ
1301 @end table
1303 @noindent
1304 を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを
1305 オープンしていない場合は、カレントディレクトリから探して自動的にオープンし
1306 ます。
1308 @node 環境を単位としたジャンプ, 最後の補完位置へのジャンプ, メインファイルへのジャンプ, Cursor jump
1309 @comment node-name, next, previous, up
1310 @section 環境を単位としたジャンプ
1312 さらに現在の環境を単位として機能するコマンドに以下のものがあります。
1314 @cindex 環境の先頭へ[かんきようのせんとうへ]
1315 @cindex 環境の末尾へ[かんきようのまつひへ]
1316 @cindex 環境をマーク[かんきようをまあく]
1317 @cindex M-C-a
1318 @cindex M-C-e
1319 @cindex M-C-@@
1320 @table @kbd
1321 @item M-C-a
1322 @dots{} 環境の先頭(@code{\begin})へジャンプ
1323 @item M-C-e
1324 @dots{} 環境の末尾(@code{\end})へジャンプ
1325 @item M-C-@@
1326 @dots{} 環境全体をマーク
1327 @end table
1329 上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク
1330 スとして機能するのでご注意下さい。
1332 @node 最後の補完位置へのジャンプ, , 環境を単位としたジャンプ, Cursor jump
1333 @comment node-name, next, previous, up
1334 @section 最後の補完位置へのジャンプ
1336 野鳥は補完入力した位置を常にレジスタ @code{3}に保存しています。
1337 入力途中で如何なるファイルの如何なる位置に行ったとしても、
1338 @kbd{C-x j 3}(@code{jump-to-register})を使って直ちに最後の補完入力位置に戻
1339 ることができます。
1341 @node Modifying/Deleting, Filling, Cursor jump, Top
1342 @comment node-name, next, previous, up
1343 @chapter 変更/削除
1344 @cindex 変更/削除[へんこう/さくしよ]
1345 @cindex prefix c
1346 @cindex prefix k
1348 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意
1349 されています。
1351 @table @kbd
1352 @item [prefix] c
1353 @dots{} カーソル位置の La@TeX{} コマンドの変更
1354 @item [prefix] k
1355 @dots{} カーソル位置の La@TeX{} コマンドの削除
1356 @end table
1358 @noindent
1359 これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し
1360 て下さい。
1362 @menu
1363 * Changing LaTeX command:: La@TeX{} コマンドの変更
1364 * Killing LaTeX command:: La@TeX{} コマンドの削除
1365 @end menu
1367 @node Changing LaTeX command, Killing LaTeX command, Modifying/Deleting, Modifying/Deleting
1368 @comment node-name, next, previous, up
1369 @section La@TeX{} コマンドの変更
1371 変更したい La@TeX{} コマンドにカーソルを合わせて @kbd{[prefix] c}
1372 を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。
1373 @kbd{[prefix] c} で変更できるコマンドには以下のものがあります。
1375 @itemize
1376 @item @code{begin/end} の環境名
1377 @item section型コマンドのコマンド名
1378 @item section型コマンドの引数
1379 @item section型コマンドのオプションパラメータ([]で囲まれたもの)
1380 @item large型コマンド
1381 @item (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド
1382 @end itemize
1384 変えたいsection型コマンドの引数がさらに La@TeX{} コマンドを含む場合は、
1385 その引数を囲む中括弧の上で @kbd{[prefix] c} を押すことで中のコマンドを変更
1386 対象判定から除外することができます。
1388 @cindex 環境名の変更[かんきようめいのへんこう]
1390 @node Killing LaTeX command, , Changing LaTeX command, Modifying/Deleting
1391 @comment node-name, next, previous, up
1392 @section La@TeX{} コマンドの削除
1394 @kbd{[prefix] k} は起動する位置により
1395 次のような動作を行います。
1396 @cindex 環境の削除[かんきようのさくしよ]
1399 @example
1400 起動位置 動作
1401 \begin, \endの行 @code{\begin\end}ペアの削除
1402 %#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除
1403 section型コマンドの上(中) section型コマンドの削除
1404 フォント指定括弧の上 フォント指定の削除
1405 括弧の上 対をなす括弧の削除
1406 @end example
1408 @noindent
1409 @code{\begin, \end} および @code{%#BEGIN, %#END} を削除する場合、
1410 @code{\begin, \end} や @code{%#BEGIN, %#END} の存在する行は
1411 まるごと削除されるので、それらの一行に @code{\begin} などを二つ以上連ねて
1412 書かないように注意してください。
1413 上記のものはすべて本文を囲う「容器」を削除するように働きますが、
1414 universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、
1415 それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし
1416 て下さい。
1418 @example
1419 元のテキスト: [prefix] k C-u [prefix] k
1420 本文\footnote@{脚注@}です。 本文脚注です。 本文です。
1421 ↑(カーソル位置)
1422 @end example
1424 @node Filling, Includeonly, Modifying/Deleting, Top
1425 @comment node-name, next, previous, up
1426 @chapter 桁揃え
1427 @cindex 桁揃え[けたそろえ]
1429 @section itemの桁揃え
1430 @cindex itemなどの桁揃え[itemなとのけたそろえ]
1431 @cindex prefix i
1433 itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項
1434 目の先頭を桁揃えしたい場合には、
1436 @c @table @kbd
1437 @c @item [prefix] i
1438 @c @dots{} itemの桁揃え
1439 @c @end table
1441 @table @kbd
1442 @item M-q
1443 @dots{} 桁揃え
1444 @end table
1446 @cindex NTT-jTeX[えぬていいていいしえいてつく]
1447 @noindent
1448 によって、その item のインデントの深さに応じて fill されます。なお、古い
1449 NTT jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセッ
1450 トして下さい。
1452 @cindex YaTeX-item-regexp
1453 このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を
1454 項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ
1455 マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、
1456 @file{~/.emacs} で次のように指定して下さい。
1458 @lisp
1459 (setq YaTeX-item-regexp
1460 "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)")
1461 @end lisp
1463 @noindent
1464 この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を
1465 @code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。
1467 野鳥の @kbd{M-q} では @code{\item} を環境に応じて以下のように「ハングイン
1468 デント」します。
1470 @example
1471 itemize, enumerate環境:
1472 >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま
1473 > すが、これの日本語版ともいえる単語が「ほげほげ」
1474 > です。
1475 description環境:
1476 > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第
1477 > 2のでたらめな単語として「へろへろ」が使われることが多
1478 > いようです。
1479 @end example
1481 @section パラグラフの桁揃え
1482 @cindex パラグラフの桁揃え[はらくらふのけたそろえ]
1483 @cindex M-q
1485 itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと同じ
1486 ように機能しますが、verbatim環境や、tabular環境など桁揃えをすると悲惨な状
1487 況になるような環境中では機能しません。また、\verb で括ってあるものは決して
1488 行分割されません(変数 @code{YaTeX-verb-regexp} で制御) )。さらに、一時的に
1489 インデントの深さを変えてある箇所では、そのインデントの先頭で@kbd{M-q}を押
1490 すことにより fill-prefix をいちいち変更しなくて桁揃えができます。
1493 @node Includeonly, What column, Filling, Top
1494 @comment node-name, next, previous, up
1495 @chapter 勝手にincludeonly
1496 @cindex 勝手にincludeonly[かつてにincludeonly]
1497 @cindex includeonly
1499 ファイルを分割して文章を入力している時には、メインファイル中に
1501 @example
1502 \includeonly@{現在編集中のファイル名@}
1503 @end example
1505 @noindent
1506 のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の
1507 ファイルを手直ししたい時には
1508 @cindex 他のファイルの手直し[ほかのふあいるのてなおし]
1510 @example
1511 \includeonly@{ちょっと手直ししたいファイル名@}
1512 @end example
1514 @noindent
1515 と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル
1516 名がメインファイルの@code{\includeonly}にない場合には自動的にこれを検出し、
1517 次の指示を仰ぎます。
1519 @example
1520 A)dd R)eplace %)comment?
1521 @end example
1523 @noindent
1524 現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a}
1525 を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{r}を、
1526 @code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を
1527 それぞれ押して下さい。
1529 @node What column, Intelligent newline, Includeonly, Top
1530 @comment node-name, next, previous, up
1531 @chapter ここはどこ?
1532 @cindex ここはどこ?[ここはとこ?]
1533 @cindex prefix &
1534 @cindex 複雑なtabular[ふくさつなtabular]
1536 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて
1537 いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以
1538 下のような tabular において、
1540 @example
1541 \begin@{tabular@}{|c|c|c|c|c|c|c|c|}\hline
1542 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline
1543 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy &
1544 zzz-www & トンガ & 9876-54321 \\
1545 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@}
1546 &&&(???)
1547 \\ \hline
1548 \end@{tabular@}
1549 @end example
1551 @noindent
1552 (???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、
1554 @table @kbd
1555 @item [prefix] &
1556 @dots{} 現在のカラム表示
1557 @end table
1558 @cindex 現在のカラム表示[けんさいのからむひようし]
1560 を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま
1561 す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま
1562 す。もし項目名として別のものを表示して欲しい場合は、行頭を@code{%}にしてダ
1563 ミーの項目並びを作っておくと良いでしょう。
1565 @node Intelligent newline, Changing mode of YaTeX, What column, Top
1566 @comment node-name, next, previous, up
1567 @chapter おまかせ改行
1568 @cindex おまかせ改行[おまかせかいきよう]
1569 @cindex &入力[&にゆうりよく]
1571 tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力し
1572 た時、または各環境内で
1574 @table @kbd
1575 @item ESC RET
1576 @dots{} おまかせ改行
1577 @end table
1579 @noindent
1580 を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時に自
1581 動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、
1582 tabular環境では、その環境のカラム数に対応した個数の @code{&} に加え、行末
1583 の @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け
1584 加えます。環境とそれに応じて自動入力するものの対応は以下のようになります。
1586 @itemize
1587 @item @code{tabular}, @code{tabular*}, @code{array}
1589 カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline}
1591 @item @code{tabbing}
1593 一行目で定義している @code{\=} と同じ個数の @code{\>}。
1595 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
1597 @code{\item} または @code{item[]}
1598 @end itemize
1600 tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す
1601 るので、なるべく二行目以降で呼び出すようにしてください。
1603 もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作
1604 させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義
1605 します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま
1606 す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに
1607 インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ
1608 いでしょう。@file{yatexenv.el}内の関数
1609 @code{YaTeX-intelligent-newline-itemize} の定義などを参考にしてください。
1611 @node Changing mode of YaTeX, Online help, Intelligent newline, Top
1612 @comment node-name, next, previous, up
1613 @chapter 野鳥の動作モード切り替え
1614 @cindex モード切り替え[もうときりかえ]
1615 @cindex prefix w
1617 @table @kbd
1618 @item [prefix] w
1619 @dots{} 野鳥動作モード切り替えメニュー
1620 @end table
1622 @noindent
1623 で野鳥自身の動作を決定する以下のモードを切り替えます。
1625 @itemize @bullet
1626 @item 修正モード
1627 @item 野鳥数式モード
1628 @end itemize
1630 修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は開き
1631 括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧の入力だ
1632 けで閉じ括弧まで入力します。デフォルト(起動時)の設定は@emph{OFF}です。
1634 野鳥数式モードは、変数 @code{YaTeX-auto-math-mode} が @code{nil} の時の
1635 み有効で、このとき@kbd{;}や@kbd{:}を押した時(@ref{Image completion}参照)に、
1636 どのようなイメージ補完を機能させるか、通常のキーとして機能させるかを手動で
1637 切り替えます。自動判定が遅いマシンでは@code{YaTeX-auto-math-mode}
1638 @code{nil}にセットし、野鳥数式モードを手動で切り替えると良いでしょう。
1641 @node Online help, Inclusion hierarchy browser, Changing mode of YaTeX, Top
1642 @comment node-name, next, previous, up
1643 @chapter オンラインヘルプ
1644 @cindex オンラインヘルプ[おんらいんへるふ]
1645 @cindex apropos
1646 @cindex キーワード検索[きいわあとけんさく]
1647 @cindex prefix ?
1648 @cindex prefix /
1650 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル
1651 プをひきましょう。ヘルプに関するキーには以下のものがあります。
1653 @table @kbd
1654 @item [prefix] ?
1655 @dots{} オンラインヘルプ
1656 @item [prefix] /
1657 @dots{} オンラインapropos
1658 @end table
1660 @section オンラインヘルプ
1661 @cindex グローバルヘルプ[くろおはるへるふ]
1662 @cindex プライベートヘルプ[ふらいへえとへるふ]
1663 @cindex YaTeX-help-file
1664 @cindex YaTeX-help-file-private
1666 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル
1667 位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ
1668 ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ
1669 り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数
1670 @code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ
1671 フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように
1672 全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ
1673 クロ定義に関する説明が書かれているファイルで、変数
1674 @code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ
1675 レクトリの下などに置かれます。
1677 @section オンラインapropos
1679 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー
1680 ワードを説明文に含む項目すべてを隣のバッファに表示します。
1682 もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ
1683 からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを
1684 調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに
1685 対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め
1686 たいと思います。
1688 @node Inclusion hierarchy browser, Cooperation with other packages, Online help, Top
1689 @comment node-name, next, previous, up
1690 @chapter インクルード構造ブラウザ
1691 @cindex インクルード構造[いんくるうとこうそう]
1692 @cindex prefix d
1694 複数のファイルに分割しているドキュメントを書いている場合、
1696 @table @kbd
1697 @item [prefix] d
1698 @dots{} インクルード構造ブラウズ
1699 @end table
1701 @noindent
1702 を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイル
1703 の親となるファイル(デフォルトが示されているので大抵はRETのみ)を入力すると
1704 インクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示
1705 します。このバッファでは以下のキー操作が有効です。
1707 @table @kbd
1708 @item n
1709 @dots{} 次の行に移動し対応するファイルを隣のバッファに表示
1710 @item p
1711 @dots{} 上の行に移動し対応するファイルを隣のバッファに表示
1712 @item N
1713 @dots{} 同じインクルードレベルの次のファイルに移動
1714 @item P
1715 @dots{} 同じインクルードレベルの前のファイルに移動
1716 @item j
1717 @dots{} 次の行に移動
1718 @item k
1719 @dots{} 上の行に移動
1720 @item u
1721 @dots{} 一代親にあたるファイルに移動
1722 @item .
1723 @dots{} カーソル位置のファイルを隣のバッファに表示
1724 @item SPC
1725 @dots{} 隣のバッファの対応ファイルをスクロールアップ
1726 @item DEL, b
1727 @dots{} 隣のバッファの対応ファイルをスクロールダウン
1728 @item <
1729 @dots{} 隣のバッファの対応ファイルの先頭を表示
1730 @item >
1731 @dots{} 隣のバッファの対応ファイルの末尾を表示
1732 @item '
1733 @dots{} (@kbd{<}や@kbd{>}の後で)元の表示位置に戻る
1734 @item RET, g
1735 @dots{} カーソル位置のファイルを隣のバッファでオープン
1736 @item mouse-2
1737 @dots{} RETと同じ(ウィンドウ使用時のみ)
1738 @item o
1739 @dots{} 隣のウィンドウに移動
1740 @item 1
1741 @dots{} 他のウィンドウを消す
1742 @item -
1743 @dots{} ブラウズウィンドウを小さくする
1744 @item +
1745 @dots{} ブラウズウィンドウを大きくする
1746 @item ?
1747 @dots{} ヘルプ表示
1748 @item q
1749 @dots{} 表示前の状態に戻る
1750 @end table
1752 ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応する
1753 ファイルをクローズしてしまうとうまく働きませんのでご注意ください。
1755 @node Cooperation with other packages, Customizations, Inclusion hierarchy browser, Top
1756 @comment node-name, next, previous, up
1757 @chapter 他パッケージとの連携
1758 @cindex 他パッケージとの連携[たはつけえしとのれんけい]
1760 @section gmhist
1761 @cindex gmhist
1762 @cindex コマンドヒストリ[こまんとひすとり]
1763 @cindex ヒストリ[ひすとり]
1765 @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ
1766 マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の
1767 時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押
1768 すと直前に利用したコマンド文字列をくり返し呼び出すことができます。
1770 @section min-out
1771 @cindex min-out
1773 @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ
1774 とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。
1776 @node Customizations, Etc, Cooperation with other packages, Top
1777 @comment node-name, next, previous, up
1778 @chapter カスタマイズ
1779 @cindex カスタマイズ[かすたまいす]
1780 @cindex キーアサイン[きいあさいん]
1782 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入
1783 力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ
1784 せることなどができます。
1786 @menu
1787 * Lisp variables:: lisp 変数
1788 * Add-in functions:: 付加関数(アドイン関数)
1789 @end menu
1791 @node Lisp variables, Add-in functions, Customizations, Customizations
1792 @comment node-name, next, previous, up
1793 @section lisp 変数
1794 @cindex prefixキー変更[prefixきいへんこう]
1796 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、
1797 @code{YaTeX-prefix}に prefix キーにしたいシンボルを定義してください。さら
1798 に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使
1799 いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t}
1800 に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c
1801 C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ
1802 ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ
1803 トして下さい。)。
1805 @menu
1806 * All customizable variables:: カスタマイズ変数一覧
1807 * Sample definitions:: カスタマイズ変数設定例
1808 * Hook variables:: hook変数
1809 * Hook file:: hook用ファイル
1810 @end menu
1812 @node All customizable variables, Sample definitions, Lisp variables, Lisp variables
1813 @comment node-name, next, previous, up
1814 @subsection カスタマイズ変数一覧
1815 @cindex カスタマイズ変数一覧[かすたまいすへんすういちらん]
1817 yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で
1818 @code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値
1819 です。実際に変数の値を変更する場合は @kbd{M-x describe-variable} で
1820 変数の詳細な説明を参照してください。
1822 @defvar YaTeX-prefix
1823 yatex-mode 中のプリフィクスキー (@kbd{\C-c})
1824 @end defvar
1826 @defvar YaTeX-inhibit-prefix-letter
1827 prefix キーの直後のキーバインドで @kbd{英字} のものを @kbd{C-英字} に変更
1828 (@code{nil})
1829 @end defvar
1831 @defvar YaTeX-fill-prefix
1832 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)})
1833 @end defvar
1835 @defvar YaTeX-user-completion-table
1836 学習したLa@TeX{}コマンド保存ファイル名 (@code{"~/.yatexrc"})
1837 @end defvar
1839 @defvar YaTeX-kanji-code
1840 文書を作成する時の漢字コード 1=Shift JIS, 2=JIS, 3=EUC (2 (MS-DOSでは1))
1841 @end defvar
1843 @defvar tex-command
1844 La@TeX{}タイプセッタコマンド名 (@code{"jlatex"})
1845 @end defvar
1847 @defvar dvi2-command
1848 プレヴューアコマンド名 (@code{"xdvi -geo +0+0 -s 4"})
1849 @end defvar
1851 @defvar dviprint-command-format
1852 dviファイルの印刷に使われるコマンド式 (@code{"dvi2ps %f %t %s | lpr"})
1853 @end defvar
1855 @defvar dviprint-from-format
1856 上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変
1857 わる (@code{"-f %b"})
1858 @end defvar
1860 @defvar dviprint-to-format
1861 @code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる
1862 (@code{"-t %e"})
1863 @end defvar
1865 @defvar makeindex-command
1866 makeindexコマンド (@code{"makeindex"} (MS-DOSでは@code{"makeind"}))
1867 @end defvar
1869 @defvar section-name
1870 最初のsection型補完の規定値 (@code{"documentstyle"})
1871 @end defvar
1873 @defvar env-name
1874 最初のbegin型補完の規定値 (@code{"document"})
1875 @end defvar
1877 @defvar fontsize-name
1878 最初のlarge型補完の規定値 (@code{"large"})
1879 @end defvar
1881 @defvar single-command
1882 最初のmaketitle型補完の規定値 (@code{"maketitle"})
1883 @end defvar
1885 @defvar YaTeX-need-nonstop
1886 @code{\nonstopmode@{@}}を自動的に付加するか (@code{nil})
1887 @end defvar
1889 @defvar latex-warning-regexp
1890 latexコマンドの出力するウォーニング行の正規表現 (@code{"line.* [0-9]*"})
1891 @end defvar
1893 @defvar latex-error-regexp
1894 同じくエラー行の正規表現 (@code{"l\\.[1-9][0-9]*"})
1895 @end defvar
1897 @defvar latex-dos-emergency-message
1898 MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ
1899 セージ (@code{"Emergency stop"})
1900 @end defvar
1902 @defvar latex-message-kanji-code
1903 jlatex コマンドの出力するメッセージの漢字コード.タイプセットバッファ
1904 の出力が化ける時は、これを設定する (2, Nemacsでのみ有効)
1905 @end defvar
1907 @defvar NTT-jTeX
1908 古いNTT-j@TeX{}使用時のようにインデントした行の先頭と前の行の
1909 (タイプセット後の)字間が空いてしまうのを嫌う場合は@code{t}にする
1910 (@code{nil})
1911 @end defvar
1913 @defvar YaTeX-item-regexp
1914 itemの桁揃えの時に用いる、itemの正規表現 (@code{"\\\\(sub\\)*item"})
1915 @end defvar
1917 @defvar YaTeX-verb-regexp
1918 verbコマンドの正規表現。先頭の\\\\はつけない (@code{"verb\\*?\\|path"})
1919 @end defvar
1921 @defvar YaTeX-nervous
1922 ローカル辞書を用いる時 @code{t} (@code{t})
1923 @end defvar
1925 @defvar YaTeX-sectioning-regexp
1926 セクション区切り設定コマンドの正規表現
1927 (@code{"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"})
1928 @end defvar
1930 @defvar YaTeX-fill-inhibit-environments
1931 fill を抑止する環境名のリスト
1932 (@code{'("tabular" "tabular*" "array" "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim" "verbatim*")})
1933 @end defvar
1935 @defvar YaTeX-uncomment-once
1936 領域uncommentで行頭の複数の@code{%}を全て削除するか (@code{nil})
1937 @end defvar
1939 @defvar YaTeX-close-paren-always
1940 開き括弧の入力で常に閉じ括弧を入力する (@code{t})
1941 @end defvar
1943 @defvar YaTeX-auto-math-mode
1944 数式モードの切り替えを自動的に行う (@code{t})
1945 @end defvar
1947 @defvar YaTeX-math-key-list-private
1948 数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の
1949 alist (@code{nil})。補完テーブルの書き方については@file{yatexmth.el}を参照。
1950 @end defvar
1952 @defvar YaTeX-default-pop-window-height
1953 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字
1954 文字列でEmacsウィンドウに対する百分率 (10)
1955 @end defvar
1957 @defvar YaTeX-help-file
1958 共用ヘルプファイル (@file{$EMACS/etc/YATEXHLP.jp})
1959 @end defvar
1961 @defvar YaTeX-help-file-private
1962 個人用ヘルプファイル (@file{"~/YATEXHLP.jp"})
1963 @end defvar
1965 @defvar YaTeX-no-begend-shortcut
1966 @kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完
1967 入力に入る (@code{nil})
1968 @end defvar
1970 @defvar YaTeX-hilit-pattern-adjustment-private
1971 正規表現とそれにマッチするものの論理的意味をシンボルであらわしたものの
1972 リスト…のリスト。hilit19 を組み込んでいる時のみ有効。
1973 詳しくは @code{(assq 'yatex-mode hilit-patterns-alist)}
1974 した結果と、変数 @code{YaTeX-hilit-pattern-adjustment-default} の値(と場合
1975 によっては hilit19 のドキュメント)を参照せよ。
1976 @end defvar
1978 @defvar YaTeX-sectioning-level
1979 LaTeXのセクション単位宣言コマンドとその論理的高さのalist。
1980 @end defvar
1982 @defvar YaTeX-hierarchy-ignore-heading-regexp
1983 Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣言コマン
1984 ドの引数を検索し、それがなければコメント行を探すが、その際にヘッダとしては
1985 意味を持たないパターンをこの変数に設定する。デフォルトでは RCS ヘッダとモー
1986 ド指定行(-*- xxx -*-)が設定されている。
1987 @end defvar
1989 @defvar YaTeX-skip-default-reader
1990 Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数がなければ
1991 ミニバッファでの読み込みをせずに入力を完了させる (@code{nil})
1992 @end defvar
1994 @defvar YaTeX-create-file-prefix-g
1995 @code{\include}などで @kbd{prefix g}した時に、ジャンプ先が存在しないファイ
1996 ルであってもオープンする (@code{nil})
1997 @end defvar
1999 @defvar YaTeX-simple-messages
2000 各種補完時のメッセージ出力を簡素化する (@code{nil})
2001 @end defvar
2003 @defvar YaTeX-hilit-sectioning-face
2004 色付けが有効な時の @code{\part} の色
2005 (@code{'(yellow/dodgerblue yellow/slateblue)})。
2006 リストの第一要素は @code{hilit-background-mode} が @code{'light} の時の、
2007 第二要素は @code{'dark} の時の @code{\chapter} の色で、文字色/背景色 のよ
2008 うに指定する。
2009 @end defvar
2011 @defvar YaTeX-hilit-sectioning-attenuation-rate
2012 色付けが有効な時の、@code{\subparagraph} の色を @code{\chapter} の濃度の何
2013 %薄くしたものにするか (@code{'(15 40)}) @code{YaTeX-hilit-sectioning-face}
2014 の項参照。
2015 @end defvar
2017 @defvar YaTeX-use-AMS-LaTeX
2018 AMS-LaTeX を使用する場合は @code{t} に設定する (@code{nil})
2019 @end defvar
2021 @defvar YaTeX-template-file
2022 新規ファイル作成時に自動挿入するファイル名 (@code{~/work/template.tex})
2023 @end defvar
2025 @node Sample definitions, Hook variables, All customizable variables, Lisp variables
2026 @comment node-name, next, previous, up
2027 @subsection カスタマイズ変数設定例
2028 @cindex 設定例[せつていれい]
2030 たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ
2031 イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変
2032 えたいときは、
2034 @lisp
2035 (setq YaTeX-prefix "\e"
2036 YaTeX-user-completion-table "~/src/emacs/yatexrc"
2037 YaTeX-fill-prefix " ")
2038 @end lisp
2040 @noindent
2041 を @file{~/.emacs} に加えます。
2043 @node Hook variables, Hook file, Sample definitions, Lisp variables
2044 @comment node-name, next, previous, up
2045 @subsection hook変数
2046 @cindex hook変数[hookへんすう]
2047 @cindex yatex-mode-hook
2048 @cindex yatex-mode-load-hook
2050 また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用
2051 意しています。すべての yatex-mode のバッファで作用させたいものは、
2052 @code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ
2053 せたいものは@code{yatex-mode-load-hook} に記述します。例えば、
2054 @code{outline-minor-mode} を利用する場合、それぞれのバッファで
2055 @code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次
2056 のように設定します。
2058 @lisp
2059 (setq yatex-mode-hook
2060 '(lambda () (outline-minor-mode t)))
2061 @end lisp
2063 @noindent
2064 逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用
2065 します。例えば、begin 型補完において、 document や、enumerate 以外の環境名
2066 もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、
2067 @kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を
2068 挿入します。
2070 @lisp
2071 (setq yatex-mode-load-hook
2072 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
2073 @end lisp
2075 なお、新たなキーの定義には、関数 @code{YaTeX-define-key}
2076 @code{YaTeX-define-begend-key}を利用するようにしてください。
2078 @node Hook file, , Hook variables, Lisp variables
2079 @comment node-name, next, previous, up
2080 @subsection hook用ファイル
2082 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、
2083 @file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、
2084 初期化の時に自動的にロードします。
2087 @node Add-in functions, , Lisp variables, Customizations
2088 @comment node-name, next, previous, up
2089 @section 付加関数(アドイン関数)
2091 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す
2092 るための関数を作成することができます。この関数の作成方法や、組み込み方法に
2093 関しては、@code{yatexadd.doc} をご覧ください。
2095 @node Etc, Copying, Customizations, Top
2096 @comment node-name, next, previous, up
2097 @chapter その他
2099 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ
2100 れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した
2101 いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標
2102 準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ
2103 せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ
2104 う。
2106 @node Copying, Concept Index, Etc, Top
2107 @comment node-name, next, previous, up
2108 @chapter 取り扱い
2110 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな
2111 る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた
2112 しません。常識的に扱ってください。また、使用している旨をメイルでお知らせい
2113 ただくと、作者は喜んでサポートに励むことでしょう。
2115 苦情、希望、バグ報告、感想等は歓迎いたします。
2116 連絡は yuuji@@gentei.org まで(1999年5月現在)。
2117 継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に
2118 是非加入してください。加入方法については本パッケージの @file{docs/qanda}
2119 ファイルの「その他」の章を御覧ください。
2121 仕様は、予告なく確実に(気分次第で)変更されます:-p。
2123 @flushright
2124 広瀬雄二
2125 @end flushright
2127 @node Concept Index, , Copying, Top
2128 @comment node-name, next, previous, up
2129 @unnumbered 索引
2130 @printindex cp
2132 @c カスタマイズ変数索引を索引と分離する場合にはコメントアウトを外す!!!
2133 @c @node Variable Index
2134 @c @comment node-name, next, previous, up
2135 @c @unnumbered カスタマイズ変数索引
2136 @c @printindex vr
2138 @contents
2140 @bye
2142 @c Local Variables:
2143 @c fill-column: 74
2144 @c fill-prefix: nil
2145 @c End:
2147 Tag table:
2149 End tag table