yatex

annotate docs/yatexj.tex @ 472:355b28fc0025

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