yatex

view docs/yatexj.tex @ 611:e87c3271b8fd

Add "meter" and "progress" completions
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 17 Jul 2023 17:05:45 +0900
parents 355b28fc0025
children
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
5 @direntry
6 * YaTeX: (yatexj). Yet Another tex-mode for Emacs (Japanese).
7 @end direntry
9 @iftex
10 @c @syncodeindex fn cp
11 @c いつも忘れるのでここに書いとくか。
12 @c C-l C-c n でノード入れ
13 @c ノードいじったら C-l C-u C-n 全部のノード更新 C-l C-u C-e
14 @c メニュー増やしたら C-l C-u C-m 全部のメニュー更新 C-l C-u C-a
15 @c フォーマットするときは C-l C-e C-b
16 @c Last modified Sat Jan 6 23:49:50 2018 on firestorm
17 @syncodeindex vr cp
18 @end iftex
20 @titlepage
21 @sp 10
22 @center
23 @subtitle Yet Another tex-mode for emacs
24 @title 『野鳥』
25 @subtitle // YaTeX //
26 @author @copyright{} 1991-2017 by HIROSE, Yuuji [yuuji@@yatex.org]
27 @end titlepage
29 @node Top, Intro, (dir), (dir)
30 @comment node-name, next, previous, up
32 @menu
33 * Intro:: はじめに
34 * Terminology:: マニュアル参照上の注意
35 * Main features:: 主な機能
36 * Installation:: インストール
37 * Invocation:: プロセス起動
38 * %#notation ::
39 * Completion:: 補完入力
40 * Local dictionary:: ローカル辞書
41 * Commenting out:: コメントアウト
42 * Cursor jump:: カーソルジャンプ
43 * Modifying/Deleting:: LaTeXコマンドの変更/削除
44 * Filling:: 桁揃え
45 * Includeonly:: 勝手に includeonly
46 * What column:: カラム位置ガイド
47 * Intelligent newline:: おまかせ改行
48 * Usepackage cheker:: 先回りusepackage
49 * Changing mode of YaTeX:: 野鳥動作モード変更
50 * Online help:: LaTeXオンラインヘルプ
51 * Inclusion hierarchy browser:: ファイル分割階層構造の表示
52 * Cooperation with other packages:: 他パッケージとの連携
53 * Customizations:: カスタマイズ
54 * Etc:: その他
55 * Copying:: 取り扱い
56 * Concept Index:: 索引
58 @end menu
60 @node Intro, Terminology, Top, Top
61 @comment node-name, next, previous, up
62 @chapter はじめに
63 @cindex Demacs
64 @cindex Mule
65 @cindex LaTeX
66 @cindex やちょう[やちよう]
68 野鳥は、GNU Emacs で La@TeX{} 用の文書を作成する時に pLa@TeX{} などの
69 タイプセットコマンドや、プレヴューアの起動を Emacs 編集画面中から
70 行えるようにすると共に、拡張性の高い種々の補完機能によりソーステキ
71 ストの編集を支援します。さらに La@TeX{} コマンドのオンラインヘルプに
72 よりマニュアルを調べる手間を軽減します。
74 English manual @xref{Top, , , yatexe,YaTeX English info}.
76 @node Terminology, Main features, Intro, Top
77 @comment node-name, next, previous, up
78 @chapter 本マニュアル参照上の注意
80 本マニュアルでは以下の表記を用います。
82 @itemize @bullet
83 @item
84 begin型コマンド
86 @code{\begin@{環境@} 〜 \end@{環境@}}という形式のLaTeXコマンドを指します。
87 begin型コマンドを補完入力することをbegin型補完と呼びます。
89 @item
90 section型コマンド
92 @code{\section@{タイトル@}}や@code{\mbox@{内容@}}のように
93 引数を取るLaTeXコマンドを指します。
95 @item
96 maketitle型コマンド
98 @code{\maketitle}や@code{\tableofcontents}のように引数を取らないLaTeXコマ
99 ンドを指します。
101 @item
102 large型コマンド
104 @code{@{\large ...@}} や @code{@{\tt ...@}} のようなフォント/サイズ指定子
105 を指します。
107 @item @kbd{[prefix]}
109 野鳥の機能を呼び出すためのプリフィクスキー。デフォルトでは@kbd{C-c}に割り
110 当てられているので、特に変更していない場合本マニュアルの @kbd{[prefix]} と
111 いう表記は、@kbd{C-c} と読み換えてください。
112 @end itemize
114 @node Main features, Installation, Terminology, Top
115 @comment node-name, next, previous, up
116 @chapter 主な機能
118 @itemize @bullet
119 @item タイプセッタやプレヴューアなどの編集画面からの起動(@kbd{C-c t})
120 @item カーソル位置によらない固定リジョンの部分タイプセット
121 @item \includeonlyのワンタッチ更新
122 @item エラー箇所への自動ジャンプ(@kbd{C-c '})
123 @item @code{\begin@{@}, \end@{@}, \section...} などの La@TeX{}
124 コマンドの補完入力
125 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
126 @item 既に入力したテキストを環境やコマンド引数の中に取り込む括り補完
127 (リジョン指定後に通常補完キー)
128 @item セクション区切り入力時の文書構造アウトライン表示
129 @item セクションコマンドの一括シフト (@ref{view-sectioning})
130 @item 補完辞書の学習
131 @item La@TeX{} の環境やコマンドに応じたガイド付き引数入力
132 @item 野鳥にないガイド付き引数入力関数の自動生成(@file{yatexgen.el})
133 @item La@TeX{} コマンドの削除/変更(@kbd{C-c k}, @kbd{C-c c})
134 @item ファイル間、@code{\begin}<->@code{\end}間、
135 @code{\ref}<->@code{\label}間、
136 @code{\cite}<->@code{\bibitem}ジャンプ(@kbd{C-c g})
137 @item 一括コメントアウト/アンコメントアウト
138 (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .})
139 @item アクセント記号/数式環境用コマンド/ギリシャ文字の入力支援
140 (@kbd{C-c a}, @kbd{;}, @kbd{/})
141 @item tabular/array環境のカラム位置ガイド
142 @item 標準的 La@TeX{} コマンドのオンラインヘルプ(@kbd{C-c ?}, @kbd{C-c /})
143 @item ドキュメントのインクルード構造の視覚的表示とバッファ切り替え
144 (@kbd{C-c d})
145 @item 補完入力したマクロに応じて必要な \userpackage を入れてくれる先回り
146 userpackage
147 @item \labelを打つことはもう忘れよう! refやcite補完入力で自動生成します
148 @item 画像ファイルのドラッグ&ドロップによる自動 \includegraphics
149 @end itemize
151 @node Installation, Invocation, Main features, Top
152 @comment node-name, next, previous, up
153 @chapter 起動法
154 @cindex Install
155 @cindex インストール[いんすとおる]
156 @cindex .emacs
157 @cindex auto-mode-alist
158 @cindex autoload
159 @section 野鳥起動のための設定
161 ~/.emacsに下の2項目を加えます。
163 @lisp
164 (setq auto-mode-alist
165 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
166 (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
167 @end lisp
169 次に野鳥の emacs-lisp ファイル群を置くディレクトリを load-path に加えます。
170 たとえば、 @file{~/src/emacs/yatex}に置くのであれば、
172 @lisp
173 (setq load-path (cons (expand-file-name "~/src/emacs/yatex") load-path))
174 @end lisp
176 @noindent
177 などとします。
179 以上の設定により、拡張子が .tex であるファイルを編集すると自動的に野鳥が
180 ロードされます。野鳥が正常に起動できたときはモードラインの表示が「やてふ」
181 に変わります。
183 @section タイプセッタ/プレヴューア環境の設定
185 利用する外部プログラムに関する以下の変数を確認し、必要なら正しい値に変更
186 します。
187 @table @code
188 @item tex-command
189 @dots{} 起動するタイプセッタのコマンド名
190 @item dvi2-command
191 @dots{} 起動するプレヴューアのコマンド名
192 @item NTT-jTeX
193 @dots{} 改行+インデントによって、タイプセット後の字間が空いてしま
194 うのを抑制する場合にtにする(古いNTT-jTeXで顕著に現れる)。具体的には、
195 fillするときに各行の終わりに%を付加するようになる。
196 @item YaTeX-kanji-code
197 @dots{} 文書を作成する時の漢字コード
198 @item dviprint-command-format
199 @dots{} ファイルの印刷に使われるコマンド列の書式
200 @item YaTeX-dvipdf-command
201 @dots{} DVIをPDFに変換するコマンド
202 @end table
204 これらを変更する場合は、やはり@file{~/.emacs}にて、たとえば
205 @lisp
206 (setq tex-command "pdflatex")
207 @end lisp
208 のようにしてください。どのような値をセットすれば良いかについては、
209 @ref{All customizable variables}を参照してください。
212 @node Invocation, %#notation , Installation, Top
213 @comment node-name, next, previous, up
214 @chapter latexコマンド起動
215 @cindex prefix key
216 @cindex C-c
217 @cindex タイプセッタ[たいふせつた]
218 @cindex プレヴューア[ふれひゆうあ]
219 @cindex jlatex
220 @cindex platex
221 @cindex プリントアウト[ふりんとあうと]
223 LaTeXソースの編集中、次のキー入力により、platex などのタイプセットプログラ
224 ム(以後タイプセッタと呼ぶ)、プレヴューアなどの起動ができます。
226 @table @kbd
227 @item [prefix] t j
228 @dots{} タイプセッタ(platex)起動
229 @item [prefix] t r
230 @dots{} タイプセッタ起動(領域指定)
231 @item [prefix] t e
232 @dots{} 部分タイプセット&プレヴュー
233 (ポイント位置の段落、環境または数式モードのみをタイプセットして
234 隣のバッファに組版結果の画像を出す)
235 @item [prefix] t k
236 @dots{} 動作中のタイプセッタの停止
237 @item [prefix] t b
238 @dots{} jbibtex起動
239 @item [prefix] t i
240 @dots{} makeindex起動
241 @item [prefix] t d
242 @dots{} タイプセット完了後dvipdfmx起動
243 @item [prefix] t p
244 @dots{} プレヴューア起動
245 @item [prefix] t l
246 @dots{} lpr(プリントアウト用)コマンド起動
247 @item [prefix] t s
248 @dots{} xdvi -remote でのサーチ
249 @end table
251 @menu
252 * Calling typesetter:: タイプセッタ起動
253 * Calling previewer:: プレヴューア起動
254 * Print out:: プリントアウト用コマンドの起動
255 @end menu
257 @node Calling typesetter, Calling previewer, Invocation, Invocation
258 @comment node-name, next, previous, up
259 @section タイプセッタ起動
260 @cindex タイプセッタ起動[たいふせつたきとう]
261 @cindex タイプセットエラー[たいふせつとえらあ]
262 @cindex エラー修正[えらあしゆうせい]
264 タイプセッタを起動すると、編集ウィンドウが2つに分割され、片方のウィンド
265 ウにタイプセット画面が表示されます。出力されるメッセージと連動しタイプセッ
266 トバッファは自動的にスクロールします。もし、途中でエラーが起こって止まって
267 しまった場合にはタイプセットバッファに移り、(@kbd{C-x o}) タイプセッタの出
268 している ? プロンプトに対して、@kbd{x} (処理の中断)などの指示を送ることが
269 できます。エラーを修正する場合は、
271 @table @kbd
272 @item [prefix] '
273 @itemx (prefix+アポストロフィ)
274 @dots{} 直前のエラー発生行へジャンプ
275 @end table
277 を入力することにより、タイプセッタがエラーを発生した行に移ることができます。
278 また、タイプセッタの出力する overfull hbox などのウォーニング行にも対応し
279 ていますので、順次 @kbd{[prefix] '} を押すことにより、一つ前のウォーニング
280 発生行にジャンプしていきます。
282 もし、気になるエラー行があった場合は、タイプセットバッファで、エ
283 ラーの表示されている行にカーソルを合わせスペースキーを押すと La@TeX{}
284 ソースの対応する行にジャンプします。
286 @subsection 領域タイプセット
288 ポイントとマークの間、あるいはテキスト中に埋め込んだ @code{%#BEGIN} と
289 @code{%#END}の間の領域(@ref{%#notation})だけを切り取ってタイプセットすることが
290 できます。この場合メインファイルのプリアンブルが一時ファイルの
291 プリアンブルとして使われます。したがってプリアンブルにないマクロ定義が
292 領域内にあるとエラーになります。領域タイプセットを使う場合、
293 必ずマクロ定義はプリアンブル(@code{\begin@{document@}}より前)に置くよう
294 にして下さい。一時ファイルはメインファイルのある
295 ディレクトリの@file{texput.tex}という名前で出力されるので、
296 上書きには注意してください。
298 @subsection 環境タイプセット
300 @kbd{[prefix] te} を押すと、ポイント位置の最も内側の環境、または数式モー
301 ド内の場合はその数式モード全体、あるいは環境がなければその段落が自動的に
302 領域選択されて、領域タイプセットを呼び出します。
303 tabular環境や数式モードで複雑なものを作っている場合は確かめたい部分だけを
304 確認できるので便利です。Emacsが画像表示可能な場合は、
305 部分タイプセットの結果を画像化して隣のウィンドウに表示します。また、
306 特定の環境で呼び出した場合は、環境内の文字を書き換える度に自動的に
307 プレビュー画像を更新します(on-the-flyプレヴュー)。
308 自動表示されない場合はプレヴューアで @file{texput.dvi}
309 を開いたままにしておけば修正と確認が素早くできるでしょう。
311 画像プレヴューの場合の大きさ(解像度)はデフォルトで200dpi(数式は300dpi)です。
312 dpiを変えたい場合はLaTeXソースのどこかに
313 @code{%#PREVIEWDPI 150}
314 のようにdpi値を書いてください。
316 @node Calling previewer, Print out, Calling typesetter, Invocation
317 @comment node-name, next, previous, up
318 @section プレヴューア起動
319 @kbd{[prefix] t p} によりプレヴューアの起動ができます。さらに、もしあな
320 たが、-remote 機能つきのxdviを利用している場合は @kbd{[prefix] t s} を押す
321 ことによりカーソル位置の文字列を検索してそのページを表示するようにすでに起
322 動中のxdviに命令を送ります。これにより、現在編集中の箇所のタイプセット結果
323 を即座に見ることができます。
325 @c なお、-remote 機能付きの xdvi は
326 @c @code{ftp://ftp.ae.keio.ac.jp/pub/text/xdvi/xdvi-remote}
327 @c などから入手することができます。
329 @node Print out, , Calling previewer, Invocation
330 @comment node-name, next, previous, up
331 @section プリントアウト
333 @kbd{[prefix] t l}を押してプリントアウトを指示すると、出力開始/終了ペー
334 ジを聞いてくるので、それぞれに答えます。これを省略したい時は、
335 universal-argument をつけ、
337 @cindex 出力開始ページ[しゆつりよくかいしへえし]
338 @cindex 出力終了ページ[しゆつりよくしゆうりようへえし]
340 @table @kbd
341 @item C-u [prefix] t l
342 @dots{} ページ確認省略lpr起動
343 @end table
344 @cindex ページ確認省略lpr起動[へえしかくにんしようりやくlprきとう]
346 @noindent
347 のように起動してください。
349 @node %#notation , Completion, Invocation, Top
350 @comment node-name, next, previous, up
351 @chapter %#記法
353 本文中に@code{%#}ではじまるキーワードを埋め込むことでタイプセッタ起動等
354 の制御をすることができます。
356 @menu
357 * Changing typesetter:: タイプセット用コマンドの変更
358 * Splitting input files:: 入力ファイル分割
359 * Fix region for typesetting:: 領域の固定
360 * Special Filtering Region::
361 * lpr format:: プリントアウトコマンド用フォーマット
362 * Controlling which command to invoke:: その他の起動コマンド制御
363 * Editing %# notation::
364 @end menu
366 @node Changing typesetter, Splitting input files, %#notation , %#notation
367 @comment node-name, next, previous, up
368 @section タイプセット用コマンド変更
370 起動するコマンドを変えたい時は本文中に次のような行を書きます。
372 @cindex 起動するコマンドを変える[きとうするこまんとをかえる]
374 @example
375 %#!jlatex-ntt
376 @end example
378 NTT jTeX と、ASCII jTeX を使い分けたいような場合に便利でしょう。
380 @cindex タイプセッタの使い分け[たいふせつたのつかいわけ]
382 @node Splitting input files, Fix region for typesetting, Changing typesetter, %#notation
383 @comment node-name, next, previous, up
384 @section 入力ファイル分割
386 また、章毎に別ファイルの .tex を作成している場合で、@file{main.tex}から
387 @file{sub.tex} を @code{\include}しているような時は、@file{sub.tex}の任意の
388 位置に次のような行を埋め込みます。
390 @example
391 %#!platex main.tex
392 @end example
394 @cindex 入力ファイル分割[にゆうりよくふあいるふんかつ]
396 上の例のようにコマンド名だけでなく引数も書いた場合には、全てをそのまま
397 shell に渡すので次のように書けば、ghostview などをプレヴューアに使う時に便
398 利です。
400 @cindex ghostview
402 @example
403 %#!platex main && dvi2ps main.dvi > main
404 @end example
406 なお、この行の最後の単語のピリオド以前を「メインファイル」のベース
407 ネームであると仮定します(上の2つの場合どちらも@file{main})。
408 この行に記述した、@code{%f}はメインファイル名に、
409 @code{%r} はメインファイルの拡張子を取り除いた部分に置換されます。
410 ただし、@code{%f,%r}を利用した場合、初回タイプセット時に必ずメインファイル
411 名の入力を促されます。
413 @kbd{[prefix] g} (@ref{Cursor jump}参照) での
414 ファイル間ジャンプを有効に機能させるため、入力ファイル分割時には次のことに
415 注意して下さい。
417 @enumerate
418 @item
419 サブディレクトリを作って、その中にサブファイルを置くことはできるが
420 サブディレクトリのサブディレクトリには置けない。
421 @item
422 メインファイルからサブディレクトリ内のファイルを include する時には、
423 相対パス指定を用いて、
424 @code{\include@{chap1/sub@}}のように記述。
425 @item
426 メインファイルが一つ上のディレクトリにある場合も、サブファイルには
427 %#!platex main.tex のように記述する(../mainではない)。
428 @end enumerate
432 @node Fix region for typesetting, lpr format, Splitting input files, %#notation
433 @comment node-name, next, previous, up
434 @section 領域の固定
435 @cindex 固定領域のタイプセット[こていりよういきのたいふせつと]
436 @cindex %#BEGIN
437 @cindex %#END
439 @kbd{[prefix] tr} の領域指定のタイプセットでは、とくに指定のないかぎり、
440 @kbd{C-SPC}でマークした位置と、ポイント(カーソル位置)の間を領域とみなしま
441 すが、必ず決まった領域をタイプセットしたい場合は、その領域を
443 @example
444 %#BEGIN
445 <渡したい領域>
446 %#END
447 @end example
449 @noindent
450 のように@code{%#BEGIN}と@code{%#END}で囲み、カーソルを「@code{%#BEGIN}以降」
451 に置いてください。この時の領域決定規則をまとめると次のようになります。
454 @enumerate
455 @item
456 カーソル位置よりバッファの先頭方向に@code{%#BEGIN}というキーワードが
457 ある場合
459 @enumerate
460 @item
461 @code{%#BEGIN}よりバッファの末尾方向に@code{%#END}というキーワードが見つかっ
462 た場合。
463 @result{}@code{%#BEGIN} から、その @code{%#END} のある位置まで。
464 @item
465 @code{%#END} が見つからなかった場合。
466 @result{}バッファの最後尾まで。
467 @end enumerate
468 @cindex 領域決定規則[りよういきけつていきそく]
470 @item
471 カーソル位置よりバッファの先頭方向に @code{%#BEGIN} というキーワードが
472 見つからなかった場合。
473 @result{}マーク(@kbd{C-SPC}位置)とポイント(カーソル位置)の間の領域。
474 @end enumerate
476 tabular 環境を何度も試行錯誤しているような場合は、@code{\begin}の前の行
477 に @code{%#BEGIN} と書き、@code{\end} の次の行に @code{%#END} と書いておく
478 と簡単に作表結果をテストすることができます。また、長い .tex ファイルの後半
479 に @code{%#BEGIN} を書いておけば、前半の部分は無視できます。このBEGINとEND
480 の消し忘れには十分ご注意下さい。
481 @cindex 長いファイルの編集[なかいふあいるのへんしゆう]
483 @node Special Filtering Region, lpr format, Fix region for typesetting, %#notation
484 @section 自動外部フィルタ
486 たとえば、テキストファイルから画像を生成するようなツールに与えるソースを
487 La@TeX{}ソース中に埋め込み、その部分だけをツールの標準入力に渡すことができ
488 ます。そのためには以下のようなソースを文書中に書きます。
490 @example
491 %#BEGIN FILTER{foo.pdf}{blockdiag -T %t -o %o}
492 \if0
493 ---
494 ....blah blah blah...
495 ....blah blah blah...
496 ....blah blah blah...
497 ---
498 \fi
499 %#END
500 @end example
502 この領域内で @kbd{[prefix] t e} をタイプすると、この例であればblahのある3行が
503 外部コマンド @code{"blockdiag -T pdf -o foo.pdf"} の標準入力に渡され、
504 結果として foo.pdf が生成されます。この特別なブロックは
505 @kbd{[prefix] tb} の環境補完で、@code{.blockdiag} のようなピリオドで始まる
506 特殊環境名を入力することで自動的に挿入されます。
508 @c @node Require, lpr format, Fix region for typesetting, %#notation
509 @comment node-name, next, previous, up
511 @node lpr format, Controlling which command to invoke, Fix region for typesetting, %#notation
512 @comment node-name, next, previous, up
513 @section lprフォーマット
514 @cindex lprふぉーまっと[lprふおおまつと]
515 @cindex lprフォーマット[lprふおおまつと]
516 @cindex lpr format
518 まず、プリントアウト用コマンド列のフォーマットについて説明します。
519 コマンド列フォーマットは、3つの Lisp 変数によって表現されます。デ
520 フォルトの dvi2ps 用のフォーマットを例に説明します。
522 @table @code
523 @item (1)dviprint-command-format
524 @code{"dvi2ps %f %t %s | lpr"}
526 @item (2)dviprint-from-format
527 @code{"-f %b"}
529 @item (3)dviprint-to-format
530 @code{"-t %e"}
531 @end table
533 実際にプリントアウトする時は、(1)中の %s がファイル名に置き換えられ、%f が
534 (2)の内容、%t が(3)の内容に置き換えられます。その際に(2)の文字列中の %b は
535 「出力開始ページ」、(3)の文字列中の %e は「出力終了ページ」に置き換えられ
536 ます。もし、ページを指定しない時には、%f, %t 両方とも無視されます。
538 この、dviprint-command-format を臨時に変えたい時は、La@TeX{} の
539 ソーステキスト中の任意の場所に、
541 @example
542 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
543 @end example
545 @noindent
546 のように書いて下さい。プリントアウトするページ範囲をいちいち聞かせないよう
547 にする時に
549 @example
550 %#LPR dvi2ps %s | lpr
551 @end example
553 @noindent
554 などとするのも便利かもしれません。
556 @node Controlling which command to invoke, Editing %# notation, lpr format, %#notation
557 @comment node-name, next, previous, up
558 @section その他の起動コマンド制御
559 @cindex その他のコマンド制御[そのたのこまんとせいきよ]
561 La@TeX{} 文書に関連するコマンドは以下の %# 記法で指定することができます。
563 @table @code
564 @item %#PREVIEW
565 @dots{} Command line for DVI viewing ([prefix] t p)
566 @item %#BIBTEX
567 @dots{} makeindexを行なうコマンドライン([prefix] t b)
568 @item %#MAKEINDEX
569 @dots{} bibtexを行なうコマンドライン([prefix] t i)
570 @item %#DVIPDF
571 @dots{} DVIからPDF変換を行なうコマンドライン([prefix] t d)
572 @item %#LPR
573 @dots{} 印刷用のコマンドライン([prefix] t l)
574 @item %#PDFVIEW
575 @dots{} PDFファイルを見るためのコマンドライン
576 @item %#IMAGEDPI
577 @dots{} 即時プレヴュー(on-the-fly preview)用の画像のDPI
578 @end table
580 行頭がこれらのキーワードで始まる行をLa@TeX{}文書の先頭付近に書いておけば、
581 それで指定したコマンドを起動できます。
583 @node Editing %# notation, , Controlling which command to invoke, %#notation
584 @comment node-name, next, previous, up
585 @section %#記法自体の編集
586 @cindex %#記法自体の編集[%#きほうしたいのへんしゆう]
588 以上のような@code{%#}で始まる各種制御記法を編集するためには
590 @table @kbd
591 @item [prefix] %
592 @dots{} @code{%#}@var{記法編集メニュー}
593 @end table
595 @noindent
596 を押します。
598 @example
599 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
600 @end example
602 @noindent
603 というメニューが出て来るので、@code{%#!}に続くコマンドを変更したい時には
604 @kbd{!}を、@code{%#LPR}で lpr フォーマットを変えたい時は@kbd{l}を、あらか
605 じめ設定したリジョンを @code{%#BEGIN} 〜 @code{%#END} で括りたい時は、
606 @kbd{b}を押します。@kbd{b}を選んだ時には、それまでバッファ中に置かれていた
607 @code{%#BEGIN}, @code{%#END} が自動的に消去されます。
608 @cindex lprフォーマットの変更[lprふおおまつとのへんこう]
610 @node Completion, Local dictionary, %#notation , Top
611 @comment node-name, next, previous, up
612 @chapter 補完入力
614 La@TeX{} での環境名などは、野鳥の補完機能を利用して能率的に入力すること
615 ができます。
617 @menu
618 * begin型補完::
619 * section型補完::
620 * large型補完::
621 * maketitle型補完::
622 * Arbitrary completion:: 随時補完
623 * end補完::
624 * Accent mark completion:: アクセント記号補完
625 * Image completion:: 数式記号イメージ補完
626 * Greek letter completion:: ギリシャ文字補完
627 * Inserting parens::
628 @end menu
630 @node begin型補完, section型補完, Completion, Completion
631 @comment node-name, next, previous, up
632 @section begin型補完
633 @cindex begin型補完[beginかたほかん]
634 @cindex 環境名の補完[かんきようめいのほかん]
635 @cindex prefix b
637 @code{\begin@{env@}...\end@{env@}}の様な形式の入力の補完をbegin型補完と
638 呼ぶことにします。begin 型補完は、
640 @table @kbd
641 @item [prefix] b
642 @dots{} begin 型補完開始(標準では @kbd{C-c b})
643 @end table
645 @noindent
646 で始まります。頻繁に用いられる次の La@TeX{} 環境の補完は、[prefix] @kbd{b}
647 に続く次の1文字を入力するだけで、@code{\begin@{xxx@}...\end@{xxx@}}を完成
648 させます。
650 @table @kbd
651 @item [prefix] b c
652 @dots{} @code{\begin@{center@}...\end@{center@}}
653 @item [prefix] b d
654 @dots{} @code{\begin@{document@}...\end@{document@}}
655 @item [prefix] b D
656 @dots{} @code{\begin@{description@}...\end@{description@}}
657 @item [prefix] b e
658 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
659 @item [prefix] b E
660 @dots{} @code{\begin@{equation@}...\end@{equation@}}
661 @item [prefix] b i
662 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
663 @item [prefix] b l
664 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
665 @item [prefix] b m
666 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
667 @item [prefix] b t
668 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
669 @item [prefix] b T
670 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
671 @item [prefix] b ^T
672 @dots{} @code{\begin@{table@}...\end@{table@}}
673 @item [prefix] b p
674 @dots{} @code{\begin@{picture@}...\end@{picture@}}
675 @item [prefix] b q
676 @dots{} @code{\begin@{quote@}...\end@{quote@}}
677 @item [prefix] b Q
678 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
679 @item [prefix] b r
680 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
681 @item [prefix] b v
682 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
683 @item [prefix] b V
684 @dots{} @code{\begin@{verse@}...\end@{verse@}}
685 @end table
687 上記のもの以外の環境名は Emacs の持つインクリメンタルな補完機能を用いて
688 入力します(上記の環境名も以下の補完入力可能)。
690 @table @kbd
691 @item [prefix] b @key{SPC}
692 @dots{} begin 型補完入力
693 @end table
695 @kbd{[prefix] b @key{SPC}} と入力すると、最下行のミニバッファに
697 @example
698 Begin environment(default document):
699 @end example
701 @noindent
702 と表示されます。ここで、何も入れずにリターンキーのみ押すと、括弧内に出てい
703 るデフォルトの環境名が入力されますが、適当な環境名を入力すると、
704 @code{\begin@{環境名@} … \end@{環境名@}}が文書中に挿入されます。ミニバッ
705 ファで環境名を入力するときに、環境名の頭文字を入力し「スペース」をたたくと、
706 一致する環境名が内部テーブルに存在した場合、正しい環境名に補完されるので、
707 入力の手間が省けます。内部テーブルに存在しない環境名を入力した時はユーザ専
708 用のテーブルに登録され、さらにそのテーブルを自動的に、ユーザ辞書(デフォル
709 トでは @file{~/.yatexrc})に保存します。
711 さらに、特定の環境を補完入力した時にはその環境で必ず用いられるエントリを自
712 動挿入します(例: @code{itemize}環境における@code{\item}など)。挿入されたエ
713 ントリが不要な場合にはundoによって消去して下さい。
714 @cindex ユーザ辞書[ゆうさししよ]
716 @subsection 既に書いたテキストを環境で括る
718 ところで、最初に書いてしまったブロックを後から、itemize 環境の中
719 に閉じこめたいと思うことがありますが、そのようなときは、あらかじめ
720 閉じこめたい段落をマークして、begin 型補完の各コマンドの @kbd{[prefix]}
721 の次の『小文字の 'b'』 を『大文字』に変えて起動して下さい。(または、
722 @kbd{C-u} を先に打ち、universal argument をつけても可能です)
723 @cindex ブロック[ふろつく]
724 @cindex 閉じ込める[としこめる]
726 例えばあるパラグラフを description 環境の中に入れたいときは、
727 そのパラグラフをマークしてから、補完機能を呼び出してください(description
728 環境の場合は @kbd{[prefix] b D})。
730 選択された領域を括ります。ただしこれは @code{transient-mark-mode} が t
731 (Emacsの標準)になっている場合のみで、普段
732 @code{transient-mark-mode} を @code{nil} にしている場合は、
733 補完キー前に @code{universal-argument} 指定(@kbd{C-u})
734 をタイプしてから @kbd{[prefix] b D} など、補完キーを
735 タイプすれば括り補完になります。
736 なおEmacs22以降であれば @code{transient-mark-mode} 無効時も
737 @code{set-mark-command} (@kbd{C-space})の連打で一時的に
738 @code{transient-mark-mode} が有効になります。
741 @node section型補完, large型補完, begin型補完, Completion
742 @comment node-name, next, previous, up
743 @section section型補完
744 @cindex section型補完[sectionかたほかん]
745 @cindex prefix s
747 @code{\section@{目的@}} のような形式の入力の補完を section 型補完と呼ぶこ
748 とにします。section 型補完は、
750 @table @kbd
751 @item [prefix] s
752 @dots{} section 型補完
753 @end table
756 で実行します。@kbd{[prefix] s} を入力するとミニバッファに、
758 @example
759 (C-v for view-section) \???@{@} (default documentclass):
760 @end example
762 @noindent
763 というプロンプトが現れるので、そこで @samp{section} のような La@TeX{} コマ
764 ンド名を入力します。ここでもリターンキーのみで括弧内のデフォルト値が選択さ
765 れるほか、@samp{chapter}などのような頻度の高い名称入力にはスペースキーによ
766 る補完機能が有効です。 次に、@{@}の中身の入力を促す、
768 @example
769 \section@{???@}:
770 @end example
772 @noindent
773 というプロンプトが現れるので、セクションのタイトルなどを入力します。
774 たとえば、
776 @example
777 (C-v for view-section) \???@{@} (default documentclass): section
778 \section@{???@}: 目的
779 @end example
781 @noindent
782 のように入力した場合は、文章中に
784 @example
785 \section@{目的@}
786 @end example
788 @noindent
789 が挿入され、
791 @example
792 (C-v for view-section) \???@{@} (default section): vspace*
793 \vspace*@{???@}:
794 @end example
796 @noindent
797 のように@{@}の中身を省略したときは、
799 @example
800 \vspace*@{@}
801 @end example
803 @noindent
804 だけが挿入され、改行はせずカーソルは自動的に中括弧の内側に移動します。
806 @menu
807 * 2個以上の引数をとる section型コマンド::
808 * Enclose section-type command:: 括り補完
809 * Recursive completion:: 再帰補完
810 * view-sectioning:: セクション区切りのアウトライン表示
811 * label-generation:: ラベル自動生成
812 @end menu
814 @node 2個以上の引数をとる section型コマンド, Enclose section-type command, section型補完, section型補完
815 @comment node-name, next, previous, up
816 @subsection 2個以上の引数をとる section型コマンド
817 @cindex 引数[ひきすう]
819 ところで、@samp{\addtolength@{\topmargin@}@{8mm@}} などのように、引数を二つ
820 以上取る La@TeX{} コマンドがあります。このようなコマンドの補完入力には、
821 section 型補完呼び出しに引数を付けてください。例えば上の@samp{addtolength}
822 の例であれば、引数2を指定します。つまり、
824 @example
825 C-u 2 [prefix] s (または、ESC 2 [prefix] s)
826 @end example
828 @noindent
829 と section 型補完を呼び出した後、
831 @example
832 (Ctrl-v for view-section) \???@{@} (default vspace*): addtolength
833 \addtolength@{???@}: \topmargin
834 Argument 2: 8mm
835 @end example
837 @noindent
838 のように入力してください。最初の addtolength の部分と、第一引数である
839 \topmargin の入力は当然スペースによる補完入力が可能です。ユーザ辞書に登録
840 される La@TeX{} コマンドには、この引数の数も学習されるので、最初の補完の時
841 引数の数を指定して起動しておけば、以後の補完時には、記憶された個数だけ引数
842 を聞いて来るようになります。あとで引数の個数を変えたい時は、再び @kbd{C-u}
843 を用いて個数を指定し直すことで、自動的に辞書中の引数の個数の部分を更新しま
844 す。
845 @cindex 引数の個数を変える[ひきすうのこすうをかえる]
848 @node Enclose section-type command, Recursive completion, 2個以上の引数をとる section型コマンド, section型補完
849 @subsection 既に書いたテキストを括る
850 @cindex 括る[くくる]
852 また、section型補完機能の呼び出し時に領域選択状態にしておくと
853 領域内のテキストを section 型コマンドの第一引数として括ります。
854 これも普段 @code{transient-mark-mode} を @code{nil} にしている場合は
855 @kbd{C-u} のあとに補完キーをタイプすれば強制的に括り補完になります。
858 @node Recursive completion, view-sectioning, Enclose section-type command, section型補完
859 @comment node-name, next, previous, up
860 @subsection 再帰補完
861 @cindex 再帰補完[さいきほかん]
863 高度な使い方になるかもしれませんが、section型補完の引数の入力時にさらに
864 補完入力を利用することができます(section/large/maketitle型に限る)。section
865 型コマンドの引数に更に La@TeX{} コマンドが来る場合にはミニバッファで野鳥の
866 補完キーを再帰的に入力することで引数の入力も効率的に行なえます。
868 @node view-sectioning, label-generation, Recursive completion, section型補完
869 @comment node-name, next, previous, up
870 @subsection セクション区切りのアウトライン表示
871 @cindex アウトライン[あうとらいん]
873 通常のsection型補完の時にミニバッファで@kbd{C-v}を押すと現在存在するセク
874 ション区切りコマンド全てを @code{*Sectioning Lines*}というバッファに一覧表
875 示します(「<<--」のついている行がもっとも近いセクション区切り)。この時ミニ
876 バッファで@kbd{C-p}, @kbd{C-n} を押すと@samp{part}, @samp{chapter}, ...,
877 @samp{subparagraph} のコマンドが論理階層の高さにしたがって上下します。また、
878 @kbd{C-v}, @kbd{M-v} を押すとセクション区切り一覧バッファがスクロールし、
879 数字の@kbd{0}〜@kbd{7}を押すとある高さ以上のセクション区切りだけを選んで表
880 示します(実際にやって見れば分かります)。
882 @code{*Sectioning Lines*}バッファは、
884 @table @kbd
885 @item M-x YaTeX-section-overview
886 @dots{} セクション区切り一覧バッファを生成
887 @end table
889 @cindex セクション区切り一覧バッファ[せくしよんくきりいちらんはつふあ]
890 で作成することができます。このバッファを選択し任意の行でスペースを押すと、
891 該当するセクション区切りのある本文中の場所にジャンプします。さらに、同バッ
892 ファで @kbd{u} を押すと、ソーステキストの対応するセクションコマンドが一階
893 層上がり(例: subsection が section に変わる)、@kbd{d}を押すと一階層下がり
894 ます。@code{*Sectioning Lines*}バッファにあるセクション区切りの行をマーク
895 しておいて@kbd{U}を押すとリジョン内のものに対応するソーステキストのセクショ
896 ンコマンドすべてが一階層上がり、@kbd{D}を押すと下がります。セクション区切
897 り一覧バッファで利用できるキーコマンドには以下のものがあります。
899 @table @kbd
900 @item SPC
901 @dots{} 対応するソース行へジャンプ
902 @item .
903 @dots{} 対応するソース行を表示
904 @item u
905 @dots{} カーソル位置に対応するセクションコマンドを一階層上げる
906 @item d
907 @dots{} カーソル位置に対応するセクションコマンドを一階層下げる
908 @item U
909 @dots{} マークしたセクションコマンドを一階層上げる
910 @item D
911 @dots{} マークしたセクションコマンドを一階層上げる
912 @item 0〜6
913 @dots{} レベル n 以下のセクションコマンドを隠して表示
914 @end table
916 @cindex 論理階層[ろんりかいそう]
917 @cindex セクション区切り[せくしよんくきり]
918 @cindex ジャンプ[しやんふ]
920 @node label-generation, , view-sectioning, section型補完
921 @comment node-name, next, previous, up
922 @subsection ラベル自動生成
923 @cindex ラベル自動生成[らへるしとうせいせい]
925 @code{\ref@{@}} や @code{\cite@{@}} マクロをsection型補完で入れた場合
926 参照先となり得るものを全て探してメニューにして選択できます。参照先には
927 @code{\label@{@}}をつけておく必要はありません。もしあれば、そのラベルを
928 使い、なければその場で参照先に@code{\label@{@}}を作らせてくれます。
929 ラベル名を考えるのは苦痛に感じるものです。全てのカウンタにラベルを
930 つけるのもたいへんです。もうラベル名に何をつけるか、ラベルをつけるかつけま
931 いか、などということは忘れましょう!
933 ラベルを打つべき項目の選択の際には、可能性のあるすべてのカウンタが表示され
934 ます。これを「数式のみ」のように種別で絞りたいときは以下のキーコマンドが
935 利用できます。
936 @table @kbd
937 @item M-a
938 @dots{} 絞り込みを解除してすべてのカウンタを表示
939 @item M-c
940 @dots{} キャプションのみを表示
941 @item M-e
942 @dots{} 番号のつく数式のみを表示
943 @item M-i
944 @dots{} 番号つき箇条書のみを表示
945 @item M-s
946 @dots{} セクションのみを表示
947 @item M-m
948 @dots{} その他のカウンタのみを表示
949 @end table
951 @node large型補完, maketitle型補完, section型補完, Completion
952 @comment node-name, next, previous, up
953 @section large型補完
954 @cindex large型補完[largeかたほかん]
955 @cindex prefix l
957 @code{@{\large @}} のような形式の補完を large 型補完と呼ぶことにします。
959 @table @kbd
960 @item [prefix] l
961 @dots{} large 型補完開始
962 @end table
964 @noindent
965 がlarge型補完の開始です。@kbd{[prefix] l} を押すと、ミニバッファに
967 @example
968 @{\??? @} (default large):
969 @end example
972 と表示されるので、上記のものと同じ要領で補完入力して下さい。補完候補に用意
973 されているのは、@samp{footnotesize} や @samp{huge} のような文字サイズ指定
974 子と、@samp{bf}や@samp{dg}のようなフォント指定子です。
975 @cindex 文字サイズ指定子[もしさいすしていし]
976 @cindex フォント指定子[ふおんとしていし]
978 @subsection 既に書いた文字を括る
979 @cindex 括る[くくる]
981 また、begin型補完の時と同様、先に書いてしまった一連の文章の文字のサイズ
982 を変えたいと思う時がありますが、そのような時は、サイズや大きさを変えたい文
983 字の範囲をマークしてからlarge型補完を呼んでください。
985 @node maketitle型補完, Arbitrary completion, large型補完, Completion
986 @comment node-name, next, previous, up
987 @section maketitle型補完
988 @cindex maketitle型補完[maketitleかたほかん]
989 @cindex prefix m
991 @code{\maketitle} の形式の補完を maketitle 型補完と呼ぶことにします。
993 @table @kbd
994 @item [prefix] m
995 @dots{} maketitle 型補完開始
996 @end table
998 @noindent
999 で、maketitle 型補完を開始します。補完の要領は今までのものとまったく同じで
1000 す。La@TeX{} 用のコマンド名が補完候補として用意されています。
1002 @node Arbitrary completion, end補完, maketitle型補完, Completion
1003 @comment node-name, next, previous, up
1004 @section 随時補完
1005 @cindex 随時補完[すいしほかん]
1006 @cindex prefix SPC
1008 さて、今まで述べた典型的な La@TeX{} コマンド形式の補完入力を用いずに、今
1009 入力しようとしている La@TeX{} コマンドを文書中の任意の位置で随時補完するこ
1010 ともできます。La@TeX{} コマンド(先頭が\で始まる)を入力している途中で、
1012 @table @kbd
1013 @item [prefix] SPC
1014 @dots{} 随時補完
1015 @end table
1017 @noindent
1018 を入力すれば、全ての補完候補の中から一致するものが選ばれカーソル位置に挿入
1019 されます。
1021 @node end補完, Accent mark completion, Arbitrary completion, Completion
1022 @comment node-name, next, previous, up
1023 @section end補完
1024 @cindex end補完[endほかん]
1025 @cindex prefix e
1027 現在開いたままの環境名を自動的に検出し、@code{\end@{環境名@}}を挿入しま
1028 す。begin 型補完を用いれば環境の閉じ忘れはないのですが、時にはついつい手で
1029 @code{\begin@{環境名@}} を入れてしまい、悲しい思いをすることがあります。そ
1030 のような時には気にせず続けて文章を入力し、しかるのちに
1032 @table @kbd
1033 @item [prefix] e
1034 @dots{} end 補完
1035 @end table
1037 @noindent
1038 とすることで、現在開いている環境名で \end@{@} が補われます。
1040 @node Accent mark completion, Image completion, end補完, Completion
1041 @comment node-name, next, previous, up
1042 @section アクセント記号補完
1043 @cindex アクセント記号補完[あくせんときこうほかん]
1044 @cindex prefix a
1045 @cindex 欧文[おうふん]
1047 欧文のアクセント記号(@code{\`@{o@}}など)を入力する時は、
1049 @table @kbd
1050 @item [prefix] a
1051 @dots{} アクセント記号入力
1052 @end table
1054 @noindent
1055 を押すと、ミニバッファに
1057 @example
1058 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
1059 @end example
1061 @noindent
1062 というメニューが出て来るので、数字、または対応する記号/英字を入力
1063 して下さい。すると編集バッファに、
1065 @example
1066 \`@{@}
1067 @end example
1069 @noindent
1070 が現われ、カーソルが@{@}内に位置するので、さらに一文字入力する事で、
1072 @example
1073 \`@{o@}
1074 @end example
1076 @noindent
1077 が完成され、カーソルは@{@}の外に戻ります。
1079 @node Image completion, Greek letter completion, Accent mark completion, Completion
1080 @comment node-name, next, previous, up
1081 @section 数式記号イメージ補完
1082 @cindex 数式記号イメージ補完[すうしききこういめえしほかん]
1083 @cindex イメージ補完[いめえしほかん]
1084 @cindex ;
1085 @cindex 数式モード[すうしきもおと]
1086 @cindex 矢印[やしるし]
1087 @cindex Σ[しくま]
1088 @cindex leftarrow
1089 @cindex ∞[むけんたい]
1091 主に数式モードで使用される、矢印やΣなどの記号を擬似的に表現するキー入力
1092 で、La@TeX{} コマンドを入力できます。これは野鳥自身の「数式モード」でのみ
1093 動作します。野鳥はカーソルが@TeX{}の数式環境の中にある時に@kbd{;}や、
1094 @kbd{:}に特殊な機能を持たせます。
1096 さて、例えば、←(leftarrow)をASCII文字だけで表現する場合、一般的には「<-」
1097 のようにしますが、これを利用して、数式記号イメージ入力モードで
1098 @code{\leftarrow}を入力するには、@kbd{;}(セミコロン)を打ってから@kbd{<-}と
1099 入力します。同様に、長い矢印←-(long-leftarrow) をASCII文字だけで表現する
1100 場合「<--」とするので、@code{\longleftarrow}を入力するためには、@kbd{;<--}
1101 と入力します。あるいは無限大記号をASCII文字だけで表現する時は「oo」のよう
1102 にすることから、@code{\infty} を入力する時は、@kbd{;oo}とキー入力します。
1104 これらの操作をまとめると次のようになります。
1106 @example
1107 INPUT 入力される La@TeX{} コマンド
1108 ; < - @code{\leftarrow}
1109 ; < - - @code{\longleftarrow}
1110 ; < - - > @code{\longleftrightarrow}
1111 ; o @code{\circ}
1112 ; o o @code{\infty}
1113 @end example
1117 いずれの場合も、イメージ入力を行っている途中で望みのものがバッファ
1118 に表示されたなら、そこでイメージ入力を止めて次の編集動作に移っても
1119 構いません。
1121 @cindex ;自身[;ししん]
1122 数式環境中で@samp{;}自身を入力するには@kbd{;;}のようにします。イメージ
1123 入力の途中でTABを押すと、それまで入力した文字で始まるもの一覧が表示されま
1124 す。ここで目的の La@TeX{} コマンドまでカーソルを移動し再度TABを押すことで
1125 その La@TeX{} コマンドがバッファに挿入されます。
1127 どのキー入力にどの記号が対応しているか全て知りたい時は、@kbd{;}を押した
1128 直後にTABを押してください。以下の例は、@kbd{;<}と押した後にTABを押したもの
1129 です。
1131 @example
1132 KEY LaTeX sequence sign
1133 < \leq ≦
1134 << \ll 《
1135 <- \leftarrow ←
1136 <= \Leftarrow <=
1137 @end example
1139 左から[入力キー]、[対応する La@TeX{} コマンド]、[(擬似)記号図示]、と
1140 いう順でメニューが出て来るので、よく使うものを覚えておくと良いでしょ
1141 う。ものによってはASCII文字で表現することが困難なので、あまり覚え
1142 やすいキー並びではないものがあるでしょうから、そのような場合は
1143 \maketitle 型補完で入力するか、以下に述べる対応表の設定を行って単
1144 純なキー並びのものを設定すると良いでしょう。
1146 入力キーと La@TeX{} コマンド、記号の対応表を個人的に設定したい場合は
1147 Emacs-Lisp 変数 @code{YaTeX-math-sign-alist-private} に定義してください。
1148 その内容とデフォルトのものを合わせたものが対応表として使用されます(private
1149 の方が優先される)。なお、この変数の構造については @file{yatexmth.el} を参
1150 照してください。
1151 @cindex YaTeX-math-sign-alist-private
1153 @node Greek letter completion, Inserting parens, Image completion, Completion
1154 @comment node-name, next, previous, up
1155 @section ギリシャ文字補完
1156 @cindex ギリシャ文字補完[きりしやもしほかん]
1157 @cindex :
1159 もう一つ、数式環境中で@kbd{:}を押すとギリシャ文字入力モードに入ります。
1160 @kbd{:}を押した直後に@kbd{a}を押すと@code{\alpha}が、@kbd{g} を押すと
1161 @code{\gamma}が、などアルファベットに対応したギリシャ文字が挿入されます。
1162 操作方法は;の数式記号補完とまったく同じです。まずは@kbd{:}の直後に
1163 TABを押してどのアルファベットにどのギリシャ文字が対応しているか調べてみて
1164 ください。
1166 @kbd{;}と@kbd{:}を数式環境中で押しているにもかかわらず、イメージ補完が働
1167 かない場合は、@kbd{C-u ;}のように universal-argument をつけてキーを押すこ
1168 とにより、強制的にイメージ補完に入ることができます。また、この時にどのよう
1169 な状態で数式環境内判定に失敗したかをご連絡下さい。
1171 @node Inserting parens, , Greek letter completion, Completion
1172 @section 括弧入力補助
1173 @cindex 括弧入力補助[かつこにゆうりよくほしよ]
1175 3種類ある括弧 () {} [] の開き括弧を入れたときに閉じ括弧を自動的に入れます。
1176 @code{\} の直後にの @code{[} を入れると行を分けてインデントを揃え、
1177 数式入力に備えます。その他 La@TeX{} のマクロに応じて括弧の釣合の取れた
1178 状態に導きます。開き括弧そのものを1つだけ入れたいときは @kbd{C-q} で
1179 クォート入力するか、@kbd{[prefix] w m} で修正モードをOFFにしてください。
1181 領域選択してから開き括弧を入れるとその領域をその種類の括弧で括ります。
1183 @node Local dictionary, Commenting out, Completion, Top
1184 @comment node-name, next, previous, up
1185 @chapter ローカル辞書
1186 @cindex ローカル辞書[ろおかるししよ]
1187 @cindex .yatexrc
1189 補完入力用の候補は三種類の辞書から構成されています。一つは
1190 @file{yatex.el}に組み込まれた「標準辞書」、もう一つはユーザが個人的に常用
1191 するコマンドを保存する「ユーザ辞書」、そしてもうひとつはあるディレクトリで
1192 のみ有効なコマンドを保存する「ローカル辞書」です。
1194 補完入力時に新しい単語を入れた場合に、その単語をどの辞書に入れるか聞いて
1195 来ます。
1197 @example
1198 `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard
1199 @end example
1201 @noindent
1202 というプロンプトに対し、@kbd{u}と答えると「ユーザ辞書」を、@kbd{l}と答える
1203 とローカル辞書を更新し、@kbd{n}と答えると辞書ファイルは更新せず現在のEmacs
1204 セッションのみ有効な単語とし、@kbd{d}と答えると新たな単語を学習せずに捨て
1205 ることになります。
1207 もし、ローカル辞書の機能はいらず、全てユーザ辞書の更新のみでよいと言う場
1208 合には@file{~/.emacs}などで、
1209 @cindex YaTeX-nervous
1211 @lisp
1212 (setq YaTeX-nervous nil)
1213 @end lisp
1215 @noindent
1216 として下さい。
1218 @node Commenting out, Cursor jump, Local dictionary, Top
1219 @comment node-name, next, previous, up
1220 @chapter コメントアウト
1221 @cindex コメントアウト[こめんとあうと]
1222 @cindex prefix <
1223 @cindex prefix >
1224 @cindex prefix .
1225 @cindex prefix ,
1228 La@TeX{}の編集には試行錯誤がつきものです。ある部分を一括でコメントアウト
1229 したり、コメントを外したりしたいことがあります。
1231 @table @kbd
1232 @item [prefix] >
1233 @dots{} リジョンを % でコメントアウト
1234 @item [prefix] <
1235 @dots{} リジョンの % のコメントを外す
1236 @end table
1238 @noindent
1239 は、あらかじめ設定したリジョンに対しての操作、
1241 @table @kbd
1242 @item [prefix] .
1243 @dots{} 現在のパラグラフをコメントアウト
1244 @item [prefix] ,
1245 @dots{} 現在のパラグラフのコメントを外す
1246 @end table
1248 @noindent
1249 は、カーソルの位置するパラグラフ全体に対しての操作です。なお、ここでいう
1250 「パラグラフ」は (@code{mark-paragraph}) 関数によりマークされる範囲を指し
1251 ます(標準設定で@kbd{ESC h}にバインドされている)。なお、既に@code{%}でコメ
1252 ントアウトされているパラグラフに対して繰り返しパラグラフのコメントを使用し
1253 た場合の動作は保証しませんので御注意ください。
1255 さて、文章に対してだけでなく、時には@code{\begin}, @code{\end} 自体に対
1256 してもコメントアウトの操作をしたいときがあります。このようなときは、
1257 @code{\begin@{@}} あるいは @code{\end@{@}} の行にカーソルを合わせ、
1259 @table @kbd
1260 @item [prefix] >
1261 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントアウト
1262 @item [prefix] <
1263 @dots{} @code{\begin@{@}}〜@code{\end@{@}} 全てコメントを外す
1264 @end table
1266 @noindent
1267 とすることで、@code{\begin〜\end}で囲まれる環境全てに対してコメント操作し、
1269 @table @kbd
1270 @item [prefix] .
1271 @dots{} @code{\begin@{@}} と @code{\end@{@}} をコメントアウト
1272 @item [prefix] ,
1273 @dots{} @code{\begin@{@}} と @code{\end@{@}} のコメントを外す
1274 @end table
1276 は、対応する @code{\begin} と @code{\end} 2行だけを、コメント操作の対象と
1277 します。リジョンをコメントアウトしようとして、マークを設定したのちにカーソ
1278 ルを移動し@kbd{[preifx] >} を押してもカーソルが @code{\begin@{@}} の上にあ
1279 ると@code{\begin@{@}}〜@code{\end@{@}}モードでコメント機能が働いてしまうの
1280 で注意して下さい。
1282 @node Cursor jump, Modifying/Deleting, Commenting out, Top
1283 @comment node-name, next, previous, up
1284 @chapter カーソルジャンプ
1285 @cindex カーソルジャンプ[かあそるしやんふ]
1286 @cindex prefix g
1289 @menu
1290 * 対応オブジェクトへのジャンプ::
1291 * お絵描きツール起動::
1292 * メインファイルへのジャンプ::
1293 * 環境を単位としたジャンプ::
1294 * 最後の補完位置へのジャンプ::
1295 @end menu
1297 @node 対応オブジェクトへのジャンプ, お絵描きツール起動, Cursor jump, Cursor jump
1298 @comment node-name, next, previous, up
1299 @section 対応オブジェクトへのジャンプ
1301 文書中のいろいろな場所で
1303 @table @kbd
1304 @item [prefix] g
1305 @dots{} 対応するオブジェクトにジャンプ
1306 @end table
1308 @noindent
1309 を押すことにより、カーソル位置のLa@TeX{}コマンドに対応する場所にジャンプ
1310 します。対応関係が存在すると解釈されるコマンドには以下のものがあります。
1312 @itemize @bullet
1313 @item @code{\begin@{@}} ←→ @code{\end@{@}}
1314 @item @code{%#BEGIN} ←→ @code{%#END}
1315 @item 画像ファイルの取り込みマクロ → 対応するviewer/お絵かきツール起動
1316 @item @code{\label@{@}} ←→ @code{\ref@{@}}
1317 @item @code{\include(\input)} → 対応するファイル
1318 @item @code{\bibitem@{@}} ←→ @code{\cite@{@}}
1319 @end itemize
1321 @code{\begin@{@}} か @code{\end@{@}} の行で@kbd{[prefix] g}を押すことに
1322 より、対応する@code{end/begin}の行にジャンプします。もちろん対応するものが
1323 ない場合はエラーになります。またこれは、領域固定のための @code{%#BEGIN} と
1324 @code{%#END} のペアに対しても同様に動作します。なお、@code{label/ref}や
1325 @code{cite/bibitem}対応するものが別ファイルにある時は、ジャンプ先となるファ
1326 イルがオープンされていなければなりません。@xref{%#notation}.
1327 メインの .tex ファイルの @code{\include@{chap1@}} などにカーソルを合わせ、
1328 @kbd{[prefix] g} を押すと、@file{chap1.tex} にジャンプします。
1330 また、
1332 @table @kbd
1333 @item [prefix] 4 g
1334 @dots{} 別ウィンドウで対応オブジェクトにジャンプ
1335 @end table
1337 @noindent
1338 を押すと、対応するオブジェクトへのジャンプを別ウィンドウで行います。ただし、
1339 この機能は @code{begin/end}, @code{%#BEGIN/%#END} 間のジャンプに対しては
1340 (意味がないと思われるので)機能しないので注意してください。
1342 @node お絵描きツール起動, メインファイルへのジャンプ, 対応オブジェクトへのジャンプ, Cursor jump
1343 @comment node-name, next, previous, up
1344 @section お絵描きツール起動
1345 @cindex お絵描きツール起動[おえかきつうるきとう]
1347 上記の「画像ファイルの取り込みマクロ」とは、例えば
1348 @code{\epsfile@{file=foo@}} のような挿絵取り込みコマンドのことで、この行に
1349 カーソルを合わせて@kbd{[prefix] g}を押すとその画像ファイルの元となったファ
1350 イルを対応するお絵描きツールを起動してオープンします。起動するツールの判定
1351 は以下のようになされます。
1353 @enumerate
1354 @item
1355 カレント行が変数 @code{YaTeX-processed-file-regexp-alist} に定義さ
1356 れている正規表現のいずれかとマッチしたら、ファイル名に相当する部分を
1357 \\(\\)から抜き出して覚えておく(何番目の\\(\\)かは変数の各リストの cdr 部に
1358 入れておく)。マッチしなければ何もしない。
1359 @item
1360 行末に、変数 @code{YaTeX-file-processor-alist} に登録されているコマンドが
1361 「%コマンド」 のように書いてあれば強制的に「コマンド ファイル名.拡張子」を
1362 起動。
1363 @item
1364 なければ、変数 @code{YaTeX-file-processor-alist} の各リストのcdr部に入って
1365 いる拡張子を「ファイル名」の後ろに足したファイルが存在するか順次調べて、存
1366 在した場合car部に入っているコマンドを起動する。
1367 @item
1368 以上どれかにマッチしなければあきらめる。
1369 @end enumerate
1372 変数 @code{YaTeX-file-processor-alist} と変数
1373 @code{YaTeX-file-processor-alist} の設定方法についてはそれぞれの変数につい
1374 て describe-variable して説明を読んで下さい。うまく設定すると、画像ファイ
1375 ルにかぎらず、任意の形式のファイルを任意のプロセッサで処理するコマンドを簡
1376 単に呼び出すことができます。
1378 @node メインファイルへのジャンプ, 環境を単位としたジャンプ, お絵描きツール起動, Cursor jump
1379 @comment node-name, next, previous, up
1380 @section メインファイルへのジャンプ
1382 @file{chap1.tex}のようなサブファイルで、
1384 @table @kbd
1385 @item [prefix] ^
1386 @dots{} メインファイルにジャンプ
1387 @item [prefix] 4 ^
1388 @dots{} 別ウィンドウでメインファイルにジャンプ
1389 @end table
1391 @noindent
1392 を押すと、メインファイルの編集バッファに切替えます。もし、メインファイルを
1393 オープンしていない場合は、カレントディレクトリから探して自動的にオープンし
1394 ます。
1396 @node 環境を単位としたジャンプ, 最後の補完位置へのジャンプ, メインファイルへのジャンプ, Cursor jump
1397 @comment node-name, next, previous, up
1398 @section 環境を単位としたジャンプ
1400 さらに現在の環境を単位として機能するコマンドに以下のものがあります。
1402 @cindex 環境の先頭へ[かんきようのせんとうへ]
1403 @cindex 環境の末尾へ[かんきようのまつひへ]
1404 @cindex 環境をマーク[かんきようをまあく]
1405 @cindex M-C-a
1406 @cindex M-C-e
1407 @cindex M-C-@@
1408 @table @kbd
1409 @item M-C-a
1410 @dots{} 環境の先頭(@code{\begin})へジャンプ
1411 @item M-C-e
1412 @dots{} 環境の末尾(@code{\end})へジャンプ
1413 @item M-C-@@
1414 @dots{} 環境全体をマーク
1415 @end table
1417 上記のコマンドは通常の@kbd{[prefix]}キーではなく@kbd{META}キーをプリフィク
1418 スとして機能するのでご注意下さい。
1420 @node 最後の補完位置へのジャンプ, , 環境を単位としたジャンプ, Cursor jump
1421 @comment node-name, next, previous, up
1422 @section 最後の補完位置へのジャンプ
1424 野鳥は補完入力した位置を常にレジスタ @code{3}に保存しています。
1425 入力途中で如何なるファイルの如何なる位置に行ったとしても、
1426 @kbd{C-x j 3}(@code{jump-to-register})を使って直ちに最後の補完入力位置に戻
1427 ることができます。
1429 @node Modifying/Deleting, Filling, Cursor jump, Top
1430 @comment node-name, next, previous, up
1431 @chapter 変更/削除
1432 @cindex 変更/削除[へんこう/さくしよ]
1433 @cindex prefix c
1434 @cindex prefix k
1436 既に入力されている La@TeX{} コマンドの変更/削除のために以下の機能が用意
1437 されています。
1439 @table @kbd
1440 @item [prefix] c
1441 @dots{} カーソル位置の La@TeX{} コマンドの変更
1442 @item [prefix] k
1443 @dots{} カーソル位置の La@TeX{} コマンドの削除
1444 @end table
1447 これらのコマンドは、コマンドを起動する場所によって動作を決定するので注意し
1448 て下さい。
1450 @menu
1451 * Changing LaTeX command:: La@TeX{} コマンドの変更
1452 * Killing LaTeX command:: La@TeX{} コマンドの削除
1453 @end menu
1455 @node Changing LaTeX command, Killing LaTeX command, Modifying/Deleting, Modifying/Deleting
1456 @comment node-name, next, previous, up
1457 @section La@TeX{} コマンドの変更
1459 変更したい La@TeX{} コマンドにカーソルを合わせて @kbd{[prefix] c}
1460 を押すとそのコマンドを補完入力などを用いて手軽に変えることができます。
1461 @kbd{[prefix] c} で変更できるコマンドには以下のものがあります。
1463 @itemize
1464 @item @code{begin/end} の環境名
1465 @item section型コマンドのコマンド名
1466 @item section型コマンドの引数
1467 @item section型コマンドのオプションパラメータ([]で囲まれたもの)
1468 @item large型コマンド
1469 @item (イメージ補完で入力可能な)数式モード専用のmaketitle型コマンド
1470 @end itemize
1472 変えたいsection型コマンドの引数がさらに La@TeX{} コマンドを含む場合は、
1473 その引数を囲む中括弧の上で @kbd{[prefix] c} を押すことで中のコマンドを変更
1474 対象判定から除外することができます。
1476 @cindex 環境名の変更[かんきようめいのへんこう]
1478 @node Killing LaTeX command, , Changing LaTeX command, Modifying/Deleting
1479 @comment node-name, next, previous, up
1480 @section La@TeX{} コマンドの削除
1482 @kbd{[prefix] k} は起動する位置により
1483 次のような動作を行います。
1484 @cindex 環境の削除[かんきようのさくしよ]
1487 @example
1488 起動位置 動作
1489 \begin, \endの行 @code{\begin\end}ペアの削除
1490 %#BEGIN, %#END の行 %#BEGIN,%#ENDペアの削除
1491 section型コマンドの上(中) section型コマンドの削除
1492 フォント指定括弧の上 フォント指定の削除
1493 括弧の上 対をなす括弧の削除
1494 @end example
1497 @code{\begin, \end} および @code{%#BEGIN, %#END} を削除する場合、
1498 @code{\begin, \end} や @code{%#BEGIN, %#END} の存在する行は
1499 まるごと削除されるので、それらの一行に @code{\begin} などを二つ以上連ねて
1500 書かないように注意してください。
1501 上記のものはすべて本文を囲う「容器」を削除するように働きますが、
1502 universal-argument (@kbd{C-u}) を打った後で@kbd{[prefix] k}をタイプすると、
1503 それぞれの「容器」に含まれる「中身」も一気に削除します。以下の例を参考にし
1504 て下さい。
1506 @example
1507 元のテキスト: [prefix] k C-u [prefix] k
1508 本文\footnote@{脚注@}です。 本文脚注です。 本文です。
1509 ↑(カーソル位置)
1510 @end example
1512 @node Filling, Includeonly, Modifying/Deleting, Top
1513 @comment node-name, next, previous, up
1514 @chapter 桁揃え
1515 @cindex 桁揃え[けたそろえ]
1517 @section itemの桁揃え
1518 @cindex itemなどの桁揃え[itemなとのけたそろえ]
1519 @cindex prefix i
1521 itemize 環境中にある@code{\item}の項目(文章)が複数行に渡る場合に、項
1522 目の先頭を桁揃えしたい場合には、
1524 @c @table @kbd
1525 @c @item [prefix] i
1526 @c @dots{} itemの桁揃え
1527 @c @end table
1529 @table @kbd
1530 @item M-q
1531 @dots{} 桁揃え
1532 @end table
1533 @cindex NTT-jTeX[えぬていいていいしえいてつく]
1535 @noindent
1536 によって、その item のインデントの深さに応じて fill されます。なお、古い
1537 NTT jTeX を使用している場合には、Lisp 変数@code{NTT-jTeX}を@code{t}にセッ
1538 トして下さい。
1540 @cindex YaTeX-item-regexp
1541 このとき、変数@code{YaTeX-item-regexp}の値(標準では @code{"\\\\item"})を
1542 項目指定コマンドの正規表現として検索に使用します。itemize 環境で、独自のコ
1543 マンドを定義して項目を列挙している場合(例えば@code{\underlineitem})は、
1544 @file{~/.emacs} で次のように指定して下さい。
1546 @lisp
1547 (setq YaTeX-item-regexp
1548 "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)")
1549 @end lisp
1552 この変数の指定の仕方がよく分からない場合は、独自の項目列挙コマンドの名前を
1553 @code{@code{"\item"}で始まるものにして下さい(例えば"\itembf"})。
1555 野鳥の @kbd{M-q} では @code{\item} を環境に応じて以下のように「ハングイン
1556 デント」します。
1558 @example
1559 itemize, enumerate環境:
1560 >\item[ほげほげ] 英語では、特に意味のない単語を `foo' であらわしま
1561 > すが、これの日本語版ともいえる単語が「ほげほげ」
1562 > です。
1563 description環境:
1564 > \item[へろへろ] 「ほげほげ」をでたらめが単語として使った時に、第
1565 > 2のでたらめな単語として「へろへろ」が使われることが多
1566 > いようです。
1567 @end example
1569 @section パラグラフの桁揃え
1570 @cindex パラグラフの桁揃え[はらくらふのけたそろえ]
1571 @cindex M-q
1573 itemize環境以外でのパラグラフの桁揃え(fill)は、基本的に他のモードと同じ
1574 ように機能しますが、verbatim環境や、tabular環境など桁揃えをすると悲惨な状
1575 況になるような環境中では機能しません。また、\verb で括ってあるものは決して
1576 行分割されません(変数 @code{YaTeX-verb-regexp} で制御) )。さらに、一時的に
1577 インデントの深さを変えてある箇所では、そのインデントの先頭で@kbd{M-q}を押
1578 すことにより fill-prefix をいちいち変更しなくて桁揃えができます。
1581 @node Includeonly, What column, Filling, Top
1582 @comment node-name, next, previous, up
1583 @chapter 勝手にincludeonly
1584 @cindex 勝手にincludeonly[かつてにincludeonly]
1585 @cindex includeonly
1587 ファイルを分割して文章を入力している時には、メインファイル中に
1589 @example
1590 \includeonly@{現在編集中のファイル名@}
1591 @end example
1593 @noindent
1594 のように書いておくことで、タイプセットの時間を節約できますが、ちょっと他の
1595 ファイルを手直ししたい時には
1596 @cindex 他のファイルの手直し[ほかのふあいるのてなおし]
1598 @example
1599 \includeonly@{ちょっと手直ししたいファイル名@}
1600 @end example
1603 と書き直さなければならず手間がかかります。野鳥では現在編集しているファイル
1604 名がメインファイルの@code{\includeonly}にない場合には自動的にこれを検出し、
1605 次の指示を仰ぎます。
1607 @example
1608 A)dd R)eplace %)comment?
1609 @end example
1612 現在編集中のファイルを @code{\includeonly} のリストに加えたい時には@kbd{a}
1613 を、現在編集中のファイルだけを @code{\includeonly} にしたい時は@kbd{r}を、
1614 @code{\includeonly} の行をコメントアウトして無効化したい時には、@kbd{%}を
1615 それぞれ押して下さい。
1617 @node What column, Intelligent newline, Includeonly, Top
1618 @comment node-name, next, previous, up
1619 @chapter ここはどこ?
1620 @cindex ここはどこ?[ここはとこ?]
1621 @cindex prefix &
1622 @cindex 複雑なtabular[ふくさつなtabular]
1624 項目数の多い tabular などをたくさん書いていると下の方の行で、いま書いて
1625 いる桁がどこに対応するのかわからなくなってしまうことがあります。例えば、以
1626 下のような tabular において、
1628 @example
1629 \begin@{tabular@}@{|c|c|c|c|c|c|c|c|@}\hline
1630 氏名&所属&〒&住所&電話&FAX&帰省先&帰省先電話\\ \hline
1631 矢上二郎 & 6 & 223 & 横浜市港北区日吉 & xxx-yyy &
1632 zzz-www & トンガ & 9876-54321 \\
1633 日吉小僧 & 2 & \multicolumn@{2@}@{c|@}@{教えない@}
1634 &&&(???)
1635 \\ \hline
1636 \end@{tabular@}
1637 @end example
1640 (???)の部分がどの項目なのかすぐに判断するのは難しいでしょう。こんな時は、
1642 @table @kbd
1643 @item [prefix] &
1644 @dots{} 現在のカラム表示
1645 @end table
1646 @cindex 現在のカラム表示[けんさいのからむひようし]
1648 @noindent
1649 を押すとカーソル位置のカラムがどの項目に該当するかをミニバッファに表示しま
1650 す。tabular/array環境の第1行目を項目名の並びとみなして対応するものを探しま
1651 す。もし項目名として別のものを表示して欲しい場合は、行頭を@code{%}にしてダ
1652 ミーの項目並びを作っておくと良いでしょう。
1654 @node Intelligent newline, Usepackage cheker, What column, Top
1655 @comment node-name, next, previous, up
1656 @chapter おまかせ改行
1657 @cindex おまかせ改行[おまかせかいきよう]
1658 @cindex &入力[&にゆうりよく]
1660 tabular[*], array, itemize, enumerate, tabbing 環境をbegin型補完で入力し
1661 た時、または各環境内で
1663 @table @kbd
1664 @item ESC RET
1665 @dots{} おまかせ改行
1666 @end table
1669 を押すと、その環境に応じた行エントリを次の行に挿入します(begin型補完時に自
1670 動挿入されたエントリが不要な場合は undo によって消去できます)。例えば、
1671 tabular環境では、その環境のカラム数に対応した個数の @code{&} に加え、行末
1672 の @code{\\} を入れます。この時それ以前に @code{\hline} があればそれも付け
1673 加えます。環境とそれに応じて自動入力するものの対応は以下のようになります。
1675 @itemize
1676 @item @code{tabular}, @code{tabular*}, @code{array}
1678 カラム数-1 だけの @code{&} と @code{\\}。必要に応じて @code{\hline}
1680 @item @code{tabbing}
1682 一行目で定義している @code{\=} と同じ個数の @code{\>}。
1684 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
1686 @code{\item} または @code{item[]}
1687 @end itemize
1689 tabular 環境の例のように、本機能は各環境の一行目の内容を参考にして動作す
1690 るので、なるべく二行目以降で呼び出すようにしてください。
1692 もし、その他の環境、例えば @code{foo}、に対して@code{おまかせ改行}を動作
1693 させたい時は、@code{YaTeX-intelligent-newline-foo} という名前の関数を定義
1694 します。定義した関数は、現在の行に改行を挿入した直後の行頭の位置で呼ばれま
1695 す。関数 @code{YaTeX-indent-line} を呼ぶと現在の環境のネストに応じた深さに
1696 インデントされるので、これを呼んでから何かを挿入するようなコードを書くとよ
1697 いでしょう。@file{yatexenv.el}内の関数
1698 @code{YaTeX-intelligent-newline-itemize} の定義などを参考にしてください。
1701 @node Usepackage cheker, Changing mode of YaTeX, Intelligent newline, Top
1702 @comment node-name, next, previous, up
1703 @chapter 先回りusepackage
1704 @cindex 先回りusepackage[さきまわり]
1706 begin型、section型、maketitle型、いずれかのLaTeX2eマクロを補完入力すると、
1707 そのマクロの利用に外部パッケージを必要とする場合、そのパッケージを
1708 本文中で @code{\usepackage@{@}} しているかどうかを調査し、もししていなければ
1709 プリアンブルに対応するパッケージを引数にした @code{\usepackage} 文を
1710 (確認後に)挿入します。
1712 ただしこの機能が働くためには、パッケージ名とその中で定義されているマクロ
1713 群をalistの形式で変数 @code{YaTeX-package-alist-private} に設定しておく必
1714 要があります。
1716 @node Changing mode of YaTeX, Online help, Usepackage cheker, Top
1717 @comment node-name, next, previous, up
1718 @chapter 野鳥の動作モード切り替え
1719 @cindex モード切り替え[もうときりかえ]
1720 @cindex prefix w
1722 @table @kbd
1723 @item [prefix] w
1724 @dots{} 野鳥動作モード切り替えメニュー
1725 @end table
1727 @noindent
1728 で野鳥自身の動作を決定する以下のモードを切り替えます。
1730 @itemize @bullet
1731 @item 修正モード
1732 @item 野鳥数式モード
1733 @end itemize
1735 修正モードは、開き括弧入力時の処理をコントロールし、修正モードONの時は開き
1736 括弧の入力は開き括弧のみの入力になり、修正モードOFFの時は開き括弧の入力だ
1737 けで閉じ括弧まで入力します。デフォルト(起動時)の設定は@emph{OFF}です。
1739 野鳥数式モードは、変数 @code{YaTeX-auto-math-mode} が @code{nil} の時の
1740 み有効で、このとき@kbd{;}や@kbd{:}を押した時(@ref{Image completion}参照)に、
1741 どのようなイメージ補完を機能させるか、通常のキーとして機能させるかを手動で
1742 切り替えます。自動判定が遅いマシンでは@code{YaTeX-auto-math-mode}
1743 @code{nil}にセットし、野鳥数式モードを手動で切り替えると良いでしょう。
1746 @node Online help, Inclusion hierarchy browser, Changing mode of YaTeX, Top
1747 @comment node-name, next, previous, up
1748 @chapter オンラインヘルプ
1749 @cindex オンラインヘルプ[おんらいんへるふ]
1750 @cindex apropos
1751 @cindex キーワード検索[きいわあとけんさく]
1752 @cindex prefix ?
1753 @cindex prefix /
1755 使おうとする La@TeX{} コマンドの用法がよく分からない時は、オンラインヘル
1756 プをひきましょう。ヘルプに関するキーには以下のものがあります。
1758 @table @kbd
1759 @item [prefix] ?
1760 @dots{} オンラインヘルプ
1761 @item [prefix] /
1762 @dots{} オンラインapropos
1763 @end table
1765 @section オンラインヘルプ
1766 @cindex グローバルヘルプ[くろおはるへるふ]
1767 @cindex プライベートヘルプ[ふらいへえとへるふ]
1768 @cindex YaTeX-help-file
1769 @cindex YaTeX-help-file-private
1771 「オンラインヘルプ」は、一般的な La@TeX{} コマンド(デフォルトでカーソル
1772 位置のコマンド)に対する説明を隣のバッファに表示します。この時参照されるヘ
1773 ルプ用ファイルには「グローバルヘルプ」と「プライベートヘルプ」の二種類があ
1774 り、前者は La@TeX{} の標準コマンドの主なものの説明を含むファイルで、変数
1775 @code{YaTeX-help-file}の値で指定されます。このファイルは通常公共の場所(デ
1776 フォルトで@code{$EMACSEXECPATH})に置かれ、誰もがその内容を更新できるように
1777 全員に書き込み権が与えられるべきものです。後者は、非標準もしくは個人的なマ
1778 クロ定義に関する説明が書かれているファイルで、変数
1779 @code{YaTeX-help-file-private}の値で指定されます。こちらはユーザのホームディ
1780 レクトリの下などに置かれます。
1782 @section オンラインapropos
1784 「オンラインapropos」は GNU Emacs の apropos と同様、ユーザが指定したキー
1785 ワードを説明文に含む項目すべてを隣のバッファに表示します。
1787 もし、調べようとしたLa@TeX{}コマンドに対する説明がヘルプファイル中に見つ
1788 からなかった場合は、説明文の入力を求めてくるので、可能であれば参考書などを
1789 調べてそのコマンドの説明を入力してください。もし、なにか標準的なコマンドに
1790 対する説明を書いたならばぜひ私までその説明をお送り下さい。次回の配布に含め
1791 たいと思います。
1793 @node Inclusion hierarchy browser, Cooperation with other packages, Online help, Top
1794 @comment node-name, next, previous, up
1795 @chapter インクルード構造ブラウザ
1796 @cindex インクルード構造[いんくるうとこうそう]
1797 @cindex prefix d
1799 複数のファイルに分割しているドキュメントを書いている場合、
1801 @table @kbd
1802 @item [prefix] d
1803 @dots{} インクルード構造ブラウズ
1804 @end table
1806 @noindent
1807 を押すと、そのドキュメントの親ファイルを聞いて来ます。ここで全てのファイル
1808 の親となるファイル(デフォルトが示されているので大抵はRETのみ)を入力すると
1809 インクルードしている全てのファイルを解析し、インクルード状況を視覚的に表示
1810 します。このバッファでは以下のキー操作が有効です。
1812 @table @kbd
1813 @item n
1814 @dots{} 次の行に移動し対応するファイルを隣のバッファに表示
1815 @item p
1816 @dots{} 上の行に移動し対応するファイルを隣のバッファに表示
1817 @item N
1818 @dots{} 同じインクルードレベルの次のファイルに移動
1819 @item P
1820 @dots{} 同じインクルードレベルの前のファイルに移動
1821 @item j
1822 @dots{} 次の行に移動
1823 @item k
1824 @dots{} 上の行に移動
1825 @item u
1826 @dots{} 一代親にあたるファイルに移動
1827 @item .
1828 @dots{} カーソル位置のファイルを隣のバッファに表示
1829 @item SPC
1830 @dots{} 隣のバッファの対応ファイルをスクロールアップ
1831 @item DEL, b
1832 @dots{} 隣のバッファの対応ファイルをスクロールダウン
1833 @item <
1834 @dots{} 隣のバッファの対応ファイルの先頭を表示
1835 @item >
1836 @dots{} 隣のバッファの対応ファイルの末尾を表示
1837 @item '
1838 @dots{} (@kbd{<}や@kbd{>}の後で)元の表示位置に戻る
1839 @item RET, g
1840 @dots{} カーソル位置のファイルを隣のバッファでオープン
1841 @item mouse-2
1842 @dots{} RETと同じ(ウィンドウ使用時のみ)
1843 @item o
1844 @dots{} 隣のウィンドウに移動
1845 @item 1
1846 @dots{} 他のウィンドウを消す
1847 @item -
1848 @dots{} ブラウズウィンドウを小さくする
1849 @item +
1850 @dots{} ブラウズウィンドウを大きくする
1851 @item ?
1852 @dots{} ヘルプ表示
1853 @item q
1854 @dots{} 表示前の状態に戻る
1855 @end table
1857 ただし、隣のウィンドウのファイルの内容を表示する機能に関しては、対応する
1858 ファイルをクローズしてしまうとうまく働きませんのでご注意ください。
1860 @node Cooperation with other packages, Customizations, Inclusion hierarchy browser, Top
1861 @comment node-name, next, previous, up
1862 @chapter 他パッケージとの連携
1863 @cindex 他パッケージとの連携[たはつけえしとのれんけい]
1865 @section gmhist
1866 @cindex gmhist
1867 @cindex コマンドヒストリ[こまんとひすとり]
1868 @cindex ヒストリ[ひすとり]
1870 @file{gmhist.el}と@file{gmhist-mh.el} をロードしている場合、プレヴューコ
1871 マンドの入力(@kbd{[prefix] tp]})、印刷コマンドの入力(@kbd{[prefix] tl})の
1872 時に独立したヒストリを利用できます。それぞれのプロンプトで、@kbd{M-p} を押
1873 すと直前に利用したコマンド文字列をくり返し呼び出すことができます。
1875 @section min-out
1876 @cindex min-out
1878 @file{min-out.el} (@code{outline-minor-mode}) と野鳥を組み合わせて使うこ
1879 とももちろん可能です。設定の方法に関しては@file{yatexm-o.el}をご覧ください。
1881 @node Customizations, Etc, Cooperation with other packages, Top
1882 @comment node-name, next, previous, up
1883 @chapter カスタマイズ
1884 @cindex カスタマイズ[かすたまいす]
1885 @cindex キーアサイン[きいあさいん]
1887 野鳥の動作を制御する種々の変数を独自に設定することにより、補完入
1888 力を起動するキーアサインを変えたり、環境名の補完候補をさらに充実さ
1889 せることなどができます。
1891 @menu
1892 * Lisp variables:: lisp 変数
1893 * Add-in functions:: 付加関数(アドイン関数)
1894 @end menu
1896 @node Lisp variables, Add-in functions, Customizations, Customizations
1897 @comment node-name, next, previous, up
1898 @section lisp 変数
1899 @cindex prefixキー変更[prefixきいへんこう]
1901 例えば prefix キーを @kbd{C-c} 以外のキーにしたい場合は、
1902 @code{YaTeX-prefix}に prefix キーにしたいシンボルを定義してください。さら
1903 に、「@kbd{C-c 英字}」というキーバインドは独自の関数が割り当ててあるので使
1904 いたくない。このような時は、@code{YaTeX-inhibit-prefix-letter} を @code{t}
1905 に設定することにより、@kbd{C-c 英字…}のバインドが全て、対応する@kbd{C-c
1906 C-英字…}に変わります(ただし、begin型 large型補完の大文字起動によるリジョ
1907 ン指定は可能なままです。これも無効にしたい場合は@code{t}ではなく 1 にセッ
1908 トして下さい。)。
1910 @menu
1911 * All customizable variables:: カスタマイズ変数一覧
1912 * Sample definitions:: カスタマイズ変数設定例
1913 * Hook variables:: hook変数
1914 * Hook file:: hook用ファイル
1915 @end menu
1917 @node All customizable variables, Sample definitions, Lisp variables, Lisp variables
1918 @comment node-name, next, previous, up
1919 @subsection カスタマイズ変数一覧
1920 @cindex カスタマイズ変数一覧[かすたまいすへんすういちらん]
1922 yatex-mode における次の変数がカスタマイズ可能です。@file{~/.emacs} で
1923 @code{setq} しておけば、そちらの定義が優先されます。括弧の中はデフォルト値
1924 です。実際に変数の値を変更する場合は @kbd{M-x describe-variable} で
1925 変数の詳細な説明を参照してください。
1927 @defvar YaTeX-prefix
1928 yatex-mode 中のプリフィクスキー (@kbd{\C-c})
1929 @end defvar
1931 @defvar YaTeX-inhibit-prefix-letter
1932 prefix キーの直後のキーバインドで @kbd{英字} のものを @kbd{C-英字} に変更
1933 (@code{nil})
1934 @end defvar
1936 @defvar YaTeX-fill-prefix
1937 本文を書く時の行頭に挿入する接頭辞すなわち fill-prefix (@code{""(nil)})
1938 @end defvar
1940 @defvar YaTeX-user-completion-table
1941 学習したLa@TeX{}コマンド保存ファイル名 (@code{"~/.yatexrc"})
1942 @end defvar
1944 @defvar YaTeX-kanji-code
1945 文書を作成する時の漢字コード
1946 nil=既存のコードのまま 0=no-conversion 1=Shift JIS,
1947 2=JIS, 3=EUC, 4=UTF-8 (2 (MS-DOSでは1))
1948 @end defvar
1950 @defvar tex-command
1951 La@TeX{}タイプセッタコマンド名 (@code{"platex"})
1952 @end defvar
1954 @defvar dvi2-command
1955 プレヴューアコマンド名 (@code{"xdvi -geo +0+0 -s 4"})
1956 @end defvar
1958 @defvar dviprint-command-format
1959 dviファイルの印刷に使われるコマンド式 (@code{"dvi2ps %f %t %s | lpr"})
1960 @end defvar
1962 @defvar dviprint-from-format
1963 上の@code{%f}に相当する開始ページ指定書式、@code{%b} が開始ページ番号に変
1964 わる (@code{"-f %b"})
1965 @end defvar
1967 @defvar dviprint-to-format
1968 @code{%t} に相当する終了ページ指定書式、@code{%e}が終了ページ番号に変わる
1969 (@code{"-t %e"})
1970 @end defvar
1972 @defvar makeindex-command
1973 makeindexコマンド (@code{"makeindex"} (MS-DOSでは@code{"makeind"}))
1974 @end defvar
1976 @defvar YaTeX-dvipdf-command
1977 dviをPDFに変換するコマンド (@code{"dvipdfmx"})
1978 @end defvar
1980 @defvar YaTeX-on-the-fly-preview-interval
1981 @kbd{[prefix] t e}で環境即時previewをする場合の変換処理までの
1982 無操作時間(秒) (0.9)
1983 @code{nil} の場合は即時プレヴューをしない。
1984 @end defvar
1986 @defvar YaTeX-on-the-fly-math-preview-engine
1987 @kbd{[prefix] t e}で数式環境を即時previewする時に用いるエンジン
1988 (latex-math-previewが利用可能なときは latex-math-preview-expression を呼ぶ
1989 @code{'YaTeX-typeset-environment-by-lmp}
1990 そうでないときは内蔵関数を呼ぶ @code{'YaTeX-typeset-environment-by-builtin})
1991 @end defvar
1993 @defvar YaTeX-cmd-gimp
1994 GIMPを起動するコマンド (code{"gimp"})
1995 @end defvar
1996 @defvar YaTeX-cmd-tgif
1997 tgifを起動するコマンド (code{"tgif"})
1998 @end defvar
1999 @defvar YaTeX-cmd-inkscape
2000 Inkscapeを起動するコマンド (code{"inkscape"})
2001 @end defvar
2002 @defvar YaTeX-cmd-dia
2003 Diaを起動するコマンド (code{"dia"})
2004 @end defvar
2005 @defvar YaTeX-cmd-ooo
2006 OpenOffice.orgまたはLibreOfficeを起動するコマンド (code{"soffice"})
2007 @end defvar
2008 @defvar YaTeX-cmd-gs
2009 Ghostscriptを起動するコマンド (code{"gs"})
2010 @end defvar
2011 @defvar YaTeX-cmd-dvips
2012 dvipsを起動するコマンド(環境によってはpdvipsなど) (code{"dvips"})
2013 @end defvar
2014 @defvar YaTeX-cmd-displayline
2015 displaylineを起動するコマンド
2016 (code{"/Applications/Skim.app/Contents/SharedSupport/displayline"})
2017 @end defvar
2018 @defvar YaTeX-cmd-edit-ps
2019 PostScriptファイルを編集するコマンド (変数code{"YaTeX-cmd-gimp"}の値)
2020 @end defvar
2021 @defvar YaTeX-cmd-edit-pdf
2022 PDFファイルを編集するコマンド (変数code{"YaTeX-cmd-ooo"}の値)
2023 @end defvar
2024 @defvar YaTeX-cmd-edit-ai
2025 .aiファイルを編集するコマンド (変数code{"YaTeX-cmd-inkscape"}の値)
2026 @end defvar
2027 @defvar YaTeX-cmd-edit-svg
2028 SVGファイルを編集するコマンド (変数code{"YaTeX-cmd-inkscape"}の値)
2029 @end defvar
2030 @defvar YaTeX-cmd-edit-images
2031 その他画像ファイルを編集するコマンド (変数code{"YaTeX-cmd-gimp"}の値)
2032 @end defvar
2034 @defvar YaTeX-need-nonstop
2035 @code{\nonstopmode@{@}}を自動的に付加するか (@code{nil})
2036 @end defvar
2038 @defvar latex-warning-regexp
2039 latexコマンドの出力するウォーニング行の正規表現 (@code{"line.* [0-9]*"})
2040 @end defvar
2042 @defvar latex-error-regexp
2043 同じくエラー行の正規表現 (@code{"l\\.[1-9][0-9]*"})
2044 @end defvar
2046 @defvar latex-dos-emergency-message
2047 MS-DOS上で動作する latex コマンドが、エラーにより停止するとき出力するメッ
2048 セージ (@code{"Emergency stop"})
2049 @end defvar
2051 @defvar latex-message-kanji-code
2052 タイプセッタの出力するメッセージの漢字コード.タイプセットバッファ
2053 の出力が化ける時は、これを設定する (2, Nemacsでのみ有効)
2054 @end defvar
2056 @defvar NTT-jTeX
2057 古いNTT-j@TeX{}使用時のようにインデントした行の先頭と前の行の
2058 (タイプセット後の)字間が空いてしまうのを嫌う場合は@code{t}にする
2059 (@code{nil})
2060 @end defvar
2062 @defvar YaTeX-item-regexp
2063 itemの桁揃えの時に用いる、itemの正規表現 (@code{"\\\\(sub\\)*item"})
2064 @end defvar
2066 @defvar YaTeX-verb-regexp
2067 verbコマンドの正規表現。先頭の\\\\はつけない (@code{"verb\\*?\\|path"})
2068 @end defvar
2070 @defvar YaTeX-nervous
2071 ローカル辞書を用いる時 @code{t} (@code{t})
2072 @end defvar
2074 @defvar YaTeX-sectioning-regexp
2075 セクション区切り設定コマンドの正規表現
2076 (@code{"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"})
2077 @end defvar
2079 @defvar YaTeX-fill-inhibit-environments
2080 fill を抑止する環境名のリスト
2081 (@code{'("tabular" "tabular*" "array" "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath" "verbatim" "verbatim*")})
2082 @end defvar
2084 @defvar YaTeX-uncomment-once
2085 領域uncommentで行頭の複数の@code{%}を全て削除するか (@code{nil})
2086 @end defvar
2088 @defvar YaTeX-close-paren-always
2089 開き括弧の入力で常に閉じ括弧を入力する (@code{t})
2090 @end defvar
2092 @defvar YaTeX-auto-math-mode
2093 数式モードの切り替えを自動的に行う (@code{t})
2094 @end defvar
2096 @defvar YaTeX-math-key-list-private
2097 数式イメージ補完で用いる (プリフィクスキー . 対応補完テーブル) の
2098 alist (@code{nil})。補完テーブルの書き方については@file{yatexmth.el}を参照。
2099 @end defvar
2101 @defvar YaTeX-default-pop-window-height
2102 1画面の時にタイプセットバッファを初めて作成する時の高さ。数値で行数、数字
2103 文字列でEmacsウィンドウに対する百分率 (10)
2104 @end defvar
2106 @defvar YaTeX-help-file
2107 共用ヘルプファイル (@file{$doc-directory/../../site-lisp/YATEXHLP.jp})
2108 @end defvar
2110 @defvar YaTeX-help-file-private
2111 個人用ヘルプファイル (@file{"~/YATEXHLP.jp"})
2112 @end defvar
2114 @defvar YaTeX-no-begend-shortcut
2115 @kbd{[prefix] b ??} のショートカットを使わず、@kbd{[prefix] b} だけで補完
2116 入力に入る (@code{nil})
2117 @end defvar
2119 @defvar YaTeX-hilit-pattern-adjustment-private
2120 正規表現とそれにマッチするものの論理的意味をシンボルであらわしたものの
2121 リスト…のリスト。hilit19 を組み込んでいる時のみ有効。
2122 詳しくは @code{(assq 'yatex-mode hilit-patterns-alist)}
2123 した結果と、変数 @code{YaTeX-hilit-pattern-adjustment-default} の値(と場合
2124 によっては hilit19 のドキュメント)を参照せよ。
2125 @end defvar
2127 @defvar YaTeX-sectioning-level
2128 LaTeXのセクション単位宣言コマンドとその論理的高さのalist。
2129 @end defvar
2131 @defvar YaTeX-hierarchy-ignore-heading-regexp
2132 Hierarchy バッファは通常ファイルヘッダとして、LaTeXのセクション宣言コマン
2133 ドの引数を検索し、それがなければコメント行を探すが、その際にヘッダとしては
2134 意味を持たないパターンをこの変数に設定する。デフォルトでは RCS ヘッダとモー
2135 ド指定行(-*- xxx -*-)が設定されている。
2136 @end defvar
2138 @defvar YaTeX-skip-default-reader
2139 Non-nil に設定するとsection型コマンドの引数入力時、アドイン関数がなければ
2140 ミニバッファでの読み込みをせずに入力を完了させる (@code{nil})
2141 @end defvar
2143 @defvar YaTeX-create-file-prefix-g
2144 @code{\include}などで @kbd{prefix g}した時に、ジャンプ先が存在しないファイ
2145 ルであってもオープンする (@code{nil})
2146 @end defvar
2148 @defvar YaTeX-simple-messages
2149 各種補完時のメッセージ出力を簡素化する (@code{nil})
2150 @end defvar
2152 @defvar YaTeX-hilit-sectioning-face
2153 色付けが有効な時の @code{\part} の色
2154 (@code{'(yellow/dodgerblue yellow/slateblue)})。
2155 リストの第一要素は @code{hilit-background-mode} が @code{'light} の時の、
2156 第二要素は @code{'dark} の時の @code{\chapter} の色で、文字色/背景色 のよ
2157 うに指定する。
2158 @end defvar
2160 @defvar YaTeX-hilit-sectioning-attenuation-rate
2161 色付けが有効な時の、@code{\subparagraph} の色を @code{\chapter} の濃度の何
2162 %薄くしたものにするか (@code{'(15 40)}) @code{YaTeX-hilit-sectioning-face}
2163 の項参照。
2164 @end defvar
2166 @defvar YaTeX-use-AMS-LaTeX
2167 AMS-LaTeX を使用する場合は @code{t} に設定する (@code{nil})
2168 @end defvar
2170 @defvar YaTeX-use-LaTeX2e
2171 LaTeX2e を使用する場合は @code{t} に設定する (@code{t})
2172 @end defvar
2174 @defvar YaTeX-template-file
2175 新規ファイル作成時に自動挿入するファイル名 (@code{~/work/template.tex})
2176 @end defvar
2178 @defvar YaTeX-search-file-from-top-directory
2179 inputするファイルを探すときの基準ディレクトリをmainファイルのあるディレクト
2180 リにするか (@code{t})
2181 @end defvar
2182 @defvar YaTeX-use-font-lock
2183 ソースの色づけパッケージとして font-lock を利用するかどうか
2184 (@code{(featurep 'font-lock)})
2185 @end defvar
2187 @defvar YaTeX-use-hilit19
2188 ソースの色づけパッケージとして hilit19 を利用するかどうか
2189 (@code{(featurep 'hilit19)})
2190 @end defvar
2192 @defvar YaTeX-use-italic-bold
2193 italic, boldフォントを野鳥が探すかどうか (Emacs20以降なら@code{t})
2194 font-lock利用時のみ有効。
2195 (@code{(featurep 'hilit19)}
2196 @end defvar
2198 @defvar YaTeX-singlecmd-suffix
2199 全てのmaketitle型コマンドの補完入力直後に挿入する文字列。
2200 @code{"@{@}"} などがお勧め。
2201 @end defvar
2203 @defvar YaTeX-package-alist-private
2204 LaTeX2eのパッケージ名とその中に含まれるマクロのリスト。
2205 適切に設定しておくと本文入力時にマクロを補完入力すると
2206 そのマクロに必要なパッケージを usepackage するか自動的に検査してくれる。
2207 していなければ \usepackage を自動追加することもできる。
2208 リストは
2209 @lisp
2210 '((パッケージ名1
2211 (補完タイプ マクロのリスト……)
2212 (補完タイプ マクロのリスト……))
2213 (パッケージ名2
2214 (補完タイプ マクロのリスト……)
2215 (補完タイプ マクロのリスト……))………)
2216 @end lisp
2217 という形式にする。補完タイプは @code{env, section, maketitle} のどれか。
2218 具体例は変数 @code{YaTeX-package-alist-default}
2219 の値参照。
2220 @end defvar
2222 @defvar YaTeX-tabular-indentation
2223 tabular/array 環境で現在行の先頭位置が表の第Nカラムのときは
2224 標準インデント位置から N*YaTeX-tabular-indentation 桁下げた
2225 インデントにする。
2226 @end defvar
2228 @defvar YaTeX-noindent-env-regexp
2229 別の環境内にあっても \begin@{@} が行頭から始まるべき環境名の正規表現。
2230 verbatim環境などを指定する。
2231 @end defvar
2233 @defvar YaTeX-electric-indent-mode
2234 Emacs 24.4 で導入された改行時の、自動インデントをどうするか。
2235 この値がそのまま electric-indent-local-mode に渡される。
2236 -1でoff。
2237 @end defvar
2239 @defvar YaTeX-ref-default-label-string
2240 \ref@{@} のラベル補完でラベル未設定のものに自動的に生成する
2241 ラベル名の書式。strftime(3)関数に似た日付ベースで指定する。
2242 利用できる書式は以下のとおり。
2243 %y -> 西暦下二桁, %b -> 月の英名, %m -> 月(1〜12)
2244 %d -> 日, %H -> 時, %M -> 分, %S -> 秒,
2245 %qx -> アルファベットで26進数化した yymmdd.
2246 %qX -> アルファベットで26進数化した HHMMSS.
2247 デフォルトは "%H%M%S_%d%b%y"
2248 @end defvar
2250 @defvar YaTeX-ref-generate-label-function
2251 \ref@{@}のラベル名自動生成のときに使う関数のシンボル。
2252 デフォルトは標準の YaTeX::ref-generate-label 関数が割り当ててある。
2253 引数を2つ取る関数を定義して、この変数にセットするとその関数を呼んだ
2254 結果をデフォルトのラベル名候補とする。設定例:
2255 @lisp
2256 (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label)
2257 (defun my-yatex-generate-label (command value)
2258 (and (string= command "caption")
2259 (re-search-backward "\\\\begin@{\\(figure\\|table\\)@}" nil t)
2260 (setq command (match-string 1)))
2261 (let ((alist '(("chapter" . "chap")
2262 ("section" . "sec")
2263 ("subsection" . "subsec")
2264 ("figure" . "fig")
2265 ("table" . "tbl"))))
2266 (if (setq command (cdr (assoc command alist)))
2267 (concat command ":" value)
2268 (YaTeX::ref-generate-label nil nil))))
2269 @end lisp
2270 @end defvar
2272 @node Sample definitions, Hook variables, All customizable variables, Lisp variables
2273 @comment node-name, next, previous, up
2274 @subsection カスタマイズ変数設定例
2275 @cindex 設定例[せつていれい]
2277 たとえば、prefix キーとして@kbd{ESC}を使用し、新たな補完候補を格納するファ
2278 イルを、@file{~/src/emacs/yatexrc} にし、行頭の prefix をタブ文字一つに変
2279 えたいときは、
2281 @lisp
2282 (setq YaTeX-prefix "\e"
2283 YaTeX-user-completion-table "~/src/emacs/yatexrc"
2284 YaTeX-fill-prefix " ")
2285 @end lisp
2287 @noindent
2288 を @file{~/.emacs} に加えます。
2290 @node Hook variables, Hook file, Sample definitions, Lisp variables
2291 @comment node-name, next, previous, up
2292 @subsection hook変数
2293 @cindex hook変数[hookへんすう]
2294 @cindex yatex-mode-hook
2295 @cindex yatex-mode-load-hook
2297 また、hook 変数 @code{yatex-mode-hook}, @code{yatex-mode-load-hook} を用
2298 意しています。すべての yatex-mode のバッファで作用させたいものは、
2299 @code{yatex-mode-hook} に記述し、@file{yatex.el} をロードする時だけ作用さ
2300 せたいものは@code{yatex-mode-load-hook} に記述します。例えば、
2301 @code{outline-minor-mode} を利用する場合、それぞれのバッファで
2302 @code{outline-minor-mode} を有効にしたいので、@code{yatex-mode-hook} を次
2303 のように設定します。
2305 @lisp
2306 (setq yatex-mode-hook
2307 '(lambda () (outline-minor-mode t)))
2308 @end lisp
2311 逆に、独自のキー定義を行いたい時などは、@code{yatex-mode-load-hook} を利用
2312 します。例えば、begin 型補完において、 document や、enumerate 以外の環境名
2313 もショートカットキーで入れたいなどという時は、次のようにします。以下の例は、
2314 @kbd{[prefix] ba} で @code{\begin@{abstract@}}, @code{\end@{abstract@}} を
2315 挿入します。
2317 @lisp
2318 (setq yatex-mode-load-hook
2319 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
2320 @end lisp
2322 なお、新たなキーの定義には、関数 @code{YaTeX-define-key}
2323 @code{YaTeX-define-begend-key}を利用するようにしてください。
2325 @node Hook file, , Hook variables, Lisp variables
2326 @comment node-name, next, previous, up
2327 @subsection hook用ファイル
2329 変数 @code{yatex-mode-load-hook} で定義する内容が多い時は、
2330 @file{yatexhks.el}というファイルを作り、その中に野鳥関連の設定を書く事で、
2331 初期化の時に自動的にロードします。
2334 @node Add-in functions, , Lisp variables, Customizations
2335 @comment node-name, next, previous, up
2336 @section 付加関数(アドイン関数)
2338 各種補完時に、環境名やコマンド名に応じたきめ細やかな補完入力機能を実現す
2339 るための関数を作成することができます。この関数の作成方法や、組み込み方法に
2340 関しては、@code{yatexadd.doc} をご覧ください。
2342 @node Etc, Copying, Customizations, Top
2343 @comment node-name, next, previous, up
2344 @chapter その他
2346 野鳥の標準の La@TeX{} コマンドの辞書には、作者が頻繁に使うものしか登録さ
2347 れていません。これは、補完候補に使いそうもないコマンドが存在して、補完した
2348 いコマンドを出すまでのストローク数を増やしてしまう事を防止するためです。標
2349 準辞書にないコマンドも、できるだけ補完入力方式を利用し、ユーザ辞書を充実さ
2350 せることで、あなたの La@TeX{} スタイルにあった野鳥へと育っていくことでしょ
2351 う。
2353 @node Copying, Concept Index, Etc, Top
2354 @comment node-name, next, previous, up
2355 @chapter 取り扱い
2357 本プログラムはフリーソフトウェアです。本プログラムを使用して生じたいかな
2358 る結果に対しても作者は責任を負わないこととします。転載等に関しては制限いた
2359 しません。常識的に扱ってください。また、本プログラムに含まれるコードを利用
2360 すること、改造することも自由に行なって構いませんが、流用することにより契約
2361 締結の必要が生じる場合、私はいかなる契約も締結しません。具体的にはGPLへの
2362 サインはしませんので、GNUに寄贈するものを作っている場合私の作品から取り込
2363 んだコードを流用すると苦労するかもしれません。いかなるコード流用も拒否しま
2364 せんが契約締結は辞退します。
2366 苦情、希望、バグ報告、感想等は歓迎いたします。
2367 連絡は yuuji@@yatex.org まで(2017年9月現在)。
2368 継続的に使用してくださる方はメイリングリスト「fj野鳥の会」に
2369 是非加入してください。加入方法については本パッケージの @file{docs/qanda}
2370 ファイルの「その他」の章を御覧ください。
2372 仕様は、予告なく確実に(気分次第で)変更されます:-p。
2374 @flushright
2375 広瀬雄二
2376 @end flushright
2378 @node Concept Index, , Copying, Top
2379 @comment node-name, next, previous, up
2380 @unnumbered 索引
2381 @printindex cp
2383 @c カスタマイズ変数索引を索引と分離する場合にはコメントアウトを外す!!!
2384 @c @node Variable Index
2385 @c @comment node-name, next, previous, up
2386 @c @unnumbered カスタマイズ変数索引
2387 @c @printindex vr
2389 @contents
2391 @bye
2393 @c Local Variables:
2394 @c fill-column: 74
2395 @c fill-prefix: nil
2396 @c buffer-file-coding-system: sjis
2397 @c End:
2399 Tag table:
2401 End tag table