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