yatex

view docs/yatexe @ 179:a925cf5222f3

mew, skk
author yuuji@gentei.org
date Thu, 31 Mar 2011 09:41:48 +0900
parents 8703f090c628
children 5a16b237416f
line source
1 Info file: yatexe, -*-Text-*-
2 produced by `texinfo-format-buffer'
3 from file `yatexe.tex'
4 using `texinfmt.el' version 2.32 of 19 November 1993.
9 
10 File: yatexe, Node: Top, Next: What is YaTeX?, Prev: (dir), Up: (dir)
12 * Menu:
14 * What is YaTeX?::
15 * Main features:: What YaTeX can do
16 * Installation:: Guide to install
17 * Typesetting:: Call typesetting processes
18 * %#notation:: Meta-keyword `%#'
19 * Completion:: Input LaTeX commands with completion
20 * Local dictionaries:: Directory dependent completion
21 * Commenting out:: Commenting/uncommenting text
22 * Cursor jump:: Jumping to related position
23 * Changing and Deleting:: Changing/deleting certain unit of text
24 * Filling:: Filling an item or paragraph
25 * Updation of includeonly:: Free from maintaining includeonly
26 * What column:: Check what table-column the cursor belong
27 * Intelligent newline:: Guess requisites of new line
28 * Usepackage checker:: Selecting correct \usepackage is YaTeX's job
29 * Online help:: On-line documentation of LaTeX
30 * Browsing file hierarchy:: Walking through file hierarchy
31 * Cooperation with other packages:: Work well with gmhist, min-out
32 * Customizations:: How to breed `Wild Bird'
33 * Etcetera:: YaTeX is acquisitive.
34 * Copying:: Redistribution
37 
38 File: yatexe, Node: What is YaTeX?, Next: Main features, Prev: Top, Up: Top
40 What is YaTeX?
41 **************
43 YaTeX automates typesetting and previewing of LaTeX and enables
44 completing input of LaTeX mark-up command such as
45 `\begin{}'..`\end{}'.
47 YaTeX also supports Demacs which runs on MS-DOS(386), Mule (Multi
48 Language Enhancement to GNU Emacs), and latex on DOS.
50 
51 File: yatexe, Node: Main features, Next: Installation, Prev: What is YaTeX?, Up: Top
53 Main features
54 *************
56 * Invocation of typesetter, previewer and related programs(`C-c t')
57 * Typesetting on static region which is independent from point
58 * Semiautomatic replacing of `\includeonly'
59 * Jumping to error line(`C-c '')
60 * Completing-read of LaTeX commands such as `\begin{}',
61 `\section' etc.
62 (`C-c b', `C-c s', `C-c l', `C-c m')
63 * Enclosing text into LaTeX environments or commands
64 (`C-u' ABOVEKEYSTROKES)
65 * Displaying the structure of text at entering sectioning commands
66 * Lump shifting of sectioning commands (*Note view-sectioning::)
67 * Learning unknown/new LaTeX commands for the next completion
68 * Argument reading with a guide for complicated LaTeX commands
69 * Generating argument-readers for new/unsupported commands(`yatexgen')
70 * Quick changing or deleting of LaTeX commands(`C-c c', `C-c k')
71 * Jumping from and to inter-file, begin<->end, ref<->label(`C-c g')
72 * Blanket commenting out or uncommenting
73 (`C-c >', `C-c <', `C-c ,', `C-c .')
74 * Easy input of accent mark, math-mode's commands and Greek letters
75 (`C-c a', `;', `:')
76 * Online help for the popular LaTeX commands
77 (`C-c ?', `C-c /')
78 * Document files hierarchy browser (`C-c d')
79 * Adding automatically \usepackage corresponding to inputting LaTeX
80 macro with completion
81 * Allow you to forget creating \label{}s, \ref or \cite completion
82 automatically generate labels.
84 
85 File: yatexe, Node: Installation, Next: Typesetting, Prev: Main features, Up: Top
87 Installation
88 ************
90 Put next two expressions into your `~/.emacs'.
92 (setq auto-mode-alist
93 (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
94 (autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
96 Next, add certain path name where you put files of YaTeX to your
97 load-path. If you want to put them in `~/src/emacs', write
99 (setq load-path
100 (cons (expand-file-name "~/src/emacs") load-path))
102 in your `~/.emacs'
104 Then, yatex-mode will be automatically loaded when you visit a
105 file which has extension `.tex'. If yatex-mode is successfully
106 loaded, mode string on mode line will be turned to "YaTeX".
109 
110 File: yatexe, Node: Typesetting, Next: %#notation, Prev: Installation, Up: Top
112 Typesetting
113 ***********
115 The prefix key stroke of yatex-mode is `C-c' (Press 'C' with Control
116 key) by default. If you don't intend to change the prefix key stroke,
117 assume all `[prefix]' as `C-c' in this document. These key
118 strokes execute typeset or preview command.
120 `[prefix] t j'
121 ... invoke latex
122 `[prefix] t r'
123 ... invoke latex on region
124 `[prefix] t e'
125 ... invoke latex on current environment or whole
126 portion of current formulas in math-mode.
127 `[prefix] t k'
128 ... kill current typesetting process
129 `[prefix] t b'
130 ... invoke bibtex
131 `[prefix] t i'
132 ... invoke makeindex
133 `[prefix] t d'
134 ... invoke latex && dvipdfmx
135 `[prefix] t p'
136 ... preview
137 `[prefix] t l'
138 ... lpr dvi-file
139 `[prefix] t s'
140 ... search current string on xdvi-remote
142 * Menu:
144 * Calling typesetter::
145 * Calling previewer::
146 * Printing out::
148 
149 File: yatexe, Node: Calling typesetter, Next: Calling previewer, Prev: Typesetting, Up: Typesetting
151 Calling typesetter
152 ==================
154 Typing `[prefix] t j', the current editing window will be divided
155 horizontally when you invoke latex command, and log message of LaTeX
156 typesetting will be displayed in the other window; called typesetting
157 buffer. The typesetting buffer automatically scrolls up and traces LaTeX
158 warnings and error messages. If you see latex stopping by an error, you
159 can send string to latex in the typesetting buffer.
161 If an error stops the LaTeX typesetting, this key stroke will move the
162 cursor to the line where LaTeX error is detected.
164 `[prefix] ''
165 `([prefix]+single quotation)'
167 ... jump to the previous error or warning
169 If you find a noticeable error, move to the typesetting buffer and move
170 the cursor on the line of error message and type `SPACE' key. This makes
171 the cursor move to corresponding source line.
173 YaTeX-typeset-region invoked by `[prefix] tr' call typesetter for
174 region. The region is specified by standard point and mark, or by
175 `%#BEGIN' and `%#END' marks. Selected region will be copied to the
176 temporary file `texput.tex' with the same preamble as the main file of
177 current editing sources. Be sure to put all local macro settings in
178 preamble, not after `\begin{document}'.
179 The method of specification of the region is shown in the section *Note
180 %#notation::.
182 The documentclass for typeset-region is the same as that of editing file
183 if you edit one file, and is the same as main file's if you edit splitting
184 files.
186 The `[prefix] te' key automatically marks current inner environment or
187 inner math mode and then call typeset-region with marked region. This is
188 convenient to quick view of current tabular environment or current editing
189 formulas. Keeping previewer window for `texput.dvi' is handy for
190 debugging. Since `[prefix] te' selects the inner-most environment as
191 region, it is not suitable for partial typesetting of doubly or more
192 composed environment. If you want to do partial typesetting for a nested
193 environment, use `[prefix] tr' for static-region, which is described in
194 the section *Note %#notation::.
196 
197 File: yatexe, Node: Calling previewer, Next: Printing out, Prev: Calling typesetter, Up: Typesetting
199 Calling previewer
200 =================
202 `[prefix] t p' invokes the TeX previewer. And if you are using
203 xdvi-remote, which can be controled from other terminals, `[prefix] t s'
204 enables you to search current string at the cursor on the running xdvi
205 window.
207 
208 File: yatexe, Node: Printing out, Prev: Calling previewer, Up: Typesetting
210 Printing out
211 ============
213 When you type `[preifx] t l', YaTeX asks you the range of dvi-printing
214 by default. You can skip this by invoking it with universal-argument as
215 follows:
217 C-u [prefix] tl
219 
220 File: yatexe, Node: %#notation, Next: Completion, Prev: Typesetting, Up: Top
222 %# notation
223 ***********
225 You can control the typesetting process by describing `%#' notations in
226 the source text.
228 * Menu:
230 * Changing typesetter::
231 * Splitting input files::
232 * Static region for typesetting::
233 * Lpr format::
234 * Editing %# notation::
236 
237 File: yatexe, Node: Changing typesetter, Next: Splitting input files, Prev: %#notation, Up: %#notation
239 To change the `latex' command or to split a source text.
240 ========================================================
242 To change the typesetting command, write
244 %#!latex-big
246 anywhere in the source text. This is useful for changing typesetter.
248 
249 File: yatexe, Node: Splitting input files, Next: Static region for typesetting, Prev: Changing typesetter, Up: %#notation
251 Splitting input files
252 =====================
254 And if you split the source text and edit subfile that should be
255 included from main text.
257 %#!latex main.tex
259 will be helpful to execute latex on main file from sub text buffer. Since
260 this command line after `%#!' will be sent to shell literally, next
261 description makes it convenient to use ghostview as dvi-previewer.
263 %#!latex main ; dvi2ps main.dvi > main
265 Note that YaTeX assumes the component before the last period of the last
266 word in this line as base name of the main LaTeX source. The `%f'
267 notation in this line is replaced by main file name, and `%r' replaced by
268 root name of main file name. If you specify `%f' or `%r', YaTeX always
269 ask you the name of main file at the first typesetting.
271 To make best use of the feature of inter-file jumping by `[prefix] g'
272 (see *Note Cursor jump::), take described below into consideration.
274 * You can put split texts in sub directory, but not in
275 sub directory of sub directory.
276 * In the main text, specify the child file name with relative path name
277 such as \include{chap1/sub}, when you include the file in
278 a sub-directory.
279 * In a sub-text, write `%#!latex main.tex' even if `main.tex'
280 is in the parent directory(not %#!latex ../main.tex).
282 
283 File: yatexe, Node: Static region for typesetting, Next: Lpr format, Prev: Splitting input files, Up: %#notation
285 Static region
286 =============
288 Typeset-region by `[prefix] tr' passes the region between point and mark
289 to typesetting command by default. But when you want to typeset static
290 region, enclose the region by `%#BEGIN' and `%#END' as follows.
292 %#BEGIN
293 TheRegionYouWantToTypesetManyTimes
294 %#END
296 This is the rule of deciding the region.
298 1. If there exists %#BEGIN before point,
300 1. If there exists %#END after %#BEGIN,
301 * From %#BEGIN to %#END.
303 2. If %#END does not exist after %#BEGIN,
304 * From %#BEGIN to the end of buffer.
306 2. If there does not exist %#BEGIN before point,
307 * Between point and mark(standard method of Emacs).
309 It is useful to write `%#BEGIN' in the previous line of \begin and
310 `%#END' in the next line of \`end' when you try complex environment such
311 as `tabular' many times. It is also useful to put only `%#BEGIN' alone at
312 the middle of very long text. Do not forget to erase `%#BEGIN' `%#END'
313 pair.
315 
316 File: yatexe, Node: Lpr format, Next: Editing %# notation, Prev: Static region for typesetting, Up: %#notation
318 Lpr format
319 ==========
321 Lpr format is specified by three Lisp variables. Here are the default
322 values of them.
324 `(1)dviprint-command-format'
325 `"dvi2ps %f %t %s | lpr"'
326 `(2)dviprint-from-format'
327 `"-f %b"'
328 `(3)dviprint-to-format'
329 `"-t %e"'
331 On YaTeX-lpr, `%s' in (1) is replaced by the file name of main text,
332 `%f' by contents of (2), %t by contents of (3). At these replacements,
333 `%b' in (2) is also replaced by the number of beginning page, `%e' in (3)
334 is replaced by the number of ending page. But `%f' and `%t' are ignored
335 when you omit the range of print-out by `C-u [prefix] tl'.
337 If you want to change this lpr format temporarily, put a command such as
338 follows somewhere in the text:
340 %#LPR dvi2ps %f %t %s | 4up -page 4 | texfix | lpr -Plp2
342 And if you want YaTeX not to ask you the range of printing out, the next
343 example may be helpful.
345 %#LPR dvi2ps %s | lpr
347 
348 File: yatexe, Node: Editing %# notation, Prev: Lpr format, Up: %#notation
350 Editing %# notation
351 ===================
353 To edit `%#' notation described above, type
355 `[prefix] %'
356 ... editing %# notation menu
358 and select one of the entry of the menu as follows.
360 !)Edit-%#! B)EGIN-END-region L)Edit-%#LPR
362 Type `!' to edit `%#!' entry, `b' to enclose the region with `%#BEGIN' and
363 `%#END', and `l' to edit `%#LPR' entry. When you type `b', all `%#BEGIN'
364 and `%#END' are automatically erased.
366 
367 File: yatexe, Node: Completion, Next: Local dictionaries, Prev: %#notation, Up: Top
369 Completion
370 **********
372 YaTeX makes it easy to input the LaTeX commands. There are several
373 kinds of completion type, begin-type, section-type, large-type, etc...
375 * Menu:
377 * Begin-type completion::
378 * Section-type completion::
379 * Large-type completion::
380 * Maketitle-type completion::
381 * Arbitrary completion::
382 * End completion::
383 * Accent completion::
384 * Image completion::
385 * Greek letters completion::
387 
388 File: yatexe, Node: Begin-type completion, Next: Section-type completion, Prev: Completion, Up: Completion
390 Begin-type completion
391 =====================
393 "Begin-type completion" completes commands of `\begin{env}' ...
394 `\end{env}'. All of the begin-type completions begin with this key
395 sequence.
397 `[prefix] b'
398 ... start begin-type completion
400 An additional key stroke immediately completes a frequently used LaTeX
401 `\begin{}'...`\`end'{}' environment.
403 `[prefix] b c'
404 ... `\begin{center}...\end{center}'
405 `[prefix] b d'
406 ... `\begin{document}...\end{document}'
407 `[prefix] b D'
408 ... `\begin{description}...\end{description}'
409 `[prefix] b e'
410 ... `\begin{enumerate}...\end{enumerate}'
411 `[prefix] b E'
412 ... `\begin{equation}...\end{equation}'
413 `[prefix] b i'
414 ... `\begin{itemize}...\end{itemize}'
415 `[prefix] b l'
416 ... `\begin{flushleft}...\end{flushleft}'
417 `[prefix] b m'
418 ... `\begin{minipage}...\end{minipage}'
419 `[prefix] b t'
420 ... `\begin{tabbing}...\end{tabbing}'
421 `[prefix] b T'
422 ... `\begin{tabular}...\end{tabular}'
423 `[prefix] b^T'
424 ... `\begin{table}...\end{table}'
425 `[prefix] b p'
426 ... `\begin{picture}...\end{picture}'
427 `[prefix] b q'
428 ... `\begin{quote}...\end{quote}'
429 `[prefix] b Q'
430 ... `\begin{quotation}...\end{quotation}'
431 `[prefix] b r'
432 ... `\begin{flushright}...\end{flushright}'
433 `[prefix] b v'
434 ... `\begin{verbatim}...\end{verbatim}'
435 `[prefix] b V'
436 ... `\begin{verse}...\end{verse}'
438 Any other LaTeX environments are made by completing-read of the Emacs
439 function.
441 `[prefix] b SPACE'
442 ... begin-type completion
444 The next message will show up in the minibuffer
446 Begin environment(default document):
448 by typing `[prefix] b'. Put the wishing environment with completion in
449 the minibuffer, and `\begin{env}'...\`\end{env}' will be inserted in the
450 LaTeX source text. If the environment you want to put does not exist in
451 the YaTeX completion table, it will be registered in the user completion
452 table. YaTeX automatically saves the user completion table in the user
453 dictionary file at exiting of emacs.
455 At the completion of certain environments, the expected initial entry will
456 automatically inserted such as `\item' for `itemize' environment. If you
457 don't want the entry, it can be removed by undoing.
459 If you want to enclose some paragraphs which have already been written,
460 invoke the begin-type completion with changing the case of `b' of key
461 sequence upper(or invoke it with universal argument by `C-u' prefix).
463 The following example encloses a region with `description' environment.
465 `[prefix] B D'
466 `(or ESC 1 [prefix] b D)'
467 `(or C-u [prefix] b D)'
469 ... begin-type completion for region
471 This enclosing holds good for the completing input by `[prefix] b SPC'.
472 `[prefix] B SPC' enclose a region with the environment selected by
473 completing-read.
475 
476 File: yatexe, Node: Section-type completion, Next: Large-type completion, Prev: Begin-type completion, Up: Completion
478 Section-type completion
479 =======================
481 "Section-type completion" completes section-type commands which take an
482 argument or more such as `\section{foo}'. To invoke section-type
483 completion, type
485 `[prefix] s'
486 ... section-type completion
488 then the prompt
490 (C-v for view) \???{} (default documentclass):
492 will show up in the minibuffer. Section-type LaTeX commands are completed
493 by space key, and the default value is selected when you type nothing in
494 the minibuffer.
496 Next,
498 \section{???}:
500 prompts you the argument of section-type LaTeX command. For example, the
501 following inputs
503 \???{} (default documentclass): section
504 \section{???}: Hello world.
506 will insert the string
508 \section{Hello world.}
510 in your LaTeX source. When you neglect argument such as
512 (C-v for view) \???{} (default section): vspace*
513 \vspace*{???}:
515 YaTeX puts
517 \vspace*{}
519 and move the cursor in the braces.
521 In LaTeX command, there are commands which take more than one arguments
522 such as `\addtolength{\topmargin}{8mm}'. To complete these commands,
523 invoke section-type completion with universal argument as,
525 C-u 2 [prefix] s (or ESC 2 [prefix] s)
527 and make answers in minibuffer like this.
529 (C-v for view) \???{} (default vspace*): addtolength
530 \addtolength{???}: \topmargin
531 Argument 2: 8mm
533 `\addtolength' and the first argument `\topmargin' can be typed easily by
534 completing read. Since YaTeX also learns the number of arguments of
535 section-type command and will ask that many arguments in future
536 completion, you had better tell the number of arguments to YaTeX at the
537 first completion of the new word. But you can change the number of
538 arguments by calling the completion with different universal argument
539 again.
542 Invoking section-type completion with `[Prefix] S' (Capital `S')
543 includes the region as the first argument of section-type command.
545 The section/large/maketitle type completion can work at the prompt for
546 the argument of other section-type completion. Nested LaTeX commands are
547 efficiently read with the recursive completion by typing YaTeX's
548 completion key sequence in the minibuffer.
550 * Menu:
552 * view-sectioning::
554 
555 File: yatexe, Node: view-sectioning, Prev: Section-type completion, Up: Section-type completion
557 view-sectioning
558 ---------------
560 In the minibuffer at the prompt of section-type command completion,
561 typing `C-v' shows a list of sectioning commands in source text(The line
562 with `<<--' mark is the nearest sectioning command). Then, default
563 sectioning command appears in the minibuffer. You can go up/down
564 sectioning command by typing `C-p'/`C-n', can scrolls up/down the listing
565 buffer by `C-v'/`M-v', and can hide sectioning commands under certain
566 level by 0 through 6. Type `?' in the minibuffer of sectioning prompt
567 for more information.
569 You can generate this listing buffer (`*Sectioning Lines*' buffer) by
570 typing
571 `M-x YaTeX-section-overview'
572 ... Generate *Sectioning Lines* buffer
574 from the LaTeX source buffer. In this listing buffer, typing `u' on the
575 sectioning command shifts up the corresponding sectioning command in
576 source text and `d' shifts down. After marking lines in the listing
577 buffer, typing `U' shifts up all sectioning commands in the region, and
578 `U' shifts down. Here are all the key bindings of `*Sectioning Lines*'
579 buffer.
581 `SPC'
582 ... Jump to corresponding source line
583 `.'
584 ... Display corresponding source line
585 `u'
586 ... Shift up a sectioning line
587 `d'
588 ... Shift down a sectioning line
589 `U'
590 ... Shift up sectioning lines in region
591 `D'
592 ... Shift down sectioning lines in region
593 `0...6'
594 ... Hide sectioning commands whose level is lower than n
597 
598 File: yatexe, Node: Large-type completion, Next: Maketitle-type completion, Prev: Section-type completion, Up: Completion
600 Large-type completion
601 =====================
603 "Large-type completion" inputs the font or size changing descriptions
604 such as `{\large }'. When you type
606 `[prefix] l'
607 ... large-type completion
609 the message in the minibuffer
611 {\??? } (default large):
613 prompts prompts you large-type command with completing-read. There are
614 TeX commands to change fonts or sizes, `it', `huge' and so on, in the
615 completion table.
617 Region-based completion is also invoked by changing the letter after
618 prefix key stroke as `[prefix] L'. It encloses the region by braces with
619 large-type command.
621 
622 File: yatexe, Node: Maketitle-type completion, Next: Arbitrary completion, Prev: Large-type completion, Up: Completion
624 Maketitle-type completion
625 =========================
627 We call it "maketitle-type completion" which completes commands such as
628 `\maketitle'. Take notice that maketitle-type commands take no arguments.
629 Then, typing
631 `[prefix] m'
632 ... maketitle-type completion
634 begins maketitle-completion. Above mentioned method is true for
635 maketitle-completion, and there are LaTeX commands with no arguments in
636 completion table.
638 
639 File: yatexe, Node: Arbitrary completion, Next: End completion, Prev: Maketitle-type completion, Up: Completion
641 Arbitrary completion
642 ====================
644 You can complete certain LaTeX command anywhere without typical
645 completing method as described, by typing
647 `[prefix] SPC'
648 ... arbitrary completion
650 after the initial string of LaTeX command that is preceded by `\'.
652 
653 File: yatexe, Node: End completion, Next: Accent completion, Prev: Arbitrary completion, Up: Completion
655 End completion
656 ==============
658 YaTeX automatically detects the opened environment and close it with
659 \`\end{environment}'. Though proficient YaTeX users never fail to make
660 environment with begin-type completion, some may begin an environment
661 manually. In that case, type
663 `[prefix] e'
664 ... `end' completion
666 at the end of the opened environment.
668 
669 File: yatexe, Node: Accent completion, Next: Image completion, Prev: End completion, Up: Completion
671 Accent completion
672 =================
674 When you want to write the European accent marks(like `\`{o}'),
676 `[prefix] a'
677 ... accent completion
679 shows the menu
681 1:` 2:' 3:^ 4:" 5:~ 6:= 7:. u v H t c d b
683 in the minibuffer. Chose one character or corresponding numeric, and you
684 will see
686 \`{}
688 in the editing buffer with the cursor positioned in braces. Type one more
689 character `o' for example, then
691 \`{o}
693 will be completed, and the cursor gets out from braces.
695 
696 File: yatexe, Node: Image completion, Next: Greek letters completion, Prev: Accent completion, Up: Completion
698 Image completion of mathematical sign
699 =====================================
701 Arrow marks, sigma mark and those signs mainly used in the TeX's math
702 environment are completed by key sequences which imitate the corresponding
703 symbols graphically. This completion only works in the math environment.
704 YaTeX automatically detects whether the cursor located in math environment
705 or not, and change the behavior of key strokes `;' and `:'.
707 By the way, we often express the leftarrow mark by `<-' for example.
708 Considering such image, you can write `\leftarrow' by typing `<-' after
709 `;' (semicolon) as a prefix. In the same way, `\longleftarrow' (`<--') is
710 completed by typing `;<--', infinity mark which is imitated by `oo' is
711 completed by typing `;oo'.
713 Here are the sample operations in YaTeX math-mode.
715 INPUT Completed LaTeX commands
716 ; < - `\leftarrow'
717 ; < - - `\longleftarrow'
718 ; < - - > `\longleftrightarrow'
719 ; o `\circ'
720 ; o o `\infty'
722 In any case, you can quit from image completion and can move to the next
723 editing operation if the LaTeX command you want is shown in the buffer.
725 `;' itself in math-environment is inserted by `;;'. Typing `TAB' in the
726 midst of image completion shows all of the LaTeX commands that start with
727 the same name as string you previously typed in. In this menu buffer,
728 press `RET' after moving the cursor (by `n', `p', `b', `f') to insert the
729 LaTeX command.
731 To know all of the completion table, type `TAB' just after `;'. And
732 here is the sample menu by `TAB' after `;<'.
734 KEY LaTeX sequence sign
735 < \leq <
736 ~
737 << \ll <<
738 <- \leftarrow <-
739 <= \Leftarrow <=
741 You can define your favorite key-vs-sequence completion table in the
742 Emacs-Lisp variable `YaTeX-math-sign-alist-private'. See also
743 `yatexmth.el' for the information of the structure of this variable.
745 
746 File: yatexe, Node: Greek letters completion, Prev: Image completion, Up: Completion
748 Greek letters completion
749 ========================
751 Math-mode of YaTeX provides another image completion, Greek letters
752 completion in the same method. After prefix `:', typing `a' makes
753 `\alpha', `b' makes `\beta' and `g' makes `\gamma' and so on. First, type
754 `:TAB' to know all the correspondence of alphabets vs. Greek letters.
756 If you will find `;' or `:' doesn't work in correct position of math
757 environment, it may be a bug of YaTeX. Please send me a bug report with
758 the configuration of your text, and avoid it temporarily by typing `;' or
759 `:' after universal-argument(`C-u') which forces `;' and `:' to work as
760 math-prefix.
762 
763 File: yatexe, Node: Local dictionaries, Next: Commenting out, Prev: Completion, Up: Top
765 Local dictionaries
766 ******************
768 Tables for completion consist of three dictionaries; `standard
769 dictionary' built in `yatex.el', `user dictionary' for your common private
770 commands, and `local dictionary' that is effective in a certain directory.
772 When you input the command unknown to YaTeX at a completion in the
773 minibuffer, YaTeX asks you with the following prompt;
775 `foo' is not in table. Register into: U)serDic L)ocalDic N)one D)iscard
777 In this menu, typing `u' updates your `user dictionary', `l' updates your
778 local dictionary, `n' updates only on-memory dictionary which go through
779 only current Emacs session, and `d' updates no dictionary and throws the
780 new word away.
782 If you find this switching feature meaningless and bothersome, put the
783 next expression into your `~/.emacs'
785 (setq YaTeX-nervous nil)
787 
788 File: yatexe, Node: Commenting out, Next: Cursor jump, Prev: Local dictionaries, Up: Top
790 Commenting out
791 **************
793 You may want to comment out some region.
795 `[prefix] >'
796 ... comment out region by %
797 `[prefix] <'
798 ... uncomment region
800 cause an operation to the region between point and mark.
802 `[prefix] .'
803 ... comment out current paragraph
804 `[prefix] ,'
805 ... uncomment current paragraph
807 comments or uncomments the paragraph where the cursor belongs. This
808 `paragraph' means the region marked by the function mark-paragraph, bound
809 to `ESC h' by default. It is NOT predictable what will happen when you
810 continuously comment out some paragraph many times.
812 You can also comment out an environment between `\begin' and `\end', or
813 a `\begin'-\`\end' pair themselves, by making the following key strokes on
814 the line where `\begin{}' or `\end{}' exists.
816 `[prefix] >'
817 ... comment out from \begin to \`end'
818 `[prefix] <'
819 ... uncomment from \begin to \`end'
821 comment whole the contents of environment. Moreover,
823 `[prefix] .'
824 ... comment out \begin and \`end'
825 `[prefix] ,'
826 ... uncomment \begin and \`end'
828 (un)comments out only environment declaration: `\begin{}' and `\end{}'.
829 NOTE that even if you intend to comment out some region, invoking
830 `[prefix] >' on the `\begin',`\end' line decides to work in `commenting
831 out from `\begin' to `\end'' mode.
834 
835 File: yatexe, Node: Cursor jump, Next: Changing and Deleting, Prev: Commenting out, Up: Top
837 Cursor jump
838 ***********
841 * Menu:
843 * Jump to corresponding object::
844 * Invoking image processor::
845 * Jump to main file::
846 * Jumping around the environment::
847 * Jumping to last completion position::
849 
850 File: yatexe, Node: Jump to corresponding object, Next: Invoking image processor, Prev: Cursor jump, Up: Cursor jump
852 Jump to corresponding object
853 ============================
855 Typing
857 `[prefix] g'
858 ... go to corresponding object
860 in a certain place move the cursor to the place corresponding to the LaTeX
861 command of last place. YaTeX recognize the followings as pairs that have
862 relation each other.
864 * `\begin{}' <-> `\end{}'
865 * `%#BEGIN' <-> `%#END'
866 * On the image-including line -> corresponding viewer or drawing tool
867 * `\label{}' <-> `\ref{}'
868 * `\include(\input)' -> included file
869 * `\bibitem{}' <-> `\cite{}'
871 On a `\begin',`\end' line, typing `[prefix] g' moves the cursor to the
872 corresponding `\end',`\begin' line, if its partner really exists. The
873 behavior on the line `%#BEGIN' and `%#END' are the same. Note that if the
874 correspondent of `label/ref' or `cite/bibitem' exists in another file,
875 that file have to be opened to make a round trip between references by
876 `[prefix] g'.
878 If you type `[prefix] g' on the line of `\include{chap1}', typically in
879 the main text, YaTeX switches buffer to `chap1.tex'.
881 `[prefix] 4 g'
882 ... go to corresponding object in other window
884 do the same job as `[prefix] g' except it's done in other window. Note
885 that this function doesn't work on `begin/end', `%#BEGIN/%#END' pairs
886 because it is meaningless.
888 
889 File: yatexe, Node: Invoking image processor, Next: Jump to main file, Prev: Jump to corresponding object, Up: Cursor jump
891 Invoking image processor
892 ========================
895 `image-including line' described above means such lines as
896 `\epsfile{file=foo.ps}'. If you type `[prefix] g' on that line, YaTeX
897 automatically searches source of `foo.ps' and invokes image viewer or
898 drawing tool correspoinding to it. For example; if you draw an image
899 foo.obj with Tgif and enclose its product named foo.eps by `\epsfile'
900 command. Typing `[prefix] g' on `\epsfile' line make YaTeX invoke `tgif
901 foo.obj'. How a processor is choosen is as follows.
903 1. If there is an expression matching with one of the pattern defined in
904 `YaTeX-processed-file-regexp-alist', extract file name from regexp
905 group surrounded by \\(\\). (Which group corresponds is written in
906 the cdr part of each list.) If no matches were found, do nothing.
907 2. If there is a pattern as `%PROCESSOR' which is defined in the
908 variable `YaTeX-file-processor-alist', call that processor giving the
909 file name with corresponding extension.
910 3. If not, check the existence of each file which is supplied the
911 extension in the cdr part of each list of
912 `YaTeX-file-processor-alist'. If any, call the corresponding image
913 viewer or drawing tool.
915 
916 File: yatexe, Node: Jump to main file, Next: Jumping around the environment, Prev: Invoking image processor, Up: Cursor jump
918 Jump to main file
919 =================
921 Typing
923 `[prefix] ^'
924 ... visit main file
925 `[prefix] 4^'
926 ... visit main file in other buffer
928 in a sub text switch the buffer to the main text specified by `%#!'
929 notation.
931 
932 File: yatexe, Node: Jumping around the environment, Next: Jumping to last completion position, Prev: Jump to main file, Up: Cursor jump
934 Jumping around the environment
935 ==============================
937 And these are the functions which work on the current LaTeX environment:
939 `M-C-a'
940 ... beginning of environment
941 `M-C-e'
942 ... `end' of environment
943 `M-C-@'
944 ... mark environment
946 
947 File: yatexe, Node: Jumping to last completion position, Prev: Jumping around the environment, Up: Cursor jump
949 Jumping to last completion position
950 ===================================
952 YaTeX always memorize the position of completion into register `3'. So
953 every time you make a trip to any other part of text other than you are
954 writing, you can return to the editing paragraph by calling
955 register-to-point with argument YaTeX-current-position-register, which is
956 achieved by typing `C-x j 3'(by default).
958 
959 File: yatexe, Node: Changing and Deleting, Next: Filling, Prev: Cursor jump, Up: Top
961 Changing and Deleting
962 *********************
964 These functions are for change or deletion of LaTeX commands already
965 entered.
967 `[prefix] c'
968 ... change LaTeX command
969 `[prefix] k'
970 ... kill LaTeX command
972 * Menu:
974 * Changing LaTeX commands::
975 * Killing LaTeX commands::
977 
978 File: yatexe, Node: Changing LaTeX commands, Next: Killing LaTeX commands, Prev: Changing and Deleting, Up: Changing and Deleting
980 Changing LaTeX commands
981 =======================
983 `[prefix] c' can change the various (La)TeX commands. This can change the
984 followings.
985 * Environment names
986 * Section-type commands
987 * Argument of section-type commands
988 * Optional parameters (enclosed by []) of section-type commands
989 * Font/size designators
990 * Math-mode's maketitle-type commands that can be inputted with image
991 completion
993 Typing `[prefix] c' on one of above objects you want to change brings a
994 suitable reading function sometimes with completion. Note: If you want to
995 change the argument of section-type command that contains other LaTeX
996 commands, type `[prefix] c' either of surrounding braces of the argument
997 in order to make YaTeX ignore the internal LaTeX sequences as an object of
998 changing. Anyway, it is very difficult to know which argument position
999 the cursor belongs because the LaTeX commands can be nested and braces can
1000 freely emerge. So keep it mind to put the cursor on a brace when you are
1001 thinking of changing a complicated argument.
1004 File: yatexe, Node: Killing LaTeX commands, Prev: Changing LaTeX commands, Up: Changing and Deleting
1006 Killing LaTeX commands
1007 ======================
1009 `[prefix] k' kills the LaTeX commands sometimes with their arguments.
1010 Following table illustrates the correspondence of the invoking position
1011 and what is killed.
1013 [Invoking position] [action]
1014 \begin, \end line kill \begin,\end pairs
1015 %#BEGIN, %#END line kill %#BEGIN,%#END pairs
1016 on a Section-type command kill section-type command
1017 on a parenthesis kill parentheses
1019 Note that when killing `\begin, \end' or `%#BEGIN, %#END' pair, the lines
1020 `\begin, \end' or `%#BEGIN, %#END' exist will be killed entirely. So take
1021 care not to create any line that contains more than one `\begin' or so.
1023 While all operations above are to kill `containers' which surround some
1024 text, universal argument (`C-u') for these commands kills not only
1025 `containers' but also `contents' of them. See below as a sample.
1027 Original text: [prefix] k C-u [prefix] k
1028 Main \footnote{note} here. Main note here. Main here.
1029 ~(cursor)
1032 File: yatexe, Node: Filling, Next: Updation of includeonly, Prev: Changing and Deleting, Up: Top
1034 Filling
1035 *******
1038 Filling an item
1039 ===============
1041 To fill a term (descriptive sentences) of `\item', type
1043 `M-q'
1044 ... fill item
1046 on that item.
1048 YaTeX uses the value of the variable `YaTeX-item-regexp' as the regular
1049 expression to search item header in itemize environment. If you make a
1050 newcommand to itemize terms(e.g. `\underlineitem'), put
1052 (setq YaTeX-item-regexp
1053 "\\(\\\\\\(sub\\)*item\\)\\|\\(\\\\underlineitem\\)")
1055 in your `~/.emacs'. If you are not familiar with regular expression for
1056 Emacs-Lisp, name a newcommand for `itemize' beginning with `\item' such as
1057 `\itembf', not `\bfitem'.
1059 This function reformats the `\item' into `hang-indented' style. For
1060 example:
1062 itemize, enumerate environment:
1064 >\item[foo] `foo' is the typical word for describing an
1065 > arbitrarily written....
1066 description environment:
1067 > \item[bar] When the word `for' is used as an arbitrarily
1068 > word, `bar' is bound to follow it.
1070 Note that the indent depth of an `\item' word and its descriptive
1071 paragraph are the same in latter case. If you want to use different
1072 depth, invoke fill-paragraph at the beginning of non-whitespace
1073 character(see below).
1076 Filling paragraph
1077 =================
1079 Fill-paragraph is little bit adapted for LaTeX sources. It retains from
1080 filling in certain environments where formatting leads to a disaster such
1081 as verbatim, tabular, or so. And it protects `\verb' expressions from
1082 being folded (The variable `YaTeX-verb-regexp' controls this). Besides,
1083 putting cursor on the first occurrence of non-whitespace character on a
1084 line changes the fill-prefix temporarily to the depth of the line.
1087 File: yatexe, Node: Updation of includeonly, Next: What column, Prev: Filling, Up: Top
1089 Updation of `\includeonly'
1090 **************************
1092 When you edit splitting source texts, the notation
1094 \includeonly{CurrentEditingFileName}
1096 in the main file reduces the time of typesetting. If you want to hack
1097 other file a little however, you have to rewrite it to
1099 \includeonly{OtherFileNameYouWantToFix}
1101 in the main file. YaTeX automatically detects that the current edited
1102 text is not in includeonly list and prompts you
1104 A)dd R)eplace %)comment?
1106 in the minibuffer. Type `a' if you want to add the current file name to
1107 `\includeonly' list, `r' to replace \`includeonly' list with the current
1108 file, and type `%' to comment out the `\includeonly' line.
1111 File: yatexe, Node: What column, Next: Intelligent newline, Prev: Updation of includeonly, Up: Top
1113 What column?
1114 ************
1116 We are often get tired of finding the corresponding column in large
1117 tabulars. For example,
1119 \begin{tabular}{|c|c|c|c|c|c|c|c|}\hline
1120 Name&Position&Post No.&Addr.&Phone No.&FAX No.&
1121 Home Addr.&Home Phone\\ \hline
1122 Thunder Bird & 6 & 223 & LA & xxx-yyy &
1123 zzz-www & Japan & 9876-54321 \\
1124 & 2 & \multicolumn{2}{c|}{Unknown}
1125 &&&(???)
1126 \\ \hline
1127 \end{tabular}
1129 Suppose you have the cursor located at `(???)' mark, can you tell which
1130 column it is belonging at once? Maybe no. In such case, type
1132 `[prefix] &'
1133 ... What column
1135 in that position. YaTeX tells you the column header of the current field.
1136 Since YaTeX assumes the first line of tabular environment as a row of
1137 column headers, you can create a row of virtual column headers by putting
1138 them in the first line and commenting that line with `%'.
1141 File: yatexe, Node: Intelligent newline, Next: Usepackage checker, Prev: What column, Up: Top
1143 Intelligent newline
1144 *******************
1146 At the end of begin-type completion of tabular[*], array, itemize,
1147 enumerate or tabbing environment, or typing
1149 `ESC RET'
1150 ... Intelligent newline
1152 in these environments inserts the contents corresponding to the current
1153 environment in the next line. (At the begin-type completion, this
1154 contents can be removed by `undo'.) In `tabular' environment, for
1155 example, `ESC RET' inserts the certain number of `&' and trailing `\\',
1156 and `\hline' if other `\hline' is found in backward. Here are the list of
1157 contents vs. environments.
1159 * `tabular', `tabular*', `array'
1161 Corresponding number of `&' and `\\'.
1162 And `\hline' if needed.
1164 * `tabbing'
1166 The same number of `\>' as `\=' in the first line.
1168 * `itemize', `enumerate', `description', `list'
1170 `\item' or `item[]'.
1172 Note that since this function works seeing the contents of the first
1173 line, please call this after the second line if possible.
1175 If you want to apply these trick to other environments, `foo'
1176 environment for example, define the function named
1177 `YaTeX-intelligent-newline-foo' to insert corresponding contents. That
1178 function will be called at the beginning of the next line after the
1179 newline is inserted to the current line. Since the function
1180 `YaTeX-indent-line' is designed to indent the current line properly,
1181 calling this function before your code to insert certain contents must be
1182 useful. See the definition of the function
1183 `YaTeX-intelligent-newline-itemize' as an example.
1186 File: yatexe, Node: Usepackage checker, Next: Online help, Prev: Intelligent newline, Up: Top
1188 Usepackage checker
1189 ******************
1191 When you input begint-type, section-type, maketitle-type macros with
1192 completion, and it requires some LaTeX2e package, YaTeX examines the
1193 existence of correct `\usepackage'. If not, YaTeX inserts the
1194 `\usepackage{}' declaration corresponding to input macro.
1196 To activate the package completion for your favarite package, set the
1197 variable `YaTeX-package-alist-private' correctly. Please refere the value
1198 of `YaTeX-package-alist-default' as an example.
1201 File: yatexe, Node: Online help, Next: Browsing file hierarchy, Prev: Usepackage checker, Up: Top
1203 Online help
1204 ***********
1206 YaTeX provides you the online help with popular LaTeX commands.
1208 Here are the key strokes for the online help.
1210 `[prefix] ?'
1211 ... Online help
1212 `[prefix] /'
1213 ... Online apropos
1216 Online help
1217 ===========
1219 `Online help' shows the documentation for the popular LaTeX
1220 commands(defaults to the commands on the cursor) in the next buffer.
1221 There are two help file, `global help' and `private help'. The former
1222 file contains the descriptions on the standard LaTeX command and is
1223 specified its name by variable `YaTeX-help-file'. Usually, the global
1224 help file should be located in public space (`$EMACSEXECPATH' by default)
1225 and should be world writable so that anyone can update it to enrich its
1226 contents. The latter file contains descriptions on non-standard or
1227 personal command definitions and is specified by
1228 `YaTeX-help-file-private'. This file should be put into private
1229 directory.
1232 Online apropos
1233 ==============
1235 `Online apropos' is an equivalent of GNU Emacs's apropos. It shows all
1236 the documentations that contains the keyword entered by the user.
1239 When no descriptions are found...
1240 =================================
1242 If there is no description on a command in help files, YaTeX requires
1243 you to write a description on that command. If you are willing to do,
1244 determine which help file to add and write the description on it referring
1245 your manual of (La)TeX. Please send me your additional descriptions if
1246 you describe the help on some standard commands. I might want to include
1247 it in the next distribution.
1250 File: yatexe, Node: Browsing file hierarchy, Next: Cooperation with other packages, Prev: Online help, Up: Top
1252 Browsing file hierarchy
1253 ***********************
1255 When you are editing multi-file source, typing
1257 `[prefix] d'
1258 ... browse file hierarchy
1260 asks you the parent-most file (which may be defaulted) and displays the
1261 documentation hierarchy in the next window. In this buffer, the following
1262 commands are available.
1264 `n'
1265 ... move to the next line and show its contents
1266 `p'
1267 ... move to the previous line and show its contents
1268 `N'
1269 ... move to the next file in the same inclusion level
1270 `P'
1271 ... move to the previous file in the same inclusion level
1272 `j'
1273 ... move to the next line
1274 `k'
1275 ... move to the previous line
1276 `u'
1277 ... move to the parent file
1278 `.'
1279 ... show the current files contents in the next window
1280 `SPC'
1281 ... scroll up the current file window
1282 `DEL, b'
1283 ... scroll down the current file window
1284 `<'
1285 ... show the beginning of the current file
1286 `>'
1287 ... show the end of the current file
1288 `>'
1289 ... return to the previous postion after `<' or `>'
1290 `RET, g'
1291 ... open the current file in the next window
1292 `mouse-2'
1293 ... same as RET(available only with window system)
1294 `o'
1295 ... other window
1296 `1'
1297 ... delete other windows
1298 `-'
1299 ... shrink hierarchy buffer window
1300 `+'
1301 ... enlarge hierarchy buffer window
1302 `?'
1303 ... describe mode
1304 `q'
1305 ... quit
1307 Note that operations on the file contents in the next window do not work
1308 correctly when you close the corresponding file.
1311 File: yatexe, Node: Cooperation with other packages, Next: Customizations, Prev: Browsing file hierarchy, Up: Top
1313 Cooperation with other packages
1314 *******************************
1316 YaTeX works better with other brilliant packages.
1319 gmhist
1320 ======
1322 When you are loading `gmhist.el' and `gmhist-mh.el', you can use
1323 independent command history list at the prompt of preview command
1324 (`[prefix] tp') and print command (`[prefix] tl'). On each prompt, you
1325 can enter the previous command line string repeatedly by typing `M-p'.
1328 min-out
1329 =======
1331 `min-out', the outline minor mode, can be used in yatex-mode buffers.
1332 If you want to use it with YaTeX, please refer the file `yatexm-o.el' as
1333 an example.
1336 File: yatexe, Node: Customizations, Next: Etcetera, Prev: Cooperation with other packages, Up: Top
1338 Customizations
1339 **************
1341 You can customize YaTeX by setting Emacs-Lisp variables and by making
1342 add-in functions.
1344 * Menu:
1346 * Lisp variables::
1347 * Add-in functions::
1348 * Add-in generator::
1351 File: yatexe, Node: Lisp variables, Next: Add-in functions, Prev: Customizations, Up: Customizations
1353 Lisp variables
1354 ==============
1356 You can change the key assignments or make completion more comfortable
1357 by setting the values of various variables which control the movement of
1358 yatex-mode.
1360 For example, if you want to change the prefix key stroke from `C-c' to
1361 any other sequence, set YaTeX-prefix to whatever you want to use. If you
1362 don't want to use the key sequence `C-c letter' which is assumed to be the
1363 user reserved sequence in Emacs world, set `YaTeX-inhibit-prefix-letter'
1364 to `t', and all of the default key bind of `C-c letter' will turn to the
1365 corresponding `C-c C-letter' (but the region based completions that is
1366 invoked with `C-c Capital-letter' remain valid, if you want to disable
1367 those bindings, set that variable to 1 instead of `t').
1369 * Menu:
1371 * All customizable variables::
1372 * Sample definitions::
1373 * Hook variables::
1374 * Hook file::
1377 File: yatexe, Node: All customizable variables, Next: Sample definitions, Prev: Lisp variables, Up: Lisp variables
1379 All customizable variables
1380 --------------------------
1382 Here are the customizable variables of yatex-mode. Each value setq-ed
1383 in `~/.emacs' is preferred and that of defined in `yatex.el' is neglected.
1384 Parenthesized contents stands for the default value. When you are to
1385 change some of these variables, see more detailed documentation of the
1386 variable by `M-x describe-variable'.
1388 -- Variable: YaTeX-japan
1389 Set this nil to produce all messages in English (`Depends on Japanese
1390 feature of Emacs')
1392 -- Variable: YaTeX-kanji-code
1393 Default buffer-file-coding-system for YaTeX modes' buffer. Set this
1394 0 to no language conversion. Nil to preserve original coding-system.
1395 1=Shift JIS, 2=JIS, 3=EUC, 4=UTF-8 (`1 or 2')
1397 -- Variable: YaTeX-prefix
1398 Prefix key stroke (`C-c')
1400 -- Variable: YaTeX-inhibit-prefix-letter
1401 Change key stroke from `C-c letter' to `C-c C-letter' (`nil')
1403 -- Variable: YaTeX-fill-prefix
1404 Fill-prefix used in yatex-mode (`nil')
1406 -- Variable: YaTeX-user-completion-table
1407 Name of user dictionary where learned completion table will be
1408 stored. (`"~/.yatexrc"')
1410 -- Variable: tex-command
1411 LaTeX typesetter command (`"latex"')
1413 -- Variable: dvi2-command
1414 Preview command (`"xdvi -geo +0+0 -s 4"')
1416 -- Variable: dviprint-command-format
1417 Command format to print dvi file (`"dvi2ps %f %t %s | lpr"')
1419 -- Variable: dviprint-from-format
1420 Start page format of above %f. %b will turn to start page (`"-f %b"')
1422 -- Variable: dviprint-to-format
1423 End page format of above %t. %e will turn to `end' page (`"-t %e"')
1425 -- Variable: makeindex-command
1426 Default makeindex command (`"makeindex"' (`"makeind"' on MS-DOS))
1428 -- Variable: YaTeX-dvipdf-command
1429 Default command name to convert .dvi to PDF (`"dvipdfmx"')
1431 -- Variable: YaTeX-need-nonstop
1432 Put `\nonstopmode{}' or not (`nil')
1434 -- Variable: latex-warning-regexp
1435 Regular expression of warning message latex command puts out
1436 (`"line.* [0-9]*"')
1438 -- Variable: latex-error-regexp
1439 Regular expression of error message (`"l\\.[1-9][0-9]*"')
1441 -- Variable: latex-dos-emergency-message
1442 Message latex command running on DOS puts at abort (`"Emergency
1443 stop"')
1445 -- Variable: YaTeX-item-regexp
1446 Regular expression of item command (`"\\\\item"')
1448 -- Variable: YaTeX-verb-regexp
1449 Regexp of verb family. Omit \\\\. (`"verb\\*?\\|path"')
1451 -- Variable: YaTeX-nervous
1452 T for using local dictionary (`t')
1454 -- Variable: YaTeX-sectioning-regexp
1455 Regexp of LaTeX sectioning command
1456 (`"\\(part\\|chapter\\*?\\|\\(sub\\)*\\(section\\|paragraph\\)\\*?\\)\\b"')
1458 -- Variable: YaTeX-fill-inhibit-environments
1459 Inhibit fill in these environments (`'("tabular" "tabular*" "array"
1460 "picture" "eqnarray" "eqnarray*" "equation" "math" "displaymath"
1461 "verbatim" "verbatim*")')
1463 -- Variable: YaTeX-uncomment-once
1464 T for deleting all preceding `%' (`nil')
1466 -- Variable: YaTeX-close-paren-always
1467 T for always close all parenthesis automatically, `nil' for only eol
1468 (`t')
1470 -- Variable: YaTeX-auto-math-mode
1471 Switch math-mode automatically (`t')
1473 -- Variable: YaTeX-math-key-list-private
1474 User defined alist, math-mode-prefix vs completion alist used in
1475 image completion (`nil'). See `yatexmth.el' for the information
1476 about how to define a completion alist.
1478 -- Variable: YaTeX-default-pop-window-height
1479 Initial height of typesetting buffer when one-window. Number for the
1480 lines of the buffer, numerical string for the percentage of the
1481 screen-height. `nil' for half height (10)
1483 -- Variable: YaTeX-help-file
1484 Global online help file name
1485 (`$doc-directory/../../site-lisp/YATEXHLP.eng')
1487 -- Variable: YaTeX-help-file-private
1488 Private online help file name (`"~/YATEXHLP.eng"')
1490 -- Variable: YaTeX-no-begend-shortcut
1491 Disable [prefix] b ?? shortcut (`nil)'
1493 -- Variable: YaTeX-hilit-pattern-adjustment-private
1494 List of the list that contain the regular expression and the symbol
1495 of logical meaning of the string that matches the pattern. See also
1496 the value from `(assq 'yatex-mode hilit-patterns-alist)' and the
1497 value of `YaTeX-hilit-pattern-adjustment-default' (and even the
1498 document of hilit19.el).
1500 -- Variable: YaTeX-sectioning-level
1501 Alist of LaTeX's sectioning command vs its height.
1503 -- Variable: YaTeX-hierarchy-ignore-heading-regexp
1504 `YaTeX-display-hierarchy' searches for sectioning command first, and
1505 comment line secondary as a file headings. In latter case, ignore lines
1506 that match with regular expression of this variable. Default value of
1507 this variable is RCS header expressions and mode specifying line `-*- xxxx
1508 -*'.
1510 -- Variable: YaTeX-skip-default-reader
1511 Non-nil for this variable skips the default argument reader of
1512 section-type command when add-in function for it is not defined
1513 (`nil')
1515 -- Variable: YaTeX-create-file-prefix-g
1516 When typing `prefix g' on the `\include' line, open the target file
1517 even if the file doesn't exist (`nil')
1519 -- Variable: YaTeX-simple-messages
1520 Simplyfy messages of various completions (`nil')
1522 -- Variable: YaTeX-hilit-sectioning-face
1523 When hilit19 and yatex19 is active, YaTeX colors the sectioning
1524 commands. This variable specifies the foreground and background
1525 color of `\part' macro. The default value is `'(yellow/dodgerblue
1526 yellow/slateblue)'. The first element of this list is for the screen
1527 when `hilit-background-mode' is `'light', and the second element is
1528 for `'dark'. You should specify both color as `forecolor/backcolor'.
1530 -- Variable: YaTeX-hilit-sectioning-attenuation-rate
1531 When color mode, this variable specifies how much attenuate the color
1532 density of `\subparagraph' compared with that of `\chapter' (`'(15
1533 40)') See also `YaTeX-hilit-sectioning-face'.
1535 -- Variable: YaTeX-use-AMS-LaTeX
1536 If you use AMS-LaTeX, set to `t' (`nil')
1538 -- Variable: YaTeX-use-LaTeX2e
1539 If you use LaTeX2e, set to `t' (`t')
1541 -- Variable: YaTeX-template-file
1542 File name which is automatically inserted at creation
1543 (`~/work/template.tex')
1545 -- Variable: YaTeX-search-file-from-top-directory
1546 Non-nil means to search input-files from the directory where main
1547 file exists (`t')
1549 -- Variable: YaTeX-use-font-lock
1550 Use font-lock to fontify buffer or not (`(featurep 'font-lock)'
1552 -- Variable: YaTeX-use-hilit19
1553 Use hilit19 to highlight buffer or not (`(featurep 'hilit19)'
1555 -- Variable: YaTeX-use-italic-bold
1556 YaTeX tries to search italic, bold fontsets or not (`t' if Emacs-20
1557 or later). This variable is effective only when font-lock is used.
1558 (`(featurep 'hilit19)'
1560 -- Variable: YaTeX-singlecmd-suffix
1561 Suffix which is always inserted after maketitle-type macros. `"{}"'
1562 is recommended.
1564 -- Variable: YaTeX-package-alist-private
1565 Alist of LaTeX2e-package name vs. lists of macros in it. Set this
1566 alist properly and YaTeX automatically check the declaratiion of
1567 `usepackage' for corresponding macro, when you input that macro with
1568 completion. If required `usepackage' is not found, YaTeX also
1569 automatically inserts `\usepackage'. Alist is as follows;
1570 '((PackageName1
1571 (completionType ListOfMacro)
1572 (completionType ListOfMacro))
1573 (PackageName2
1574 (completionType ListOfMacro)
1575 (completionType ListOfMacro...))....) completionType is
1576 one of `env, section, maketitle'. Consult the value of
1577 `YaTeX-package-alist-default' as an example.
1579 -- Variable: YaTeX-tabular-indentation
1580 At indentation by `C-i' in tabular or array environment, YaTeX put
1581 the additional spaces to the normail indentation depth. The number
1582 of additional spaces is the product of YaTeX-tabular-indentation and
1583 the number of column position in tabular.
1585 -- Variable: YaTeX-noindent-env-regexp
1586 Regexp of environment names that should begin with no indentation.
1587 All verbatime-like environment name should match with.
1589 -- Variable: YaTeX-ref-default-label-string
1590 Default \\ref time string format. This format is like strftime(3)
1591 but allowed conversion char are as follows; %y -> Last 2 digit of
1592 year, %b -> Month name, %m -> Monthe number(1-12), %d -> Day, %H ->
1593 Hour, %M -> Minute, %S -> Second, %qx -> alphabetical-decimal
1594 conversion of yymmdd. %qX -> alphabetical-decimal conversion of
1595 HHMMSS. Beware defualt label-string should be always unique. So
1596 this format string should have both time part (%H+%M+%S or %qX) and
1597 date part (%y+(%b|%m)+%d or %qx).
1599 -- Variable: YaTeX-ref-generate-label-function
1600 Function to generate default label string for unnamed \\label{}s.
1601 The function pointed to this value should take two arguments. First
1602 argument is LaTeX macro's name, second is macro's argument. Here is
1603 an example for using this value.
1604 (setq YaTeX-ref-generate-label-function 'my-yatex-generate-label)
1605 (defun my-yatex-generate-label (command value)
1606 (and (string= command "caption")
1607 (re-search-backward "\\\\begin{\\(figure\\|table\\)}" nil t)
1608 (setq command (match-string 1)))
1609 (let ((alist '(("chapter" . "chap")
1610 ("section" . "sec")
1611 ("subsection" . "subsec")
1612 ("figure" . "fig")
1613 ("table" . "tbl"))))
1614 (if (setq command (cdr (assoc command alist)))
1615 (concat command ":" value)
1616 (YaTeX::ref-generate-label nil nil))))
1620 File: yatexe, Node: Sample definitions, Next: Hook variables, Prev: All customizable variables, Up: Lisp variables
1622 Sample definitions
1623 ------------------
1625 For instance, to change the prefix key stroke to `ESC', and name of the
1626 user dictionary `~/src/emacs/yatexrc', and set `fill-prefix' to single TAB
1627 character, add the following `setq' to `~/.emacs'.
1629 (setq YaTeX-prefix "\e"
1630 YaTeX-user-completion-table "~/src/emacs/yatexrc"
1631 YaTeX-fill-prefix " ")
1634 File: yatexe, Node: Hook variables, Next: Hook file, Prev: Sample definitions, Up: Lisp variables
1636 Hook variables
1637 --------------
1639 More customizations will be done by the hook-function defined in
1640 hook-variable `yatex-mode-hook'. This is useful to define a shortcut key
1641 sequence to enter some environments other than `document' and `enumerate'
1642 etc. The following statement defines `[prefix] ba' to enter
1643 `\begin{abstract}' ... `=end{abstract}' immediately.
1645 (setq yatex-mode-hook
1646 '(lambda() (YaTeX-define-begend-key "ba" "abstract")))
1648 You should use functions `YaTeX-define-key', or
1649 `YaTeX-define-begend-key' to define all the key sequences of yatex-mode.
1652 File: yatexe, Node: Hook file, Prev: Hook variables, Up: Lisp variables
1654 Hook file
1655 ---------
1657 You can stuff all of YaTeX related expressions into a file named
1658 `yatexhks.el' if you have a lot of codes. YaTeX automatically load this
1659 file at the initialization of itself. Using `yatexhks.el' makes
1660 `yatex-mode-load-hook' unnecessary.
1663 File: yatexe, Node: Add-in functions, Next: Add-in generator, Prev: Lisp variables, Up: Customizations
1665 Add-in functions
1666 ================
1668 You can easily define a function to input detailed arguments with
1669 completion according to LaTeX environments or commands.
1672 What is add-in functions?
1673 -------------------------
1675 When you input `tabular' environment, don't you think "I want YaTeX to
1676 complete its argument toward my favorite one such as `{|c|c|c|}'..."?
1677 Yes, you can define the function to complete arguments for any environment
1678 and any LaTeX commands.
1681 Procedure
1682 ---------
1684 Here is the procedure to define add-in functions.
1685 1. Define the function
1686 2. Put the function into `yatexhks.el'
1688 * Menu:
1690 * How the add-in function works::
1691 * How the function is called::
1692 * Useful functions for creating add-in::
1693 * Contribution::
1696 File: yatexe, Node: How the add-in function works, Next: How the function is called, Prev: Add-in functions, Up: Add-in functions
1698 How the add-in function works
1699 -----------------------------
1701 There are three types of add-in.
1703 1. Option add-in
1704 2. argument add-in
1705 3. enclosing add-in
1707 "Option add-in" returns the LaTeX's optional parameters such as optional
1708 strings after `\begin{ENV}', optional strings between a section-type
1709 command and its first argument, and optional strings just after type
1710 maketitle-type command. The following illustrates the name of add-in
1711 functions, where underlined strings are generated by add-in functions.
1713 \begin{table}[ht] (Function name: YaTeX:table)
1714 ~~~~
1715 \put(100,200){} (Function name: YaTeX:put)
1716 ~~~~~~~~~
1717 \sum_{i=0}^{n} (Function name: YaTeX:sum)
1718 ~~~~~~~~~~
1720 Obviously, the function name is decided by concatenating the prefix
1721 `YaTeX:' and LaTeX command's name.
1723 Another add-in type is "argument add-in", which completes arguments for
1724 section-type commands.
1726 \newcommand{\foo}{bar} (Function name: YaTeX::newcommand)
1727 ~~~~ ~~~
1729 When the section-type command is inputted, the function named by
1730 concatenating `YaTeX::' and section-type command, is called automatically
1731 with an integer argument which indicates which argument of section-type
1732 command is being read. Thus the add-in should determine the job referring
1733 the value of its argument.
1735 "enclosing add-in" is for modifying and/or checking the region that will
1736 be enclosed by section-type commands via `[prefix] S'. An enclosing
1737 add-in function will be called with two arguments, beginning of the
1738 enclosed region and end of the region. Suppose you want to enclose the
1739 existing text `(a+b)/c' by `\frac{}'.
1741 a/c
1742 | |
1743 A B
1745 You do set-mark-command at point A and then move to point B. Typing
1746 `[prefix] S' and input `frac' enclose the region like this;
1748 \frac{a/c}
1750 Normally, the expression `a/c' is translated to `\frac{a}{c}'. An
1751 enclosing add-in is useful for modifying `/' to `}{'.
1753 * Menu:
1755 * Defining option-add-in::
1756 * Defining argument-add-in::
1757 * Defining enclosing-add-in::
1760 File: yatexe, Node: Defining option-add-in, Next: Defining argument-add-in, Prev: How the add-in function works, Up: How the add-in function works
1762 Defining `option add-in'
1763 ........................
1765 If you want `{|c|c|c|}' for all `tabular' environment,
1767 (defun YaTeX:tabular ()
1768 "{|c|c|c|}")
1770 is enough. If you want more complicated format, define as below.
1772 (defun YaTeX:tabular ()
1773 "{@{\\vrule width 1pt\\ }|||@{\\ \\vrule width 1pt}}")
1775 Note that the character `\' must be described as `\\' in Emacs-Lisp. The
1776 next example reads the tabular format from keyboard.
1777 (defun YaTeX:tabular ()
1778 (concat "{" (read-string "Rule: ") "}"))
1781 File: yatexe, Node: Defining argument-add-in, Next: Defining enclosing-add-in, Prev: Defining option-add-in, Up: How the add-in function works
1783 Defining `argument add-in'
1784 ..........................
1786 This section describes how to define the add-in function for
1787 `\newcommand'.
1789 The first argument of `\newcommand' begins always with `\'. The second
1790 argument is usually so complex that we can not edit them in the
1791 minibuffer. Here is the created function considering this.
1793 (defun YaTeX::newcommand (n) ;n is argument position
1794 (cond
1795 ((= n 1) ;1st argument is macro name
1796 (read-string "Command: " "\\")) ;initial input `\'
1797 ((= n 2) "") ;do nothing when reading arg#2
1798 (t nil)))
1800 Note that when the `argument add-in' function return `nil', normal
1801 argument reader will be called.
1804 File: yatexe, Node: Defining enclosing-add-in, Prev: Defining argument-add-in, Up: How the add-in function works
1806 Defining `enclosing add-in'
1807 ...........................
1809 This section describes how to define the add-in function for text
1810 enclosed by `\frac{}'.
1812 When enclosing the text `5/3' by `\frac{}', you might want to replace
1813 `/' with `}{'. Enclosing function `YaTeX::frac-region' is called with two
1814 arguments, beginning of enclosed text and end of enclosed text. The
1815 function is expected to replace `/' with `}{'. Here is an example
1816 expression.
1818 (defun YaTeX::frac-region (beg end)
1819 (catch 'done
1820 (while (search-forward "/" end t)
1821 (goto-char (match-beginning 0))
1822 (if (y-or-n-p "Replace this slash(/) with `}{'")
1823 (throw 'done (replace-match "}{")))
1824 (goto-char (match-end 0)))))
1827 File: yatexe, Node: How the function is called, Next: Useful functions for creating add-in, Prev: How the add-in function works, Up: Add-in functions
1829 How the function is called
1830 --------------------------
1832 YaTeX calls the add-in functions for specified begin-type, section-type,
1833 and maketitle-type command, if any. `Option add-in' functions for
1834 begin-type are called when `\begin{ENV}' has been inserted, functions for
1835 section-type are called just before input of the first argument, and
1836 functions for maketitle-type is called after maketitle-type command has
1837 been inserted. `Argument add-in' functions are called at each entry of
1838 arguments for section-type commands.
1841 File: yatexe, Node: Useful functions for creating add-in, Next: Contribution, Prev: How the function is called, Up: Add-in functions
1843 Useful functions for creating add-in
1844 ------------------------------------
1846 Many add-in functions for typical LaTeX commands are defined in
1847 `yatexadd.el'. Those are also useful as references. Here are the short
1848 descriptions on useful functions, where [F] means function, [A] means
1849 arguments, [D] means description.
1851 `[F]'
1852 YaTeX:read-position
1853 `[A]'
1854 Character list which can show up in the brackets
1855 `[D]'
1856 Return the location specifier such as `[htb]'. When nothing is
1857 entered, omit [] itself. If the possible characters are "htbp", call
1858 this function as `(YaTeX:read-position "htbp")'
1860 `[F]'
1861 YaTeX:read-coordinates
1862 `[A]'
1863 Base prompt, X-axis prompt, Y-axis prompt (each optional)
1864 `[D]'
1865 Read the coordinates with the prompt "BasePrompt X-axisPrompt:" for
1866 X-axis, "BasePrompt Y-axisPrompt:" for Y-axis, and return it in the
1867 form of "(X,Y)". The default prompts are `Dimension', `X', `Y'
1868 respectively.
1870 `[F]'
1871 YaTeX:check-completion-type
1872 `[A]'
1873 One of the symbols: 'begin, 'section, or 'maketitle
1874 `[D]'
1875 Check the current completion type is specified one and cause error
1876 if not. The variable `YaTeX-current-completion-type' holds the symbol
1877 according to the current completion type.
1880 File: yatexe, Node: Contribution, Prev: Useful functions for creating add-in, Up: Add-in functions
1882 Contribution
1883 ------------
1885 If you make your own pretty function and you let it be in public, please
1886 send me the function. I'm going to include it in the next release.
1889 File: yatexe, Node: Add-in generator, Prev: Add-in functions, Up: Customizations
1891 Add-in generator
1892 ================
1894 First, don't forget to read the section of add-in functions *Note Add-in
1895 functions::. If you easily understand how to define them, there's no need
1896 to read this section. But being not familiar with Emacs-Lisp, when you
1897 don't have clear idea what to do, this section describes how to get YaTeX
1898 make add-in function.
1900 There are two methods of generation. One is for fully interactive
1901 generator for beginners and another requires little knowledge of
1902 Emacs-Lisp.
1905 Generator for beginners
1906 -----------------------
1907 The former generator is called by
1908 `M-x YaTeX-generate'
1910 strokes. All you have to do is follow the guidances. Defying them may
1911 cases the disaster (I wonder what is it???). So when you make some
1912 mistake, it is recommendable to type `C-g' and start afresh.
1915 Simple generator
1916 ----------------
1918 The latter generator is invoked by the next sequence.
1919 `M-x YaTeX-generate-simple'
1920 This generator can make both "option add-in" and "argument add-in"
1921 (*refer the section add-in functions*
1922 *Note How the add-in function works::), whereas `YaTeX-generate'
1923 cannot make "argument addin".
1925 For example, assume you have the LaTeX command as follows.
1927 \epsinput[t](250,50){hoge.eps}{plain}{Picture of foo}
1928 (A) (B) (1) (2) (3)
1929 (A)Optional parameter to specify the position
1930 One of t(top), b(bottom), l(left), r(right)
1931 (B)Maximum size of frame
1932 (1)1st argument is filename of EPS file
1933 (2)2nd argument indicates
1934 plain do nothing
1935 frame make frame around image
1936 dframe make double-frame around image
1937 for included EPS file.
1938 (3)Caption for the picture
1940 Now get start with generation. Typing `M-x YaTeX-generate-simple'
1941 brings the prompt:
1942 (O)ption? (A)rgument?
1945 Generating "option add-in"
1946 ..........................
1948 Since (A), (B) above are optional argument, all we have to do to
1949 complete them is define the option add-in for them. Let's generate the
1950 function to complete (A).
1952 M-x YaTeX-generate-simple RET
1953 epsinput RET
1956 Typing as above leads the next prompt.
1958 Read type(1): (S)tring (C)omplete (F)ile ([)option (P)osition co(O)rd. (q)uit
1960 This asks that "Which type is the completion style of 1st argument?".
1961 Here are the possible completion style.
1963 `String'
1964 read plain string
1965 `Complete'
1966 read with completion
1967 `File'
1968 read file name
1969 `Option'
1970 read optional string (if string omitted, omit [] too)
1971 `Position'
1972 read positional option (like [htbp])
1973 `Coord.'
1974 read coordinates
1975 `Quit'
1976 quit from generating
1978 Since (A) is the optional argument to specify the location of included
1979 EPS file, the completion style is `Position', and the possible characters
1980 are t, b, l, and r. To tell these information to generator, operate as
1981 follows.
1983 Read type(1).... p
1984 Acceptable characters: tblr RET
1986 (B) is coordinate. So its completion style is coOrd. We want a prompt
1987 meaning "Maximum size" when completion.
1989 Read type(2).... o
1990 Prompt for coordinates: Max size RET
1992 That's all for optional argument. Select quit.
1994 Read type(3).... q
1996 Then the generated option add-in function for \epsinput will be shown in
1997 the next window.
2000 Generating "argument add-in"
2001 ............................
2003 Next, create the argument add-in. The arguments for \epsinput are EPS
2004 file name, framing style, and caption string in sequence.
2006 M-x YaTeX-generate-simple RET
2007 epsinput RET
2010 Above key strokes bring the prompt that asks the number of argument.
2011 Answer it with 3.
2013 How many arguments?: 3 RET
2015 Then the generator asks the completion style and prompt for completion.
2016 Answer them. `f' for FileName and prompt string.
2018 Read type(1).... f
2019 Prompt for argument#1 EPS file name RET
2021 The second argument is one of selected symbol. So the completion type
2022 is `Completion'.
2024 Read type(2).... c
2025 Prompt for argument#2 Include style RET
2027 Then all the candidates ready to be read. Type single RET after
2028 entering all.
2030 Item[1](RET to exit): plain RET
2031 Item[2](RET to exit): frame RET
2032 Item[3](RET to exit): dframe RET
2033 Item[4](RET to exit): RET
2035 The following prompt asks whether the entered string must belong to
2036 candidates or not. In this case, since the argument must be one of
2037 `plain', `frame', and `dframe', type `y'.
2039 Require match? (y or n) y
2041 The last argument is the caption string for which any completion is
2042 needed.
2044 Read type(3).... s
2045 Prompt for argument#3 Caption RET
2046 default: Figure of RET
2048 Finally we'll get the argument add-in in the next window.
2051 Contribution
2052 ------------
2054 If you get your own pretty function and you let it be in public, please
2055 steel yourself in the happy atmosphere and do not send me the function. I
2056 do know it is not fine because it is generated by yatexgen:-p.
2059 File: yatexe, Node: Etcetera, Next: Copying, Prev: Customizations, Up: Top
2061 Etcetera
2062 ********
2064 The standard completion tables provided in `yatex.el' contain a few
2065 LaTeX commands I frequently use. This is to lessen the key strokes to
2066 complete entire word, because too many candidates rarely used often cause
2067 too many hits. Therefore always try to use completion in order to enrich
2068 your dictionary, and you will also find `Wild Bird' growing suitable for
2069 your LaTeX style.
2071 The package name `Wild Bird' is the English translation of Japanese
2072 title `Yachou', which is a trick on words of Japanese.
2075 File: yatexe, Node: Copying, Prev: Etcetera, Up: Top
2077 Copying
2078 *******
2080 This program is distributed as a free software. You can
2081 use/copy/modify/redistribute this software freely but with NO warranty to
2082 anything as a result of using this software. Adopting code from this
2083 program is also free. But I would not do contract act.
2085 Any reports and suggestions are welcome as long as I feel interests in
2086 this software. My possible e-mail address is `yuuji@yatex.org'. (as of
2087 Jan.2004) And there is mailing list for YaTeX. Although the common
2088 language is Japanese, questions in English will be welcome. To join the
2089 ML, send the mail whose subject is `append' to the address
2090 `yatex@yatex.org. If you have some question, please ask to
2091 `yatex-admin@yatex.org'.
2093 The specification of this software will be surely modified (depending on
2094 my feelings) without notice :-p.
2097 HIROSE Yuuji
2099 Tag table:
2100 Node: Top153
2101 Node: What is YaTeX?1493
2102 Node: Main features1865
2103 Node: Installation3456
2104 Node: Typesetting4232
2105 Node: Calling typesetter5300
2106 Node: Calling previewer7504
2107 Node: Printing out7864
2108 Node: %#notation8155
2109 Node: Changing typesetter8530
2110 Node: Splitting input files8893
2111 Node: Static region for typesetting10320
2112 Node: Lpr format11448
2113 Node: Editing %# notation12504
2114 Node: Completion13022
2115 Node: Begin-type completion13581
2116 Node: Section-type completion16624
2117 Node: view-sectioning19058
2118 Node: Large-type completion20637
2119 Node: Maketitle-type completion21367
2120 Node: Arbitrary completion21918
2121 Node: End completion22307
2122 Node: Accent completion22776
2123 Node: Image completion23392
2124 Node: Greek letters completion25648
2125 Node: Local dictionaries26374
2126 Node: Commenting out27310
2127 Node: Cursor jump28768
2128 Node: Jump to corresponding object29079
2129 Node: Invoking image processor30479
2130 Node: Jump to main file31821
2131 Node: Jumping around the environment32185
2132 Node: Jumping to last completion position32602
2133 Node: Changing and Deleting33110
2134 Node: Changing LaTeX commands33501
2135 Node: Killing LaTeX commands34677
2136 Node: Filling35861
2137 Node: Updation of includeonly37711
2138 Node: What column38507
2139 Node: Intelligent newline39591
2140 Node: Usepackage checker41251
2141 Node: Online help41841
2142 Node: Browsing file hierarchy43515
2143 Node: Cooperation with other packages45251
2144 Node: Customizations45955
2145 Node: Lisp variables46288
2146 Node: All customizable variables47291
2147 Node: Sample definitions57174
2148 Node: Hook variables57686
2149 Node: Hook file58389
2150 Node: Add-in functions58727
2151 Node: How the add-in function works59586
2152 Node: Defining option-add-in61784
2153 Node: Defining argument-add-in62505
2154 Node: Defining enclosing-add-in63386
2155 Node: How the function is called64239
2156 Node: Useful functions for creating add-in64914
2157 Node: Contribution66318
2158 Node: Add-in generator66591
2159 Node: Etcetera71984
2160 Node: Copying72588
2162 End tag table