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