yatex

view docs/yatexe.tex @ 58:3a7c0c2bf16d

Official support for AMS-LaTeX, HTML, xdvi -remote, Netscape
author yuuji
date Thu, 01 Feb 1996 18:55:47 +0000
parents 18f4939986e6
children 48ac97a6b6ce
line source
1 \def\lang{jp} % -*- texinfo -*-
2 \input texinfo.tex
3 @setfilename yatexe
4 @settitle Yet Another tex-mode for Emacs
6 @iftex
7 @c @syncodeindex fn cp
8 @syncodeindex vr cp
9 @end iftex
11 @titlepage
12 @sp 10
13 @center
14 @subtitle Yet Another tex-mode for emacs
15 @title Wild Bird
16 @subtitle // YaTeX //
17 @author @copyright{} 1991-1994 by HIROSE, Yuuji [yuuji@@ae.keio.ac.jp]
18 @end titlepage
20 @node Top, What is YaTeX?, (dir), (dir)
21 @comment node-name, next, previous, up
22 @cindex Demacs
23 @cindex Mule
24 @cindex LaTeX
25 @cindex YaTeX
27 @menu
28 * What is YaTeX?::
29 * Main features:: What YaTeX can do
30 * Installation:: Guide to install
31 * Typesetting:: Call typesetting processes
32 * %# notation:: Quick notation of controlling YaTeX
33 * Completion:: Input LaTeX commands with completion
34 * Local dictionaries:: Directory dependent completion
35 * Commenting out:: Commenting/uncommenting text
36 * Cursor jump:: Jumping to related position
37 * Changing and Deleting:: Changing/deleting certain unit of text
38 * Filling:: Filling an item or paragraph
39 * Updation of includeonly:: Free from maintaining includeonly
40 * What column?:: Guidance to tabular column
41 * Intelligent newline:: Guess requisites of new line
42 * Online help:: On-line documentation of LaTeX
43 * Browsing file hierarchy:: Walking through file hierarchy
44 * Cooperation with other packages:: Work well with gmhist, min-out
45 * Customizations:: How to breed `Wild Bird'
46 * Etcetera:: YaTeX is acquisitive.
47 * Copying:: Redistribution
49 --- The Detailed Node Listing ---
51 Typesetting
53 * Calling typesetter::
54 * Calling previewer::
55 * Printing out::
57 %# notation
59 * Changing typesetter::
60 * Static region for typesetting::
61 * Lpr format::
62 * Editing %# notation::
64 Completion
66 * Begin-type completion::
67 * Section-type completion::
68 * Large-type completion::
69 * Maketitle-type completion::
70 * Arbitrary completion::
71 * End completion::
72 * Accent completion::
73 * Image completion::
74 * Greek letters completion::
76 Section-type completion
78 * view-sectioning::
80 Changing and Deleting
82 * Changing La@TeX{} commands::
83 * Killing La@TeX{} commands::
85 Customizations
87 * Lisp variables::
88 * Add-in functions::
89 * Add-in generator::
91 Lisp variables
93 * All customizable variables::
94 * Sample definitions::
95 * Hook variables::
96 * Hook file::
98 Procedure
100 * How the add-in function works::
101 * How the function is called::
102 * Useful functions for creating add-in::
103 * Contribution::
105 How the add-in function works
107 * Defining `option add-in'::
108 * Defining `argument add-in'::
109 @end menu
111 @node What is YaTeX?, Main features, Top, Top
112 @comment node-name, next, previous, up
113 @chapter What is YaTeX?
115 YaTeX automates typesetting and previewing of LaTeX and enables
116 completing input of LaTeX mark-up command such as
117 @code{\begin@{@}}..@code{\end@{@}}.
119 YaTeX also supports Demacs which runs on MS-DOS(386), Mule (Multi
120 Language Enhancement to GNU Emacs), and latex on DOS.
122 @node Main features, Installation, What is YaTeX?, Top
123 @comment node-name, next, previous, up
124 @chapter Main features
126 @itemize
127 @item Invocation of typesetter, previewer and related programs(@kbd{C-c t})
128 @item Typesetting on static region which is independent from point
129 @item Semiautomatic replacing of @code{\include only}
130 @item Jumping to error line(@kbd{C-c '})
131 @item Completing-read of La@TeX{} commands such as @code{\begin@{@}},
132 @code{\section} etc.
133 (@kbd{C-c b}, @kbd{C-c s}, @kbd{C-c l}, @kbd{C-c m})
134 @item Enclosing text into La@TeX{} environments or commands
135 (@kbd{C-u} @var{AboveKeyStrokes})
136 @item Displaying the structure of text at entering sectioning delimiters
137 @item Learning unknown/new La@TeX{} commands for the next completion
138 @item Argument reading with a guide for complicated La@TeX{} commands
139 @item Generating argument-readers for new/unsupported commands(@file{yatexgen})
140 @item Quick changing or deleting of La@TeX{} commands(@kbd{C-c c}, @kbd{C-c k})
141 @item Jumping from and to inter-file, begin<->end, ref<->label(@kbd{C-c g})
142 @item Blanket commenting out or uncommenting
143 (@kbd{C-c >}, @kbd{C-c <}, @kbd{C-c ,}, @kbd{C-c .})
144 @item Easy input of accent mark, math-mode's commands and Greek letters
145 (@kbd{C-c a}, @kbd{;}, @kbd{:})
146 @item Online help for the popular La@TeX{} commands
147 (@kbd{C-c ?}, @kbd{C-c /})
148 @item Document files hierarchy browser (@kbd{C-c d})
149 @end itemize
151 @node Installation, Typesetting, Main features, Top
152 @comment node-name, next, previous, up
153 @chapter Installation
154 @cindex installation
155 @cindex .emacs
156 @cindex auto-mode-alist
157 @cindex autoload
159 Put next two expressions into your @file{~/.emacs}.
161 @lisp
162 (setq auto-mode-alist
163 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
164 (autoload 'yatex-mode "yatex" "Yet Another La@TeX{} mode" t)
165 @end lisp
167 Next, add certain path name where you put files of YaTeX to your
168 load-path. If you want to put them in @file{~/src/emacs}, write
170 @lisp
171 (setq load-path
172 (cons (expand-file-name "~/src/emacs") load-path))
173 @end lisp
175 @noindent
176 in your @file{~/.emacs}
178 Then, yatex-mode will be automatically loaded when you visit a
179 file which has extension @file{.tex}. If yatex-mode is successfully
180 loaded, mode string on mode line will be turned to "YaTeX".
183 @node Typesetting, %# notation, Installation, Top
184 @comment node-name, next, previous, up
185 @chapter Typesetting
186 @cindex typesetting
187 @cindex previewer
188 @cindex typesetter
189 @cindex latex
190 @cindex printing out
192 The prefix key stroke of yatex-mode is @kbd{C-c} (Press 'C' with Control
193 key) by default. If you don't intend to change the prefix key stroke,
194 assume all @kbd{[prefix]} as @kbd{C-c} in this document. These key
195 strokes execute typeset or preview command.
197 @table @kbd
198 @item [prefix] t j
199 @dots{} invoke latex
200 @item [prefix] t r
201 @dots{} invoke latex on region
202 @item [prefix] t k
203 @dots{} kill current typesetting process
204 @item [prefix] t b
205 @dots{} invoke bibtex
206 @item [prefix] t p
207 @dots{} preview
208 @item [prefix] t l
209 @dots{} lpr dvi-file
210 @item [prefix] t s
211 @dots{} search current string on xdvi-remote
212 @end table
214 @menu
215 * Calling typesetter::
216 * Calling previewer::
217 * Printing out::
218 @end menu
220 @node Calling typesetter, Calling previewer, Typesetting, Typesetting
221 @comment node-name, next, previous, up
222 @section{Calling typesetter}
224 Typing @kbd{[prefix] t j}, the current editing window will be divided
225 horizontally when you invoke latex command, and log message of La@TeX{}
226 typesetting will be displayed in the other window; called typesetting
227 buffer. The typesetting buffer automatically scrolls up and traces
228 La@TeX{} warnings and error messages. If you see latex stopping by an
229 error, you can send string to latex in the typesetting buffer.
231 If an error stops the La@TeX{} typesetting, this key stroke will
232 move the cursor to the line where La@TeX{} error is detected.
234 @table @kbd
235 @item [prefix] '
236 @itemx ([prefix]+single quotation)
238 @dots{} jump to the previous error or warning
239 @end table
241 If you find a noticeable error, move to the typesetting buffer and move
242 the cursor on the line of error message and type @kbd{SPACE} key. This
243 makes the cursor move to corresponding source line.
245 Since @kbd{[prefix] tr} pastes the region into the file
246 @file{texput.tex} in the current directory, you should be careful of
247 overwriting. The method of specification of the region is shown in the
248 section @xref{%#NOTATION}.
250 The documentstyle for typeset-region is the same as that of editing
251 file if you edit one file, and is the same as main file's if you
252 edit splitting files.
254 @node Calling previewer, Printing out, Calling typesetter, Typesetting
255 @comment node-name, next, previous, up
256 @section{Calling previewer}
258 @kbd{[prefix] t p} invokes the TeX previewer. And if you are using
259 xdvi-remote, which can be controled from other terminals, @kbd{[prefix] t
260 s} enables you to search current string at the cursor on the running xdvi
261 window. You can get xdvi with `-remote feature' from;
262 @code{ftp://ftp.ae.keio.ac.jp/pub/text/xdvi/xdvi-remote}.
264 @node Printing out, , Calling previewer, Typesetting
265 @comment node-name, next, previous, up
266 @section{Printing out}
268 When you type @code{[preifx] t l}, YaTeX asks you the range of
269 dvi-printing by default. You can skip this by invoking it with
270 universal-argument as follows:
272 @example
273 C-u [prefix] tl
274 @end example
276 @node %# notation, Completion, Typesetting, Top
277 @comment node-name, next, previous, up
278 @chapter %# notation
279 @cindex %# notation
281 You can control the typesetting process by describing @code{%#}
282 notations in the source text.
284 @menu
285 * Changing typesetter::
286 * Static region for typesetting::
287 * Lpr format::
288 * Editing %# notation::
289 @end menu
291 @node Changing typesetter, Static region for typesetting, %# notation, %# notation
292 @comment node-name, next, previous, up
293 @section To change the `latex' command or to split a source text.
294 @cindex typesetter
296 To change the typesetting command, write
298 @example
299 %#!latex-big
300 @end example
302 @noindent
303 anywhere in the source text. This is useful for changing
304 typesetter.
306 @node Splitting input files, Static region for typesetting, Changing typesetter, %# notation
307 @comment node-name, next, previous, up
309 And if you split the source text and
310 edit subfile that should be included from main text.
312 @example
313 %#!latex main.tex
314 @end example
316 @noindent
317 will be helpful to execute latex on main file from sub text buffer. Since
318 this command line after @kbd{%#!} will be sent to shell literally, next
319 description makes it convenient to use ghostview as dvi-previewer.
321 @example
322 %#!latex main ; dvi2ps main.dvi > main
323 @end example
325 @noindent
326 Note that YaTeX assumes the component before the last period of
327 the last word in this line as base name of the main La@TeX{} source.
329 To make best use of the feature of inter-file jumping by
330 @kbd{[prefix] g} (see @ref{Cursor jump}), take described below into
331 consideration.
333 @itemize
334 @item You can put split texts in sub directory, but not in
335 sub directory of sub directory.
336 @item In the main text, specify the child file name with relative path name
337 such as \include{chap1/sub}, when you include the file in
338 a sub-directory.
339 @item In a sub-text, write @code{%#!latex main.tex} even if @file{main.tex}
340 is in the parent directory(not %#!latex ../main.tex).
341 @end itemize
343 @node Static region for typesetting, Lpr format, Changing typesetter, %# notation
344 @comment node-name, next, previous, up
345 @section Static region
346 @cindex static region
347 @cindex Fixed region
349 Typeset-region by @kbd{[prefix] tr} passes the region between point and
350 mark to typesetting command by default. But when you want to typeset
351 static region, enclose the region by @code{%#BEGIN} and @code{%#END} as
352 follows.
354 @example
355 %#BEGIN
356 TheRegionYouWantToTypesetManyTimes
357 %#END
358 @end example
360 This is the rule of deciding the region.
362 @enumerate
363 @item
364 If there exists %#BEGIN before point,
366 @enumerate
367 @item
368 If there exists %#END after %#BEGIN,
369 @itemize
370 @item From %#BEGIN to %#END.
371 @end itemize
373 @item
374 If %#END does not exist after %#BEGIN,
375 @itemize
376 @item From %#BEGIN to the end of buffer.
377 @end itemize
378 @end enumerate
380 @item
381 If there does not exist %#BEGIN before point,
382 @itemize
383 @item Between point and mark(standard method of Emacs).
384 @end itemize
385 @end enumerate
387 It is useful to write @code{%#BEGIN} in the previous line of \begin and
388 @code{%#END} in the next line of \@code{end} when you try complex
389 environment such as `tabular' many times. It is also useful to put only
390 @code{%#BEGIN} alone at the middle of very long text. Do not forget to
391 erase @code{%#BEGIN} @code{%#END} pair.
393 @node Lpr format, Editing %# notation, Static region for typesetting, %# notation
394 @comment node-name, next, previous, up
395 @section Lpr format
396 @cindex lpr format
398 Lpr format is specified by three Lisp variables. Here are the
399 default values of them.
401 @table @code
402 @item (1)dviprint-command-format
403 @code{"dvi2ps %f %t %s | lpr"}
404 @item (2)dviprint-from-format
405 @code{"-f %b"}
406 @item (3)dviprint-to-format
407 @code{"-t %e"}
408 @end table
410 On YaTeX-lpr, @code{%s} in (1) is replaced by the file name of main
411 text, @code{%f} by contents of (2), %t by contents of (3). At these
412 replacements, @code{%b} in (2) is also replaced by the number of beginning
413 page, @code{%e} in (3) is replaced by the number of ending page. But
414 @code{%f} and @code{%t} are ignored when you omit the range of print-out
415 by @kbd{C-u [prefix] tl}.
417 If you want to change this lpr format temporarily, put a command
418 such as follows somewhere in the text:
420 @example
421 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
422 @end example
424 And if you want YaTeX not to ask you the range of printing
425 out, the next example may be helpful.
427 @example
428 %#LPR dvi2ps %s | lpr
429 @end example
431 @node Editing %# notation, , Lpr format, %# notation
432 @comment node-name, next, previous, up
433 @section Editing %# notation
435 To edit @code{%#} notation described above, type
437 @table @kbd
438 @item [prefix] %
439 @dots{} editing %# notation menu
440 @end table
442 @noindent
443 and select one of the entry of the menu as follows.
445 @example
446 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
447 @end example
449 @noindent
450 Type @kbd{!} to edit @code{%#!} entry, @code{b} to enclose the region with
451 @code{%#BEGIN} and @code{%#END}, and @code{l} to edit @code{%#LPR} entry.
452 When you type @kbd{b}, all @code{%#BEGIN} and @code{%#END} are
453 automatically erased.
455 @node Completion, Local dictionaries, %# notation, Top
456 @comment node-name, next, previous, up
457 @chapter Completion
458 @cindex completion
460 YaTeX makes it easy to input the La@TeX{} commands. There are several
461 kinds of completion type, begin-type, section-type, large-type, etc...
463 @menu
464 * Begin-type completion::
465 * Section-type completion::
466 * Large-type completion::
467 * Maketitle-type completion::
468 * Arbitrary completion::
469 * End completion::
470 * Accent completion::
471 * Image completion::
472 * Greek letters completion::
473 @end menu
475 @node Begin-type completion, Section-type completion, Completion, Completion
476 @comment node-name, next, previous, up
477 @section Begin-type completion
478 @cindex begin-type completion
479 @cindex environment
480 @cindex prefix b
482 "Begin-type completion" completes commands of @code{\begin@{env@}} ...
483 @code{\end@{env@}}. All of the begin-type completions begin with this key
484 sequence.
486 @table @kbd
487 @item [prefix] b
488 @dots{} start begin-type completion
489 @end table
491 @noindent
492 An additional key stroke immediately completes a frequently used
493 La@TeX{} @code{\begin@{@}}...@code{\@code{end}@{@}} environment.
495 @table @kbd
496 @item [prefix] b c
497 @dots{} @code{\begin@{center@}...\end@{center@}}
498 @item [prefix] b d
499 @dots{} @code{\begin@{document@}...\end@{document@}}
500 @item [prefix] b D
501 @dots{} @code{\begin@{description@}...\end@{description@}}
502 @item [prefix] b e
503 @dots{} @code{\begin@{enumerate@}...\end@{enumerate@}}
504 @item [prefix] b E
505 @dots{} @code{\begin@{equation@}...\end@{equation@}}
506 @item [prefix] b i
507 @dots{} @code{\begin@{itemize@}...\end@{itemize@}}
508 @item [prefix] b l
509 @dots{} @code{\begin@{flushleft@}...\end@{flushleft@}}
510 @item [prefix] b m
511 @dots{} @code{\begin@{minipage@}...\end@{minipage@}}
512 @item [prefix] b t
513 @dots{} @code{\begin@{tabbing@}...\end@{tabbing@}}
514 @item [prefix] b T
515 @dots{} @code{\begin@{tabular@}...\end@{tabular@}}
516 @item [prefix] b^T
517 @dots{} @code{\begin@{table@}...\end@{table@}}
518 @item [prefix] b p
519 @dots{} @code{\begin@{picture@}...\end@{picture@}}
520 @item [prefix] b q
521 @dots{} @code{\begin@{quote@}...\end@{quote@}}
522 @item [prefix] b Q
523 @dots{} @code{\begin@{quotation@}...\end@{quotation@}}
524 @item [prefix] b r
525 @dots{} @code{\begin@{flushright@}...\end@{flushright@}}
526 @item [prefix] b v
527 @dots{} @code{\begin@{verbatim@}...\end@{verbatim@}}
528 @item [prefix] b V
529 @dots{} @code{\begin@{verse@}...\end@{verse@}}
530 @end table
532 Any other La@TeX{} environments are made by completing-read of the
533 Emacs function.
535 @table @kbd
536 @item [prefix] b SPACE
537 @dots{} begin-type completion
538 @end table
540 @noindent
541 The next message will show up in the minibuffer
543 @example
544 Begin environment(default document):
545 @end example
547 @noindent
548 by typing @kbd{[prefix] b}. Put the wishing environment with completion
549 in the minibuffer, and @code{\begin@{env@}}...\@code{\end@{env@}} will be
550 inserted in the La@TeX{} source text. If the environment you want to put
551 does not exist in the YaTeX completion table, it will be registered in the
552 user completion table. YaTeX automatically saves the user completion
553 table in the user dictionary file at exiting of emacs.
555 At the completion of certain environments, the expected initial entry will
556 automatically inserted such as @code{\item} for @code{itemize}
557 environment. If you don't want the entry, it can be removed by undoing.
559 If you want to enclose some paragraphs which have already been
560 written, invoke the begin-type completion with changing the case
561 of @kbd{b} of key sequence upper(or invoke it with universal argument
562 by @kbd{C-u} prefix).
563 @cindex enclose region into environment
565 The following example encloses a region with `description'
566 environment.
568 @table @kbd
569 @item [prefix] B D
570 @itemx (or ESC 1 [prefix] b D)
571 @itemx (or C-u [prefix] b D)
573 @dots{} begin-type completion for region
574 @end table
576 This enclosing holds good for the completing input by @kbd{[prefix] b
577 SPC}. @kbd{[prefix] B SPC} enclose a region with the environment selected
578 by completing-read.
580 @node Section-type completion, Large-type completion, Begin-type completion, Completion
581 @comment node-name, next, previous, up
582 @section Section-type completion
583 @cindex section-type completion
584 @cindex prefix s
586 "Section-type completion" completes section-type commands which take an
587 argument or more such as @code{\section@{foo@}}. To invoke section-type
588 completion, type
590 @table @kbd
591 @item [prefix] s
592 @dots{} section-type completion
593 @end table
595 @noindent
596 then the prompt
598 @example
599 (C-v for view) \???@{@} (default documentstyle):
600 @end example
602 @noindent
603 will show up in the minibuffer. Section-type La@TeX{} commands are
604 completed by space key, and the default value is selected when you
605 type nothing in the minibuffer.
607 Next,
609 @example
610 \section@{???@}:
611 @end example
613 @noindent
614 prompts you the argument of section-type La@TeX{} command. For
615 example, the following inputs
617 @example
618 \???@{@} (default documentstyle): section
619 \section{???}: Hello world.
620 @end example
622 @noindent
623 will insert the string
625 @example
626 \section@{Hello world.@}
627 @end example
629 in your La@TeX{} source. When you neglect argument such as
631 @example
632 (C-v for view) \???@{@} (default section): vspace*
633 \vspace*@{???@}:
634 @end example
636 YaTeX puts
638 @example
639 \vspace*@{@}
640 @end example
642 @noindent
643 and move the cursor in the braces.
645 In La@TeX{} command, there are commands which take more than one
646 arguments such as @code{\addtolength{\topmargin}{8mm}}. To complete these
647 commands, invoke section-type completion with universal argument as,
648 @cindex number of argument
650 @example
651 C-u 2 [prefix] s (or ESC 2 [prefix] s)
652 @end example
654 @noindent
655 and make answers in minibuffer like this.
657 @example
658 (C-v for view) \???@{@} (default vspace*): addtolength
659 \addtolength@{???@}: \topmargin
660 Argument 2: 8mm
661 @end example
663 @code{\addtolength} and the first argument @code{\topmargin} can be typed
664 easily by completing read. Since YaTeX also learns the number of
665 arguments of section-type command and will ask that many arguments in
666 future completion, you had better tell the number of arguments to YaTeX at
667 the first completion of the new word. But you can change the number of
668 arguments by calling the completion with different universal argument
669 again.
672 Invoking section-type completion with @code{[Prefix] S} (Capital `S')
673 includes the region as the first argument of section-type command.
675 The section/large/maketitle type completion can work at the
676 prompt for the argument of other section-type completion.
677 Nested La@TeX{} commands are efficiently read with the recursive
678 completion by typing YaTeX's completion key sequence in the
679 minibuffer.
681 @menu
682 * view-sectioning::
683 @end menu
685 @node view-sectioning, , Section-type completion, Section-type completion
686 @comment node-name, next, previous, up
687 @subsection view-sectioning
688 @cindex view sectioning
689 @cindex outline
691 In the minibuffer at the prompt of section-type command completion,
692 typing @kbd{C-v} shows a list of sectioning commands in source text(The
693 line with @code{<<--} mark is the nearest sectioning command). Then,
694 default sectioning command appears in the minibuffer. You can go up/down
695 sectioning command by typing @kbd{C-p}/@kbd{C-n}, can scrolls up/down the
696 listing buffer by @kbd{C-v}/@kbd{M-v}, and can hide sectioning commands
697 under certain level by 0 through 6. Type @kbd{?} in the minibuffer of
698 sectioning prompt for more information.
700 You can generate this listing buffer (@code{*Sectioning Lines*} buffer)
701 by typing
702 @table @kbd
703 @item M-x YaTeX-section-overview
704 @dots{} Generate *Sectioning Lines* buffer
705 @end table
706 @cindex{Generate the listing of sectioning units}
707 from the LaTeX source buffer. In this listing buffer, typing @kbd{u} on
708 the sectioning command shifts up the corresponding sectioning command in
709 source text and @kbd{d} shifts down. After marking lines in the listing
710 buffer, typing @kbd{U} shifts up all sectioning commands in the region,
711 and @kbd{U} shifts down. Here are all the key bindings of
712 @code{*Sectioning Lines*} buffer.
714 @table @kbd
715 @item SPC
716 @dots{} Jump to corresponding source line
717 @item .
718 @dots{} Display corresponding source line
719 @item u
720 @dots{} Shift up a sectioning line
721 @item d
722 @dots{} Shift down a sectioning line
723 @item U
724 @dots{} Shift up sectioning lines in region
725 @item D
726 @dots{} Shift down sectioning lines in region
727 @item 0〜6
728 @dots{} Hide sectioning commands whose level is lower than n
729 @end table
732 @node Large-type completion, Maketitle-type completion, Section-type completion, Completion
733 @comment node-name, next, previous, up
734 @section Large-type completion
736 "Large-type completion" inputs the font or size changing
737 descriptions such as @code{@{\large @}}. When you type
739 @table @kbd
740 @item [prefix] l
741 @dots{} large-type completion
742 @end table
744 @noindent
745 the message in the minibuffer
747 @example
748 @{\??? @} (default large):
749 @end example
751 prompts prompts you large-type command with completing-read. There are
752 TeX commands to change fonts or sizes, @code{it}, @code{huge} and so on,
753 in the completion table.
755 Region-based completion is also invoked by changing the letter after
756 prefix key stroke as @kbd{[prefix] L}. It encloses the region by braces
757 with large-type command.
759 @node Maketitle-type completion, Arbitrary completion, Large-type completion, Completion
760 @comment node-name, next, previous, up
761 @section Maketitle-type completion
762 @cindex maketitle-type completion
764 We call it "maketitle-type completion" which completes commands such as
765 @code{\maketitle}. Take notice that maketitle-type commands take no
766 arguments. Then, typing
768 @table @kbd
769 @item [prefix] m
770 @dots{} maketitle-type completion
771 @end table
773 @noindent
774 begins maketitle-completion. Above mentioned method is true for
775 maketitle-completion, and there are La@TeX{} commands with no
776 arguments in completion table.
778 @node Arbitrary completion, End completion, Maketitle-type completion, Completion
779 @comment node-name, next, previous, up
780 @section Arbitrary completion
781 @cindex arbitrary completion
783 @noindent
784 You can complete certain La@TeX{} command anywhere without typical
785 completing method as described, by typing
787 @table @kbd
788 @item [prefix] SPC
789 @dots{} arbitrary completion
790 @end table
792 @noindent
793 after the initial string of La@TeX{} command that is preceded by @code{\}.
795 @node End completion, Accent completion, Arbitrary completion, Completion
796 @comment node-name, next, previous, up
797 @section End completion
798 @cindex end completion
800 @noindent
801 YaTeX automatically detects the opened environment and close it with
802 \@code{\end@{environment@}}. Though proficient YaTeX users never fail to
803 make environment with begin-type completion, some may begin an environment
804 manually. In that case, type
806 @table @kbd
807 @item [prefix] e
808 @dots{} @code{end} completion
809 @end table
811 @noindent
812 at the end of the opened environment.
814 @node Accent completion, Image completion, End completion, Completion
815 @comment node-name, next, previous, up
816 @section Accent completion
817 @cindex accent completion
819 When you want to write the European accent marks(like @code{\`@{o@}}),
821 @table @kbd
822 @item [prefix] a
823 @dots{} accent completion
824 @end table
826 @noindent
827 shows the menu
829 @example
830 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
831 @end example
833 @noindent
834 in the minibuffer. Chose one character or corresponding numeric,
835 and you will see
837 @example
838 \`{}
839 @end example
841 @noindent
842 in the editing buffer with the cursor positioned in braces. Type
843 one more character `o' for example, then
845 @example
846 \`{o}
847 @end example
849 @noindent
850 will be completed, and the cursor gets out from braces.
852 @node Image completion, Greek letters completion, Accent completion, Completion
853 @comment node-name, next, previous, up
854 @section Image completion of mathematical sign
855 @cindex image completion
856 @cindex math-mode
857 @cindex sigma
858 @cindex leftarrow
859 @cindex ;
861 Arrow marks, sigma mark and those signs mainly used in the
862 TeX's math environment are completed by key sequences which
863 imitate the corresponding symbols graphically. This completion
864 only works in the math environment. YaTeX automatically detects
865 whether the cursor located in math environment or not, and
866 change the behavior of key strokes @kbd{;} and @kbd{:}.
868 By the way, we often express the leftarrow mark by `<-' for example.
869 Considering such image, you can write @code{\leftarrow} by typing @kbd{<-}
870 after @kbd{;} (semicolon) as a prefix. In the same way,
871 @code{\longleftarrow} (@code{<--}) is completed by typing @kbd{;<--},
872 infinity mark which is imitated by @code{oo} is completed by typing
873 @kbd{;oo}.
875 Here are the sample operations in YaTeX math-mode.
877 @example
878 INPUT Completed La@TeX{} commands
879 ; < - @code{\leftarrow}
880 ; < - - @code{\longleftarrow}
881 ; < - - > @code{\longleftrightarrow}
882 ; o @code{\circ}
883 ; o o @code{\infty}
884 @end example
886 In any case, you can quit from image completion and can move
887 to the next editing operation if the La@TeX{} command you want is
888 shown in the buffer.
890 @code{;} itself in math-environment is inserted by @kbd{;;}. Typing
891 @kbd{TAB} in the midst of image completion shows all of the La@TeX{}
892 commands that start with the same name as string you previously typed in.
893 In this menu buffer, press @kbd{RET} after moving the cursor (by @kbd{n},
894 @kbd{p}, @kbd{b}, @kbd{f}) to insert the La@TeX{} command.
896 To know all of the completion table, type @kbd{TAB} just after @kbd{;}.
897 And here is the sample menu by @kbd{TAB} after @kbd{;<}.
899 @example
900 KEY LaTeX sequence sign
901 < \leq <
902 ~
903 << \ll <<
904 <- \leftarrow <-
905 <= \Leftarrow <=
906 @end example
908 You can define your favorite key-vs-sequence completion table in the
909 Emacs-Lisp variable @code{YaTeX-math-sign-alist-private}. See also
910 @file{yatexmth.el} for the information of the structure of this variable.
912 @node Greek letters completion, , Image completion, Completion
913 @comment node-name, next, previous, up
914 @section Greek letters completion
915 @cindex Greek letters completion
916 @cindex :
918 Math-mode of YaTeX provides another image completion, Greek letters
919 completion in the same method. After prefix @kbd{:}, typing @kbd{a} makes
920 @code{\alpha}, @kbd{b} makes @code{\beta} and @kbd{g} makes @code{\gamma}
921 and so on. First, type @kbd{:TAB} to know all the correspondence of
922 alphabets vs. Greek letters.
924 If you will find @kbd{;} or @kbd{:} doesn't work in correct position of
925 math environment, it may be a bug of YaTeX. Please send me a bug report
926 with the configuration of your text, and avoid it temporarily by typing
927 @kbd{;} or @kbd{:} after universal-argument(@kbd{C-u}) which forces
928 @kbd{;} and @kbd{:} to work as math-prefix.
930 @node Local dictionaries, Commenting out, Completion, Top
931 @comment node-name, next, previous, up
932 @chapter Local dictionaries
933 @cindex local dictionaries
934 @cindex nervous users
936 Tables for completion consist of three dictionaries; `standard
937 dictionary' built in @file{yatex.el}, `user dictionary' for your common
938 private commands, and `local dictionary' that is effective in a certain
939 directory.
941 When you input the command unknown to YaTeX at a completion in the
942 minibuffer, YaTeX asks you with the following prompt;
944 @example
945 `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscad
946 @end example
948 @noindent
949 In this menu, typing @kbd{u} updates your `user dictionary', @kbd{l}
950 updates your local dictionary, @kbd{n} updates only on-memory dictionary
951 which go through only current Emacs session, and @kbd{d} updates no
952 dictionary and throws the new word away.
954 If you find this switching feature meaningless and bothersome, put the
955 next expression into your @file{~/.emacs}
957 @lisp
958 (setq YaTeX-nervous nil)
959 @end lisp
961 @node Commenting out, Cursor jump, Local dictionaries, Top
962 @comment node-name, next, previous, up
963 @chapter Commenting out
964 @cindex commenting out
965 @cindex prefix >
966 @cindex prefix <
967 @cindex prefix ,
968 @cindex prefix .
970 You may want to comment out some region.
972 @table @kbd
973 @item [prefix] >
974 @dots{} comment out region by %
975 @item [prefix] <
976 @dots{} uncomment region
977 @end table
979 @noindent
980 cause an operation to the region between point and mark.
982 @table @kbd
983 @item [prefix] .
984 @dots{} comment out current paragraph
985 @item [prefix] ,
986 @dots{} uncomment current paragraph
987 @end table
989 @noindent
990 comments or uncomments the paragraph where the cursor belongs.
991 This `paragraph' means the region marked by the function
992 mark-paragraph, bound to @kbd{ESC h} by default. It is NOT
993 predictable what will happen when you continuously comment out
994 some paragraph many times.
996 You can also comment out an environment between @code{\begin} and
997 @code{\end}, or a @code{\begin}-\@code{\end} pair themselves, by making the
998 following key strokes on the line where @code{\begin@{@}} or
999 @code{\end@{@}} exists.
1001 @table @kbd
1002 @item [prefix] >
1003 @dots{} comment out from \begin to \@code{end}
1004 @item [prefix] <
1005 @dots{} uncomment from \begin to \@code{end}
1006 @end table
1008 @noindent
1009 comment whole the contents of environment. Moreover,
1011 @table @kbd
1012 @item [prefix] .
1013 @dots{} comment out \begin and \@code{end}
1014 @item [prefix] ,
1015 @dots{} uncomment \begin and \@code{end}
1016 @end table
1018 @noindent
1019 (un)comments out only environment declaration: @code{\begin@{@}} and
1020 @code{\end@{@}}. NOTE that even if you intend to comment out some region,
1021 invoking @kbd{[prefix] >} on the @code{\begin},@code{\end} line decides to
1022 work in `commenting out from @code{\begin} to @code{\end}' mode.
1025 @node Cursor jump, Changing and Deleting, Commenting out, Top
1026 @comment node-name, next, previous, up
1027 @chapter Cursor jump
1028 @cindex cursor jump
1029 @cindex prefix g
1031 @section Jump to corresponding object
1033 Typing
1035 @table @kbd
1036 @item [prefix] g
1037 @dots{} go to corresponding object
1038 @end table
1040 @noindent
1041 in a certain place move the cursor to the place corresponding to the
1042 La@TeX{} command of last place. YaTeX recognize the followings as pairs
1043 that have relation each other.
1045 @itemize @bullet
1046 @item @code{\begin@{@}} <-> @code{\end@{@}}
1047 @item @code{%#BEGIN} <-> @code{%#END}
1048 @item @code{\label@{@}} <-> @code{\ref@{@}}
1049 @item @code{\include(\input)} -> included file
1050 @item @code{\bibitem@{@}} <-> @code{\cite@{@}}
1051 @end itemize
1053 On a @code{\begin},@code{\end} line, typing @kbd{[prefix] g} moves the
1054 cursor to the corresponding @code{\end},@code{\begin} line, if its partner
1055 really exists. The behavior on the line @code{%#BEGIN} and @code{%#END}
1056 are the same. Note that if the correspondent of @code{label/ref} or
1057 @code{cite/bibitem} exists in another file, that file have to be opened to
1058 make a round trip between references by @kbd{[prefix] g}.
1060 If you type @code{[prefix] g} on the line of @code{\include@{chap1@}},
1061 typically in the main text, YaTeX switches buffer to @file{chap1.tex}.
1063 @table @kbd
1064 @item [prefix] 4 g
1065 @dots{} go to corresponding object in other window
1066 @end table
1068 @noindent
1069 do the same job as @kbd{[prefix] g} except it's done in other window.
1070 Note that this function doesn't work on @code{begin/end},
1071 @code{%#BEGIN/%#END} pairs because it is meaningless.
1073 @section Jump to main file
1075 Typing
1077 @table @kbd
1078 @item [prefix] ^
1079 @dots{} visit main file
1080 @item [prefix] 4^
1081 @dots{} visit main file in other buffer
1082 @end table
1083 @cindex prefix ^
1084 @cindex prefix 4 ^
1086 in a sub text switch the buffer to the main text specified by
1087 @code{%#!} notation.
1089 @section Other jumping features
1091 And these are the functions which work on the current La@TeX{}
1092 environment:
1094 @table @kbd
1095 @item M-C-a
1096 @dots{} beginning of environment
1097 @item M-C-e
1098 @dots{} @code{end} of environment
1099 @item M-C-@@
1100 @dots{} mark environment
1101 @end table
1102 @cindex M-C-a
1103 @cindex M-C-e
1104 @cindex M-C-@@
1106 @node Changing and Deleting, Filling, Cursor jump, Top
1107 @comment node-name, next, previous, up
1108 @chapter Changing and Deleting
1110 These functions are for change or deletion of La@TeX{} commands
1111 already entered.
1113 @table @kbd
1114 @item [prefix] c
1115 @dots{} change La@TeX{} command
1116 @item [prefix] k
1117 @dots{} kill La@TeX{} command
1118 @end table
1119 @cindex prefix c
1120 @cindex prefix k
1122 @menu
1123 * Changing La@TeX{} commands::
1124 * Killing La@TeX{} commands::
1125 @end menu
1127 @node Changing La@TeX{} commands, Killing La@TeX{} commands, Changing and Deleting, Changing and Deleting
1128 @comment node-name, next, previous, up
1129 @section Changing La@TeX{} commands
1131 @kbd{[prefix] c} can change the various (La)@TeX{} commands. This can
1132 change the followings.
1133 @itemize @bullet
1134 @item Environment names
1135 @item Section-type commands
1136 @item Argument of section-type commands
1137 @item Optional parameters (enclosed by []) of section-type commands
1138 @item Font/size designators
1139 @item Math-mode's maketitle-type commands that can be inputted with
1140 image completion
1141 @end itemize
1143 Typing @kbd{[prefix] c} on one of above objects you want to change
1144 brings a suitable reading function sometimes with completion.
1145 Note: If you want to change the argument of section-type command that
1146 contains other La@TeX{} commands, type @kbd{[prefix] c} either of
1147 surrounding braces of the argument in order to make YaTeX ignore the
1148 internal La@TeX{} sequences as an object of changing. Anyway, it is
1149 very difficult to know which argument position the cursor belongs because
1150 the La@TeX{} commands can be nested and braces can freely emerge. So keep
1151 it mind to put the cursor on a brace when you are thinking of changing a
1152 complicated argument.
1154 @node Killing La@TeX{} commands, , Changing La@TeX{} commands, Changing and Deleting
1155 @comment node-name, next, previous, up
1156 @section Killing La@TeX{} commands
1157 @cindex Killing La@TeX{} commands
1159 @kbd{[prefix] k} kills the La@TeX{} commands sometimes with their
1160 arguments. Following table illustrates the correspondence of the invoking
1161 position and what is killed.
1163 @example
1164 [Invoking position] [action]
1165 \begin, \end line kill \begin,\end pairs
1166 %#BEGIN, %#END line kill %#BEGIN,%#END pairs
1167 on a Section-type command kill section-type command
1168 on a parenthesis kill parentheses
1169 @end example
1171 Note that when killing @code{\begin, \end} or @code{%#BEGIN, %#END} pair,
1172 the lines @code{\begin, \end} or @code{%#BEGIN, %#END} exist will be
1173 killed entirely. So take care not to create any line that contains more
1174 than one @code{\begin} or so.
1176 While all operations above are to kill `containers' which surround some
1177 text, universal argument (@kbd{C-u}) for these commands kills not only
1178 `containers' but also `contents' of them. See below as a sample.
1180 @example
1181 Original text: [prefix] k C-u [prefix] k
1182 Main \footnote@{note@} here. Main note here. Main here.
1183 ~(cursor)
1184 @end example
1186 @node Filling, Updation of includeonly, Changing and Deleting, Top
1187 @comment node-name, next, previous, up
1188 @chapter Filling
1189 @cindex filling
1191 @section Filling an item
1192 @cindex filling an item
1193 @cindex prefix i
1195 To fill a term (descriptive sentences) of @code{\item}, type
1197 @c @table @kbd
1198 @c @item [prefix] i
1199 @c @dots{} fill item
1200 @c @end table
1201 @table @kbd
1202 @item M-q
1203 @dots{} fill item
1204 @end table
1206 @noindent
1207 on that item.
1209 YaTeX uses the value of the variable @code{YaTeX-item-regexp} as the
1210 regular expression to search item header in itemize environment.
1211 If you make a newcommand to itemize terms(e.g. @code{\underlineitem}), put
1213 @lisp
1214 (setq YaTeX-item-regexp
1215 "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)")
1216 @end lisp
1217 @cindex YaTeX-item-regexp
1219 in your @file{~/.emacs}. If you are not familiar with regular expression
1220 for Emacs-Lisp, name a newcommand for `itemize' beginning with
1221 @code{\item} such as @code{\itembf}, not @code{\bfitem}.
1223 This function reformats the @code{\item} into `hang-indented' style.
1224 For example:
1226 @example
1227 itemize, enumerate environment:
1229 >\item[foo] `foo' is the typical word for describing an
1230 > arbitrarily written....
1231 description environment:
1232 > \item[bar] When the word `for' is used as an arbitrarily
1233 > word, `bar' is bound to follow it.
1234 @end example
1236 Note that the indent depth of an @code{\item} word and its descriptive
1237 paragraph are the same in latter case. If you want to use different
1238 depth, invoke fill-paragraph at the beginning of non-whitespace
1239 character(see below).
1241 @section Filling paragraph
1242 @cindex Filling paragraph
1243 @cindex M-q
1245 Fill-paragraph is little bit adapted for La@TeX{} sources. It retains from
1246 filling in certain environments where formatting leads to a disaster such
1247 as verbatim, tabular, or so. And it protects @code{\verb} expressions
1248 from being folded (The variable @code{YaTeX-verb-regexp} controls this).
1249 Besides, putting cursor on the first occurrence of non-whitespace
1250 character on a line changes the fill-prefix temporarily to the depth of
1251 the line.
1253 @node Updation of includeonly, What column?, Filling, Top
1254 @comment node-name, next, previous, up
1255 @chapter Updation of @code{\includeonly}
1256 @cindex includeonly
1258 When you edit splitting source texts, the notation
1260 @example
1261 \includeonly@{CurrentEditingFileName@}
1262 @end example
1264 @noindent
1265 in the main file reduces the time of typesetting. If you want
1266 to hack other file a little however, you have to rewrite it to
1268 @example
1269 \includeonly@{OtherFileNameYouWantToFix@}
1270 @end example
1272 @noindent
1273 in the main file. YaTeX automatically detects that the current
1274 edited text is not in includeonly list and prompts you
1276 @example
1277 A)dd R)eplace %)comment?
1278 @end example
1280 in the minibuffer. Type @kbd{a} if you want to add the current file name
1281 to @code{\includeonly} list, @kbd{r} to replace \@code{includeonly} list
1282 by the current file, and type @kbd{%} to comment out the
1283 @code{\includeonly} line.
1285 @node What column?, Intelligent newline, Updation of includeonly, Top
1286 @comment node-name, next, previous, up
1287 @chapter What column?
1288 @cindex what column
1289 @cindex complex tabular
1290 @cindex prefix &
1292 We are often get tired of finding the corresponding column in
1293 large tabulars. For example,
1295 @example
1296 \begin@{tabular@}@{|c|c|c|c|c|c|c|c|@}\hline
1297 Name&Position&Post No.&Addr.&Phone No.&FAX No.&
1298 Home Addr.&Home Phone\\ \hline
1299 Thunder Bird & 6 & 223 & LA & xxx-yyy &
1300 zzz-www & Japan & 9876-54321 \\
1301 & 2 & \multicolumn@{2@}@{c|@}@{Unknown@}
1302 &&&(???)
1303 \\ \hline
1304 \end@{tabular@}
1305 @end example
1307 Suppose you have the cursor located at @code{(???)} mark, can you tell
1308 which column it is belonging at once? Maybe no. In such case,
1309 type
1311 @table @kbd
1312 @item [prefix] &
1313 @dots{} What column
1314 @end table
1316 @noindent
1317 in that position. YaTeX tells you the column header of the
1318 current field. Since YaTeX assumes the first line of tabular
1319 environment as a row of column headers, you can create a row of
1320 virtual column headers by putting them in the first line and
1321 commenting that line with @code{%}.
1323 @node Intelligent newline, Online help, What column?, Top
1324 @comment node-name, next, previous, up
1325 @chapter Intelligent newline
1326 @cindex Intelligent newline
1327 @cindex ESC RET
1328 @cindex M-C-m
1330 At the end of begin-type completion of tabular[*], array, itemize,
1331 enumerate or tabbing environment, or typing
1333 @table @kbd
1334 @item ESC RET
1335 @dots{} Intelligent newline
1336 @end table
1338 @noindent
1339 in these environments inserts the contents corresponding to the current
1340 environment in the next line. (At the begin-type completion, this
1341 contents can be removed by `undo'.) In @code{tabular} environment, for
1342 example, @kbd{ESC RET} inserts the certain number of @code{&} and trailing
1343 @code{\\}, and @code{\hline} if other @code{\hline} is found in backward.
1344 Here are the list of contents vs. environments.
1346 @itemize
1347 @item @code{tabular}, @code{tabular*}, @code{array}
1349 Corresponding number of @code{&} and @code{\\}.
1350 And @code{\hline} if needed.
1352 @item @code{tabbing}
1354 The same number of @code{\>} as @code{\=} in the first line.
1356 @item @code{itemize}, @code{enumerate}, @code{description}, @code{list}
1358 @code{\item} or @code{item[]}.
1359 @end itemize
1361 Note that since this function works seeing the contents of the first
1362 line, please call this after the second line if possible.
1364 If you want to apply these trick to other environments, @code{foo}
1365 environment for example, define the function named
1366 @code{YaTeX-intelligent-newline-foo} to insert corresponding contents.
1367 That function will be called at the beginning of the next line after the
1368 newline is inserted to the current line. Since the function
1369 @code{YaTeX-indent-line} is designed to indent the current line properly,
1370 calling this function before your code to insert certain contents must be
1371 useful. See the definition of the function
1372 @code{YaTeX-intelligent-newline-itemize} as an example.
1374 @node Online help, Browsing file hierarchy, Intelligent newline, Top
1375 @comment node-name, next, previous, up
1376 @chapter Online help
1377 @cindex online help
1378 @cindex prefix ?
1379 @cindex prefix /
1380 @cindex apropos
1381 @cindex keyword search
1383 YaTeX provides you the online help with popular La@TeX{} commands.
1385 Here are the key strokes for the online help.
1387 @table @kbd
1388 @item [prefix] ?
1389 @dots{} Online help
1390 @item [prefix] /
1391 @dots{} Online apropos
1392 @end table
1394 @section Online help
1396 `Online help' shows the documentation for the popular La@TeX{}
1397 commands(defaults to the commands on the cursor) in the next buffer.
1398 There are two help file, `global help' and `private help'. The former
1399 file contains the descriptions on the standard La@TeX{} command and is
1400 specified its name by variable @code{YaTeX-help-file}. Usually, the
1401 global help file should be located in public space (@code{$EMACSEXECPATH}
1402 by default) and should be world writable so that anyone can update it to
1403 enrich its contents. The latter file contains descriptions on
1404 non-standard or personal command definitions and is specified by
1405 @code{YaTeX-help-file-private}. This file should be put into private
1406 directory.
1408 @section Online apropos
1410 `Online apropos' is an equivalent of GNU Emacs's apropos. It
1411 shows all the documentations that contains the keyword entered by
1412 the user.
1414 @section When no descriptions are found...
1416 If there is no description on a command in help files, YaTeX
1417 requires you to write a description on that command. If you are
1418 willing to do, determine which help file to add and write the
1419 description on it referring your manual of (La)TeX. Please send
1420 me your additional descriptions if you describe the help on some
1421 standard commands. I might want to include it in the next
1422 distribution.
1424 @node Browsing file hierarchy, Cooperation with other packages, Online help, Top
1425 @comment node-name, next, previous, up
1426 @chapter Browsing file hierarchy
1427 @cindex hierarchy
1428 @cindex browsing
1430 When you are editing multi-file source, typing
1432 @table @kbd
1433 @item [prefix] d
1434 @dots{} browse file hierarchy
1435 @end table
1437 @noindent
1438 asks you the parent-most file (which may be defaulted) and displays the
1439 documentation hierarchy in the next window. In this buffer, the following
1440 commands are available.
1442 @table @kbd
1443 @item n
1444 @dots{} move to the next line and show its contents
1445 @item p
1446 @dots{} move to the previous line and show its contents
1447 @item N
1448 @dots{} move to the next file in the same inclusion level
1449 @item P
1450 @dots{} move to the previous file in the same inclusion level
1451 @item j
1452 @dots{} move to the next line
1453 @item k
1454 @dots{} move to the previous line
1455 @item u
1456 @dots{} move to the parent file
1457 @item .
1458 @dots{} show the current files contents in the next window
1459 @item SPC
1460 @dots{} scroll up the current file window
1461 @item DEL, b
1462 @dots{} scroll down the current file window
1463 @item <
1464 @dots{} show the beginning of the current file
1465 @item >
1466 @dots{} show the end of the current file
1467 @item >
1468 @dots{} return to the previous postion after @kbd{<} or @kbd{>}
1469 @item RET, g
1470 @dots{} open the current file in the next window
1471 @item mouse-2
1472 @dots{} same as RET(available only with window system)
1473 @item o
1474 @dots{} other window
1475 @item 1
1476 @dots{} delete other windows
1477 @item -
1478 @dots{} shrink hierarchy buffer window
1479 @item +
1480 @dots{} enlarge hierarchy buffer window
1481 @item ?
1482 @dots{} describe mode
1483 @item q
1484 @dots{} quit
1485 @end table
1487 Note that operations on the file contents in the next window do not work
1488 correctly when you close the corresponding file.
1490 @node Cooperation with other packages, Customizations, Browsing file hierarchy, Top
1491 @comment node-name, next, previous, up
1492 @chapter Cooperation with other packages
1494 YaTeX works better with other brilliant packages.
1496 @section gmhist
1497 @cindex gmhist
1498 @cindex command history
1499 @cindex minibuffer history
1501 When you are loading @file{gmhist.el} and @file{gmhist-mh.el}, you can
1502 use independent command history list at the prompt of preview command
1503 (@kbd{[prefix] tp}) and print command (@kbd{[prefix] tl}). On each
1504 prompt, you can enter the previous command line string repeatedly by
1505 typing @kbd{M-p}.
1507 @section min-out
1508 @cindex min-out
1510 @file{min-out}, the outline minor mode, can be used in yatex-mode
1511 buffers. If you want to use it with YaTeX, please refer the
1512 file @file{yatexm-o.el} as an example.
1514 @node Customizations, Etcetera, Cooperation with other packages, Top
1515 @comment node-name, next, previous, up
1516 @chapter Customizations
1517 @cindex customizations
1519 You can customize YaTeX by setting Emacs-Lisp variables and by making
1520 add-in functions.
1522 @menu
1523 * Lisp variables::
1524 * Add-in functions::
1525 * Add-in generator::
1526 @end menu
1528 @node Lisp variables, Add-in functions, Customizations, Customizations
1529 @comment node-name, next, previous, up
1530 @section Lisp variables
1531 @cindex customizable variables
1533 You can change the key assignments or make completion more
1534 comfortable by setting the values of various variables which
1535 control the movement of yatex-mode.
1537 For example, if you want to change the prefix key stroke from @kbd{C-c}
1538 to any other sequence, set YaTeX-prefix to whatever you want to use. If
1539 you don't want to use the key sequence @kbd{C-c letter} which is assumed
1540 to be the user reserved sequence in Emacs world, set
1541 @code{YaTeX-inhibit-prefix-letter} to @code{t}, and all of the default key
1542 bind of @kbd{C-c letter} will turn to the corresponding @kbd{C-c C-letter}
1543 (but the region based completions that is invoked with @kbd{C-c
1544 Capital-letter} remain valid, if you want to disable those bindings, set
1545 that variable to 1 instead of @code{t}).
1547 @menu
1548 * All customizable variables::
1549 * Sample definitions::
1550 * Hook variables::
1551 * Hook file::
1552 @end menu
1554 @node All customizable variables, Sample definitions, Lisp variables, Lisp variables
1555 @comment node-name, next, previous, up
1556 @subsection All customizable variables
1557 @cindex all customizable variables
1559 Here are the customizable variables of yatex-mode. Each value setq-ed
1560 in @file{~/.emacs} is preferred and that of defined in @file{yatex.el} is
1561 neglected. Parenthesized contents stands for the default value. When you
1562 are to change some of these variables, see more detailed documentation of
1563 the variable by @kbd{M-x describe-variable}.
1565 @defvar YaTeX-prefix
1566 Prefix key stroke (@kbd{C-c})
1567 @end defvar
1569 @defvar YaTeX-inhibit-prefix-letter
1570 Change key stroke from @kbd{C-c letter} to @kbd{C-c C-letter}
1571 (@code{nil})
1572 @end defvar
1574 @defvar YaTeX-fill-prefix
1575 Fill-prefix used in yatex-mode (@code{nil})
1576 @end defvar
1578 @defvar YaTeX-user-completion-table
1579 Name of user dictionary where learned completion table will be stored.
1580 (@code{"~/.yatexrc"})
1581 @end defvar
1583 @defvar YaTeX-item-regexp
1584 Regular expression of item command(@code{"\\\\item"})
1585 @end defvar
1587 @defvar tex-command
1588 La@TeX{} typesetter command (@code{"latex"})
1589 @end defvar
1591 @defvar dvi2-command
1592 Preview command
1593 (@code{"xdvi -geo +0+0 -s 4 -display (getenv"DISPLAY")"})
1594 @end defvar
1596 @defvar dviprint-command-format
1597 Command format to print dvi file (@code{"dvi2ps %f %t %s | lpr"})
1598 @end defvar
1600 @defvar dviprint-from-format
1601 Start page format of above %f. %b will turn to start page
1602 (@code{"-f %b"})
1603 @end defvar
1605 @defvar dviprint-to-format
1606 End page format of above %t. %e will turn to @code{end} page
1607 (@code{"-t %e"})
1608 @end defvar
1610 @defvar section-name
1611 Initial default value at the first section-type completion
1612 (@code{"documentstyle"})
1613 @end defvar
1615 @defvar env-name
1616 Initial default value at the first begin-type completion
1617 (@code{"document"})
1618 @end defvar
1620 @defvar fontsize-name
1621 Ditto of large-type (@code{"large"})
1622 @end defvar
1624 @defvar single-command
1625 Ditto of maketitle-type (@code{"maketitle"})
1626 @end defvar
1628 @defvar YaTeX-need-nonstop
1629 Put @code{\nonstopmode@{@}} or not (@code{nil})
1630 @end defvar
1632 @defvar latex-warning-regexp
1633 Regular expression of warning message latex command puts out
1634 (@code{"line.* [0-9]*"})
1635 @end defvar
1637 @defvar latex-error-regexp
1638 Regular expression of error message (@code{"l\\.[1-9][0-9]*"})
1639 @end defvar
1641 @defvar latex-dos-emergency-message
1642 Message latex command running on DOS puts at abort
1643 (@code{"Emergency stop"})
1644 @end defvar
1646 @defvar YaTeX-item-regexp
1647 Regexp of La@TeX{} itemization command (@code{"\\\\(sub\\)*item"})
1648 @end defvar
1650 @defvar YaTeX-verb-regexp
1651 Regexp of La@TeX{} verb command family. Omit \\\\.
1652 (@code{"verb\\*?\\|path"})
1653 @end defvar
1655 @defvar YaTeX-nervous
1656 T for using local dictionary (@code{t})
1657 @end defvar
1659 @defvar YaTeX-sectioning-regexp
1660 Regexp of La@TeX{} sectioning command
1662 (@code{"part\\|chapter\\|\\(sub\\)*\\(section\\|paragraph\\)"})
1663 @end defvar
1665 @defvar YaTeX-fill-inhibit-environments
1666 Inhibit fill in these environments (@code{'("verbatim" "tabular")})
1667 @end defvar
1669 @defvar YaTeX-uncomment-once
1670 @code{T} for deleting all preceding @code{%} (@code{nil})
1671 @end defvar
1673 @defvar YaTeX-close-paren-always
1674 @code{T} for always close all parenthesis automatically,
1675 @code{nil} for only eol(@code{t})
1676 @end defvar
1678 @defvar YaTeX-auto-math-mode
1679 Switch math-mode automatically(@code{t})
1680 @end defvar
1682 @defvar YaTeX-math-key-list-private
1683 User defined alist, math-mode-prefix vs completion alist
1684 used in image completion(@code{nil}). See @file{yatexmth.el}
1685 for the information about how to define a completion alist.
1686 @end defvar
1688 @defvar YaTeX-default-pop-window-height
1689 Initial height of typesetting buffer when one-window.
1690 Number for the lines of the buffer, numerical string for
1691 the percentage of the screen-height.
1692 @code{nil} for half height(10)
1693 @end defvar
1695 @defvar YaTeX-help-file
1696 Global online help file name (@file{$EMACS/etc/YATEXHLP.jp})
1697 @end defvar
1699 @defvar YaTeX-help-file-private
1700 Private online help file name (@file{"~/YATEXHLP.jp"})
1701 @end defvar
1703 @defvar YaTeX-no-begend-shortcut
1704 Disable [prefix] b ?? shortcut (@code{nil)}
1705 @end defvar
1707 @defvar YaTeX-hilit-pattern-adjustment-private
1708 List of the list that contain the regular expression and the symbol of
1709 logical meaning of the string that matches the pattern. See also the
1710 value from @code{(assq 'yatex-mode hilit-patterns-alist)} and the value of
1711 @code{YaTeX-hilit-pattern-adjustment-default} (and even the document of
1712 hilit19.el).
1713 @end defvar
1715 @defvar YaTeX-sectioning-level
1716 Alist of LaTeX's sectioning command vs its height.
1717 @end defvar
1719 @defvar YaTeX-hierarchy-ignore-heading-regexp
1720 @code{YaTeX-display-hierarchy} searches for sectioning command first, and
1721 comment line secondary as a file headings. In latter case, ignore lines
1722 that match with regular expression of this variable. Default value of
1723 this variable is RCS header expressions and mode specifying line `-*- xxxx
1724 -*'.
1725 @end defvar
1727 @defvar YaTeX-skip-default-reader
1728 Non-nil for this variable skips the default argument reader of
1729 section-type command when add-in function for it is not defined.
1730 @end defvar
1732 @defvar YaTeX-create-file-prefix-g
1733 When typing @kbd{prefix g} on the @code{\include} line,
1734 open the target file even if the file doesn't exist(@code{nil}).
1735 @end defvar
1737 @defvar YaTeX-simple-messages
1738 Simplyfy messages of various completions(@code{nil})。
1739 @end defvar
1741 @defvar YaTeX-hilit-sectioning-face
1742 When hilit19 and yatex19 is active, YaTeX colors the sectioning commands.
1743 This variable specifies the foreground and background color of
1744 @code{\part} macro. The default value is @code{'(yellow/dodgerblue
1745 yellow/slateblue)}. The first element of this list is for the screen when
1746 @code{hilit-background-mode} is @code{'light}, and the second element is
1747 for @code{'dark}. You should specify both color as `forecolor/backcolor'.
1748 @end defvar
1750 @defvar YaTeX-hilit-sectioning-attenuation-rate
1751 When color mode, this variable specifies how much attenuate the color
1752 density of @code{\subparagraph} compared with that of @code{\chapter}.
1753 See also 。@code{YaTeX-hilit-sectioning-face}.
1754 @end defvar
1756 @defvar YaTeX-use-AMS-LaTeX
1757 If you use AMS-LaTeX, set to @code{t}(@code{nil}).
1758 @end defvar
1760 @node Sample definitions, Hook variables, All customizable variables, Lisp variables
1761 @comment node-name, next, previous, up
1762 @subsection Sample definitions
1763 @cindex prefix key stroke
1764 @cindex fill-prefix
1766 For instance, to change the prefix key stroke to @kbd{ESC}, and name of
1767 the user dictionary @file{~/src/emacs/yatexrc}, and set @code{fill-prefix}
1768 to single TAB character, add the following @code{setq} to @file{~/.emacs}.
1770 @lisp
1771 (setq YaTeX-prefix "\e"
1772 YaTeX-user-completion-table "~/src/emacs/yatexrc"
1773 YaTeX-fill-prefix " ")
1774 @end lisp
1776 @node Hook variables, Hook file, Sample definitions, Lisp variables
1777 @comment node-name, next, previous, up
1778 @subsection Hook variables
1779 @cindex hook variables
1781 More customizations will be done by the hook-function defined in
1782 hook-variable @code{yatex-mode-hook}. This is useful to define a shortcut
1783 key sequence to enter some environments other than @code{document} and
1784 @code{enumerate} etc. The following statement defines @code{[prefix] ba}
1785 to enter @code{\begin@{abstract@}} ... @code{=end@{abstract@}}
1786 immediately.
1788 @lisp
1789 (setq yatex-mode-hook
1790 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
1791 @end lisp
1793 You should use functions @code{YaTeX-define-key}, or
1794 @code{YaTeX-define-begend-key} to define all the key sequences of
1795 yatex-mode.
1797 @node Hook file, , Hook variables, Lisp variables
1798 @comment node-name, next, previous, up
1799 @subsection Hook file
1800 @cindex hook file
1802 You can stuff all of YaTeX related expressions into a file named
1803 @file{yatexhks.el} if you have a lot of codes. YaTeX automatically load
1804 this file at the initialization of itself. Using @file{yatexhks.el}
1805 makes @code{yatex-mode-load-hook} unnecessary.
1807 @node Add-in functions, Add-in generator, Lisp variables, Customizations
1808 @comment node-name, next, previous, up
1809 @section Add-in functions
1810 @cindex add-in functions
1811 @cindex yatexadd.el
1813 You can easily define a function to input detailed arguments
1814 with completion according to La@TeX{} environments or commands.
1816 @c @node What is add-in functions?, , Add-in functions, Add-in functions
1817 @comment node-name, next, previous, up
1818 @subsection What is add-in functions?
1819 @cindex tabular
1821 When you input @code{tabular} environment, don't you think ``I want
1822 YaTeX to complete its argument toward my favorite one such as
1823 @code{@{|c|c|c|@}}...''? Yes, you can define the function to complete
1824 arguments for any environment and any La@TeX{} commands.
1826 @subsection Procedure
1828 Here is the procedure to define add-in functions.
1829 @enumerate
1830 @item
1831 Define the function
1832 @item
1833 Put the function into @file{yatexhks.el}
1834 @end enumerate
1836 @menu
1837 * How the add-in function works::
1838 * How the function is called::
1839 * Useful functions for creating add-in::
1840 * Contribution::
1841 @end menu
1843 @node How the add-in function works, How the function is called, Add-in functions, Add-in functions
1844 @comment node-name, next, previous, up
1845 @subsection How the add-in function works
1847 There are two kinds of add-in. @dfn{Option add-in} returns the
1848 La@TeX{}'s optional parameters such as optional strings after
1849 @code{\begin@{ENV@}}, optional strings between a section-type command
1850 and its first argument, and optional strings just after type
1851 maketitle-type command. The following illustrates the name of add-in
1852 functions, where underlined strings are generated by add-in functions.
1854 @display
1855 \begin{table}[ht] (Function name: YaTeX:table)
1856 ~~~~
1857 \put(100,200){} (Function name: YaTeX:put)
1858 ~~~~~~~~~
1859 \sum_{i=0}^{n} (Function name: YaTeX:sum)
1860 ~~~~~~~~~~
1861 @end display
1863 Obviously, the function name is decided by concatenating the prefix
1864 `YaTeX:' and La@TeX{} command's name.
1866 Another add-in type is @dfn{argument add-in}, which completes arguments
1867 for section-type commands.
1869 @display
1870 \newcommand{\foo}{bar} (Function name: YaTeX::newcommand)
1871 ~~~~ ~~~
1872 @end display
1874 When the section-type command is inputted, the function named by
1875 concatenating `YaTeX::' and section-type command, is called automatically
1876 with an integer argument which indicates which argument of section-type
1877 command is being read. Thus the add-in should determine the
1878 job referring the value of its argument.
1880 @menu
1881 * Defining `option add-in'::
1882 * Defining `argument add-in'::
1883 @end menu
1885 @node Defining `option add-in', Defining `argument add-in', How the add-in function works, How the add-in function works
1886 @comment node-name, next, previous, up
1887 @subsubsection Defining `option add-in'
1889 If you want @code{@{|c|c|c|@}} for all @code{tabular} environment,
1891 @lisp
1892 (defun YaTeX:tabular ()
1893 "{|c|c|c|}")
1894 @end lisp
1896 @noindent
1897 is enough. If you want more complicated format, define as below.
1899 @lisp
1900 (defun YaTeX:tabular ()
1901 "@{@@@{\\vrule width 1pt\\ @}|||@@@{\\ \\vrule width 1pt@}@}")
1902 @end lisp
1904 @noindent
1905 Note that the character @code{\} must be described as @code{\\} in
1906 Emacs-Lisp. The next example reads the tabular format from keyboard.
1907 @lisp
1908 (defun YaTeX:tabular ()
1909 (concat "{" (read-string "Rule: ") "}"))
1910 @end lisp
1912 @node Defining `argument add-in', , Defining `option add-in', How the add-in function works
1913 @comment node-name, next, previous, up
1914 @subsubsection Defining `argument add-in'
1916 This section describes how to define the add-in function for
1917 @code{\newcommand}.
1919 The first argument of @code{\newcommand} begins always with @code{\}.
1920 The second argument is usually so complex that we can not edit them in the
1921 minibuffer. Here is the created function considering this.
1923 @lisp
1924 (defun YaTeX::newcommand (n) ;n is argument position
1925 (cond
1926 ((= n 1) ;1st argument is macro name
1927 (read-string "Command: " "\\")) ;initial input `\'
1928 ((= n 2) "") ;do nothing when reading arg#2
1929 (t nil)))
1930 @end lisp
1932 Note that when the `argument add-in' function return `nil', normal
1933 argument reader will be called.
1935 @node How the function is called, Useful functions for creating add-in, How the add-in function works, Add-in functions
1936 @comment node-name, next, previous, up
1937 @subsection How the function is called
1939 YaTeX calls the add-in functions for specified begin-type, section-type,
1940 and maketitle-type command, if any. `Option add-in' functions for
1941 begin-type are called when @code{\begin@{ENV@}} has been inserted,
1942 functions for section-type are called just before input of the first
1943 argument, and functions for maketitle-type is called after maketitle-type
1944 command has been inserted. `Argument add-in' functions are called at each
1945 entry of arguments for section-type commands.
1947 @node Useful functions for creating add-in, Contribution, How the function is called, Add-in functions
1948 @comment node-name, next, previous, up
1949 @subsection Useful functions for creating add-in
1951 Many add-in functions for typical La@TeX{} commands are defined in
1952 @file{yatexadd.el}. Those are also useful as references. Here are the
1953 short descriptions on useful functions, where [F] means function, [A]
1954 means arguments, [D] means description.
1956 @itemize
1957 @item [F]
1958 YaTeX:read-position
1959 @itemx [A]
1960 Character list which can show up in the brackets
1961 @itemx [D]
1962 Return the location specifier such as `[htb]'. When
1963 nothing is entered, omit [] itself. If the possible characters
1964 are "htbp", call this function as
1965 @code{(YaTeX:read-position "htbp")}
1967 @item [F]
1968 YaTeX:read-coordinates
1969 @itemx [A]
1970 Base prompt, X-axis prompt, Y-axis prompt (each optional)
1971 @itemx [D]
1972 Read the coordinates with the prompt ``BasePrompt X-axisPrompt:'' for
1973 X-axis, ``BasePrompt Y-axisPrompt:'' for Y-axis, and return it in the form
1974 of ``(X,Y)''. The default prompts are @code{Dimension}, @code{X},
1975 @code{Y} respectively.
1977 @item [F]
1978 YaTeX:check-completion-type
1979 @itemx [A]
1980 One of the symbols: 'begin, 'section, or 'maketitle
1981 @itemx [D]
1982 Check the current completion type is specified one and cause error if
1983 not. The variable @code{YaTeX-current-completion-type} holds the symbol
1984 according to the current completion type.
1985 @end itemize
1987 @node Contribution, , Useful functions for creating add-in, Add-in functions
1988 @comment node-name, next, previous, up
1989 @subsection Contribution
1991 If you make your own pretty function and you let it be in public, please
1992 send me the function. I'm going to include it in the next release.
1994 @node Add-in generator, , Add-in functions, Customizations
1995 @comment node-name, next, previous, up
1996 @section Add-in generator
1998 First, don't forget to read the section of add-in functions @ref{Add-in
1999 functions}. If you easily understand how to define them, there's no need
2000 to read this section. But being not familiar with Emacs-Lisp, when you
2001 don't have clear idea what to do, this section describes how to get YaTeX
2002 make add-in function.
2004 There are two methods of generation. One is for fully interactive
2005 generator for beginners and another requires little knowledge of
2006 Emacs-Lisp.
2008 @subsection Generator for beginners
2009 The former generator is called by
2010 @center @kbd{M-x YaTeX-generate}
2012 @noindent
2013 strokes. All you have to do is follow the guidances. Defying them may cases
2014 the disaster (I wonder what is it???). So when you make some mistake, it
2015 is recommendable to type @kbd{C-g} and start afresh.
2017 @subsection Simple generator
2019 The latter generator is invoked by the next sequence.
2020 @center @kbd{M-x YaTeX-generate-simple}
2021 This generator can make both ``option add-in'' and ``argument add-in''
2022 (@emph{refer the section add-in functions}
2023 @ref{How the add-in function works?}), whereas @code{YaTeX-generate}
2024 cannot make ``argument addin''.
2026 For example, assume you have the LaTeX command as follows.
2028 @example
2029 \epsinput[t](250,50){hoge.eps}{plain}{Picture of foo}
2030 (A) (B) (1) (2) (3)
2031 (A)Optional parameter to specify the position
2032 One of t(top), b(bottom), l(left), r(right)
2033 (B)Maximum size of frame
2034 (1)1st argument is filename of EPS file
2035 (2)2nd argument indicates
2036 plain do nothing
2037 frame make frame around image
2038 dframe make double-frame around image
2039 for included EPS file.
2040 (3)Caption for the picture
2041 @end example
2043 Now get start with generation. Typing @kbd{M-x YaTeX-generate-simple}
2044 brings the prompt:
2045 @display
2046 (O)ption? (A)rgument?
2047 @end display
2049 @subsubsection Generating ``option add-in''
2050 @cindex option add-in
2052 Since (A), (B) above are optional argument, all we have to do to
2053 complete them is define the option add-in for them. Let's generate the
2054 function to complete (A).
2056 @display
2057 M-x YaTeX-generate-simple RET
2058 epsinput RET
2060 @end display
2062 @noindent
2063 Typing as above leads the next prompt.
2065 @display
2066 Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit
2067 @end display
2069 @noindent
2070 This asks that ``Which type is the completion style of 1st argument?''.
2071 Here are the possible completion style.
2073 @table @code
2074 @item String
2075 read plain string
2076 @item Complete
2077 read with completion
2078 @item File
2079 read file name
2080 @item Option
2081 read optional string (if string omitted, omit [] too)
2082 @item Position
2083 read positional option (like [htbp])
2084 @item Coord.
2085 read coordinates
2086 @item Quit
2087 quit from generating
2088 @end table
2090 Since (A) is the optional argument to specify the location of included
2091 EPS file, the completion style is @code{Position}, and the possible
2092 characters are t, b, l, and r. To tell these information to generator,
2093 operate as follows.
2095 @display
2096 Read type(1).... p
2097 Acceptable characters: tblr RET
2098 @end display
2100 (B) is coordinate. So its completion style is coOrd. We want a prompt
2101 meaning ``Maximum size'' when completion.
2103 @display
2104 Read type(2).... o
2105 Prompt for coordinates: Max size RET
2106 @end display
2108 That's all for optional argument. Select quit.
2110 @display
2111 Read type(3).... q
2112 @end display
2114 Then the generated option add-in function for \epsinput will be shown in
2115 the next window.
2117 @subsubsection Generating ``argument add-in''
2118 @cindex argument add-in
2120 Next, create the argument add-in. The arguments for \epsinput are EPS
2121 file name, framing style, and caption string in sequence.
2123 @display
2124 M-x YaTeX-generate-simple RET
2125 epsinput RET
2127 @end display
2129 Above key strokes bring the prompt that asks the number of argument.
2130 Answer it with 3.
2132 @display
2133 How many arguments?: 3 RET
2134 @end display
2136 Then the generator asks the completion style and prompt for completion.
2137 Answer them. @kbd{f} for FileName and prompt string.
2139 @display
2140 Read type(1).... f
2141 Prompt for argument#1 EPS file name RET
2142 @end display
2144 The second argument is one of selected symbol. So the completion type
2145 is @code{Completion}.
2147 @display
2148 Read type(2).... c
2149 Prompt for argument#2 Include style RET
2150 @end display
2152 Then all the candidates ready to be read. Type single RET after
2153 entering all.
2155 @display
2156 Item[1](RET to exit): plain RET
2157 Item[2](RET to exit): frame RET
2158 Item[3](RET to exit): dframe RET
2159 Item[4](RET to exit): RET
2160 @end display
2162 The following prompt asks whether the entered string must belong to
2163 candidates or not. In this case, since the argument must be one of
2164 @code{plain}, @code{frame}, and @code{dframe}, type @code{y}.
2166 @display
2167 Require match? (y or n) y
2168 @end display
2170 The last argument is the caption string for which any completion is
2171 needed.
2173 @display
2174 Read type(3).... s
2175 Prompt for argument#3 Caption RET
2176 default: Figure of RET
2177 @end display
2179 Finally we'll get the argument add-in in the next window.
2181 @subsection Contribution
2183 If you get your own pretty function and you let it be in public, please
2184 steel yourself in the happy atmosphere and do not send me the function.
2185 I do know it is not fine because it is generated by yatexgen:-p.
2187 @node Etcetera, Copying, Customizations, Top
2188 @comment node-name, next, previous, up
2189 @chapter Etcetera
2191 The standard completion tables provided in @file{yatex.el} contain a
2192 few La@TeX{} commands I frequently use. This is to lessen the key
2193 strokes to complete entire word, because too many candidates
2194 rarely used often cause too many hits. Therefore always try to
2195 use completion in order to enrich your dictionary, and you will
2196 also find `Wild Bird' growing suitable for your La@TeX{} style.
2198 The package name `Wild Bird' is the English translation of Japanese
2199 title `Yachou', which is a trick on words of Japanese.
2201 @node Copying, , Etcetera, Top
2202 @comment node-name, next, previous, up
2203 @chapter Copying
2205 This program is distributed as a free software. You can
2206 redistribute this software freely but with NO warranty to anything
2207 as a result of using this software. However, any reports and
2208 suggestions are welcome as long as I feel interests in this
2209 software. My possible e-mail address is `yuuji@@ae.keio.ac.jp'.
2210 (up to Mar.1995 at least) And there is mailing list for YaTeX.
2211 Although the common language is Japanese, questions in English will be
2212 welcome. To join the ML, send the mail whose subject is `append' to
2213 the address `yatex-control@@jaist.ac.jp'. If you have some
2214 question, please ask to `yatex-request@@jaist.ac.jp'.
2216 The specification of this software will be surely modified
2217 (depending on my feelings) without notice :-p.
2220 @flushright
2221 HIROSE Yuuji
2222 @end flushright
2223 @bye
2225 Local variables:
2226 mode: texinfo
2227 fill-prefix: nil
2228 fill-column: 74
2229 End: