yatex

annotate docs/yatexe.tex @ 28:0f8b77d22c8a

Add docs on intelligent-newline.
author yuuji
date Mon, 11 Jul 1994 14:56:13 +0000
parents b6127058e365
children 56f7676ed8ca
rev   line source
yuuji@20 1 \input texinfo.tex
yuuji@20 2 @setfilename yatexe
yuuji@20 3 @settitle Yet Another tex-mode for Emacs
yuuji@20 4
yuuji@20 5 @iftex
yuuji@20 6 @syncodeindex fn cp
yuuji@20 7 @syncodeindex vr cp
yuuji@20 8 @end iftex
yuuji@20 9
yuuji@20 10 @titlepage
yuuji@20 11 @sp 10
yuuji@20 12 @center
yuuji@20 13 @subtitle Yet Another tex-mode for emacs
yuuji@20 14 @title Wild Bird
yuuji@20 15 @subtitle // YaTeX //
yuuji@20 16 @author @copyright{} 1991-1994 by HIROSE, Yuuji [yuuji@@ae.keio.ac.jp]
yuuji@20 17 @end titlepage
yuuji@20 18
yuuji@20 19 @node Top, What is YaTeX?, (dir), (dir)
yuuji@20 20 @comment node-name, next, previous, up
yuuji@20 21 @cindex Demacs
yuuji@20 22 @cindex Mule
yuuji@20 23 @cindex LaTeX
yuuji@20 24 @cindex YaTeX
yuuji@20 25
yuuji@20 26 @menu
yuuji@20 27 * What is YaTeX?::
yuuji@20 28 * Main features::
yuuji@20 29 * Installation::
yuuji@20 30 * Typesetting::
yuuji@20 31 * %# notation::
yuuji@20 32 * Completion::
yuuji@20 33 * Commenting out::
yuuji@20 34 * Cursor jump::
yuuji@20 35 * Changing and Deleting::
yuuji@20 36 * Filling an item::
yuuji@20 37 * Local dictionaries::
yuuji@20 38 * Updation of @code{\includeonly}::
yuuji@20 39 * What column?::
yuuji@28 40 * Intelligent newline::
yuuji@20 41 * Online help::
yuuji@20 42 * Cooperation with other packages::
yuuji@20 43 * Customizations::
yuuji@20 44 * Etcetera::
yuuji@20 45 * Copying::
yuuji@20 46
yuuji@20 47 --- The Detailed Node Listing ---
yuuji@20 48
yuuji@20 49 %# notation
yuuji@20 50
yuuji@20 51 * Changing typesetter::
yuuji@20 52 * Static region for typesetting::
yuuji@20 53 * Lpr format::
yuuji@20 54 * Editing %# notation::
yuuji@20 55
yuuji@20 56 Completion
yuuji@20 57
yuuji@20 58 * Begin-type completion::
yuuji@20 59 * Section-type completion::
yuuji@20 60 * Large-type completion::
yuuji@20 61 * Maketitle-type completion::
yuuji@20 62 * Arbitrary completion::
yuuji@20 63 * End completion::
yuuji@20 64 * Accent completion::
yuuji@20 65 * Image completion::
yuuji@20 66 * Greek letters completion::
yuuji@20 67
yuuji@20 68 Section-type completion
yuuji@20 69
yuuji@20 70 * view-sectioning::
yuuji@20 71
yuuji@20 72 Customizations
yuuji@20 73
yuuji@20 74 * Lisp variables::
yuuji@20 75 * Add-in functions::
yuuji@20 76
yuuji@20 77 Lisp variables
yuuji@20 78
yuuji@20 79 * All customizable variables::
yuuji@20 80 * Sample definitions::
yuuji@20 81 * Hook variables::
yuuji@20 82 * Hook file::
yuuji@20 83 @end menu
yuuji@20 84
yuuji@20 85 @node What is YaTeX?, Main features, Top, Top
yuuji@20 86 @comment node-name, next, previous, up
yuuji@20 87 @chapter What is YaTeX?
yuuji@20 88
yuuji@20 89 YaTeX automates typesetting and previewing of LaTeX and enables
yuuji@20 90 completing input of LaTeX mark-up command such as
yuuji@20 91 @code{\begin@{@}}..@code{\end@{@}}.
yuuji@20 92
yuuji@20 93 YaTeX also supports Demacs which runs on MS-DOS(386), Mule (Multi
yuuji@20 94 Language Enhancement to GNU Emacs), and latex on DOS.
yuuji@20 95
yuuji@20 96 @node Main features, Installation, What is YaTeX?, Top
yuuji@20 97 @comment node-name, next, previous, up
yuuji@20 98 @chapter Main features
yuuji@20 99
yuuji@20 100 @itemize
yuuji@20 101 @item Invocation of typesetter, previewer and related programs(C-c t)
yuuji@20 102 @item Typesetting on static region which is independent from point
yuuji@20 103 @item Semiautomatic replacing of @code{\include only}
yuuji@20 104 @item Jumping to error line(@kbd{C-c '})
yuuji@20 105 @item Completing-read of La@TeX{} commands such as @code{\begin@{@}},
yuuji@20 106 @code{\section} etc.
yuuji@20 107 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
yuuji@20 108 @item Enclosing text into La@TeX{} environments or commands
yuuji@20 109 (@kbd{C-u} @var{AboveKeyStrokes})
yuuji@20 110 @item Learning unknown/new La@TeX{} commands for the next completion
yuuji@20 111 @item Argument reading with a guide for complicated La@TeX{} commands
yuuji@20 112 @item Generating argument-readers for new/unsupported commands(@file{yatexgen})
yuuji@20 113 @item Quick changing or deleting of La@TeX{} commands(@kbd{C-c c}, @kbd{C-c k})
yuuji@20 114 @item Jumping from and to inter-file, begin<->end, ref<->label(@kbd{C-c g})
yuuji@20 115 @item Blanket commenting out or uncommenting
yuuji@20 116 (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .})
yuuji@20 117 @item Easy input of accent mark, math-mode's commands and Greek letters
yuuji@20 118 (@kbd{C-c a}, @kbd{;}, @kbd{/})
yuuji@20 119 @item Online help for the popular La@TeX{} commands
yuuji@20 120 (@kbd{C-c ?}, @kbd{C-c /})(English help is not yet supported)
yuuji@20 121 @end itemize
yuuji@20 122
yuuji@20 123 @node Installation, Typesetting, Main features, Top
yuuji@20 124 @comment node-name, next, previous, up
yuuji@20 125 @chapter Installation
yuuji@20 126 @cindex installation
yuuji@20 127 @cindex .emacs
yuuji@20 128 @cindex auto-mode-alist
yuuji@20 129 @cindex autoload
yuuji@20 130
yuuji@20 131 Put next two expressions into your @file{~/.emacs}.
yuuji@20 132
yuuji@20 133 @lisp
yuuji@20 134 (setq auto-mode-alist
yuuji@20 135 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
yuuji@20 136 (autoload 'yatex-mode "yatex" "Yet Another La@TeX{} mode" t)
yuuji@20 137 @end lisp
yuuji@20 138
yuuji@20 139 Next, add certain path name where you put files of YaTeX to your
yuuji@20 140 load-path. If you want to put them in @file{~/src/emacs}, write
yuuji@20 141
yuuji@20 142 @lisp
yuuji@20 143 (setq load-path
yuuji@20 144 (cons (expand-file-name "~/src/emacs") load-path))
yuuji@20 145 @end lisp
yuuji@20 146
yuuji@20 147 @noindent
yuuji@20 148 in your @file{~/.emacs}
yuuji@20 149
yuuji@20 150 Then, yatex-mode will be automatically loaded when you visit a
yuuji@20 151 file which has extension @file{.tex}. If yatex-mode is successfully
yuuji@20 152 loaded, mode string on mode line will be turned to "YaTeX".
yuuji@20 153
yuuji@20 154
yuuji@20 155 @node Typesetting, %# notation, Installation, Top
yuuji@20 156 @comment node-name, next, previous, up
yuuji@20 157 @chapter Typesetting
yuuji@20 158 @cindex typesetting
yuuji@20 159 @cindex previewer
yuuji@20 160 @cindex typesetter
yuuji@20 161 @cindex latex
yuuji@20 162 @cindex printing out
yuuji@20 163
yuuji@20 164 The prefix key stroke of yatex-mode is @kbd{C-c} (Press 'C' with Control
yuuji@20 165 key) by default. If you don't intend to change the prefix key stroke,
yuuji@20 166 assume all @kbd{[prefix]} as @kbd{C-c} in this document. These key
yuuji@20 167 strokes execute typeset or preview command.
yuuji@20 168
yuuji@20 169 @table @kbd
yuuji@20 170 @item [prefix] tj
yuuji@20 171 @dots{} invoke latex
yuuji@20 172 @item [prefix] tr
yuuji@20 173 @dots{} invoke latex on region
yuuji@20 174 @item [prefix] tk
yuuji@20 175 @dots{} kill current typesetting process
yuuji@20 176 @item [prefix] tb
yuuji@20 177 @dots{} invoke bibtex
yuuji@20 178 @item [prefix] tp
yuuji@20 179 @dots{} preview
yuuji@20 180 @item [prefix] tl
yuuji@20 181 @dots{} lpr dvi-file
yuuji@20 182 @end table
yuuji@20 183
yuuji@20 184 The current editing window will be divided horizontally when you
yuuji@20 185 invoke latex command, and log message of La@TeX{} typesetting will be
yuuji@20 186 displayed in the other window; called typesetting buffer. The
yuuji@20 187 typesetting buffer automatically scrolls up and traces La@TeX{}
yuuji@20 188 warnings and error messages. If you see latex stopping by an
yuuji@20 189 error, you can send string to latex in the typesetting buffer.
yuuji@20 190
yuuji@20 191 If an error stops the La@TeX{} typesetting, this key stroke will
yuuji@20 192 move the cursor to the line where La@TeX{} error is detected.
yuuji@20 193
yuuji@20 194 @table @kbd
yuuji@20 195 @item [prefix] '
yuuji@20 196 @itemx ([prefix]+single quotation)
yuuji@20 197
yuuji@20 198 @dots{} jump to the previous error or warning
yuuji@20 199 @end table
yuuji@20 200
yuuji@20 201 If you find a noticeable error, move to the typesetting buffer and move
yuuji@20 202 the cursor on the line of error message and type @kbd{SPACE} key. This
yuuji@20 203 makes the cursor move to corresponding source line.
yuuji@20 204
yuuji@20 205 Since @kbd{[prefix] tr} pastes the region into the file
yuuji@20 206 @file{texput.tex} in the current directory, you should be careful of
yuuji@20 207 overwriting. The method of specification of the region is shown in the
yuuji@20 208 section @xref{%#NOTATION}.
yuuji@20 209
yuuji@20 210 The documentstyle for typeset-region is the same as that of editing
yuuji@20 211 file if you edit one file, and is the same as main file's if you
yuuji@20 212 edit splitting files.
yuuji@20 213
yuuji@20 214 YaTeX asks you the range of dvi-printing by default. You can
yuuji@20 215 skip this by invoking it with universal-argument as follows:
yuuji@20 216
yuuji@20 217 @example
yuuji@20 218 C-u [prefix] tl
yuuji@20 219 @end example
yuuji@20 220
yuuji@20 221 @node %# notation, Completion, Typesetting, Top
yuuji@20 222 @comment node-name, next, previous, up
yuuji@20 223 @chapter %# notation
yuuji@20 224 @cindex %# notation
yuuji@20 225
yuuji@20 226 You can control the typesetting process by describing @code{%#}
yuuji@20 227 notations in the source text.
yuuji@20 228
yuuji@20 229 @menu
yuuji@20 230 * Changing typesetter::
yuuji@20 231 * Static region for typesetting::
yuuji@20 232 * Lpr format::
yuuji@20 233 * Editing %# notation::
yuuji@20 234 @end menu
yuuji@20 235
yuuji@28 236 @node Changing typesetter, Static region for typesetting, , %# notation
yuuji@20 237 @comment node-name, next, previous, up
yuuji@20 238 @section To change the `latex' command or to split a source text.
yuuji@20 239 @cindex typesetter
yuuji@20 240
yuuji@20 241 To change the typesetting command, write
yuuji@20 242
yuuji@20 243 @example
yuuji@20 244 %#!latex-big
yuuji@20 245 @end example
yuuji@20 246
yuuji@20 247 @noindent
yuuji@20 248 anywhere in the source text. And if you split the source text and
yuuji@20 249 edit subfile that should be included from main text.
yuuji@20 250
yuuji@20 251 @example
yuuji@20 252 %#!latex main.tex
yuuji@20 253 @end example
yuuji@20 254
yuuji@20 255 @noindent
yuuji@20 256 will be helpful to execute latex on main file from sub text buffer. Since
yuuji@20 257 this command line after @kbd{%#!} will be sent to shell literally, next
yuuji@20 258 description makes it convenient to use ghostview as dvi-previewer.
yuuji@20 259
yuuji@20 260 @example
yuuji@20 261 %#!latex main ; dvi2ps main.dvi > main
yuuji@20 262 @end example
yuuji@20 263
yuuji@20 264 @noindent
yuuji@20 265 Note that YaTeX assumes the component before the last period of
yuuji@20 266 the last word in this line as base name of the main La@TeX{} source.
yuuji@20 267
yuuji@20 268 Here are the restrictions on splitting sources.
yuuji@20 269
yuuji@20 270 @itemize
yuuji@20 271 @item All the file name should be different.
yuuji@20 272 @item You can put split texts in sub directory, but not in
yuuji@20 273 sub directory of sub directory.
yuuji@20 274 @item In the main text,specify the file with relative path name
yuuji@20 275 such as \include{chap1/sub}, when you include the file in
yuuji@20 276 a sub-directory.
yuuji@20 277 @item In a sub-text, write @code{%#!latex main.tex} even if @file{main.tex}
yuuji@20 278 is in the parent directory(not %#!latex ../main.tex).
yuuji@20 279 @end itemize
yuuji@20 280
yuuji@20 281 @node Static region for typesetting, Lpr format, Changing typesetter, %# notation
yuuji@20 282 @comment node-name, next, previous, up
yuuji@20 283 @section Static region
yuuji@20 284 @cindex static region
yuuji@20 285 @cindex Fixed region
yuuji@20 286
yuuji@20 287 Typeset-region by @kbd{[prefix] tr} passes the region between point and
yuuji@20 288 mark to typesetting command by default. But when you want to typeset
yuuji@20 289 static region, enclose the region by @code{%#BEGIN} and @code{%#END} as
yuuji@20 290 follows.
yuuji@20 291
yuuji@20 292 @example
yuuji@20 293 %#BEGIN
yuuji@20 294 TheRegionYouWantToTypesetManyTimes
yuuji@20 295 %#END
yuuji@20 296 @end example
yuuji@20 297
yuuji@20 298 This is the rule of deciding the region.
yuuji@20 299
yuuji@20 300 @enumerate
yuuji@20 301 @item
yuuji@20 302 If there exists %#BEGIN before point,
yuuji@20 303
yuuji@20 304 @enumerate
yuuji@20 305 @item
yuuji@20 306 If there exists %#END after %#BEGIN,
yuuji@20 307 @itemize
yuuji@20 308 @item From %#BEGIN to %#END.
yuuji@20 309 @end itemize
yuuji@20 310
yuuji@20 311 @item
yuuji@20 312 If %#END does not exist after %#BEGIN,
yuuji@20 313 @itemize
yuuji@20 314 @item From %#BEGIN to the end of buffer.
yuuji@20 315 @end itemize
yuuji@20 316 @end enumerate
yuuji@20 317
yuuji@20 318 @item
yuuji@20 319 If there does not exist %#BEGIN before point,
yuuji@20 320 @itemize
yuuji@20 321 @item Between point and mark(standard method of Emacs).
yuuji@20 322 @end itemize
yuuji@20 323 @end enumerate
yuuji@20 324
yuuji@20 325 It is useful to write @code{%#BEGIN} in the previous line of \begin and
yuuji@20 326 @code{%#END} in the next line of \@code{end} when you try complex
yuuji@20 327 environment such as `tabular' many times. It is also useful to put only
yuuji@20 328 @code{%#BEGIN} alone at the middle of very long text. Do not forget to
yuuji@20 329 erase @code{%#BEGIN} @code{%#END} pair.
yuuji@20 330
yuuji@20 331 @node Lpr format, Editing %# notation, Static region for typesetting, %# notation
yuuji@20 332 @comment node-name, next, previous, up
yuuji@20 333 @section Lpr format
yuuji@20 334 @cindex lpr format
yuuji@20 335
yuuji@20 336 Lpr format is specified by three Lisp variables. Here are the
yuuji@20 337 default values of them.
yuuji@20 338
yuuji@20 339 @table @code
yuuji@20 340 @item (1)dviprint-command-format
yuuji@20 341 @code{"dvi2ps %f %t %s | lpr"}
yuuji@20 342 @item (2)dviprint-from-format
yuuji@20 343 @code{"-f %b"}
yuuji@20 344 @item (3)dviprint-to-format
yuuji@20 345 @code{"-t %e"}
yuuji@20 346 @end table
yuuji@20 347
yuuji@20 348 On YaTeX-lpr, @code{%s} in (1) is replaced by the file name of main
yuuji@20 349 text, @code{%f} by contents of (2), %t by contents of (3). At these
yuuji@20 350 replacements, @code{%b} in (2) is also replaced by the number of beginning
yuuji@20 351 page, @code{%e} in (3) is replaced by the number of ending page. But
yuuji@20 352 @code{%f} and @code{%t} are ignored when you omit the range of print-out
yuuji@20 353 by @kbd{C-u [prefix] tl}.
yuuji@20 354
yuuji@20 355 If you want to change this lpr format temporarily, put a command
yuuji@20 356 such as follows somewhere in the text:
yuuji@20 357
yuuji@20 358 @example
yuuji@20 359 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
yuuji@20 360 @end example
yuuji@20 361
yuuji@20 362 And if you want YaTeX not to ask you the range of printing
yuuji@20 363 out, the next example may be helpful.
yuuji@20 364
yuuji@20 365 @example
yuuji@20 366 %#LPR dvi2ps %s | lpr
yuuji@20 367 @end example
yuuji@20 368
yuuji@20 369 @node Editing %# notation, , Lpr format, %# notation
yuuji@20 370 @comment node-name, next, previous, up
yuuji@20 371 @section Editing %# notation
yuuji@20 372
yuuji@20 373 To edit @code{%#} notation described above, type
yuuji@20 374
yuuji@20 375 @table @kbd
yuuji@20 376 @item [prefix] %
yuuji@20 377 @dots{} editing %# notation menu
yuuji@20 378 @end table
yuuji@20 379
yuuji@20 380 @noindent
yuuji@20 381 and select one of the entry of the menu as follows.
yuuji@20 382
yuuji@20 383 @example
yuuji@20 384 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
yuuji@20 385 @end example
yuuji@20 386
yuuji@20 387 @noindent
yuuji@20 388 Type @kbd{!} to edit @code{%#!} entry, @code{b} to enclose the region with
yuuji@20 389 @code{%#BEGIN} and @code{%#END}, and @code{l} to edit @code{%#LPR} entry.
yuuji@20 390 When you type @kbd{b}, all @code{%#BEGIN} and @code{%#END} are
yuuji@20 391 automatically erased.
yuuji@20 392
yuuji@20 393 @node Completion, Commenting out, %# notation, Top
yuuji@20 394 @comment node-name, next, previous, up
yuuji@20 395 @chapter Completion
yuuji@20 396 @cindex completion
yuuji@20 397
yuuji@20 398 YaTeX makes it easy to input the La@TeX{} commands. There are several
yuuji@20 399 kinds of completion type, begin-type, section-type, large-type, etc...
yuuji@20 400
yuuji@20 401 @menu
yuuji@20 402 * Begin-type completion::
yuuji@20 403 * Section-type completion::
yuuji@20 404 * Large-type completion::
yuuji@20 405 * Maketitle-type completion::
yuuji@20 406 * Arbitrary completion::
yuuji@20 407 * End completion::
yuuji@20 408 * Accent completion::
yuuji@20 409 * Image completion::
yuuji@20 410 * Greek letters completion::
yuuji@20 411 @end menu
yuuji@20 412
yuuji@28 413 @node Begin-type completion, Section-type completion, , Completion
yuuji@20 414 @comment node-name, next, previous, up
yuuji@20 415 @section Begin-type completion
yuuji@20 416 @cindex begin-type completion
yuuji@20 417 @cindex environment
yuuji@20 418 @cindex prefix b
yuuji@20 419
yuuji@20 420 "Begin-type completion" completes commands of @code{\begin@{env@}} ...
yuuji@20 421 @code{\end@{env@}}. All of the begin-type completions begin with this key
yuuji@20 422 sequence.
yuuji@20 423
yuuji@20 424 @table @kbd
yuuji@20 425 @item [prefix] b
yuuji@20 426 @dots{} start begin-type completion
yuuji@20 427 @end table
yuuji@20 428
yuuji@20 429 @noindent
yuuji@20 430 An additional key stroke immediately completes a frequently used
yuuji@20 431 La@TeX{} @code{\begin@{@}}...@code{\@code{end}@{@}} environment.
yuuji@20 432
yuuji@20 433 @table @kbd
yuuji@20 434 @item [prefix] b c
yuuji@20 435 @dots{} @code{\begin@{center@}...\end@{center@}}
yuuji@20 436 @item [prefix] b d
yuuji@20 437 @dots{} @code{\begin@{document@}...\end@{document@}}
yuuji@20 438 @item [prefix] b D
yuuji@20 439 @dots{} @code{\begin@{description@}...\end@{description@}}
yuuji@20 440 @item [prefix] b e
yuuji@20 441 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
yuuji@20 442 @item [prefix] b E
yuuji@20 443 @dots{} @code{\begin@{equation@}...\end@{equation@}}
yuuji@20 444 @item [prefix] b i
yuuji@20 445 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
yuuji@20 446 @item [prefix] b l
yuuji@20 447 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
yuuji@20 448 @item [prefix] b m
yuuji@20 449 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
yuuji@20 450 @item [prefix] b t
yuuji@20 451 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
yuuji@20 452 @item [prefix] b T
yuuji@20 453 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
yuuji@20 454 @item [prefix] b^T
yuuji@20 455 @dots{} @code{\begin@{table@}...\end@{table@}}
yuuji@20 456 @item [prefix] b p
yuuji@20 457 @dots{} @code{\begin@{picture@}...\end@{picture@}}
yuuji@20 458 @item [prefix] b q
yuuji@20 459 @dots{} @code{\begin@{quote@}...\end@{quote@}}
yuuji@20 460 @item [prefix] b Q
yuuji@20 461 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
yuuji@20 462 @item [prefix] b r
yuuji@20 463 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
yuuji@20 464 @item [prefix] b v
yuuji@20 465 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
yuuji@20 466 @item [prefix] b V
yuuji@20 467 @dots{} @code{\begin@{verse@}...\end@{verse@}}
yuuji@20 468 @end table
yuuji@20 469
yuuji@20 470 Any other La@TeX{} environments are made by completing-read of the
yuuji@20 471 Emacs function.
yuuji@20 472
yuuji@20 473 @table @kbd
yuuji@20 474 @item [prefix] b SPACE
yuuji@20 475 @dots{} begin-type completion
yuuji@20 476 @end table
yuuji@20 477
yuuji@20 478 @noindent
yuuji@20 479 The next message will show up in the minibuffer
yuuji@20 480
yuuji@20 481 @example
yuuji@20 482 Begin environment(default document):
yuuji@20 483 @end example
yuuji@20 484
yuuji@20 485 @noindent
yuuji@20 486 by typing @kbd{[prefix] b}. Put the wishing environment with completion
yuuji@20 487 in the minibuffer, and @code{\begin@{env@}}...\@code{\end@{env@}} will be
yuuji@20 488 inserted in the La@TeX{} source text. If the environment you want to put
yuuji@20 489 does not exist in the YaTeX completion table, it will be registered in the
yuuji@20 490 user completion table. YaTeX automatically saves the user completion
yuuji@20 491 table in the user dictionary file at exiting of emacs.
yuuji@20 492
yuuji@20 493 If you want to enclose some paragraphs which have already been
yuuji@20 494 written, invoke the begin-type completion with changing the case
yuuji@20 495 of @kbd{b} of key sequence upper(or invoke it with universal argument
yuuji@20 496 by @kbd{C-u} prefix).
yuuji@20 497 @cindex enclose region into environment
yuuji@20 498
yuuji@20 499 The following example encloses a region with `description'
yuuji@20 500 environment.
yuuji@20 501
yuuji@20 502 @table @kbd
yuuji@20 503 @item [prefix] B D
yuuji@20 504 @itemx (or ESC 1 [prefix] b D)
yuuji@20 505 @itemx (or C-u [prefix] b D)
yuuji@20 506
yuuji@20 507 @dots{} begin-type completion for region
yuuji@20 508 @end table
yuuji@20 509
yuuji@20 510 This enclosing holds good for the completing input by @kbd{[prefix] b
yuuji@20 511 SPC}. @kbd{[prefix] B SPC} enclose a region with the environment selected
yuuji@20 512 by completing-read.
yuuji@20 513
yuuji@20 514 @node Section-type completion, Large-type completion, Begin-type completion, Completion
yuuji@20 515 @comment node-name, next, previous, up
yuuji@20 516 @section Section-type completion
yuuji@20 517 @cindex section-type completion
yuuji@20 518 @cindex prefix s
yuuji@20 519
yuuji@20 520 "Section-type completion" completes section-type commands which take an
yuuji@20 521 argument or more such as @code{\section@{foo@}}. To invoke section-type
yuuji@20 522 completion, type
yuuji@20 523
yuuji@20 524 @table @kbd
yuuji@20 525 @item [prefix] s
yuuji@20 526 @dots{} section-type completion
yuuji@20 527 @end table
yuuji@20 528
yuuji@20 529 @noindent
yuuji@20 530 then the prompt
yuuji@20 531
yuuji@20 532 @example
yuuji@20 533 (C-v for view) \???@{@} (default documentstyle):
yuuji@20 534 @end example
yuuji@20 535
yuuji@20 536 @noindent
yuuji@20 537 will show up in the minibuffer. Section-type La@TeX{} commands are
yuuji@20 538 completed by space key, and the default value is selected when you
yuuji@20 539 type nothing in the minibuffer.
yuuji@20 540
yuuji@20 541 Next,
yuuji@20 542
yuuji@20 543 @example
yuuji@20 544 \section@{???@}:
yuuji@20 545 @end example
yuuji@20 546
yuuji@20 547 @noindent
yuuji@20 548 prompts you the argument of section-type La@TeX{} command. For
yuuji@20 549 example, the following inputs
yuuji@20 550
yuuji@20 551 @example
yuuji@20 552 \???@{@} (default documentstyle): section
yuuji@20 553 \section{???}: Hello world.
yuuji@20 554 @end example
yuuji@20 555
yuuji@20 556 @noindent
yuuji@20 557 will insert the string
yuuji@20 558
yuuji@20 559 @example
yuuji@20 560 \section@{Hello world.@}
yuuji@20 561 @end example
yuuji@20 562
yuuji@20 563 in your La@TeX{} source. When you neglect argument such as
yuuji@20 564
yuuji@20 565 @example
yuuji@20 566 (C-v for view) \???@{@} (default section): vspace*
yuuji@20 567 \vspace*@{???@}:
yuuji@20 568 @end example
yuuji@20 569
yuuji@20 570 YaTeX puts
yuuji@20 571
yuuji@20 572 @example
yuuji@20 573 \vspace*@{@}
yuuji@20 574 @end example
yuuji@20 575
yuuji@20 576 @noindent
yuuji@20 577 and move the cursor in the braces.
yuuji@20 578
yuuji@20 579 In La@TeX{} command, there are commands which take more than one
yuuji@20 580 arguments such as @code{\addtolength{\topmargin}{8mm}}. To complete these
yuuji@20 581 commands, invoke section-type completion with universal argument as,
yuuji@20 582 @cindex number of argument
yuuji@20 583
yuuji@20 584 @example
yuuji@20 585 C-u 2 [prefix] s (or ESC 2 [prefix] s)
yuuji@20 586 @end example
yuuji@20 587
yuuji@20 588 @noindent
yuuji@20 589 and make answers in minibuffer like this.
yuuji@20 590
yuuji@20 591 @example
yuuji@20 592 (C-v for view) \???@{@} (default vspace*): addtolength
yuuji@20 593 \addtolength@{???@}: \topmargin
yuuji@20 594 Argument 2: 8mm
yuuji@20 595 @end example
yuuji@20 596
yuuji@20 597 @code{\addtolength} and the first argument @code{\topmargin} can be typed
yuuji@20 598 easily by completing read. Since YaTeX also learns the number of
yuuji@20 599 arguments of section-type command and will ask that many arguments in
yuuji@20 600 future completion, you had better tell the number of arguments to YaTeX at
yuuji@20 601 the first completion of the new word. But you can change the number of
yuuji@20 602 arguments by calling the completion with different universal argument
yuuji@20 603 again.
yuuji@20 604
yuuji@20 605 The special number of argument 0 makes YaTeX use read-string to
yuuji@20 606 read the first argument instead of completing-read. It is more
yuuji@20 607 comfortable to enter first argument without completion when you
yuuji@20 608 put section title which contains space character. Normally, such
yuuji@20 609 sectioning commands as chapter, section, paragraph..., have
yuuji@20 610 argument 0 in the completion table.
yuuji@20 611
yuuji@20 612 Invoking section-type completion with @code{[Prefix] S} (Capital `S')
yuuji@20 613 includes the region as the first argument of section-type command.
yuuji@20 614
yuuji@20 615 The section/large/maketitle type completion can work at the
yuuji@20 616 prompt for the argument of other section-type completion.
yuuji@20 617 Nested La@TeX{} commands are efficiently read with the recursive
yuuji@20 618 completion by typing YaTeX's completion key sequence in the
yuuji@20 619 minibuffer.
yuuji@20 620
yuuji@20 621 @menu
yuuji@20 622 * view-sectioning::
yuuji@20 623 @end menu
yuuji@20 624
yuuji@28 625 @node view-sectioning, , , Section-type completion
yuuji@20 626 @comment node-name, next, previous, up
yuuji@20 627 @subsection view-sectioning
yuuji@20 628 @cindex view sectioning
yuuji@20 629 @cindex outline
yuuji@20 630
yuuji@20 631 In the minibuffer at the prompt of section-type command completion,
yuuji@20 632 typing @kbd{C-v} shows a list of sectioning commands in source text(The
yuuji@20 633 line with @code{<<--} mark is the nearest sectioning command). Then,
yuuji@20 634 default sectioning command appears in the minibuffer. You can go up/down
yuuji@20 635 sectioning command by typing @kbd{C-p}/@kbd{C-n}, can scrolls up/down the
yuuji@20 636 listing buffer by @kbd{C-v}/@kbd{M-v}, and can hide sectioning commands
yuuji@20 637 under certain level by 0 through 6. Type @kbd{?} in the minibuffer of
yuuji@20 638 sectioning prompt for more information.
yuuji@20 639
yuuji@20 640 @node Large-type completion, Maketitle-type completion, Section-type completion, Completion
yuuji@20 641 @comment node-name, next, previous, up
yuuji@20 642 @section Large-type completion
yuuji@20 643
yuuji@20 644 "Large-type completion" inputs the font or size changing
yuuji@20 645 descriptions such as @code{@{\large @}}. When you type
yuuji@20 646
yuuji@20 647 @table @kbd
yuuji@20 648 @item [prefix] l
yuuji@20 649 @dots{} large-type completion
yuuji@20 650 @end table
yuuji@20 651
yuuji@20 652 @noindent
yuuji@20 653 the message in the minibuffer
yuuji@20 654
yuuji@20 655 @example
yuuji@20 656 @{\??? @} (default large):
yuuji@20 657 @end example
yuuji@20 658
yuuji@20 659 prompts prompts you large-type command with completing-read. There are
yuuji@20 660 TeX commands to change fonts or sizes, @code{it}, @code{huge} and so on,
yuuji@20 661 in the completion table.
yuuji@20 662
yuuji@20 663 Region-based completion is also invoked by changing the letter after
yuuji@20 664 prefix key stroke as @kbd{[prefix] L}. It encloses the region by braces
yuuji@20 665 with large-type command.
yuuji@20 666
yuuji@20 667 @node Maketitle-type completion, Arbitrary completion, Large-type completion, Completion
yuuji@20 668 @comment node-name, next, previous, up
yuuji@20 669 @section Maketitle-type completion
yuuji@20 670 @cindex maketitle-type completion
yuuji@20 671
yuuji@20 672 We call it "maketitle-type completion" which completes commands such as
yuuji@20 673 @code{\maketitle}. Take notice that maketitle-type commands take no
yuuji@20 674 arguments. Then, typing
yuuji@20 675
yuuji@20 676 @table @kbd
yuuji@20 677 @item [prefix] m
yuuji@20 678 @dots{} maketitle-type completion
yuuji@20 679 @end table
yuuji@20 680
yuuji@20 681 @noindent
yuuji@20 682 begins maketitle-completion. Above mentioned method is true for
yuuji@20 683 maketitle-completion, and there are La@TeX{} commands with no
yuuji@20 684 arguments in completion table.
yuuji@20 685
yuuji@20 686 @node Arbitrary completion, End completion, Maketitle-type completion, Completion
yuuji@20 687 @comment node-name, next, previous, up
yuuji@20 688 @section Arbitrary completion
yuuji@20 689 @cindex arbitrary completion
yuuji@20 690
yuuji@20 691 @noindent
yuuji@20 692 You can complete certain La@TeX{} command anywhere without typical
yuuji@20 693 completing method as described, by typing
yuuji@20 694
yuuji@20 695 @table @kbd
yuuji@20 696 @item [prefix] SPC
yuuji@20 697 @dots{} arbitrary completion
yuuji@20 698 @end table
yuuji@20 699
yuuji@20 700 @noindent
yuuji@20 701 after the initial string of La@TeX{} command that is preceded by @code{\}.
yuuji@20 702
yuuji@20 703 @node End completion, Accent completion, Arbitrary completion, Completion
yuuji@20 704 @comment node-name, next, previous, up
yuuji@20 705 @section End completion
yuuji@20 706 @cindex end completion
yuuji@20 707
yuuji@20 708 @noindent
yuuji@20 709 YaTeX automatically detects the opened environment and close it with
yuuji@20 710 \@code{\end@{environment@}}. Though proficient YaTeX users never fail to
yuuji@20 711 make environment with begin-type completion, some may begin an environment
yuuji@20 712 manually. In that case, type
yuuji@20 713
yuuji@20 714 @table @kbd
yuuji@20 715 @item [prefix] e
yuuji@20 716 @dots{} @code{end} completion
yuuji@20 717 @end table
yuuji@20 718
yuuji@20 719 @noindent
yuuji@20 720 at the end of the opened environment.
yuuji@20 721
yuuji@20 722 @node Accent completion, Image completion, End completion, Completion
yuuji@20 723 @comment node-name, next, previous, up
yuuji@20 724 @section Accent completion
yuuji@20 725 @cindex accent completion
yuuji@20 726
yuuji@20 727 When you want to write the European accent marks(like @code{\`@{o@}}),
yuuji@20 728
yuuji@20 729 @table @kbd
yuuji@20 730 @item [prefix] a
yuuji@20 731 @dots{} accent completion
yuuji@20 732 @end table
yuuji@20 733
yuuji@20 734 @noindent
yuuji@20 735 shows the menu
yuuji@20 736
yuuji@20 737 @example
yuuji@20 738 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
yuuji@20 739 @end example
yuuji@20 740
yuuji@20 741 @noindent
yuuji@20 742 in the minibuffer. Chose one character or corresponding numeric,
yuuji@20 743 and you will see
yuuji@20 744
yuuji@20 745 @example
yuuji@20 746 \`{}
yuuji@20 747 @end example
yuuji@20 748
yuuji@20 749 @noindent
yuuji@20 750 in the editing buffer with the cursor positioned in braces. Type
yuuji@20 751 one more character `o' for example, then
yuuji@20 752
yuuji@20 753 @example
yuuji@20 754 \`{o}
yuuji@20 755 @end example
yuuji@20 756
yuuji@20 757 @noindent
yuuji@20 758 will be completed, and the cursor gets out from braces.
yuuji@20 759
yuuji@20 760 @node Image completion, Greek letters completion, Accent completion, Completion
yuuji@20 761 @comment node-name, next, previous, up
yuuji@20 762 @section Image completion of mathematical sign
yuuji@20 763 @cindex image completion
yuuji@20 764 @cindex math-mode
yuuji@20 765 @cindex sigma
yuuji@20 766 @cindex leftarrow
yuuji@20 767 @cindex ;
yuuji@20 768
yuuji@20 769 Arrow marks, sigma mark and those signs mainly used in the
yuuji@20 770 TeX's math environment are completed by key sequences which
yuuji@20 771 imitate the corresponding symbols graphically. This completion
yuuji@20 772 only works in the math environment. YaTeX automatically detects
yuuji@20 773 whether the cursor located in math environment or not, and
yuuji@20 774 change the behavior of key strokes @kbd{;} and @kbd{/}.
yuuji@20 775
yuuji@20 776 By the way, we often express the leftarrow mark by `<-' for example.
yuuji@20 777 Considering such image, you can write @code{\leftarrow} by typing @kbd{<-}
yuuji@20 778 after @kbd{;} (semicolon) as a prefix. In the same way,
yuuji@20 779 @code{\longleftarrow} (@code{<--}) is completed by typing @kbd{;<--},
yuuji@20 780 infinity mark which is imitated by @code{oo} is completed by typing
yuuji@20 781 @kbd{;oo}.
yuuji@20 782
yuuji@20 783 Here are the sample operations in YaTeX math-mode.
yuuji@20 784
yuuji@20 785 @example
yuuji@20 786 INPUT Completed La@TeX{} commands
yuuji@20 787 ; < - @code{\leftarrow}
yuuji@20 788 ; < - - @code{\longleftarrow}
yuuji@20 789 ; < - - > @code{\longleftrightarrow}
yuuji@20 790 ; o @code{\circ}
yuuji@20 791 ; o o @code{\infty}
yuuji@20 792 @end example
yuuji@20 793
yuuji@20 794 In any case, you can quit from image completion and can move
yuuji@20 795 to the next editing operation if the La@TeX{} command you want is
yuuji@20 796 shown in the buffer.
yuuji@20 797
yuuji@20 798 @code{;} itself in math-environment is inserted by @kbd{;;}. Typing
yuuji@20 799 @kbd{TAB} in the midst of image completion shows all of the La@TeX{}
yuuji@20 800 commands that start with the same name as string you previously typed in.
yuuji@20 801 In this menu buffer, press @kbd{RET} after moving the cursor (by @kbd{n},
yuuji@20 802 @kbd{p}, @kbd{b}, @kbd{f}) to insert the La@TeX{} command.
yuuji@20 803
yuuji@20 804 To know all of the completion table, type @kbd{TAB} just after @kbd{;}.
yuuji@20 805 And here is the sample menu by @kbd{TAB} after @kbd{;<}.
yuuji@20 806
yuuji@20 807 @example
yuuji@20 808 KEY LaTeX sequence sign
yuuji@20 809 < \leq <
yuuji@20 810 ~
yuuji@20 811 << \ll <<
yuuji@20 812 <- \leftarrow <-
yuuji@20 813 <= \Leftarrow <=
yuuji@20 814 @end example
yuuji@20 815
yuuji@20 816 You can define your favorite key-vs-sequence completion table in the
yuuji@20 817 Emacs-Lisp variable @code{YaTeX-math-sign-alist-private}. See also
yuuji@20 818 @file{yatexmth.el} for the information of the structure of this variable.
yuuji@20 819
yuuji@20 820 @node Greek letters completion, , Image completion, Completion
yuuji@20 821 @comment node-name, next, previous, up
yuuji@20 822 @section Greek letters completion
yuuji@20 823 @cindex Greek letters completion
yuuji@20 824 @cindex /
yuuji@20 825
yuuji@20 826 Math-mode of YaTeX provides another image completion, Greek letters
yuuji@20 827 completion in the same method. After prefix @kbd{/}, typing @kbd{a} makes
yuuji@20 828 @code{\alpha}, @kbd{b} makes @code{\beta} and @kbd{g} makes @code{\gamma}
yuuji@20 829 and so on. First, type @kbd{/TAB} to know all the correspondence of
yuuji@20 830 alphabets v.s. Greek letters.
yuuji@20 831
yuuji@20 832 If you will find @kbd{;} or @kbd{/} doesn't work in correct position of
yuuji@20 833 math environment, it may be a bug of YaTeX. Please send me a bug report
yuuji@20 834 with the configuration of your text, and avoid it temporarily by typing
yuuji@20 835 @kbd{;} or @kbd{/} after universal-argument(@kbd{C-u}) which forces
yuuji@20 836 @kbd{;} and @kbd{/} to work as math-prefix.
yuuji@20 837
yuuji@20 838 @node Commenting out, Cursor jump, Completion, Top
yuuji@20 839 @comment node-name, next, previous, up
yuuji@20 840 @chapter Commenting out
yuuji@20 841 @cindex commenting out
yuuji@20 842 @cindex prefix >
yuuji@20 843 @cindex prefix <
yuuji@20 844 @cindex prefix ,
yuuji@20 845 @cindex prefix .
yuuji@20 846
yuuji@20 847 You may want to comment out some region.
yuuji@20 848
yuuji@20 849 @table @kbd
yuuji@20 850 @item [prefix] >
yuuji@20 851 @dots{} comment out region by %
yuuji@20 852 @item [prefix] <
yuuji@20 853 @dots{} uncomment region
yuuji@20 854 @end table
yuuji@20 855
yuuji@20 856 @noindent
yuuji@20 857 cause an operation to the region between point and mark.
yuuji@20 858
yuuji@20 859 @table @kbd
yuuji@20 860 @item [prefix] .
yuuji@20 861 @dots{} comment out current paragraph
yuuji@20 862 @item [prefix] ,
yuuji@20 863 @dots{} uncomment current paragraph
yuuji@20 864 @end table
yuuji@20 865
yuuji@20 866 @noindent
yuuji@20 867 comments or uncomments the paragraph where the cursor belongs.
yuuji@20 868 This `paragraph' means the region marked by the function
yuuji@20 869 mark-paragraph, bound to @kbd{ESC h} by default. It is NOT
yuuji@20 870 predictable what will happen when you continuously comment out
yuuji@20 871 some paragraph many times.
yuuji@20 872
yuuji@20 873 You can also comment out an environment between @code{\begin} and
yuuji@20 874 @code{\end}, or a @code{\begin}-\@code{\end} pair themselves, by making the
yuuji@20 875 following key strokes on the line where @code{\begin@{@}} or
yuuji@20 876 @code{\end@{@}} exists.
yuuji@20 877
yuuji@20 878 @table @kbd
yuuji@20 879 @item [prefix] >
yuuji@20 880 @dots{} comment out from \begin to \@code{end}
yuuji@20 881 @item [prefix] <
yuuji@20 882 @dots{} uncomment from \begin to \@code{end}
yuuji@20 883 @end table
yuuji@20 884
yuuji@20 885 @noindent
yuuji@20 886 comment whole the contents of environment. Moreover,
yuuji@20 887
yuuji@20 888 @table @kbd
yuuji@20 889 @item [prefix] .
yuuji@20 890 @dots{} comment out \begin and \@code{end}
yuuji@20 891 @item [prefix] ,
yuuji@20 892 @dots{} uncomment \begin and \@code{end}
yuuji@20 893 @end table
yuuji@20 894
yuuji@20 895 @noindent
yuuji@20 896 (un)comments out only environment declaration: @code{\begin@{@}} and
yuuji@20 897 @code{\end@{@}}. NOTE that even if you intend to comment out some region,
yuuji@20 898 invoking @kbd{[prefix] >} on the @code{\begin},@code{\end} line decides to
yuuji@20 899 work in `commenting out from @code{\begin} to @code{\end}' mode.
yuuji@20 900
yuuji@20 901
yuuji@20 902 @node Cursor jump, Changing and Deleting, Commenting out, Top
yuuji@20 903 @comment node-name, next, previous, up
yuuji@20 904 @chapter Cursor jump
yuuji@20 905 @cindex cursor jump
yuuji@20 906 @cindex prefix g
yuuji@20 907
yuuji@20 908 On a @code{\begin},@code{\end} line, the key stroke
yuuji@20 909
yuuji@20 910 @table @kbd
yuuji@20 911 @item [prefix] g
yuuji@20 912 @dots{} go to corresponding object
yuuji@20 913 @end table
yuuji@20 914
yuuji@20 915 @noindent
yuuji@20 916 moves the cursor to the corresponding @code{\end},@code{\begin} line, if
yuuji@20 917 its partner really exists. It is also applicable to A @code{%#BEGIN} and
yuuji@20 918 @code{%#END} pair.
yuuji@20 919
yuuji@20 920 If you type @code{[prefix] g} on the line of @code{\include@{chap1@}},
yuuji@20 921 maybe in main text, YaTeX switches buffer to @file{chap1.tex}. On the
yuuji@20 922 contrary, the key strokes
yuuji@20 923
yuuji@20 924 @table @kbd
yuuji@20 925 @item [prefix] ^
yuuji@20 926 @dots{} visit main file
yuuji@20 927 @item [prefix] 4^
yuuji@20 928 @dots{} visit main file in other buffer
yuuji@20 929 @end table
yuuji@20 930 @cindex prefix ^
yuuji@20 931 @cindex prefix 4 ^
yuuji@20 932
yuuji@20 933 in a sub text switch the buffer to the main text specified by
yuuji@20 934 @code{%#!} notation.
yuuji@20 935
yuuji@20 936 And these are the functions which work on the current La@TeX{}
yuuji@20 937 environment:
yuuji@20 938
yuuji@20 939 @table @kbd
yuuji@20 940 @item M-C-a
yuuji@20 941 @dots{} beginning of environment
yuuji@20 942 @item M-C-e
yuuji@20 943 @dots{} @code{end} of environment
yuuji@20 944 @item M-C-@@
yuuji@20 945 @dots{} mark environment
yuuji@20 946 @end table
yuuji@20 947 @cindex M-C-a
yuuji@20 948 @cindex M-C-e
yuuji@20 949 @cindex M-C-@@
yuuji@20 950
yuuji@20 951 @node Changing and Deleting, Filling an item, Cursor jump, Top
yuuji@20 952 @comment node-name, next, previous, up
yuuji@20 953 @chapter Changing and Deleting
yuuji@20 954
yuuji@20 955 These functions are for change or deletion of La@TeX{} commands
yuuji@20 956 already entered.
yuuji@20 957
yuuji@20 958 @table @kbd
yuuji@20 959 @item [prefix] c
yuuji@20 960 @dots{} change La@TeX{} command
yuuji@20 961 @item [prefix] k
yuuji@20 962 @dots{} kill La@TeX{} command
yuuji@20 963 @end table
yuuji@20 964 @cindex prefix c
yuuji@20 965 @cindex prefix k
yuuji@20 966
yuuji@20 967 @kbd{[prefix] c} can change the name of the corresponding environment
yuuji@20 968 declaration. @kbd{[prefix] k} works as follows:
yuuji@20 969
yuuji@20 970 @example
yuuji@20 971 [Invoking position] [action]
yuuji@20 972 \begin,\end line kill \begin,\end pairs
yuuji@20 973 %BEGIN, %END line kill %BEGIN,%END pairs
yuuji@20 974 on a Section-type command kill section-type command
yuuji@20 975 on a parenthesis kill parentheses
yuuji@20 976 @end example
yuuji@20 977
yuuji@20 978 While all operations above are to kill `containers' which surround some
yuuji@20 979 text, universal argument (@kbd{C-u}) for these commands kills not only
yuuji@20 980 `containers' but also `contents' of them. See below as a sample.
yuuji@20 981
yuuji@20 982 @example
yuuji@20 983 Original text: [prefix] k C-u [prefix] k
yuuji@20 984 Main \footnote@{note@} here. Main note here. Main here.
yuuji@20 985 ~(cursor)
yuuji@20 986 @end example
yuuji@20 987
yuuji@20 988 @node Filling an item, Local dictionaries, Changing and Deleting, Top
yuuji@20 989 @comment node-name, next, previous, up
yuuji@20 990 @chapter Filling an item
yuuji@20 991 @cindex filling an item
yuuji@20 992 @cindex prefix i
yuuji@20 993
yuuji@20 994 To fill a term (sentence) of @code{\item}, type
yuuji@20 995
yuuji@20 996 @table @kbd
yuuji@20 997 @item [prefix] i
yuuji@20 998 @dots{} fill item
yuuji@20 999 @end table
yuuji@20 1000
yuuji@20 1001 @noindent
yuuji@20 1002 on that item.
yuuji@20 1003
yuuji@20 1004 YaTeX uses the value of the variable @code{YaTeX-item-regexp} as the
yuuji@20 1005 regular expression to search item header in itemize environment.
yuuji@20 1006 If you make a newcommand to itemize terms(eg. @code{\underlineitem}), put
yuuji@20 1007
yuuji@20 1008 @lisp
yuuji@20 1009 (setq YaTeX-item-regexp
yuuji@20 1010 "\\(\\\\item\\)\\|\\(\\\\underlineitem\\)")
yuuji@20 1011 @end lisp
yuuji@20 1012 @cindex YaTeX-item-regexp
yuuji@20 1013
yuuji@20 1014 in your @file{~/.emacs}. If you are not familiar with regular expression
yuuji@20 1015 for Emacs-Lisp, name a newcommand for `itemize' beginning with
yuuji@20 1016 @code{\item} such as @code{\itembf}, not @code{\bfitem}.
yuuji@20 1017
yuuji@20 1018 @node Local dictionaries, Updation of @code{\includeonly}, Filling an item, Top
yuuji@20 1019 @comment node-name, next, previous, up
yuuji@20 1020 @chapter Local dictionaries: For nervous users
yuuji@20 1021 @cindex local dictionaries
yuuji@20 1022 @cindex nervous users
yuuji@20 1023
yuuji@20 1024 If you have had the experience that you couldn't concentrate on editing
yuuji@20 1025 because you typed miss-spelled word on completion and the registration of
yuuji@20 1026 the wrong word to @file{.yatexrc} weighed on your mind. Or if you have
yuuji@20 1027 thought that you want YaTeX not to register a local newcommand which goes
yuuji@20 1028 only in current text, into the standard user completion dictionary;
yuuji@20 1029 @file{.yatexrc}. Write this in your @file{~/.emacs}.
yuuji@20 1030
yuuji@20 1031 @lisp
yuuji@20 1032 (setq YaTeX-nervous t)
yuuji@20 1033 @end lisp
yuuji@20 1034
yuuji@20 1035 In addition to `standard table' built in yatex.el and `user table' which
yuuji@20 1036 is always saved into @file{~/.yatexrc}, the statement above allows you to
yuuji@20 1037 use `temporary table' for completion. When you enter a word which is
yuuji@20 1038 never seen in these tables, you can select the table in which you want to
yuuji@20 1039 save the word; `user table'(UserTable), `temporary table'(TempTable) or
yuuji@20 1040 discard it(None).
yuuji@20 1041
yuuji@20 1042 But you may want to complete newcommand semi-permanently that is defined
yuuji@20 1043 in rather large text as graduation thesis, even if the newcommand is a
yuuji@20 1044 local declaration. After setting @code{YaTeX-nervous} to @code{t}, make
yuuji@20 1045 an empty file named @file{.yatexrc} (the same name as your user
yuuji@20 1046 dictionary). YaTeX will use it as the local dictionary to keep the
yuuji@20 1047 contents of temporary completion table. This local dictionary will be
yuuji@20 1048 loaded only when you edit the file which exists in the same directory.
yuuji@20 1049
yuuji@20 1050 @node Updation of @code{\includeonly}, What column?, Local dictionaries, Top
yuuji@20 1051 @comment node-name, next, previous, up
yuuji@20 1052 @chapter Updation of @code{\includeonly}
yuuji@20 1053 @cindex includeonly
yuuji@20 1054
yuuji@20 1055 When you edit splitting source texts, the notation
yuuji@20 1056
yuuji@20 1057 @example
yuuji@20 1058 \includeonly@{CurrentEditingFileName@}
yuuji@20 1059 @end example
yuuji@20 1060
yuuji@20 1061 @noindent
yuuji@20 1062 in the main file reduces the time of typesetting. If you want
yuuji@20 1063 to hack other file a little however, you have to rewrite it to
yuuji@20 1064
yuuji@20 1065 @example
yuuji@20 1066 \includeonly@{OtherFileNameYouWantToFix@}
yuuji@20 1067 @end example
yuuji@20 1068
yuuji@20 1069 @noindent
yuuji@20 1070 in the main file. YaTeX automatically detects that the current
yuuji@20 1071 edited text is not in includeonly list and prompts you
yuuji@20 1072
yuuji@20 1073 @example
yuuji@20 1074 A)dd R)eplace %)comment?
yuuji@20 1075 @end example
yuuji@20 1076
yuuji@20 1077 in the minibuffer. Type @kbd{a} if you want to add the current file name
yuuji@20 1078 to @code{\includeonly} list, @kbd{r} to replace \@code{includeonly} list
yuuji@20 1079 by the current file, and type @kbd{%} to comment out the
yuuji@20 1080 @code{\includeonly} line.
yuuji@20 1081
yuuji@28 1082 @node What column?, Intelligent newline, Updation of @code{\includeonly}, Top
yuuji@20 1083 @comment node-name, next, previous, up
yuuji@20 1084 @chapter What column?
yuuji@20 1085 @cindex what column
yuuji@20 1086 @cindex complex tabular
yuuji@20 1087 @cindex prefix &
yuuji@20 1088
yuuji@20 1089 We are often get tired of finding the corresponding column in
yuuji@20 1090 large tabulars. For example,
yuuji@20 1091
yuuji@20 1092 @example
yuuji@20 1093 \begin@{tabular@}@{|c|c|c|c|c|c|c|c|@}\hline
yuuji@20 1094 Name&Position&Post No.&Addr.&Phone No.&FAX No.&
yuuji@20 1095 Home Addr.&Home Phone\\ \hline
yuuji@20 1096 Thunder Bird & 6 & 223 & LA & xxx-yyy &
yuuji@20 1097 zzz-www & Japan & 9876-54321 \\
yuuji@20 1098 & 2 & \multicolumn@{2@}@{c|@}@{Unknown@}
yuuji@20 1099 &&&(???)
yuuji@20 1100 \\ \hline
yuuji@20 1101 \end@{tabular@}
yuuji@20 1102 @end example
yuuji@20 1103
yuuji@20 1104 Suppose you have the cursor located at @code{(???)} mark, can you tell
yuuji@20 1105 which column it is belonging at once? Maybe no. In such case,
yuuji@20 1106 type
yuuji@20 1107
yuuji@20 1108 @table @kbd
yuuji@20 1109 @item [prefix] &
yuuji@20 1110 @dots{} What column
yuuji@20 1111 @end table
yuuji@20 1112
yuuji@20 1113 @noindent
yuuji@20 1114 in that position. YaTeX tells you the column header of the
yuuji@20 1115 current field. Since YaTeX assumes the first line of tabular
yuuji@20 1116 environment as a row of column headers, you can create a row of
yuuji@20 1117 virtual column headers by putting them in the first line and
yuuji@20 1118 commenting that line with @code{%}.
yuuji@20 1119
yuuji@28 1120 @node Intelligent newline, Online help, What column?, Top
yuuji@28 1121 @comment node-name, next, previous, up
yuuji@28 1122 @chapter Intelligent newline
yuuji@28 1123 @cindex Intelligent newline
yuuji@28 1124 @cindex ESC RET
yuuji@28 1125 @cindex M-C-m
yuuji@28 1126
yuuji@28 1127 In tabular[*], array, itemize, enumerate or tabbing environment,
yuuji@28 1128
yuuji@28 1129 @table @kbd
yuuji@28 1130 @item ESC RET
yuuji@28 1131 @dots{} Intelligent newline
yuuji@28 1132 @end table
yuuji@28 1133
yuuji@28 1134 @noindent
yuuji@28 1135 inserts the contents corresponding to the current environment in the next
yuuji@28 1136 line. In @code{tabular} environment, for example, @kbd{ESC RET} inserts
yuuji@28 1137 the certain number of @code{&} and trailing @code{\\}, and @code{\hline}
yuuji@28 1138 if other @code{\hline} is found in backward. Here are the list of
yuuji@28 1139 contents v.s. environments.
yuuji@28 1140
yuuji@28 1141 @itemize
yuuji@28 1142 @item @code{tabular}, @code{tabular*}, @code{array}
yuuji@28 1143
yuuji@28 1144 Corresponding number of @code{&} and @code{\\}.
yuuji@28 1145 And @code{\hline} if needed.
yuuji@28 1146
yuuji@28 1147 @item @code{tabbing}
yuuji@28 1148
yuuji@28 1149 The same number of @code{\>} as @code{\=} in the first line.
yuuji@28 1150
yuuji@28 1151 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
yuuji@28 1152
yuuji@28 1153 @code{\item} or @code{item[]}.
yuuji@28 1154 @end itemize
yuuji@28 1155
yuuji@28 1156 Note that since this function works seeing the contents of the first
yuuji@28 1157 line, please call this after the second line if possible.
yuuji@28 1158
yuuji@28 1159 If you want to apply these trick to other environments, @code{foo}
yuuji@28 1160 environment for example, define the function named
yuuji@28 1161 @code{YaTeX-intelligent-newline-foo} to insert corresponding contents.
yuuji@28 1162 That function will be called at the beginning of the next line after the
yuuji@28 1163 newline is inserted to the current line. Since the function
yuuji@28 1164 @code{YaTeX-indent-line} is designed to indent the current line properly,
yuuji@28 1165 calling this function before your code to insert certain contents must be
yuuji@28 1166 useful. See the definition of the function
yuuji@28 1167 @code{YaTeX-intelligent-newline-itemize} as an example.
yuuji@28 1168
yuuji@28 1169 @node Online help, Cooperation with other packages, Intelligent newline, Top
yuuji@20 1170 @comment node-name, next, previous, up
yuuji@20 1171 @chapter Online help
yuuji@20 1172 @cindex online help
yuuji@20 1173 @cindex prefix ?
yuuji@20 1174 @cindex prefix /
yuuji@20 1175 @cindex apropos
yuuji@20 1176 @cindex keyword search
yuuji@20 1177
yuuji@20 1178 YaTeX provides you the online help with popular La@TeX{} commands.
yuuji@20 1179
yuuji@20 1180 Here are the key strokes for the online help.
yuuji@20 1181
yuuji@20 1182 @table @kbd
yuuji@20 1183 @item [prefix] ?
yuuji@20 1184 @dots{} Online help
yuuji@20 1185 @item [prefix] /
yuuji@20 1186 @dots{} Online apropos
yuuji@20 1187 @end table
yuuji@20 1188
yuuji@20 1189 @section Online help
yuuji@20 1190
yuuji@20 1191 `Online help' shows the documentation for the popular La@TeX{}
yuuji@20 1192 commands(defaults to the commands on the cursor) in the next buffer.
yuuji@20 1193 There are two help file, `global help' and `private help'. The former
yuuji@20 1194 file contains the descriptions on the standard La@TeX{} command and is
yuuji@20 1195 specified its name by variable @code{YaTeX-help-file}. Usually, the
yuuji@20 1196 global help file should be located in public space (@code{$EMACSEXECPATH}
yuuji@20 1197 by default) and should be world writable so that anyone can update it to
yuuji@20 1198 enrich its contents. The latter file contains descriptions on
yuuji@20 1199 non-standard or personal command definitions and is specified by
yuuji@20 1200 @code{YaTeX-help-file-private}. This file should be put into private
yuuji@20 1201 directory.
yuuji@20 1202
yuuji@20 1203 @section Online apropos
yuuji@20 1204
yuuji@20 1205 `Online apropos' is an equivalent of GNU Emacs's apropos. It
yuuji@20 1206 shows all the documentations that contains the keyword entered by
yuuji@20 1207 the user.
yuuji@20 1208
yuuji@20 1209 @section When no descriptions are found...
yuuji@20 1210
yuuji@20 1211 If there is no description on a command in help files, YaTeX
yuuji@20 1212 requires you to write a description on that command. If you are
yuuji@20 1213 willing to do, determine which help file to add and write the
yuuji@20 1214 description on it referring your manual of (La)TeX. Please send
yuuji@20 1215 me your additional descriptions if you describe the help on some
yuuji@20 1216 standard commands. I might want to include it in the next
yuuji@20 1217 distribution.
yuuji@20 1218
yuuji@20 1219 @node Cooperation with other packages, Customizations, Online help, Top
yuuji@20 1220 @comment node-name, next, previous, up
yuuji@20 1221 @chapter Cooperation with other packages
yuuji@20 1222
yuuji@20 1223 YaTeX works better with other brilliant packages.
yuuji@20 1224
yuuji@20 1225 @section gmhist
yuuji@20 1226 @cindex gmhist
yuuji@20 1227 @cindex command history
yuuji@20 1228 @cindex minibuffer history
yuuji@20 1229
yuuji@20 1230 When you are loading @file{gmhist.el} and @file{gmhist-mh.el}, you can
yuuji@20 1231 use independent command history list at the prompt of preview command
yuuji@20 1232 (@kbd{[prefix] tp}) and print command (@kbd{[prefix] tl}). On each
yuuji@20 1233 prompt, you can enter the previous command line string repeatedly by
yuuji@20 1234 typing @kbd{M-p}.
yuuji@20 1235
yuuji@20 1236 @section min-out
yuuji@20 1237 @cindex min-out
yuuji@20 1238
yuuji@20 1239 @file{min-out}, the outline minor mode, can be used in yatex-mode
yuuji@20 1240 buffers. If you want to use it with YaTeX, please refer the
yuuji@20 1241 file @file{yatexm-o.el} as an example.
yuuji@20 1242
yuuji@20 1243 @node Customizations, Etcetera, Cooperation with other packages, Top
yuuji@20 1244 @comment node-name, next, previous, up
yuuji@20 1245 @chapter Customizations
yuuji@20 1246 @cindex customizations
yuuji@20 1247
yuuji@20 1248 You can customize YaTeX by setting Emacs-Lisp variables and by making
yuuji@20 1249 add-in functions.
yuuji@20 1250
yuuji@20 1251 @menu
yuuji@20 1252 * Lisp variables::
yuuji@20 1253 * Add-in functions::
yuuji@20 1254 @end menu
yuuji@20 1255
yuuji@28 1256 @node Lisp variables, Add-in functions, , Customizations
yuuji@20 1257 @comment node-name, next, previous, up
yuuji@20 1258 @section Lisp variables
yuuji@20 1259 @cindex customizable variables
yuuji@20 1260
yuuji@20 1261 You can change the key assignments or make completion more
yuuji@20 1262 comfortable by setting the values of various variables which
yuuji@20 1263 control the movement of yatex-mode.
yuuji@20 1264
yuuji@20 1265 For example, if you want to change the prefix key stroke from @kbd{C-c}
yuuji@20 1266 to any other sequence, set YaTeX-prefix to whatever you want to use. If
yuuji@20 1267 you don't want to use the key sequence @kbd{C-c letter} which is assumed
yuuji@20 1268 to be the user reserved sequence in Emacs world, set
yuuji@20 1269 @code{YaTeX-inhibit-prefix-letter} to @code{t}, and all of the default key
yuuji@20 1270 bind of @kbd{C-c letter} will turn to the corresponding @kbd{C-c C-letter}
yuuji@20 1271 (but the region based completions that is invoked with @kbd{C-c
yuuji@20 1272 Capital-letter} remain valid, if you want to disable those bindings, set
yuuji@20 1273 that variable to 1 instead of @code{t}).
yuuji@20 1274
yuuji@20 1275 @menu
yuuji@20 1276 * All customizable variables::
yuuji@20 1277 * Sample definitions::
yuuji@20 1278 * Hook variables::
yuuji@20 1279 * Hook file::
yuuji@20 1280 @end menu
yuuji@20 1281
yuuji@28 1282 @node All customizable variables, Sample definitions, , Lisp variables
yuuji@20 1283 @comment node-name, next, previous, up
yuuji@20 1284 @subsection All customizable variables
yuuji@20 1285 @cindex all customizable variables
yuuji@20 1286
yuuji@20 1287 Here are the customizable variables of yatex-mode. Each value setq-ed
yuuji@20 1288 in @file{~/.emacs} is preferred and that of defined in @file{yatex.el} is
yuuji@20 1289 neglected. Parenthesized contents stands for the default value.
yuuji@20 1290
yuuji@20 1291 @table @samp
yuuji@20 1292 @item YaTeX-prefix
yuuji@20 1293
yuuji@20 1294 Prefix key stroke (@kbd{C-c})
yuuji@20 1295
yuuji@20 1296 @item YaTeX-inhibit-prefix-letter
yuuji@20 1297
yuuji@20 1298 Change key stroke from @kbd{C-c letter} to @kbd{C-c C-letter}
yuuji@20 1299 (@code{nil})
yuuji@20 1300
yuuji@20 1301 @item YaTeX-fill-prefix
yuuji@20 1302
yuuji@20 1303 Fill-prefix used in yatex-mode (@code{nil})
yuuji@20 1304
yuuji@20 1305 @item YaTeX-open-lines
yuuji@20 1306
yuuji@20 1307 Number of blank lines between cursor and @code{\begin@{@}},
yuuji@20 1308 @code{\@code{end}@{@}} (0)
yuuji@20 1309
yuuji@20 1310 @item YaTeX-user-completion-table
yuuji@20 1311
yuuji@20 1312 Name of user dictionary where learned completion table will be stored.
yuuji@20 1313 (@code{"~/.yatexrc"})
yuuji@20 1314
yuuji@20 1315 @item YaTeX-item-regexp
yuuji@20 1316
yuuji@20 1317 Regular expression of item command(@code{"\\\\item"})
yuuji@20 1318
yuuji@20 1319 @item tex-command
yuuji@20 1320
yuuji@20 1321 La@TeX{} typesetter command (@code{"latex"})
yuuji@20 1322
yuuji@20 1323 @item dvi2-command
yuuji@20 1324
yuuji@20 1325 Preview command
yuuji@20 1326 (@code{"xdvi -geo +0+0 -s 4 -display (getenv"DISPLAY")"})
yuuji@20 1327
yuuji@20 1328 @item dviprint-command-format
yuuji@20 1329
yuuji@20 1330 Command format to print dvi file (@code{"dvi2ps %f %t %s | lpr"})
yuuji@20 1331
yuuji@20 1332 @item dviprint-from-format
yuuji@20 1333
yuuji@20 1334 Start page format of above %f. %b will turn to start page
yuuji@20 1335 (@code{"-f %b"})
yuuji@20 1336
yuuji@20 1337 @item dviprint-to-format
yuuji@20 1338
yuuji@20 1339 End page format of above %t. %e will turn to @code{end} page
yuuji@20 1340 (@code{"-t %e"})
yuuji@20 1341
yuuji@20 1342 @item section-name
yuuji@20 1343
yuuji@20 1344 Initial default value at the first section-type completion
yuuji@20 1345 (@code{"documentstyle"})
yuuji@20 1346
yuuji@20 1347 @item env-name
yuuji@20 1348
yuuji@20 1349 Initial default value at the first begin-type completion
yuuji@20 1350 (@code{"document"})
yuuji@20 1351
yuuji@20 1352 @item fontsize-name
yuuji@20 1353
yuuji@20 1354 Ditto of large-type (@code{"large"})
yuuji@20 1355
yuuji@20 1356 @item single-command
yuuji@20 1357
yuuji@20 1358 Ditto of maketitle-type (@code{"maketitle"})
yuuji@20 1359
yuuji@20 1360 @item YaTeX-need-nonstop
yuuji@20 1361
yuuji@20 1362 Put @code{\nonstopmode@{@}} or not (@code{nil})
yuuji@20 1363
yuuji@20 1364 @item latex-warning-regexp
yuuji@20 1365
yuuji@20 1366 Regular expression of warning message latex command puts out
yuuji@20 1367 (@code{"line.* [0-9]*"})
yuuji@20 1368
yuuji@20 1369 @item latex-error-regexp
yuuji@20 1370
yuuji@20 1371 Regular expression of error message (@code{"l\\.[1-9][0-9]*"})
yuuji@20 1372
yuuji@20 1373 @item latex-dos-emergency-message
yuuji@20 1374
yuuji@20 1375 Message latex command running on DOS puts at abort
yuuji@20 1376 (@code{"Emergency stop"})
yuuji@20 1377
yuuji@20 1378 @item YaTeX-item-regexp
yuuji@20 1379
yuuji@20 1380 Regexp of La@TeX{} itemization command (@code{"\\\\(sub\\)*item"})
yuuji@20 1381
yuuji@20 1382 @item YaTeX-nervous
yuuji@20 1383
yuuji@20 1384 T for using local dictionary (@code{t})
yuuji@20 1385
yuuji@20 1386 @item YaTeX-sectioning-regexp
yuuji@20 1387
yuuji@20 1388 Regexp of La@TeX{} sectioning command
yuuji@20 1389
yuuji@20 1390 (@code{"part\\|chapter\\|\\(sub\\)*\\(section\\|paragraph\\)"})
yuuji@20 1391
yuuji@20 1392 @item YaTeX-fill-inhibit-environments
yuuji@20 1393
yuuji@20 1394 Inhibit fill in these environments (@code{'("verbatim" "tabular")})
yuuji@20 1395
yuuji@20 1396 @item YaTeX-uncomment-once
yuuji@20 1397
yuuji@20 1398 @code{T} for deleting all preceding @code{%} (@code{nil})
yuuji@20 1399
yuuji@20 1400 @item YaTeX-close-paren-always
yuuji@20 1401
yuuji@20 1402 @code{T} for always close all parenthesis automatically,
yuuji@20 1403 @code{nil} for only eol(@code{t})
yuuji@20 1404
yuuji@20 1405 @item YaTeX-auto-math-mode
yuuji@20 1406
yuuji@20 1407 Switch math-mode automatically(@code{t})
yuuji@20 1408
yuuji@20 1409 @item YaTeX-default-pop-window-height
yuuji@20 1410
yuuji@20 1411 Initial height of typesetting buffer when one-window.
yuuji@20 1412 Number for the lines of the buffer, numerical string for
yuuji@20 1413 the percentage of the screen-height.
yuuji@20 1414 @code{nil} for half height(10)
yuuji@20 1415
yuuji@20 1416 @item YaTeX-help-file
yuuji@20 1417
yuuji@20 1418 Global online help file name (@file{$EMACS/etc/YATEXHLP.jp})
yuuji@20 1419
yuuji@20 1420 @item YaTeX-help-file-private
yuuji@20 1421
yuuji@20 1422 Private online help file name (@file{"~/YATEXHLP.jp"})
yuuji@20 1423
yuuji@20 1424 @item YaTeX-no-begend-shortcut
yuuji@20 1425
yuuji@20 1426 Disable [prefix] b ?? shortcut (@code{nil)}
yuuji@20 1427 @end table
yuuji@20 1428
yuuji@20 1429 @node Sample definitions, Hook variables, All customizable variables, Lisp variables
yuuji@20 1430 @comment node-name, next, previous, up
yuuji@20 1431 @subsection Sample definitions
yuuji@20 1432 @cindex prefix key stroke
yuuji@20 1433 @cindex fill-prefix
yuuji@20 1434
yuuji@20 1435 For instance, to change the prefix key stroke to @kbd{ESC}, and name of
yuuji@20 1436 the user dictionary @file{~/src/emacs/yatexrc}, and set @code{fill-prefix}
yuuji@20 1437 to single TAB character, add the following @code{setq} to @file{~/.emacs}.
yuuji@20 1438
yuuji@20 1439 @lisp
yuuji@20 1440 (setq YaTeX-prefix "\e"
yuuji@20 1441 YaTeX-user-completion-table "~/src/emacs/yatexrc"
yuuji@20 1442 YaTeX-fill-prefix " ")
yuuji@20 1443 @end lisp
yuuji@20 1444
yuuji@20 1445 @node Hook variables, Hook file, Sample definitions, Lisp variables
yuuji@20 1446 @comment node-name, next, previous, up
yuuji@20 1447 @subsection Hook variables
yuuji@20 1448 @cindex hook variables
yuuji@20 1449
yuuji@20 1450 More customizations will be done by the hook-function defined in
yuuji@20 1451 hook-variable @code{yatex-mode-hook}. This is useful to define a shortcut
yuuji@20 1452 key sequence to enter some environments other than @code{document} and
yuuji@20 1453 @code{enumerate} etc. The following statement defines @code{[prefix] ba}
yuuji@20 1454 to enter @code{\begin@{abstract@}} ... @code{=end@{abstract@}}
yuuji@20 1455 immediately.
yuuji@20 1456
yuuji@20 1457 @lisp
yuuji@20 1458 (setq yatex-mode-hook
yuuji@20 1459 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
yuuji@20 1460 @end lisp
yuuji@20 1461
yuuji@20 1462 You should use functions @code{YaTeX-define-key}, or
yuuji@20 1463 @code{YaTeX-define-begend-key} to define all the key sequences of
yuuji@20 1464 yatex-mode.
yuuji@20 1465
yuuji@20 1466 @node Hook file, , Hook variables, Lisp variables
yuuji@20 1467 @comment node-name, next, previous, up
yuuji@20 1468 @subsection Hook file
yuuji@20 1469 @cindex hook file
yuuji@20 1470
yuuji@20 1471 You can stuff all of YaTeX relating expressions into a file named
yuuji@20 1472 @file{yatexhks.el} if you have a lot of codes. YaTeX automatically load
yuuji@20 1473 this file at the initialization of itself. Using @file{yatexhks.el}
yuuji@20 1474 makes @code{yatex-mode-load-hook} unnecessary.
yuuji@20 1475
yuuji@20 1476 @node Add-in functions, , Lisp variables, Customizations
yuuji@20 1477 @comment node-name, next, previous, up
yuuji@20 1478 @section Add-in functions
yuuji@20 1479 @cindex add-in functions
yuuji@20 1480
yuuji@20 1481 You can easily define a function to input detailed arguments
yuuji@20 1482 with completion according to La@TeX{} environments or commands. To
yuuji@20 1483 know the way to define these functions, see also @file{yatexadd.doc} in
yuuji@20 1484 this package please.
yuuji@20 1485
yuuji@20 1486
yuuji@20 1487 @node Etcetera, Copying, Customizations, Top
yuuji@20 1488 @comment node-name, next, previous, up
yuuji@20 1489 @chapter Etcetera
yuuji@20 1490
yuuji@20 1491 The standard completion tables provided in @file{yatex.el} contain a
yuuji@20 1492 few La@TeX{} commands I frequently use. This is to lessen the key
yuuji@20 1493 strokes to complete entire word, because too many candidates
yuuji@20 1494 rarely used often cause too many hits. Therefore always try to
yuuji@20 1495 use completion in order to enrich your dictionary, and you will
yuuji@20 1496 also find `Wild Bird' growing suitable for your La@TeX{} style.
yuuji@20 1497
yuuji@20 1498
yuuji@20 1499 @node Copying, , Etcetera, Top
yuuji@20 1500 @comment node-name, next, previous, up
yuuji@20 1501 @chapter Copying
yuuji@20 1502
yuuji@20 1503 This program is distributed as a free software. You can
yuuji@20 1504 redistribute this software freely but with NO warranty to anything
yuuji@20 1505 as a result of using this software. However, any reports and
yuuji@20 1506 suggestions are welcome as long as I feel interests in this
yuuji@20 1507 software. My possible e-mail address is `yuuji@@ae.keio.ac.jp'.
yuuji@20 1508 (up to Mar.1993 at least)
yuuji@20 1509
yuuji@20 1510 The specification of this software will be surely modified
yuuji@20 1511 (depending on my feelings) without notice :-p.
yuuji@20 1512
yuuji@20 1513
yuuji@20 1514 @flushright
yuuji@20 1515 HIROSE Yuuji
yuuji@20 1516 @end flushright
yuuji@20 1517 @bye
yuuji@20 1518
yuuji@20 1519 Local variables:
yuuji@20 1520 mode: texinfo
yuuji@20 1521 fill-prefix: nil
yuuji@20 1522 fill-column: 74
yuuji@20 1523 End: