Mercurial > emacs
comparison man/reftex.texi @ 88155:d7ddb3e565de
sync with trunk
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 16 Jan 2006 00:03:54 +0000 |
parents | 23a1cea22d13 |
children |
comparison
equal
deleted
inserted
replaced
88154:8ce476d3ba36 | 88155:d7ddb3e565de |
---|---|
3 @setfilename ../info/reftex | 3 @setfilename ../info/reftex |
4 @settitle RefTeX User Manual | 4 @settitle RefTeX User Manual |
5 @synindex ky cp | 5 @synindex ky cp |
6 @syncodeindex vr cp | 6 @syncodeindex vr cp |
7 @syncodeindex fn cp | 7 @syncodeindex fn cp |
8 @set VERSION 4.19 | 8 |
9 @set EDITION 4.19 | 9 @c Version and Contact Info |
10 @set DATE August 2002 | 10 @set VERSION 4.30 |
11 @set EDITION 4.30 | |
12 @set DATE September 2005 | |
13 @set AUCTEXSITE @uref{http://www.nongnu.org/auctex/,AUCTeX distribution site} | |
14 @set MAINTAINERSITE @uref{http://www.astro.uva.nl/~dominik/Tools/,maintainers webpage} | |
15 @set MAINTAINER Carsten Dominik | |
16 @set MAINTAINEREMAIL @email{dominik@@science.uva.nl} | |
17 @set MAINTAINERCONTACT @uref{mailto:dominik@@science.uva.nl,contact the maintainer} | |
18 @set XEMACSFTP @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,XEmacs ftp site}. | |
11 @c %**end of header | 19 @c %**end of header |
12 | 20 |
13 @copying | 21 @copying |
14 This file documents @b{Ref@TeX{}}, a package to do labels, references, | 22 This file documents @b{Ref@TeX{}}, a package to do labels, references, |
15 citations and indices for LaTeX documents with Emacs. | 23 citations and indices for LaTeX documents with Emacs. |
16 | 24 |
17 This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for | 25 This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for |
18 @b{Ref@TeX{}} @value{VERSION}. | 26 @b{Ref@TeX{}} @value{VERSION} |
19 | 27 |
20 Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. | 28 Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. |
21 | 29 |
22 @quotation | 30 @quotation |
23 Permission is granted to copy, distribute and/or modify this document | 31 Permission is granted to copy, distribute and/or modify this document |
24 under the terms of the GNU Free Documentation License, Version 1.1 or | 32 under the terms of the GNU Free Documentation License, Version 1.2 or |
25 any later version published by the Free Software Foundation; with no | 33 any later version published by the Free Software Foundation; with no |
26 Invariant Sections, with the Front-Cover texts being ``A GNU | 34 Invariant Sections, with the Front-Cover texts being ``A GNU |
27 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the | 35 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
28 license is included in the section entitled ``GNU Free Documentation | 36 license is included in the section entitled ``GNU Free Documentation |
29 License'' in the Emacs manual. | 37 License'' in the Emacs manual. |
71 | 79 |
72 @ifnottex | 80 @ifnottex |
73 @node Top,,,(dir) | 81 @node Top,,,(dir) |
74 | 82 |
75 @b{Ref@TeX{}} is a package for managing Labels, References, | 83 @b{Ref@TeX{}} is a package for managing Labels, References, |
76 Citations and index entries with GNU Emacs.@refill | 84 Citations and index entries with GNU Emacs. |
77 | 85 |
78 Don't be discouraged by the size of this manual, which covers | 86 Don't be discouraged by the size of this manual, which covers |
79 @b{Ref@TeX{}} in great depth. All you need to know to use | 87 @b{Ref@TeX{}} in great depth. All you need to know to use |
80 @b{Ref@TeX{}} can be summarized on two pages (@pxref{RefTeX in a | 88 @b{Ref@TeX{}} can be summarized on two pages (@pxref{RefTeX in a |
81 Nutshell}). You can go back later to other parts of this document when | 89 Nutshell}). You can go back later to other parts of this document when |
82 needed.@refill | 90 needed. |
83 | 91 |
84 @menu | 92 @menu |
85 * Introduction:: Quick-Start information. | 93 * Introduction:: Quick-Start information. |
86 | 94 |
87 * Table of Contents:: A Tool to move around quickly. | 95 * Table of Contents:: A Tool to move around quickly. |
143 * Creating Citations:: How to create them. | 151 * Creating Citations:: How to create them. |
144 * Citation Styles:: Natbib, Harvard, Chicago and Co. | 152 * Citation Styles:: Natbib, Harvard, Chicago and Co. |
145 * Citation Info:: View the corresponding database entry. | 153 * Citation Info:: View the corresponding database entry. |
146 * Chapterbib and Bibunits:: Multiple bibliographies in a Document. | 154 * Chapterbib and Bibunits:: Multiple bibliographies in a Document. |
147 * Citations Outside LaTeX:: How to make citations in Emails etc. | 155 * Citations Outside LaTeX:: How to make citations in Emails etc. |
156 * BibTeX Database Subsets:: Extract parts of a big database. | |
148 | 157 |
149 Index Support | 158 Index Support |
150 | 159 |
151 * Creating Index Entries:: Macros and completion of entries. | 160 * Creating Index Entries:: Macros and completion of entries. |
152 * The Index Phrases File:: A special file for global indexing. | 161 * The Index Phrases File:: A special file for global indexing. |
194 itself round 4 LaTeX macros: @code{\label}, @code{\ref}, @code{\cite}, | 203 itself round 4 LaTeX macros: @code{\label}, @code{\ref}, @code{\cite}, |
195 and @code{\index}. Using these macros usually requires looking up | 204 and @code{\index}. Using these macros usually requires looking up |
196 different parts of the document and searching through BibTeX database | 205 different parts of the document and searching through BibTeX database |
197 files. @b{Ref@TeX{}} automates these time--consuming tasks almost | 206 files. @b{Ref@TeX{}} automates these time--consuming tasks almost |
198 entirely. It also provides functions to display the structure of a | 207 entirely. It also provides functions to display the structure of a |
199 document and to move around in this structure quickly.@refill | 208 document and to move around in this structure quickly. |
200 | 209 |
201 @iftex | 210 @iftex |
202 Don't be discouraged by the size of this manual, which covers @b{Ref@TeX{}} | 211 Don't be discouraged by the size of this manual, which covers @b{Ref@TeX{}} |
203 in great depth. All you need to know to use @b{Ref@TeX{}} can be | 212 in great depth. All you need to know to use @b{Ref@TeX{}} can be |
204 summarized on two pages (@pxref{RefTeX in a Nutshell}). You can go | 213 summarized on two pages (@pxref{RefTeX in a Nutshell}). You can go |
215 | 224 |
216 @node Installation, RefTeX in a Nutshell, , Introduction | 225 @node Installation, RefTeX in a Nutshell, , Introduction |
217 @section Installation | 226 @section Installation |
218 @cindex Installation | 227 @cindex Installation |
219 | 228 |
220 @b{Ref@TeX{}} is bundled and pre--installed with Emacs since version 20.2. | 229 @b{Ref@TeX{}} is bundled and pre--installed with Emacs since version |
221 It was also bundled and pre--installed with XEmacs 19.16--20.x. XEmacs | 230 20.2. It was also bundled and pre--installed with XEmacs 19.16--20.x. |
222 21.x users want to install the corresponding plug-in package which is | 231 XEmacs 21.x users want to install the corresponding plug-in package |
223 available from the | 232 which is available from the @value{XEMACSFTP}. See the XEmacs 21.x |
224 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,XEmacs ftp site}. See | 233 documentation on package installation for details. |
225 the XEmacs 21.x documentation on package installation for | |
226 details.@refill | |
227 | 234 |
228 Users of earlier Emacs distributions (including Emacs 19) can get a copy | 235 Users of earlier Emacs distributions (including Emacs 19) can get a copy |
229 of the @b{Ref@TeX{}} distribution from the maintainers web-page. | 236 of the @b{Ref@TeX{}} distribution from the maintainers web-page. |
230 @xref{Imprint}, for more information.@refill | 237 @xref{Imprint}, for more information. |
231 | 238 |
232 @section Environment | 239 @section Environment |
233 @cindex Finding files | 240 @cindex Finding files |
234 @cindex BibTeX database files, not found | 241 @cindex BibTeX database files, not found |
235 @cindex TeX files, not found | 242 @cindex TeX files, not found |
252 @findex reftex-mode | 259 @findex reftex-mode |
253 @vindex LaTeX-mode-hook | 260 @vindex LaTeX-mode-hook |
254 @vindex latex-mode-hook | 261 @vindex latex-mode-hook |
255 To turn @b{Ref@TeX{}} Mode on and off in a particular buffer, use | 262 To turn @b{Ref@TeX{}} Mode on and off in a particular buffer, use |
256 @kbd{M-x reftex-mode}. To turn on @b{Ref@TeX{}} Mode for all LaTeX | 263 @kbd{M-x reftex-mode}. To turn on @b{Ref@TeX{}} Mode for all LaTeX |
257 files, add the following lines to your @file{.emacs} file:@refill | 264 files, add the following lines to your @file{.emacs} file: |
258 | 265 |
259 @example | 266 @example |
260 (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode | 267 (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode |
261 (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode | 268 (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode |
262 @end example | 269 @end example |
273 @item | 280 @item |
274 @b{Table of Contents}@* Typing @kbd{C-c =} (@code{reftex-toc}) will show | 281 @b{Table of Contents}@* Typing @kbd{C-c =} (@code{reftex-toc}) will show |
275 a table of contents of the document. This buffer can display sections, | 282 a table of contents of the document. This buffer can display sections, |
276 labels and index entries defined in the document. From the buffer, you | 283 labels and index entries defined in the document. From the buffer, you |
277 can jump quickly to every part of your document. Press @kbd{?} to get | 284 can jump quickly to every part of your document. Press @kbd{?} to get |
278 help.@refill | 285 help. |
279 | 286 |
280 @item | 287 @item |
281 @b{Labels and References}@* @b{Ref@TeX{}} helps to create unique labels | 288 @b{Labels and References}@* @b{Ref@TeX{}} helps to create unique labels |
282 and to find the correct key for references quickly. It distinguishes | 289 and to find the correct key for references quickly. It distinguishes |
283 labels for different environments, knows about all standard | 290 labels for different environments, knows about all standard |
284 environments (and many others), and can be configured to recognize any | 291 environments (and many others), and can be configured to recognize any |
285 additional labeled environments you have defined yourself (variable | 292 additional labeled environments you have defined yourself (variable |
286 @code{reftex-label-alist}).@refill | 293 @code{reftex-label-alist}). |
287 | 294 |
288 @itemize @bullet | 295 @itemize @bullet |
289 @item | 296 @item |
290 @b{Creating Labels}@* | 297 @b{Creating Labels}@* |
291 Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point. | 298 Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point. |
295 derive a label from context (default for section labels) | 302 derive a label from context (default for section labels) |
296 @item | 303 @item |
297 prompt for a label string (default for figures and tables) or | 304 prompt for a label string (default for figures and tables) or |
298 @item | 305 @item |
299 insert a simple label made of a prefix and a number (all other | 306 insert a simple label made of a prefix and a number (all other |
300 environments)@refill | 307 environments) |
301 @end itemize | 308 @end itemize |
302 @noindent | 309 @noindent |
303 Which labels are created how is configurable with the variable | 310 Which labels are created how is configurable with the variable |
304 @code{reftex-insert-label-flags}.@refill | 311 @code{reftex-insert-label-flags}. |
305 | 312 |
306 @item | 313 @item |
307 @b{Referencing Labels}@* To make a reference, type @kbd{C-c )} | 314 @b{Referencing Labels}@* To make a reference, type @kbd{C-c )} |
308 (@code{reftex-reference}). This shows an outline of the document with | 315 (@code{reftex-reference}). This shows an outline of the document with |
309 all labels of a certain type (figure, equation,...) and some label | 316 all labels of a certain type (figure, equation,...) and some label |
310 context. Selecting a label inserts a @code{\ref@{@var{label}@}} macro | 317 context. Selecting a label inserts a @code{\ref@{@var{label}@}} macro |
311 into the original buffer.@refill | 318 into the original buffer. |
312 @end itemize | 319 @end itemize |
313 | 320 |
314 @item | 321 @item |
315 @b{Citations}@* | 322 @b{Citations}@* |
316 Typing @kbd{C-c [} (@code{reftex-citation}) will let you specify a | 323 Typing @kbd{C-c [} (@code{reftex-citation}) will let you specify a |
317 regular expression to search in current BibTeX database files (as | 324 regular expression to search in current BibTeX database files (as |
318 specified in the @code{\bibliography} command) and pull out a list of | 325 specified in the @code{\bibliography} command) and pull out a list of |
319 matches for you to choose from. The list is @emph{formatted} and | 326 matches for you to choose from. The list is @emph{formatted} and |
320 sorted. The selected article is referenced as @samp{\cite@{@var{key}@}} | 327 sorted. The selected article is referenced as @samp{\cite@{@var{key}@}} |
321 (see the variable @code{reftex-cite-format} if you want to insert | 328 (see the variable @code{reftex-cite-format} if you want to insert |
322 different macros).@refill | 329 different macros). |
323 | 330 |
324 @item | 331 @item |
325 @b{Index Support}@* | 332 @b{Index Support}@* |
326 @b{Ref@TeX{}} helps to enter index entries. It also compiles all | 333 @b{Ref@TeX{}} helps to enter index entries. It also compiles all |
327 entries into an alphabetically sorted @file{*Index*} buffer which you | 334 entries into an alphabetically sorted @file{*Index*} buffer which you |
328 can use to check and edit the entries. @b{Ref@TeX{}} knows about the | 335 can use to check and edit the entries. @b{Ref@TeX{}} knows about the |
329 standard index macros and can be configured to recognize any additional | 336 standard index macros and can be configured to recognize any additional |
330 macros you have defined (@code{reftex-index-macros}). Multiple indices | 337 macros you have defined (@code{reftex-index-macros}). Multiple indices |
331 are supported.@refill | 338 are supported. |
332 | 339 |
333 @itemize @bullet | 340 @itemize @bullet |
334 @item | 341 @item |
335 @b{Creating Index Entries}@* | 342 @b{Creating Index Entries}@* |
336 To index the current selection or the word at point, type @kbd{C-c /} | 343 To index the current selection or the word at point, type @kbd{C-c /} |
337 (@code{reftex-index-selection-or-word}). The default macro | 344 (@code{reftex-index-selection-or-word}). The default macro |
338 @code{reftex-index-default-macro} will be used. For a more complex entry | 345 @code{reftex-index-default-macro} will be used. For a more complex entry |
339 type @kbd{C-c <} (@code{reftex-index}), select any of the index macros | 346 type @kbd{C-c <} (@code{reftex-index}), select any of the index macros |
340 and enter the arguments with completion.@refill | 347 and enter the arguments with completion. |
341 | 348 |
342 @item | 349 @item |
343 @b{The Index Phrases File (Delayed Indexing)}@* | 350 @b{The Index Phrases File (Delayed Indexing)}@* |
344 Type @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word}) to add | 351 Type @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word}) to add |
345 the current word or selection to a special @emph{index phrase file}. | 352 the current word or selection to a special @emph{index phrase file}. |
346 @b{Ref@TeX{}} can later search the document for occurrences of these | 353 @b{Ref@TeX{}} can later search the document for occurrences of these |
347 phrases and let you interactively index the matches.@refill | 354 phrases and let you interactively index the matches. |
348 | 355 |
349 @item | 356 @item |
350 @b{Displaying and Editing the Index}@* | 357 @b{Displaying and Editing the Index}@* |
351 To display the compiled index in a special buffer, type @kbd{C-c >} | 358 To display the compiled index in a special buffer, type @kbd{C-c >} |
352 (@code{reftex-display-index}). From that buffer you can check and edit | 359 (@code{reftex-display-index}). From that buffer you can check and edit |
353 all entries.@refill | 360 all entries. |
354 @end itemize | 361 @end itemize |
355 | 362 |
356 @page | 363 @page |
357 @item @b{Viewing Cross-References}@* | 364 @item @b{Viewing Cross-References}@* |
358 When point is on the @var{key} argument of a cross--referencing macro | 365 When point is on the @var{key} argument of a cross--referencing macro |
359 (@code{\label}, @code{\ref}, @code{\cite}, @code{\bibitem}, | 366 (@code{\label}, @code{\ref}, @code{\cite}, @code{\bibitem}, |
360 @code{\index}, and variations) or inside a BibTeX database entry, you | 367 @code{\index}, and variations) or inside a BibTeX database entry, you |
361 can press @kbd{C-c &} (@code{reftex-view-crossref}) to display | 368 can press @kbd{C-c &} (@code{reftex-view-crossref}) to display |
362 corresponding locations in the document and associated BibTeX database | 369 corresponding locations in the document and associated BibTeX database |
363 files.@refill @* | 370 files. @* |
364 When the enclosing macro is @code{\cite} or @code{\ref} and no other | 371 When the enclosing macro is @code{\cite} or @code{\ref} and no other |
365 message occupies the echo area, information about the citation or label | 372 message occupies the echo area, information about the citation or label |
366 will automatically be displayed in the echo area.@refill | 373 will automatically be displayed in the echo area. |
367 | 374 |
368 @item | 375 @item |
369 @b{Multifile Documents}@* | 376 @b{Multifile Documents}@* |
370 Multifile Documents are fully supported. The included files must have a | 377 Multifile Documents are fully supported. The included files must have a |
371 file variable @code{TeX-master} or @code{tex-main-file} pointing to the | 378 file variable @code{TeX-master} or @code{tex-main-file} pointing to the |
372 master file. @b{Ref@TeX{}} provides cross-referencing information from | 379 master file. @b{Ref@TeX{}} provides cross-referencing information from |
373 all parts of the document, and across document borders | 380 all parts of the document, and across document borders |
374 (@file{xr.sty}).@refill | 381 (@file{xr.sty}). |
375 | 382 |
376 @item | 383 @item |
377 @b{Document Parsing}@* @b{Ref@TeX{}} needs to parse the document in | 384 @b{Document Parsing}@* @b{Ref@TeX{}} needs to parse the document in |
378 order to find labels and other information. It does it automatically | 385 order to find labels and other information. It does it automatically |
379 once and updates its list internally when @code{reftex-label} and | 386 once and updates its list internally when @code{reftex-label} and |
380 @code{reftex-index} are used. To enforce reparsing, call any of the | 387 @code{reftex-index} are used. To enforce reparsing, call any of the |
381 commands described above with a raw @kbd{C-u} prefix, or press the | 388 commands described above with a raw @kbd{C-u} prefix, or press the |
382 @kbd{r} key in the label selection buffer, the table of contents | 389 @kbd{r} key in the label selection buffer, the table of contents |
383 buffer, or the index buffer.@refill | 390 buffer, or the index buffer. |
384 | 391 |
385 @item | 392 @item |
386 @b{AUCTeX} @* If your major LaTeX mode is AUCTeX, @b{Ref@TeX{}} can | 393 @b{AUCTeX} @* If your major LaTeX mode is AUCTeX, @b{Ref@TeX{}} can |
387 cooperate with it (see variable @code{reftex-plug-into-AUCTeX}). AUCTeX | 394 cooperate with it (see variable @code{reftex-plug-into-AUCTeX}). AUCTeX |
388 contains style files which trigger appropriate settings in | 395 contains style files which trigger appropriate settings in |
389 @b{Ref@TeX{}}, so that for many of the popular LaTeX packages no | 396 @b{Ref@TeX{}}, so that for many of the popular LaTeX packages no |
390 additional customizations will be necessary.@refill | 397 additional customizations will be necessary. |
391 | 398 |
392 @item | 399 @item |
393 @b{Useful Settings}@* | 400 @b{Useful Settings}@* |
394 To integrate RefTeX with AUCTeX, use | 401 To integrate RefTeX with AUCTeX, use |
395 @lisp | 402 @lisp |
396 (setq reftex-plug-into-AUCTeX t) | 403 (setq reftex-plug-into-AUCTeX t) |
397 @end lisp | 404 @end lisp |
398 | 405 |
399 To make your own LaTeX macro definitions known to @b{Ref@TeX{}}, | 406 To make your own LaTeX macro definitions known to @b{Ref@TeX{}}, |
400 customize the variables@refill | 407 customize the variables |
401 @example | 408 @example |
402 @code{reftex-label-alist} @r{(for label macros/environments)} | 409 @code{reftex-label-alist} @r{(for label macros/environments)} |
403 @code{reftex-section-levels} @r{(for sectioning commands)} | 410 @code{reftex-section-levels} @r{(for sectioning commands)} |
404 @code{reftex-cite-format} @r{(for @code{\cite}-like macros)} | 411 @code{reftex-cite-format} @r{(for @code{\cite}-like macros)} |
405 @code{reftex-index-macros} @r{(for @code{\index}-like macros)} | 412 @code{reftex-index-macros} @r{(for @code{\index}-like macros)} |
406 @code{reftex-index-default-macro} @r{(to set the default macro)} | 413 @code{reftex-index-default-macro} @r{(to set the default macro)} |
407 @end example | 414 @end example |
408 If you have a large number of macros defined, you may want to write | 415 If you have a large number of macros defined, you may want to write |
409 an AUCTeX style file to support them with both AUCTeX and | 416 an AUCTeX style file to support them with both AUCTeX and |
410 @b{Ref@TeX{}}.@refill | 417 @b{Ref@TeX{}}. |
411 | 418 |
412 @item @b{Where Next?}@* Go ahead and use @b{Ref@TeX{}}. Use its menus | 419 @item @b{Where Next?}@* Go ahead and use @b{Ref@TeX{}}. Use its menus |
413 until you have picked up the key bindings. For an overview of what you | 420 until you have picked up the key bindings. For an overview of what you |
414 can do in each of the different special buffers, press @kbd{?}. Read | 421 can do in each of the different special buffers, press @kbd{?}. Read |
415 the manual if you get stuck, of if you are curious what else might be | 422 the manual if you get stuck, of if you are curious what else might be |
416 available. The first part of the manual explains in | 423 available. The first part of the manual explains in |
417 a tutorial way how to use and customize @b{Ref@TeX{}}. The second | 424 a tutorial way how to use and customize @b{Ref@TeX{}}. The second |
418 part is a command and variable reference.@refill | 425 part is a command and variable reference. |
419 @end enumerate | 426 @end enumerate |
420 | 427 |
421 @node Table of Contents, Labels and References, Introduction, Top | 428 @node Table of Contents, Labels and References, Introduction, Top |
422 @chapter Table of Contents | 429 @chapter Table of Contents |
423 @cindex @file{*toc*} buffer | 430 @cindex @file{*toc*} buffer |
431 @cindex Structure editing | |
424 @cindex Table of contents buffer | 432 @cindex Table of contents buffer |
425 @findex reftex-toc | 433 @findex reftex-toc |
426 @kindex C-c = | 434 @kindex C-c = |
427 | 435 |
428 Pressing the keys @kbd{C-c =} pops up a buffer showing the table of | 436 Pressing the keys @kbd{C-c =} pops up a buffer showing the table of |
429 contents of the document. By default, this @file{*toc*} buffer shows | 437 contents of the document. By default, this @file{*toc*} buffer shows |
430 only the sections of a document. Using the @kbd{l} and @kbd{i} keys you | 438 only the sections of a document. Using the @kbd{l} and @kbd{i} keys you |
431 can display all labels and index entries defined in the document as | 439 can display all labels and index entries defined in the document as |
432 well.@refill | 440 well. |
433 | 441 |
434 With the cursor in any of the lines denoting a location in the | 442 With the cursor in any of the lines denoting a location in the |
435 document, simple key strokes will display the corresponding part in | 443 document, simple key strokes will display the corresponding part in |
436 another window, jump to that location, or perform other actions.@refill | 444 another window, jump to that location, or perform other actions. |
437 | 445 |
438 @kindex ? | 446 @kindex ? |
439 Here is a list of special commands in the @file{*toc*} buffer. A | 447 Here is a list of special commands in the @file{*toc*} buffer. A |
440 summary of this information is always available by pressing | 448 summary of this information is always available by pressing |
441 @kbd{?}.@refill | 449 @kbd{?}. |
442 | 450 |
443 @table @kbd | 451 @table @kbd |
444 | 452 |
445 @tablesubheading{General} | 453 @tablesubheading{General} |
446 @item ? | 454 @item ? |
456 @item p | 464 @item p |
457 Goto previous entry in the table of context. | 465 Goto previous entry in the table of context. |
458 | 466 |
459 @item C-c C-n | 467 @item C-c C-n |
460 Goto next section heading. Useful when many labels and index entries | 468 Goto next section heading. Useful when many labels and index entries |
461 separate section headings.@refill | 469 separate section headings. |
462 | 470 |
463 @item C-c C-p | 471 @item C-c C-p |
464 Goto previous section heading. | 472 Goto previous section heading. |
465 | 473 |
466 @item N z | 474 @item N z |
467 Jump to section N, using the prefix arg. For example, @kbd{3 z} jumps | 475 Jump to section N, using the prefix arg. For example, @kbd{3 z} jumps |
468 to section 3.@refill | 476 to section 3. |
469 | 477 |
470 @tablesubheading{Access to document locations} | 478 @tablesubheading{Access to document locations} |
471 @item @key{SPC} | 479 @item @key{SPC} |
472 Show the corresponding location in another window. This command does | 480 Show the corresponding location in another window. This command does |
473 @emph{not} select that other window.@refill | 481 @emph{not} select that other window. |
474 | 482 |
475 @item @key{TAB} | 483 @item @key{TAB} |
476 Goto the location in another window. | 484 Goto the location in another window. |
477 | 485 |
478 @item @key{RET} | 486 @item @key{RET} |
479 Go to the location and hide the @file{*toc*} buffer. This will restore | 487 Go to the location and hide the @file{*toc*} buffer. This will restore |
480 the window configuration before @code{reftex-toc} (@kbd{C-c =}) was | 488 the window configuration before @code{reftex-toc} (@kbd{C-c =}) was |
481 called.@refill | 489 called. |
482 | 490 |
483 @item mouse-2 | 491 @item mouse-2 |
484 @vindex reftex-highlight-selection | 492 @vindex reftex-highlight-selection |
485 Clicking with mouse button 2 on a line has the same effect as @key{RET}. | 493 Clicking with mouse button 2 on a line has the same effect as @key{RET}. |
486 See also variable @code{reftex-highlight-selection}, @ref{Options | 494 See also variable @code{reftex-highlight-selection}, @ref{Options |
487 (Fontification)}.@refill | 495 (Fontification)}. |
488 | 496 |
489 @item f | 497 @item f |
490 @vindex reftex-toc-follow-mode | 498 @vindex reftex-toc-follow-mode |
491 @vindex reftex-revisit-to-follow | 499 @vindex reftex-revisit-to-follow |
492 Toggle follow mode. When follow mode is active, the other window will | 500 Toggle follow mode. When follow mode is active, the other window will |
494 @file{*toc*} buffer. This is similar to pressing @key{SPC} after each | 502 @file{*toc*} buffer. This is similar to pressing @key{SPC} after each |
495 cursor motion. The default for this flag can be set with the variable | 503 cursor motion. The default for this flag can be set with the variable |
496 @code{reftex-toc-follow-mode}. Note that only context in files already | 504 @code{reftex-toc-follow-mode}. Note that only context in files already |
497 visited is shown. @b{Ref@TeX{}} will not visit a file just for follow | 505 visited is shown. @b{Ref@TeX{}} will not visit a file just for follow |
498 mode. See, however, the variable | 506 mode. See, however, the variable |
499 @code{reftex-revisit-to-follow}.@refill | 507 @code{reftex-revisit-to-follow}. |
500 | 508 |
501 @item . | 509 @item . |
502 Show calling point in another window. This is the point from where | 510 Show calling point in another window. This is the point from where |
503 @code{reftex-toc} was last called. | 511 @code{reftex-toc} was last called. |
504 | 512 |
505 @page | 513 @page |
514 @tablesubheading{Promotion and Demotion} | |
515 | |
516 @item < | |
517 Promote the current section. This will convert @code{\section} to | |
518 @code{\chapter}, @code{\subsection} to @code{\section} etc. If there is | |
519 an active region, all sections in the region will be promoted, including | |
520 the one at point. To avoid mistakes, @b{Ref@TeX{}} requires a fresh | |
521 document scan before executing this command - if necessary, it will | |
522 automatically do this scan and ask the user to repeat the promotion | |
523 command. | |
524 | |
525 @item > | |
526 Demote the current section. This is the opposite of promotion. It will | |
527 convert @code{\chapter} to @code{\section} etc. If there is an active | |
528 region, all sections in the region will be demoted, including the one at | |
529 point. | |
530 | |
531 @item M-% | |
532 Rename the label at point. While generally not recommended, this can be | |
533 useful when a package like @file{fancyref} is used where the label | |
534 prefix determines the wording of a reference. After a | |
535 promotion/demotion it may be necessary to change a few labels from | |
536 @samp{sec:xyz} to @samp{cha:xyz} or vice versa. This command can be | |
537 used to do this - it launches a query replace to rename the definition | |
538 and all references of a label. | |
539 | |
506 @tablesubheading{Exiting} | 540 @tablesubheading{Exiting} |
507 @item q | 541 @item q |
508 Hide the @file{*toc*} buffer, return to the position where | 542 Hide the @file{*toc*} buffer, return to the position where |
509 @code{reftex-toc} was last called.@refill | 543 @code{reftex-toc} was last called. |
510 | 544 |
511 @item k | 545 @item k |
512 Kill the @file{*toc*} buffer, return to the position where | 546 Kill the @file{*toc*} buffer, return to the position where |
513 @code{reftex-toc} was last called.@refill | 547 @code{reftex-toc} was last called. |
514 | 548 |
515 @item C-c > | 549 @item C-c > |
516 Switch to the @file{*Index*} buffer of this document. With prefix | 550 Switch to the @file{*Index*} buffer of this document. With prefix |
517 @samp{2}, restrict the index to the section at point in the @file{*toc*} | 551 @samp{2}, restrict the index to the section at point in the @file{*toc*} |
518 buffer. | 552 buffer. |
525 buffer. Without prefix arg, all levels will be included. With prefix | 559 buffer. Without prefix arg, all levels will be included. With prefix |
526 arg (e.g @kbd{3 t}), ignore all toc entries with level greater than | 560 arg (e.g @kbd{3 t}), ignore all toc entries with level greater than |
527 @var{arg} (3 in this case). Chapters are level 1, sections are level 2. | 561 @var{arg} (3 in this case). Chapters are level 1, sections are level 2. |
528 The mode line @samp{T<>} indicator shows the current value. The default | 562 The mode line @samp{T<>} indicator shows the current value. The default |
529 depth can be configured with the variable | 563 depth can be configured with the variable |
530 @code{reftex-toc-max-level}.@refill | 564 @code{reftex-toc-max-level}. |
531 | 565 |
532 @item F | 566 @item F |
533 @vindex reftex-toc-include-file-boundaries | 567 @vindex reftex-toc-include-file-boundaries |
534 Toggle the display of the file borders of a multifile document in the | 568 Toggle the display of the file borders of a multifile document in the |
535 @file{*toc*} buffer. The default for this flag can be set with the | 569 @file{*toc*} buffer. The default for this flag can be set with the |
536 variable @code{reftex-toc-include-file-boundaries}.@refill | 570 variable @code{reftex-toc-include-file-boundaries}. |
537 | 571 |
538 @item l | 572 @item l |
539 @vindex reftex-toc-include-labels | 573 @vindex reftex-toc-include-labels |
540 Toggle the display of labels in the @file{*toc*} buffer. The default | 574 Toggle the display of labels in the @file{*toc*} buffer. The default |
541 for this flag can be set with the variable | 575 for this flag can be set with the variable |
542 @code{reftex-toc-include-labels}. When called with a prefix argument, | 576 @code{reftex-toc-include-labels}. When called with a prefix argument, |
543 @b{Ref@TeX{}} will prompt for a label type and include only labels of | 577 @b{Ref@TeX{}} will prompt for a label type and include only labels of |
544 the selected type in the @file{*toc*} buffer. The mode line @samp{L<>} | 578 the selected type in the @file{*toc*} buffer. The mode line @samp{L<>} |
545 indicator shows which labels are included.@refill | 579 indicator shows which labels are included. |
546 | 580 |
547 @item i | 581 @item i |
548 @vindex reftex-toc-include-index-entries | 582 @vindex reftex-toc-include-index-entries |
549 Toggle the display of index entries in the @file{*toc*} buffer. The | 583 Toggle the display of index entries in the @file{*toc*} buffer. The |
550 default for this flag can be set with the variable | 584 default for this flag can be set with the variable |
551 @code{reftex-toc-include-index-entries}. When called with a prefix | 585 @code{reftex-toc-include-index-entries}. When called with a prefix |
552 argument, @b{Ref@TeX{}} will prompt for a specific index and include | 586 argument, @b{Ref@TeX{}} will prompt for a specific index and include |
553 only entries in the selected index in the @file{*toc*} buffer. The mode | 587 only entries in the selected index in the @file{*toc*} buffer. The mode |
554 line @samp{I<>} indicator shows which index is used.@refill | 588 line @samp{I<>} indicator shows which index is used. |
555 | 589 |
556 @item c | 590 @item c |
557 @vindex reftex-toc-include-context | 591 @vindex reftex-toc-include-context |
558 Toggle the display of label and index context in the @file{*toc*} | 592 Toggle the display of label and index context in the @file{*toc*} |
559 buffer. The default for this flag can be set with the variable | 593 buffer. The default for this flag can be set with the variable |
560 @code{reftex-toc-include-context}.@refill | 594 @code{reftex-toc-include-context}. |
561 | 595 |
562 @tablesubheading{Updating the buffer} | 596 @tablesubheading{Updating the buffer} |
563 | 597 |
564 @item g | 598 @item g |
565 Rebuild the @file{*toc*} buffer. This does @emph{not} rescan the | 599 Rebuild the @file{*toc*} buffer. This does @emph{not} rescan the |
566 document.@refill | 600 document. |
567 | 601 |
568 @item r | 602 @item r |
569 @vindex reftex-enable-partial-scans | 603 @vindex reftex-enable-partial-scans |
570 Reparse the LaTeX document and rebuild the @file{*toc*} buffer. When | 604 Reparse the LaTeX document and rebuild the @file{*toc*} buffer. When |
571 @code{reftex-enable-partial-scans} is non-nil, rescan only the file this | 605 @code{reftex-enable-partial-scans} is non-@code{nil}, rescan only the file this |
572 location is defined in, not the entire document.@refill | 606 location is defined in, not the entire document. |
573 | 607 |
574 @item C-u r | 608 @item C-u r |
575 Reparse the @emph{entire} LaTeX document and rebuild the @file{*toc*} | 609 Reparse the @emph{entire} LaTeX document and rebuild the @file{*toc*} |
576 buffer.@refill | 610 buffer. |
577 | 611 |
578 @item x | 612 @item x |
579 Switch to the @file{*toc*} buffer of an external document. When the | 613 Switch to the @file{*toc*} buffer of an external document. When the |
580 current document is using the @code{xr} package (@pxref{xr (LaTeX | 614 current document is using the @code{xr} package (@pxref{xr (LaTeX |
581 package)}), @b{Ref@TeX{}} will switch to one of the external | 615 package)}), @b{Ref@TeX{}} will switch to one of the external |
582 documents.@refill | 616 documents. |
617 | |
618 | |
619 @tablesubheading{Automatic recentering} | |
620 | |
621 @item d | |
622 Toggle the display of a dedicated frame displaying just the @file{*toc*} | |
623 buffer. Follow mode and visiting locations will not work that frame, | |
624 but automatic recentering will make this frame always show your current | |
625 editing location in the document (see below). | |
583 | 626 |
584 @item a | 627 @item a |
585 Toggle the automatic recentering of the @file{*toc*} buffer. When this | 628 Toggle the automatic recentering of the @file{*toc*} buffer. When this |
586 option is on, moving around in the document will cause the @file{*toc*} | 629 option is on, moving around in the document will cause the @file{*toc*} |
587 to always highlight the current section. This can be enabled by default | 630 to always highlight the current section. By default, this option is |
588 with the variable @code{reftex-auto-recenter-toc}. | 631 active while the dedicated @file{*TOC*} frame exists. See also the |
632 variable @code{reftex-auto-recenter-toc}. | |
589 | 633 |
590 @end table | 634 @end table |
591 | 635 |
592 @vindex reftex-toc-map | 636 @vindex reftex-toc-map |
593 In order to define additional commands for the @file{*toc*} buffer, the | 637 In order to define additional commands for the @file{*toc*} buffer, the |
594 keymap @code{reftex-toc-map} may be used.@refill | 638 keymap @code{reftex-toc-map} may be used. |
595 | 639 |
596 @findex reftex-toc-recenter | 640 @findex reftex-toc-recenter |
597 @vindex reftex-auto-recenter-toc | 641 @vindex reftex-auto-recenter-toc |
598 @vindex reftex-idle-time | 642 @vindex reftex-idle-time |
599 @cindex @file{*toc*} buffer, recentering | 643 @cindex @file{*toc*} buffer, recentering |
603 exists, the cursor will immediately jump to the right place, i.e. the | 647 exists, the cursor will immediately jump to the right place, i.e. the |
604 section from which @code{reftex-toc} was called will be highlighted. | 648 section from which @code{reftex-toc} was called will be highlighted. |
605 The command @kbd{C-c -} (@code{reftex-toc-recenter}) will only redisplay | 649 The command @kbd{C-c -} (@code{reftex-toc-recenter}) will only redisplay |
606 the @file{*toc*} buffer and highlight the correct line without actually | 650 the @file{*toc*} buffer and highlight the correct line without actually |
607 selecting the @file{*toc*} window. This can be useful to quickly find | 651 selecting the @file{*toc*} window. This can be useful to quickly find |
608 out where in the document you currently are. If you want the TOC buffer | 652 out where in the document you currently are. You can also automate this |
609 to show the current section automatically whenever you stop typing, try | 653 by asking RefTeX to keep track of your current editing position in the |
654 TOC. The TOC window will then be updated whenever you stop typing for | |
655 more than @code{reftex-idle-time} seconds. By default this works only | |
656 with the dedicated @file{*TOC*} frame. But you can also force automatic | |
657 recentering of the TOC window on the current frame with | |
610 @lisp | 658 @lisp |
611 (setq reftex-auto-recenter-toc t) | 659 (setq reftex-auto-recenter-toc t) |
612 @end lisp | 660 @end lisp |
613 When this is turned on, the toc buffer will be recentered whenever Emacs | |
614 is idle for more than @code{reftex-idle-time} seconds. | |
615 | 661 |
616 | 662 |
617 @cindex Sectioning commands | 663 @cindex Sectioning commands |
618 @cindex KOMA-Script, LaTeX classes | 664 @cindex KOMA-Script, LaTeX classes |
619 @cindex LaTeX classes, KOMA-Script | 665 @cindex LaTeX classes, KOMA-Script |
639 LaTeX provides a powerful mechanism to deal with cross--references in a | 685 LaTeX provides a powerful mechanism to deal with cross--references in a |
640 document. When writing a document, any part of it can be marked with a | 686 document. When writing a document, any part of it can be marked with a |
641 label, like @samp{\label@{mark@}}. LaTeX records the current value of a | 687 label, like @samp{\label@{mark@}}. LaTeX records the current value of a |
642 certain counter when a label is defined. Later references to this label | 688 certain counter when a label is defined. Later references to this label |
643 (like @samp{\ref@{mark@}}) will produce the recorded value of the | 689 (like @samp{\ref@{mark@}}) will produce the recorded value of the |
644 counter.@refill | 690 counter. |
645 | 691 |
646 Labels can be used to mark sections, figures, tables, equations, | 692 Labels can be used to mark sections, figures, tables, equations, |
647 footnotes, items in enumerate lists etc. LaTeX is context sensitive in | 693 footnotes, items in enumerate lists etc. LaTeX is context sensitive in |
648 doing this: A label defined in a figure environment automatically | 694 doing this: A label defined in a figure environment automatically |
649 records the figure counter, not the section counter.@refill | 695 records the figure counter, not the section counter. |
650 | 696 |
651 Several different environments can share a common counter and therefore | 697 Several different environments can share a common counter and therefore |
652 a common label category. E.g. labels in both @code{equation} and | 698 a common label category. E.g. labels in both @code{equation} and |
653 @code{eqnarray} environments record the value of the same counter - the | 699 @code{eqnarray} environments record the value of the same counter - the |
654 equation counter.@refill | 700 equation counter. |
655 | 701 |
656 @menu | 702 @menu |
657 * Creating Labels:: | 703 * Creating Labels:: |
658 * Referencing Labels:: | 704 * Referencing Labels:: |
659 * Builtin Label Environments:: The environments RefTeX knows about. | 705 * Builtin Label Environments:: The environments RefTeX knows about. |
675 In order to create a label in a LaTeX document, press @kbd{C-c (} | 721 In order to create a label in a LaTeX document, press @kbd{C-c (} |
676 (@code{reftex-label}). Just like LaTeX, @b{Ref@TeX{}} is context sensitive | 722 (@code{reftex-label}). Just like LaTeX, @b{Ref@TeX{}} is context sensitive |
677 and will figure out the environment it currently is in and adapt the | 723 and will figure out the environment it currently is in and adapt the |
678 label to that environment. A label usually consists of a short prefix | 724 label to that environment. A label usually consists of a short prefix |
679 indicating the type of the label and a unique mark. @b{Ref@TeX{}} has | 725 indicating the type of the label and a unique mark. @b{Ref@TeX{}} has |
680 3 different modes to create this mark.@refill | 726 3 different modes to create this mark. |
681 | 727 |
682 @enumerate | 728 @enumerate |
683 @item | 729 @item |
684 @vindex reftex-translate-to-ascii-function | 730 @vindex reftex-translate-to-ascii-function |
685 @vindex reftex-derive-label-parameters | 731 @vindex reftex-derive-label-parameters |
686 @vindex reftex-label-illegal-re | 732 @vindex reftex-label-illegal-re |
687 @vindex reftex-abbrev-parameters | 733 @vindex reftex-abbrev-parameters |
688 A label can be derived from context. This means, @b{Ref@TeX{}} takes | 734 A label can be derived from context. This means, @b{Ref@TeX{}} takes |
689 the context of the label definition and constructs a label from | 735 the context of the label definition and constructs a label from |
690 that@footnote{Note that the context may contain constructs which are | 736 that@footnote{Note that the context may contain constructs which are |
691 illegal in labels. @b{Ref@TeX{}} will therefore strip the accent from | 737 invalid in labels. @b{Ref@TeX{}} will therefore strip the accent from |
692 accented Latin-1 characters and remove everything else which is not | 738 accented Latin-1 characters and remove everything else which is not |
693 legal in labels. This mechanism is safe, but may not be satisfactory | 739 valid in labels. This mechanism is safe, but may not be satisfactory |
694 for non-western languages. Check the following variables if you need to | 740 for non-western languages. Check the following variables if you need to |
695 change things: @code{reftex-translate-to-ascii-function}, | 741 change things: @code{reftex-translate-to-ascii-function}, |
696 @code{reftex-derive-label-parameters}, @code{reftex-label-illegal-re}, | 742 @code{reftex-derive-label-parameters}, @code{reftex-label-illegal-re}, |
697 @code{reftex-abbrev-parameters}.}. This works best for section labels, | 743 @code{reftex-abbrev-parameters}.}. This works best for section labels, |
698 where the section heading is used to construct a label. In fact, | 744 where the section heading is used to construct a label. In fact, |
699 @b{Ref@TeX{}}'s default settings use this method only for section | 745 @b{Ref@TeX{}}'s default settings use this method only for section |
700 labels. You will be asked to confirm the derived label, or edit | 746 labels. You will be asked to confirm the derived label, or edit |
701 it.@refill | 747 it. |
702 | 748 |
703 @item | 749 @item |
704 We may also use a simple unique number to identify a label. This is | 750 We may also use a simple unique number to identify a label. This is |
705 mostly useful for labels where it is difficult to come up with a very | 751 mostly useful for labels where it is difficult to come up with a very |
706 good descriptive name. @b{Ref@TeX{}}'s default settings use this method | 752 good descriptive name. @b{Ref@TeX{}}'s default settings use this method |
707 for equations, enumerate items and footnotes. The author of @b{Ref@TeX{}} | 753 for equations, enumerate items and footnotes. The author of @b{Ref@TeX{}} |
708 tends to write documents with many equations and finds it impossible | 754 tends to write documents with many equations and finds it impossible |
709 to come up with good names for each of them. These simple labels are | 755 to come up with good names for each of them. These simple labels are |
710 inserted without query, and are therefore very fast. Good descriptive | 756 inserted without query, and are therefore very fast. Good descriptive |
711 names are not really necessary as @b{Ref@TeX{}} will provide context to | 757 names are not really necessary as @b{Ref@TeX{}} will provide context to |
712 reference a label (@pxref{Referencing Labels}).@refill | 758 reference a label (@pxref{Referencing Labels}). |
713 | 759 |
714 @item | 760 @item |
715 The third method is to ask the user for a label. This is most | 761 The third method is to ask the user for a label. This is most |
716 useful for things which are easy to describe briefly and do not turn up | 762 useful for things which are easy to describe briefly and do not turn up |
717 too frequently in a document. @b{Ref@TeX{}} uses this for figures and | 763 too frequently in a document. @b{Ref@TeX{}} uses this for figures and |
718 tables. Of course, one can enter the label directly by typing the full | 764 tables. Of course, one can enter the label directly by typing the full |
719 @samp{\label@{mark@}}. The advantage of using @code{reftex-label} | 765 @samp{\label@{mark@}}. The advantage of using @code{reftex-label} |
720 anyway is that @b{Ref@TeX{}} will know that a new label has been defined. | 766 anyway is that @b{Ref@TeX{}} will know that a new label has been defined. |
721 It will then not be necessary to rescan the document in order to access | 767 It will then not be necessary to rescan the document in order to access |
722 this label later.@refill | 768 this label later. |
723 @end enumerate | 769 @end enumerate |
724 | 770 |
725 @vindex reftex-insert-label-flags | 771 @vindex reftex-insert-label-flags |
726 If you want to change the way certain labels are created, check out the | 772 If you want to change the way certain labels are created, check out the |
727 variable @code{reftex-insert-label-flags} (@pxref{Options (Creating | 773 variable @code{reftex-insert-label-flags} (@pxref{Options (Creating |
728 Labels)}).@refill | 774 Labels)}). |
729 | 775 |
730 If you are using AUCTeX to write your LaTeX documents, you can | 776 If you are using AUCTeX to write your LaTeX documents, you can |
731 set it up to delegate the creation of labels to | 777 set it up to delegate the creation of labels to |
732 @b{Ref@TeX{}}. @xref{AUCTeX}, for more information. | 778 @b{Ref@TeX{}}. @xref{AUCTeX}, for more information. |
733 | 779 |
739 @cindex Selection process | 785 @cindex Selection process |
740 @cindex @code{\ref} | 786 @cindex @code{\ref} |
741 @kindex C-c ) | 787 @kindex C-c ) |
742 @findex reftex-reference | 788 @findex reftex-reference |
743 | 789 |
790 @vindex reftex-trust-label-prefix | |
791 @b{Ref@TeX{}} scans the document in order to find all labels. To make | |
792 referencing labels easier, it assigns to each label a category, the | |
793 @emph{label type} (for example section, table, figure, equation, etc.). | |
794 In order to determine the label type, RefTeX parses around each label | |
795 to see in what kind of environments it is located. You can speed up | |
796 the parsing by using type-specific prefixes for labels and configuring | |
797 the variable @code{reftex-trust-label-prefix}. | |
798 | |
744 Referencing Labels is really at the heart of @b{Ref@TeX{}}. Press @kbd{C-c | 799 Referencing Labels is really at the heart of @b{Ref@TeX{}}. Press @kbd{C-c |
745 )} in order to reference a label (reftex-reference). This will start a | 800 )} in order to reference a label (reftex-reference). This will start a |
746 selection process and finally insert the complete @samp{\ref@{label@}} | 801 selection process and finally insert the complete @samp{\ref@{label@}} |
747 into the buffer.@refill | 802 into the buffer. |
748 | 803 |
749 First, @b{Ref@TeX{}} will determine the label category which is required. | 804 First, @b{Ref@TeX{}} will determine the label category which is required. |
750 Often that can be figured out from context. For example, if you | 805 Often that can be figured out from context. For example, if you |
751 write @samp{As shown in eq.} and the press @kbd{C-c )}, @b{Ref@TeX{}} knows | 806 write @samp{As shown in eq.} and the press @kbd{C-c )}, @b{Ref@TeX{}} knows |
752 that an equation label is going to be referenced. If it cannot figure | 807 that an equation label is going to be referenced. If it cannot figure |
753 out what label category is needed, it will query for one.@refill | 808 out what label category is needed, it will query for one. |
754 | 809 |
755 You will then be presented with a label selection menu. This is a | 810 You will then be presented with a label selection menu. This is a |
756 special buffer which contains an outline of the document along with all | 811 special buffer which contains an outline of the document along with all |
757 labels of the given label category. In addition, next to the label | 812 labels of the given label category. In addition, next to the label |
758 there will be one line of context of the label definition, which is some | 813 there will be one line of context of the label definition, which is some |
759 text in the buffer near the label definition. Usually this is | 814 text in the buffer near the label definition. Usually this is |
760 sufficient to identify the label. If you are unsure about a certain | 815 sufficient to identify the label. If you are unsure about a certain |
761 label, pressing @key{SPC} will show the label definition point in | 816 label, pressing @key{SPC} will show the label definition point in |
762 another window.@refill | 817 another window. |
763 | 818 |
764 In order to reference a label, move to cursor to the correct label and | 819 In order to reference a label, move to cursor to the correct label and |
765 press @key{RET}. You can also reference several labels with a single | 820 press @key{RET}. You can also reference several labels with a single |
766 call to @code{reftex-reference} by marking entries with the @kbd{m} | 821 call to @code{reftex-reference} by marking entries with the @kbd{m} |
767 key (see below). | 822 key (see below). |
768 | 823 |
769 @kindex ? | 824 @kindex ? |
770 Here is a list of special commands in the selection buffer. A summary | 825 Here is a list of special commands in the selection buffer. A summary |
771 of this information is always available from the selection process by | 826 of this information is always available from the selection process by |
772 pressing @kbd{?}.@refill | 827 pressing @kbd{?}. |
773 | 828 |
774 | 829 |
775 | 830 |
776 @table @kbd | 831 @table @kbd |
777 @tablesubheading{General} | 832 @tablesubheading{General} |
788 @item p | 843 @item p |
789 Go to previous label. | 844 Go to previous label. |
790 | 845 |
791 @item b | 846 @item b |
792 Jump back to the position where you last left the selection buffer. | 847 Jump back to the position where you last left the selection buffer. |
793 Normally this should get you back to the last referenced label.@refill | 848 Normally this should get you back to the last referenced label. |
794 | 849 |
795 @item C-c C-n | 850 @item C-c C-n |
796 Goto next section heading. | 851 Goto next section heading. |
797 | 852 |
798 @item C-c C-p | 853 @item C-c C-p |
799 Goto previous section heading. | 854 Goto previous section heading. |
800 | 855 |
801 @item N z | 856 @item N z |
802 Jump to section N, using the prefix arg. For example @kbd{3 z} jumps to | 857 Jump to section N, using the prefix arg. For example @kbd{3 z} jumps to |
803 section 3.@refill | 858 section 3. |
804 | 859 |
805 @tablesubheading{Displaying Context} | 860 @tablesubheading{Displaying Context} |
806 @item @key{SPC} | 861 @item @key{SPC} |
807 Show the surroundings of the definition of the current label in another | 862 Show the surroundings of the definition of the current label in another |
808 window. See also the @kbd{f} key.@refill | 863 window. See also the @kbd{f} key. |
809 | 864 |
810 @item f | 865 @item f |
811 @vindex reftex-revisit-to-follow | 866 @vindex reftex-revisit-to-follow |
812 Toggle follow mode. When follow mode is active, the other window will | 867 Toggle follow mode. When follow mode is active, the other window will |
813 always display the full context of the current label. This is similar | 868 always display the full context of the current label. This is similar |
814 to pressing @key{SPC} after each cursor motion. Note that only context | 869 to pressing @key{SPC} after each cursor motion. Note that only context |
815 in files already visited is shown. @b{RefTeX} will not visit a file | 870 in files already visited is shown. @b{RefTeX} will not visit a file |
816 just for follow mode. See, however, the variable | 871 just for follow mode. See, however, the variable |
817 @code{reftex-revisit-to-follow}.@refill | 872 @code{reftex-revisit-to-follow}. |
818 | 873 |
819 @item . | 874 @item . |
820 Show insertion point in another window. This is the point from where you | 875 Show insertion point in another window. This is the point from where you |
821 called @code{reftex-reference}.@refill | 876 called @code{reftex-reference}. |
822 | 877 |
823 @tablesubheading{Selecting a label and creating the reference} | 878 @tablesubheading{Selecting a label and creating the reference} |
824 @item @key{RET} | 879 @item @key{RET} |
825 Insert a reference to the label at point into the buffer from which the | 880 Insert a reference to the label at point into the buffer from which the |
826 selection process was started. When entries have been marked, @key{RET} | 881 selection process was started. When entries have been marked, @key{RET} |
827 references all marked labels.@refill | 882 references all marked labels. |
828 | 883 |
829 @item mouse-2 | 884 @item mouse-2 |
830 @vindex reftex-highlight-selection | 885 @vindex reftex-highlight-selection |
831 Clicking with mouse button 2 on a label will accept it like @key{RET} | 886 Clicking with mouse button 2 on a label will accept it like @key{RET} |
832 would. See also variable @code{reftex-highlight-selection}, @ref{Options | 887 would. See also variable @code{reftex-highlight-selection}, @ref{Options |
833 (Misc)}.@refill | 888 (Misc)}. |
834 | 889 |
835 @vindex reftex-multiref-punctuation | 890 @vindex reftex-multiref-punctuation |
836 @item m - + , | 891 @item m - + , |
837 Mark the current entry. When several entries have been marked, pressing | 892 Mark the current entry. When several entries have been marked, pressing |
838 @kbd{RET} will accept all of them and place them into several | 893 @kbd{RET} will accept all of them and place them into several |
851 @cindex LaTeX packages, @code{saferef} | 906 @cindex LaTeX packages, @code{saferef} |
852 @cindex @code{saferef}, LaTeX package | 907 @cindex @code{saferef}, LaTeX package |
853 @item a | 908 @item a |
854 Accept the marked entries and put all labels as a comma-separated list | 909 Accept the marked entries and put all labels as a comma-separated list |
855 into one @emph{single} @code{\ref} macro. Some packages like | 910 into one @emph{single} @code{\ref} macro. Some packages like |
856 @file{saferef.sty} support multiple references in this way.@refill | 911 @file{saferef.sty} support multiple references in this way. |
857 | 912 |
858 @item l | 913 @item l |
859 Use the last referenced label(s) again. This is equivalent to moving to | 914 Use the last referenced label(s) again. This is equivalent to moving to |
860 that label and pressing @key{RET}.@refill | 915 that label and pressing @key{RET}. |
861 | 916 |
862 @item @key{TAB} | 917 @item @key{TAB} |
863 Enter a label with completion. This may also be a label which does not | 918 Enter a label with completion. This may also be a label which does not |
864 yet exist in the document. | 919 yet exist in the document. |
865 | 920 |
869 @cindex LaTeX packages, @code{varioref} | 924 @cindex LaTeX packages, @code{varioref} |
870 Toggle between @code{\ref} and @code{\vref} macro for references. The | 925 Toggle between @code{\ref} and @code{\vref} macro for references. The |
871 @code{\vref} macro is defined in the @code{varioref} LaTeX package. | 926 @code{\vref} macro is defined in the @code{varioref} LaTeX package. |
872 With this key you can force @b{Ref@TeX{}} to insert a @code{\vref} | 927 With this key you can force @b{Ref@TeX{}} to insert a @code{\vref} |
873 macro. The current state of this flag is displayed by the @samp{S<>} | 928 macro. The current state of this flag is displayed by the @samp{S<>} |
874 indicator in the mode line of the selection buffer.@refill | 929 indicator in the mode line of the selection buffer. |
875 | 930 |
876 @item V | 931 @item V |
877 @cindex @code{fancyref}, LaTeX package | 932 @cindex @code{fancyref}, LaTeX package |
878 @cindex @code{\fref} | 933 @cindex @code{\fref} |
879 @cindex @code{\Fref} | 934 @cindex @code{\Fref} |
887 | 942 |
888 @tablesubheading{Exiting} | 943 @tablesubheading{Exiting} |
889 | 944 |
890 @item q | 945 @item q |
891 Exit the selection process without inserting any reference into the | 946 Exit the selection process without inserting any reference into the |
892 buffer.@refill | 947 buffer. |
893 | 948 |
894 @tablesubheading{Controlling what gets displayed} | 949 @tablesubheading{Controlling what gets displayed} |
895 @vindex reftex-label-menu-flags | 950 @vindex reftex-label-menu-flags |
896 The defaults for the following flags can be configured with the variable | 951 The defaults for the following flags can be configured with the variable |
897 @code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}). | 952 @code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}). |
898 | 953 |
899 @item c | 954 @item c |
900 Toggle the display of the one-line label definition context in the | 955 Toggle the display of the one-line label definition context in the |
901 selection buffer.@refill | 956 selection buffer. |
902 | 957 |
903 @item F | 958 @item F |
904 Toggle the display of the file borders of a multifile document in the | 959 Toggle the display of the file borders of a multifile document in the |
905 selection buffer.@refill | 960 selection buffer. |
906 | 961 |
907 @item t | 962 @item t |
908 Toggle the display of the table of contents in the selection buffer. | 963 Toggle the display of the table of contents in the selection buffer. |
909 With prefix @var{arg}, change the maximum level of toc entries displayed | 964 With prefix @var{arg}, change the maximum level of toc entries displayed |
910 to @var{arg}. Chapters are level 1, section are level 2.@refill | 965 to @var{arg}. Chapters are level 1, section are level 2. |
911 | 966 |
912 @item # | 967 @item # |
913 Toggle the display of a label counter in the selection buffer.@refill | 968 Toggle the display of a label counter in the selection buffer. |
914 | 969 |
915 @item % | 970 @item % |
916 Toggle the display of labels hidden in comments in the selection | 971 Toggle the display of labels hidden in comments in the selection |
917 buffers. Sometimes, you may have commented out parts of your document. | 972 buffers. Sometimes, you may have commented out parts of your document. |
918 If these parts contain label definitions, @b{Ref@TeX{}} can still display | 973 If these parts contain label definitions, @b{Ref@TeX{}} can still display |
919 and reference these labels.@refill | 974 and reference these labels. |
920 | 975 |
921 @tablesubheading{Updating the buffer} | 976 @tablesubheading{Updating the buffer} |
922 @item g | 977 @item g |
923 Update the menu. This will rebuilt the menu from the internal label | 978 Update the menu. This will rebuilt the menu from the internal label |
924 list, but not reparse the document (see @kbd{r}).@refill | 979 list, but not reparse the document (see @kbd{r}). |
925 | 980 |
926 @item r | 981 @item r |
927 @vindex reftex-enable-partial-scans | 982 @vindex reftex-enable-partial-scans |
928 Reparse the document to update the information on all labels and rebuild | 983 Reparse the document to update the information on all labels and rebuild |
929 the menu. If the variable @code{reftex-enable-partial-scans} is | 984 the menu. If the variable @code{reftex-enable-partial-scans} is |
930 non-@code{nil} and your document is a multifile document, this will | 985 non-@code{nil} and your document is a multifile document, this will |
931 reparse only a part of the document (the file in which the label at | 986 reparse only a part of the document (the file in which the label at |
932 point was defined).@refill | 987 point was defined). |
933 | 988 |
934 @item C-u r | 989 @item C-u r |
935 Reparse the @emph{entire} document. | 990 Reparse the @emph{entire} document. |
936 | 991 |
937 @item s | 992 @item s |
938 Switch the label category. After prompting for another label category, | 993 Switch the label category. After prompting for another label category, |
939 a menu for that category will be shown.@refill | 994 a menu for that category will be shown. |
940 | 995 |
941 @item x | 996 @item x |
942 Reference a label from an external document. With the LaTeX package | 997 Reference a label from an external document. With the LaTeX package |
943 @code{xr} it is possible to reference labels defined in another | 998 @code{xr} it is possible to reference labels defined in another |
944 document. This key will switch to the label menu of an external | 999 document. This key will switch to the label menu of an external |
945 document and let you select a label from there (@pxref{xr (LaTeX | 1000 document and let you select a label from there (@pxref{xr (LaTeX |
946 package),,xr}).@refill | 1001 package),,xr}). |
947 | 1002 |
948 @end table | 1003 @end table |
949 | 1004 |
950 @vindex reftex-select-label-map | 1005 @vindex reftex-select-label-map |
951 In order to define additional commands for the selection process, the | 1006 In order to define additional commands for the selection process, the |
952 keymap @code{reftex-select-label-map} may be used.@refill | 1007 keymap @code{reftex-select-label-map} may be used. |
953 | 1008 |
954 @node Builtin Label Environments, Defining Label Environments, Referencing Labels, Labels and References | 1009 @node Builtin Label Environments, Defining Label Environments, Referencing Labels, Labels and References |
955 @section Builtin Label Environments | 1010 @section Builtin Label Environments |
956 @cindex Builtin label environments | 1011 @cindex Builtin label environments |
957 @cindex Label environments, builtin | 1012 @cindex Label environments, builtin |
961 | 1016 |
962 @b{Ref@TeX{}} needs to be aware of the environments which can be referenced | 1017 @b{Ref@TeX{}} needs to be aware of the environments which can be referenced |
963 with a label (i.e. which carry their own counters). By default, @b{Ref@TeX{}} | 1018 with a label (i.e. which carry their own counters). By default, @b{Ref@TeX{}} |
964 recognizes all labeled environments and macros discussed in @cite{The | 1019 recognizes all labeled environments and macros discussed in @cite{The |
965 LaTeX Companion by Goossens, Mittelbach & Samarin, Addison-Wesley | 1020 LaTeX Companion by Goossens, Mittelbach & Samarin, Addison-Wesley |
966 1994.}. These are:@refill | 1021 1994.}. These are: |
967 | 1022 |
968 @itemize @minus | 1023 @itemize @minus |
969 @item | 1024 @item |
970 @cindex @code{figure}, LaTeX environment | 1025 @cindex @code{figure}, LaTeX environment |
971 @cindex @code{figure*}, LaTeX environment | 1026 @cindex @code{figure*}, LaTeX environment |
977 @cindex @code{\footnote}, LaTeX macro | 1032 @cindex @code{\footnote}, LaTeX macro |
978 @cindex LaTeX macro @code{footnote} | 1033 @cindex LaTeX macro @code{footnote} |
979 @cindex LaTeX core | 1034 @cindex LaTeX core |
980 @code{figure}, @code{figure*}, @code{table}, @code{table*}, @code{equation}, | 1035 @code{figure}, @code{figure*}, @code{table}, @code{table*}, @code{equation}, |
981 @code{eqnarray}, @code{enumerate}, the @code{\footnote} macro (this is | 1036 @code{eqnarray}, @code{enumerate}, the @code{\footnote} macro (this is |
982 the LaTeX core stuff)@refill | 1037 the LaTeX core stuff) |
983 @item | 1038 @item |
984 @cindex AMS-LaTeX | 1039 @cindex AMS-LaTeX |
985 @cindex @code{amsmath}, LaTeX package | 1040 @cindex @code{amsmath}, LaTeX package |
986 @cindex LaTeX packages, @code{amsmath} | 1041 @cindex LaTeX packages, @code{amsmath} |
987 @cindex @code{align}, AMS-LaTeX environment | 1042 @cindex @code{align}, AMS-LaTeX environment |
992 @cindex @code{xalignat}, AMS-LaTeX environment | 1047 @cindex @code{xalignat}, AMS-LaTeX environment |
993 @cindex @code{xxalignat}, AMS-LaTeX environment | 1048 @cindex @code{xxalignat}, AMS-LaTeX environment |
994 @cindex @code{subequations}, AMS-LaTeX environment | 1049 @cindex @code{subequations}, AMS-LaTeX environment |
995 @code{align}, @code{gather}, @code{multline}, @code{flalign}, | 1050 @code{align}, @code{gather}, @code{multline}, @code{flalign}, |
996 @code{alignat}, @code{xalignat}, @code{xxalignat}, @code{subequations} | 1051 @code{alignat}, @code{xalignat}, @code{xxalignat}, @code{subequations} |
997 (from AMS-LaTeX's @file{amsmath.sty} package)@refill | 1052 (from AMS-LaTeX's @file{amsmath.sty} package) |
998 @item | 1053 @item |
999 @cindex @code{endnote}, LaTeX package | 1054 @cindex @code{endnote}, LaTeX package |
1000 @cindex LaTeX packages, @code{endnote} | 1055 @cindex LaTeX packages, @code{endnote} |
1001 @cindex @code{\endnote}, LaTeX macro | 1056 @cindex @code{\endnote}, LaTeX macro |
1002 the @code{\endnote} macro (from @file{endnotes.sty}) | 1057 the @code{\endnote} macro (from @file{endnotes.sty}) |
1037 @cindex @code{subfig}, LaTeX package | 1092 @cindex @code{subfig}, LaTeX package |
1038 @cindex LaTeX packages, @code{subfigure} | 1093 @cindex LaTeX packages, @code{subfigure} |
1039 @cindex @code{subfigure}, LaTeX environment | 1094 @cindex @code{subfigure}, LaTeX environment |
1040 @cindex @code{subfigure*}, LaTeX environment | 1095 @cindex @code{subfigure*}, LaTeX environment |
1041 @code{subfigure}, @code{subfigure*}, the @code{\subfigure} macro | 1096 @code{subfigure}, @code{subfigure*}, the @code{\subfigure} macro |
1042 (@file{subfigure.sty})@refill | 1097 (@file{subfigure.sty}) |
1043 @item | 1098 @item |
1044 @cindex @code{supertab}, LaTeX package | 1099 @cindex @code{supertab}, LaTeX package |
1045 @cindex LaTeX packages, @code{supertab} | 1100 @cindex LaTeX packages, @code{supertab} |
1046 @cindex @code{supertabular}, LaTeX environment | 1101 @cindex @code{supertabular}, LaTeX environment |
1047 @code{supertabular} (@file{supertab.sty}) | 1102 @code{supertabular} (@file{supertab.sty}) |
1052 @code{wrapfigure} (@file{wrapfig.sty}) | 1107 @code{wrapfigure} (@file{wrapfig.sty}) |
1053 @end itemize | 1108 @end itemize |
1054 | 1109 |
1055 If you want to use other labeled environments, defined with | 1110 If you want to use other labeled environments, defined with |
1056 @code{\newtheorem}, @b{Ref@TeX{}} needs to be configured to recognize | 1111 @code{\newtheorem}, @b{Ref@TeX{}} needs to be configured to recognize |
1057 them (@pxref{Defining Label Environments}).@refill | 1112 them (@pxref{Defining Label Environments}). |
1058 | 1113 |
1059 @node Defining Label Environments, Reference Info, Builtin Label Environments, Labels and References | 1114 @node Defining Label Environments, Reference Info, Builtin Label Environments, Labels and References |
1060 @section Defining Label Environments | 1115 @section Defining Label Environments |
1061 @cindex Label environments, defining | 1116 @cindex Label environments, defining |
1062 | 1117 |
1075 @vindex reftex-label-alist-builtin | 1130 @vindex reftex-label-alist-builtin |
1076 Here we will discuss a few examples, in order to make things clearer. | 1131 Here we will discuss a few examples, in order to make things clearer. |
1077 It can also be instructive to look at the constant | 1132 It can also be instructive to look at the constant |
1078 @code{reftex-label-alist-builtin} which contains the entries for | 1133 @code{reftex-label-alist-builtin} which contains the entries for |
1079 all the builtin environments and macros (@pxref{Builtin Label | 1134 all the builtin environments and macros (@pxref{Builtin Label |
1080 Environments}).@refill | 1135 Environments}). |
1081 | 1136 |
1082 @menu | 1137 @menu |
1083 * Theorem and Axiom:: Defined with @code{\newenvironment}. | 1138 * Theorem and Axiom:: Defined with @code{\newenvironment}. |
1084 * Quick Equation:: When a macro sets the label type. | 1139 * Quick Equation:: When a macro sets the label type. |
1085 * Figure Wrapper:: When a macro argument is a label. | 1140 * Figure Wrapper:: When a macro argument is a label. |
1094 @cindex @code{theorem}, newtheorem | 1149 @cindex @code{theorem}, newtheorem |
1095 @cindex @code{axiom}, newtheorem | 1150 @cindex @code{axiom}, newtheorem |
1096 @cindex @code{\newtheorem} | 1151 @cindex @code{\newtheorem} |
1097 | 1152 |
1098 Suppose you are using @code{\newtheorem} in LaTeX in order to define two | 1153 Suppose you are using @code{\newtheorem} in LaTeX in order to define two |
1099 new environments, @code{theorem} and @code{axiom}@refill | 1154 new environments, @code{theorem} and @code{axiom} |
1100 | 1155 |
1101 @example | 1156 @example |
1102 \newtheorem@{axiom@}@{Axiom@} | 1157 \newtheorem@{axiom@}@{Axiom@} |
1103 \newtheorem@{theorem@}@{Theorem@} | 1158 \newtheorem@{theorem@}@{Theorem@} |
1104 @end example | 1159 @end example |
1126 | 1181 |
1127 The type indicator characters @code{?a} and @code{?h} are used for | 1182 The type indicator characters @code{?a} and @code{?h} are used for |
1128 prompts when @b{Ref@TeX{}} queries for a label type. @code{?h} | 1183 prompts when @b{Ref@TeX{}} queries for a label type. @code{?h} |
1129 was chosen for @code{theorem} since @code{?t} is already taken by | 1184 was chosen for @code{theorem} since @code{?t} is already taken by |
1130 @code{table}. Note that also @code{?s}, @code{?f}, @code{?e}, | 1185 @code{table}. Note that also @code{?s}, @code{?f}, @code{?e}, |
1131 @code{?i}, @code{?n} are already used for standard environments.@refill | 1186 @code{?i}, @code{?n} are already used for standard environments. |
1132 | 1187 |
1133 @noindent | 1188 @noindent |
1134 The labels for Axioms and Theorems will have the prefixes @samp{ax:} and | 1189 The labels for Axioms and Theorems will have the prefixes @samp{ax:} and |
1135 @samp{thr:}, respectively. @xref{AUCTeX}, for information on how | 1190 @samp{thr:}, respectively. @xref{AUCTeX}, for information on how |
1136 AUCTeX can use RefTeX to automatically create labels when a new environment | 1191 AUCTeX can use RefTeX to automatically create labels when a new environment |
1147 @end lisp | 1202 @end lisp |
1148 | 1203 |
1149 | 1204 |
1150 @noindent | 1205 @noindent |
1151 The @samp{~\ref@{%s@}} is a format string indicating how to insert | 1206 The @samp{~\ref@{%s@}} is a format string indicating how to insert |
1152 references to these labels.@refill | 1207 references to these labels. |
1153 | 1208 |
1154 @noindent | 1209 @noindent |
1155 The next item indicates how to grab context of the label definition.@refill | 1210 The next item indicates how to grab context of the label definition. |
1156 @itemize @minus | 1211 @itemize @minus |
1157 @item | 1212 @item |
1158 @code{t} means to get it from a default location (from the beginning of | 1213 @code{t} means to get it from a default location (from the beginning of |
1159 a @code{\macro} or after the @code{\begin} statement). @code{t} is | 1214 a @code{\macro} or after the @code{\begin} statement). @code{t} is |
1160 @emph{not} a good choice for eqnarray and similar environments.@refill | 1215 @emph{not} a good choice for eqnarray and similar environments. |
1161 @item | 1216 @item |
1162 @code{nil} means to use the text right after the label definition.@refill | 1217 @code{nil} means to use the text right after the label definition. |
1163 @item | 1218 @item |
1164 For more complex ways of getting context, see the variable | 1219 For more complex ways of getting context, see the variable |
1165 @code{reftex-label-alist} (@ref{Options (Defining Label | 1220 @code{reftex-label-alist} (@ref{Options (Defining Label |
1166 Environments)}).@refill | 1221 Environments)}). |
1167 @end itemize | 1222 @end itemize |
1168 | 1223 |
1169 The following list of strings is used to guess the correct label type | 1224 The following list of strings is used to guess the correct label type |
1170 from the word before point when creating a reference. E.g. if you | 1225 from the word before point when creating a reference. E.g. if you |
1171 write: @samp{As we have shown in Theorem} and then press @kbd{C-c )}, | 1226 write: @samp{As we have shown in Theorem} and then press @kbd{C-c )}, |
1172 @b{Ref@TeX{}} will know that you are looking for a theorem label and | 1227 @b{Ref@TeX{}} will know that you are looking for a theorem label and |
1173 restrict the menu to only these labels without even asking.@refill | 1228 restrict the menu to only these labels without even asking. |
1174 | 1229 |
1175 The final item in each entry is the level at which the environment | 1230 The final item in each entry is the level at which the environment |
1176 should produce entries in the table of context buffer. If the number is | 1231 should produce entries in the table of context buffer. If the number is |
1177 positive, the environment will produce numbered entries (like | 1232 positive, the environment will produce numbered entries (like |
1178 @code{\section}), if it is negative the entries will be unnumbered (like | 1233 @code{\section}), if it is negative the entries will be unnumbered (like |
1179 @code{\section*}). Use this only for environments which structure the | 1234 @code{\section*}). Use this only for environments which structure the |
1180 document similar to sectioning commands. For everything else, omit the | 1235 document similar to sectioning commands. For everything else, omit the |
1181 item.@refill | 1236 item. |
1182 | 1237 |
1183 To do the same configuration with @code{customize}, you need to click on | 1238 To do the same configuration with @code{customize}, you need to click on |
1184 the @code{[INS]} button twice to create two templates and fill them in | 1239 the @code{[INS]} button twice to create two templates and fill them in |
1185 like this:@refill | 1240 like this: |
1186 | 1241 |
1187 @example | 1242 @example |
1188 Reftex Label Alist: [Hide] | 1243 Reftex Label Alist: [Hide] |
1189 [INS] [DEL] Package or Detailed : [Value Menu] Detailed: | 1244 [INS] [DEL] Package or Detailed : [Value Menu] Detailed: |
1190 Environment or \macro : [Value Menu] String: axiom | 1245 Environment or \macro : [Value Menu] String: axiom |
1216 Depending on how you would like the label insertion and selection for | 1271 Depending on how you would like the label insertion and selection for |
1217 the new environments to work, you might want to add the letters @samp{a} | 1272 the new environments to work, you might want to add the letters @samp{a} |
1218 and @samp{h} to some of the flags in the variables | 1273 and @samp{h} to some of the flags in the variables |
1219 @code{reftex-insert-label-flags} (@pxref{Options (Creating Labels)}) | 1274 @code{reftex-insert-label-flags} (@pxref{Options (Creating Labels)}) |
1220 and @code{reftex-label-menu-flags} (@pxref{Options (Referencing | 1275 and @code{reftex-label-menu-flags} (@pxref{Options (Referencing |
1221 Labels)}).@refill | 1276 Labels)}). |
1222 | 1277 |
1223 | 1278 |
1224 @node Quick Equation, Figure Wrapper, Theorem and Axiom , Defining Label Environments | 1279 @node Quick Equation, Figure Wrapper, Theorem and Axiom , Defining Label Environments |
1225 @subsection Quick Equation Macro | 1280 @subsection Quick Equation Macro |
1226 @cindex Quick equation macro | 1281 @cindex Quick equation macro |
1250 The first element in this list is now the macro with empty braces as an | 1305 The first element in this list is now the macro with empty braces as an |
1251 @emph{image} of the macro arguments. @code{?e} indicates that this is | 1306 @emph{image} of the macro arguments. @code{?e} indicates that this is |
1252 an equation label, the different @code{nil} elements indicate to use the | 1307 an equation label, the different @code{nil} elements indicate to use the |
1253 default values for equations. The @samp{1} as the fifth element | 1308 default values for equations. The @samp{1} as the fifth element |
1254 indicates that the context of the label definition should be the 1st | 1309 indicates that the context of the label definition should be the 1st |
1255 argument of the macro.@refill | 1310 argument of the macro. |
1256 | 1311 |
1257 Here is again how this would look in the customization buffer: | 1312 Here is again how this would look in the customization buffer: |
1258 | 1313 |
1259 @example | 1314 @example |
1260 Reftex Label Alist: [Hide] | 1315 Reftex Label Alist: [Hide] |
1293 \myfig[htp]@{filename@}@{caption text@}@{label@}@{1@} | 1348 \myfig[htp]@{filename@}@{caption text@}@{label@}@{1@} |
1294 @end example | 1349 @end example |
1295 | 1350 |
1296 Now we need to tell @b{Ref@TeX{}} that the 4th argument of the | 1351 Now we need to tell @b{Ref@TeX{}} that the 4th argument of the |
1297 @code{\myfig} macro @emph{is itself} a figure label, and where to find | 1352 @code{\myfig} macro @emph{is itself} a figure label, and where to find |
1298 the context.@refill | 1353 the context. |
1299 | 1354 |
1300 @lisp | 1355 @lisp |
1301 (setq reftex-label-alist | 1356 (setq reftex-label-alist |
1302 '(("\\myfig[]@{@}@{@}@{*@}@{@}" ?f nil nil 3))) | 1357 '(("\\myfig[]@{@}@{@}@{*@}@{@}" ?f nil nil 3))) |
1303 @end lisp | 1358 @end lisp |
1306 @code{\myfig} macro. The @samp{*} marks the label argument. @code{?f} | 1361 @code{\myfig} macro. The @samp{*} marks the label argument. @code{?f} |
1307 indicates that this is a figure label which will be listed together with | 1362 indicates that this is a figure label which will be listed together with |
1308 labels from normal figure environments. The @code{nil} entries for | 1363 labels from normal figure environments. The @code{nil} entries for |
1309 prefix and reference format mean to use the defaults for figure labels. | 1364 prefix and reference format mean to use the defaults for figure labels. |
1310 The @samp{3} for the context method means to grab the 3rd macro argument | 1365 The @samp{3} for the context method means to grab the 3rd macro argument |
1311 - the caption.@refill | 1366 - the caption. |
1312 | 1367 |
1313 As a side effect of this configuration, @code{reftex-label} will now | 1368 As a side effect of this configuration, @code{reftex-label} will now |
1314 insert the required naked label (without the @code{\label} macro) when | 1369 insert the required naked label (without the @code{\label} macro) when |
1315 point is directly after the opening parenthesis of a @code{\myfig} macro | 1370 point is directly after the opening parenthesis of a @code{\myfig} macro |
1316 argument.@refill | 1371 argument. |
1317 | 1372 |
1318 Again, here the configuration in the customization buffer: | 1373 Again, here the configuration in the customization buffer: |
1319 | 1374 |
1320 @example | 1375 @example |
1321 [INS] [DEL] Package or Detailed : [Value Menu] Detailed: | 1376 [INS] [DEL] Package or Detailed : [Value Menu] Detailed: |
1339 just change the information associated with a label category. Maybe you | 1394 just change the information associated with a label category. Maybe you |
1340 want to add some magic words, for another language. Changing only the | 1395 want to add some magic words, for another language. Changing only the |
1341 information associated with a label category is done by giving | 1396 information associated with a label category is done by giving |
1342 @code{nil} for the environment name and then specify the items you want | 1397 @code{nil} for the environment name and then specify the items you want |
1343 to define. Here is an example which adds German magic words to all | 1398 to define. Here is an example which adds German magic words to all |
1344 predefined label categories.@refill | 1399 predefined label categories. |
1345 | 1400 |
1346 @lisp | 1401 @lisp |
1347 (setq reftex-label-alist | 1402 (setq reftex-label-alist |
1348 '((nil ?s nil nil nil ("Kapitel" "Kap." "Abschnitt" "Teil")) | 1403 '((nil ?s nil nil nil ("Kapitel" "Kap." "Abschnitt" "Teil")) |
1349 (nil ?e nil nil nil ("Gleichung" "Gl.")) | 1404 (nil ?e nil nil nil ("Gleichung" "Gl.")) |
1368 @lisp | 1423 @lisp |
1369 (setq reftex-label-alist '((nil ?e nil "~\\eqref@{%s@}" nil nil))) | 1424 (setq reftex-label-alist '((nil ?e nil "~\\eqref@{%s@}" nil nil))) |
1370 @end lisp | 1425 @end lisp |
1371 | 1426 |
1372 @b{Ref@TeX{}} has also a predefined symbol for this special purpose. The | 1427 @b{Ref@TeX{}} has also a predefined symbol for this special purpose. The |
1373 following is equivalent to the line above.@refill | 1428 following is equivalent to the line above. |
1374 | 1429 |
1375 @lisp | 1430 @lisp |
1376 (setq reftex-label-alist '(AMSTeX)) | 1431 (setq reftex-label-alist '(AMSTeX)) |
1377 @end lisp | 1432 @end lisp |
1378 | 1433 |
1379 Note that this is automatically done by the @file{amsmath.el} style file | 1434 Note that this is automatically done by the @file{amsmath.el} style file |
1380 of AUCTeX (@pxref{Style Files}) - so if you use AUCTeX, | 1435 of AUCTeX (@pxref{Style Files}) - so if you use AUCTeX, |
1381 this configuration will not be necessary.@refill | 1436 this configuration will not be necessary. |
1382 | 1437 |
1383 @node Non-Standard Environments, Putting it Together, Using \eqref, Defining Label Environments | 1438 @node Non-Standard Environments, Putting it Together, Using \eqref, Defining Label Environments |
1384 @subsection Non-standard Environments | 1439 @subsection Non-standard Environments |
1385 @cindex Non-standard environments | 1440 @cindex Non-standard environments |
1386 @cindex Environments without @code{\begin} | 1441 @cindex Environments without @code{\begin} |
1395 currently in the special environment it was written to detect. If so, | 1450 currently in the special environment it was written to detect. If so, |
1396 it must return a buffer position indicating the start of this | 1451 it must return a buffer position indicating the start of this |
1397 environment. The return value must be @code{nil} on failure to detect | 1452 environment. The return value must be @code{nil} on failure to detect |
1398 the environment. The function is called with one argument @var{bound}. | 1453 the environment. The function is called with one argument @var{bound}. |
1399 If non-@code{nil}, @var{bound} is a boundary for backwards searches | 1454 If non-@code{nil}, @var{bound} is a boundary for backwards searches |
1400 which should be observed. We will discuss two examples.@refill | 1455 which should be observed. We will discuss two examples. |
1401 | 1456 |
1402 @cindex LaTeX commands, abbreviated | 1457 @cindex LaTeX commands, abbreviated |
1403 | 1458 |
1404 Some people define abbreviations for | 1459 Some people define abbreviations for |
1405 environments, like @code{\be} for @code{\begin@{equation@}}, and | 1460 environments, like @code{\be} for @code{\begin@{equation@}}, and |
1407 to search backward for these macros. When the first match is | 1462 to search backward for these macros. When the first match is |
1408 @code{\ee}, point is not in this environment. When the first match is | 1463 @code{\ee}, point is not in this environment. When the first match is |
1409 @code{\be}, point is in this environment and the function must return | 1464 @code{\be}, point is in this environment and the function must return |
1410 the beginning of the match. To avoid scanning too far, we can also look | 1465 the beginning of the match. To avoid scanning too far, we can also look |
1411 for empty lines which cannot occur inside an equation environment. | 1466 for empty lines which cannot occur inside an equation environment. |
1412 Here is the setup:@refill | 1467 Here is the setup: |
1413 | 1468 |
1414 @lisp | 1469 @lisp |
1415 ;; Setup entry in reftex-label-alist, using all defaults for equations | 1470 ;; Setup entry in reftex-label-alist, using all defaults for equations |
1416 (setq reftex-label-alist '((detect-be-ee ?e nil nil nil nil))) | 1471 (setq reftex-label-alist '((detect-be-ee ?e nil nil nil nil))) |
1417 | 1472 |
1427 | 1482 |
1428 @cindex @code{linguex}, LaTeX package | 1483 @cindex @code{linguex}, LaTeX package |
1429 @cindex LaTeX packages, @code{linguex} | 1484 @cindex LaTeX packages, @code{linguex} |
1430 A more complex example is the @file{linguex.sty} package which defines | 1485 A more complex example is the @file{linguex.sty} package which defines |
1431 list macros @samp{\ex.}, @samp{\a.}, @samp{\b.} etc. for lists which are | 1486 list macros @samp{\ex.}, @samp{\a.}, @samp{\b.} etc. for lists which are |
1432 terminated by @samp{\z.} or by an empty line.@refill | 1487 terminated by @samp{\z.} or by an empty line. |
1433 | 1488 |
1434 @example | 1489 @example |
1435 \ex. \label@{ex:12@} Some text in an exotic language ... | 1490 \ex. \label@{ex:12@} Some text in an exotic language ... |
1436 \a. \label@{ex:13@} more stuff | 1491 \a. \label@{ex:13@} more stuff |
1437 \b. \label@{ex:14@} still more stuff | 1492 \b. \label@{ex:14@} still more stuff |
1517 message. | 1572 message. |
1518 | 1573 |
1519 @b{Ref@TeX{}} can also display the label definition corresponding to a | 1574 @b{Ref@TeX{}} can also display the label definition corresponding to a |
1520 @code{\ref} macro, or all reference locations corresponding to a | 1575 @code{\ref} macro, or all reference locations corresponding to a |
1521 @code{\label} macro. @xref{Viewing Cross-References}, for more | 1576 @code{\label} macro. @xref{Viewing Cross-References}, for more |
1522 information.@refill | 1577 information. |
1523 | 1578 |
1524 @node xr (LaTeX package), varioref (LaTeX package), Reference Info, Labels and References | 1579 @node xr (LaTeX package), varioref (LaTeX package), Reference Info, Labels and References |
1525 @section @code{xr}: Cross-Document References | 1580 @section @code{xr}: Cross-Document References |
1526 @cindex @code{xr}, LaTeX package | 1581 @cindex @code{xr}, LaTeX package |
1527 @cindex LaTeX packages, @code{xr} | 1582 @cindex LaTeX packages, @code{xr} |
1530 @cindex References to external documents | 1585 @cindex References to external documents |
1531 @cindex Cross-document references | 1586 @cindex Cross-document references |
1532 | 1587 |
1533 The LaTeX package @code{xr} makes it possible to create references to | 1588 The LaTeX package @code{xr} makes it possible to create references to |
1534 labels defined in external documents. The preamble of a document using | 1589 labels defined in external documents. The preamble of a document using |
1535 @code{xr} will contain something like this:@refill | 1590 @code{xr} will contain something like this: |
1536 | 1591 |
1537 @example | 1592 @example |
1538 \usepackage@{xr@} | 1593 \usepackage@{xr@} |
1539 \externaldocument[V1-]@{volume1@} | 1594 \externaldocument[V1-]@{volume1@} |
1540 \externaldocument[V3-]@{volume3@} | 1595 \externaldocument[V3-]@{volume3@} |
1541 @end example | 1596 @end example |
1542 | 1597 |
1543 @noindent | 1598 @noindent |
1544 and we can make references to any labels defined in these | 1599 and we can make references to any labels defined in these |
1545 external documents by using the prefixes @samp{V1-} and @samp{V3-}, | 1600 external documents by using the prefixes @samp{V1-} and @samp{V3-}, |
1546 respectively.@refill | 1601 respectively. |
1547 | 1602 |
1548 @b{Ref@TeX{}} can be used to create such references as well. Start the | 1603 @b{Ref@TeX{}} can be used to create such references as well. Start the |
1549 referencing process normally, by pressing @kbd{C-c )}. Select a label | 1604 referencing process normally, by pressing @kbd{C-c )}. Select a label |
1550 type if necessary. When you see the label selection buffer, pressing | 1605 type if necessary. When you see the label selection buffer, pressing |
1551 @kbd{x} will switch to the label selection buffer of one of the external | 1606 @kbd{x} will switch to the label selection buffer of one of the external |
1552 documents. You may then select a label as before and @b{Ref@TeX{}} will | 1607 documents. You may then select a label as before and @b{Ref@TeX{}} will |
1553 insert it along with the required prefix.@refill | 1608 insert it along with the required prefix. |
1554 | 1609 |
1555 For this kind of inter-document cross-references, saving of parsing | 1610 For this kind of inter-document cross-references, saving of parsing |
1556 information and the use of multiple selection buffers can mean a large | 1611 information and the use of multiple selection buffers can mean a large |
1557 speed-up (@pxref{Optimizations}).@refill | 1612 speed-up (@pxref{Optimizations}). |
1558 | 1613 |
1559 @node varioref (LaTeX package), fancyref (LaTeX package), xr (LaTeX package), Labels and References | 1614 @node varioref (LaTeX package), fancyref (LaTeX package), xr (LaTeX package), Labels and References |
1560 @section @code{varioref}: Variable Page References | 1615 @section @code{varioref}: Variable Page References |
1561 @cindex @code{varioref}, LaTeX package | 1616 @cindex @code{varioref}, LaTeX package |
1562 @cindex @code{\vref} | 1617 @cindex @code{\vref} |
1570 shows the current status of this switch. If you find that you almost | 1625 shows the current status of this switch. If you find that you almost |
1571 always use @code{\vref}, you may want to make it the default by | 1626 always use @code{\vref}, you may want to make it the default by |
1572 customizing the variable @code{reftex-vref-is-default}. If this | 1627 customizing the variable @code{reftex-vref-is-default}. If this |
1573 toggling seems too inconvenient, you can also use the command | 1628 toggling seems too inconvenient, you can also use the command |
1574 @code{reftex-varioref-vref}@footnote{bind it to @kbd{C-c v}.}. | 1629 @code{reftex-varioref-vref}@footnote{bind it to @kbd{C-c v}.}. |
1575 Or use AUCTeX to create your macros (@pxref{AUCTeX}).@refill | 1630 Or use AUCTeX to create your macros (@pxref{AUCTeX}). |
1576 | 1631 |
1577 @node fancyref (LaTeX package), , varioref (LaTeX package), Labels and References | 1632 @node fancyref (LaTeX package), , varioref (LaTeX package), Labels and References |
1578 @section @code{fancyref}: Fancy Cross References | 1633 @section @code{fancyref}: Fancy Cross References |
1579 @cindex @code{fancyref}, LaTeX package | 1634 @cindex @code{fancyref}, LaTeX package |
1580 @cindex @code{\fref} | 1635 @cindex @code{\fref} |
1592 (@pxref{Referencing Labels}). The mode line of the selection buffer | 1647 (@pxref{Referencing Labels}). The mode line of the selection buffer |
1593 shows the current status of this switch. If this cycling seems | 1648 shows the current status of this switch. If this cycling seems |
1594 inconvenient, you can also use the commands @code{reftex-fancyref-fref} | 1649 inconvenient, you can also use the commands @code{reftex-fancyref-fref} |
1595 and @code{reftex-fancyref-Fref}@footnote{bind them to @kbd{C-c | 1650 and @code{reftex-fancyref-Fref}@footnote{bind them to @kbd{C-c |
1596 f} and @kbd{C-c F}.}. Or use AUCTeX to create your macros | 1651 f} and @kbd{C-c F}.}. Or use AUCTeX to create your macros |
1597 (@pxref{AUCTeX}).@refill | 1652 (@pxref{AUCTeX}). |
1598 | 1653 |
1599 @node Citations, Index Support, Labels and References, Top | 1654 @node Citations, Index Support, Labels and References, Top |
1600 @chapter Citations | 1655 @chapter Citations |
1601 @cindex Citations | 1656 @cindex Citations |
1602 @cindex @code{\cite} | 1657 @cindex @code{\cite} |
1603 | 1658 |
1604 Citations in LaTeX are done with the @code{\cite} macro or variations of | 1659 Citations in LaTeX are done with the @code{\cite} macro or variations of |
1605 it. The argument of the macro is a citation key which identifies an | 1660 it. The argument of the macro is a citation key which identifies an |
1606 article or book in either a BibTeX database file or in an explicit | 1661 article or book in either a BibTeX database file or in an explicit |
1607 @code{thebibliography} environment in the document. @b{Ref@TeX{}}'s | 1662 @code{thebibliography} environment in the document. @b{Ref@TeX{}}'s |
1608 support for citations helps to select the correct key quickly.@refill | 1663 support for citations helps to select the correct key quickly. |
1609 | 1664 |
1610 @menu | 1665 @menu |
1611 * Creating Citations:: How to create them. | 1666 * Creating Citations:: How to create them. |
1612 * Citation Styles:: Natbib, Harvard, Chicago and Co. | 1667 * Citation Styles:: Natbib, Harvard, Chicago and Co. |
1613 * Citation Info:: View the corresponding database entry. | 1668 * Citation Info:: View the corresponding database entry. |
1614 * Chapterbib and Bibunits:: Multiple bibliographies in a Document. | 1669 * Chapterbib and Bibunits:: Multiple bibliographies in a Document. |
1615 * Citations Outside LaTeX:: How to make citations in Emails etc. | 1670 * Citations Outside LaTeX:: How to make citations in Emails etc. |
1671 * BibTeX Database Subsets:: Extract parts of a big database. | |
1616 @end menu | 1672 @end menu |
1617 | 1673 |
1618 @node Creating Citations, Citation Styles, , Citations | 1674 @node Creating Citations, Citation Styles, , Citations |
1619 @section Creating Citations | 1675 @section Creating Citations |
1620 @cindex Creating citations | 1676 @cindex Creating citations |
1626 | 1682 |
1627 In order to create a citation, press @kbd{C-c [}. @b{Ref@TeX{}} then | 1683 In order to create a citation, press @kbd{C-c [}. @b{Ref@TeX{}} then |
1628 prompts for a regular expression which will be used to search through | 1684 prompts for a regular expression which will be used to search through |
1629 the database and present the list of matches to choose from in a | 1685 the database and present the list of matches to choose from in a |
1630 selection process similar to that for selecting labels | 1686 selection process similar to that for selecting labels |
1631 (@pxref{Referencing Labels}).@refill | 1687 (@pxref{Referencing Labels}). |
1632 | 1688 |
1633 The regular expression uses an extended syntax: @samp{&&} defines a | 1689 The regular expression uses an extended syntax: @samp{&&} defines a |
1634 logic @code{and} for regular expressions. For example | 1690 logic @code{and} for regular expressions. For example |
1635 @samp{Einstein&&Bose} will match all articles which mention | 1691 @samp{Einstein&&Bose} will match all articles which mention |
1636 Bose-Einstein condensation, or which are co-authored by Bose and | 1692 Bose-Einstein condensation, or which are co-authored by Bose and |
1637 Einstein. When entering the regular expression, you can complete on | 1693 Einstein. When entering the regular expression, you can complete on |
1638 known citation keys. RefTeX also offers a default when prompting for a | 1694 known citation keys. RefTeX also offers a default when prompting for a |
1639 regular expression. This default is the word before the cursor or the | 1695 regular expression. This default is the word before the cursor or the |
1640 word before the current @samp{\cite} command. Sometimes this may be a | 1696 word before the current @samp{\cite} command. Sometimes this may be a |
1641 good search key.@refill | 1697 good search key. |
1642 | 1698 |
1643 @cindex @code{\bibliography} | 1699 @cindex @code{\bibliography} |
1644 @cindex @code{thebibliography}, LaTeX environment | 1700 @cindex @code{thebibliography}, LaTeX environment |
1645 @cindex @code{BIBINPUTS}, environment variable | 1701 @cindex @code{BIBINPUTS}, environment variable |
1646 @cindex @code{TEXBIB}, environment variable | 1702 @cindex @code{TEXBIB}, environment variable |
1651 If you do not use BibTeX, but the document contains an explicit | 1707 If you do not use BibTeX, but the document contains an explicit |
1652 @code{thebibliography} environment, @b{Ref@TeX{}} will collect its | 1708 @code{thebibliography} environment, @b{Ref@TeX{}} will collect its |
1653 information from there. Note that in this case the information | 1709 information from there. Note that in this case the information |
1654 presented in the selection buffer will just be a copy of relevant | 1710 presented in the selection buffer will just be a copy of relevant |
1655 @code{\bibitem} entries, not the structured listing available with | 1711 @code{\bibitem} entries, not the structured listing available with |
1656 BibTeX database files.@refill | 1712 BibTeX database files. |
1657 | 1713 |
1658 @kindex ? | 1714 @kindex ? |
1659 In the selection buffer, the following keys provide special commands. A | 1715 In the selection buffer, the following keys provide special commands. A |
1660 summary of this information is always available from the selection | 1716 summary of this information is always available from the selection |
1661 process by pressing @kbd{?}.@refill | 1717 process by pressing @kbd{?}. |
1662 | 1718 |
1663 @table @kbd | 1719 @table @kbd |
1664 @tablesubheading{General} | 1720 @tablesubheading{General} |
1665 @item ? | 1721 @item ? |
1666 Show a summary of available commands. | 1722 Show a summary of available commands. |
1676 Go to previous article. | 1732 Go to previous article. |
1677 | 1733 |
1678 @tablesubheading{Access to full database entries} | 1734 @tablesubheading{Access to full database entries} |
1679 @item @key{SPC} | 1735 @item @key{SPC} |
1680 Show the database entry corresponding to the article at point, in | 1736 Show the database entry corresponding to the article at point, in |
1681 another window. See also the @kbd{f} key.@refill | 1737 another window. See also the @kbd{f} key. |
1682 | 1738 |
1683 @item f | 1739 @item f |
1684 Toggle follow mode. When follow mode is active, the other window will | 1740 Toggle follow mode. When follow mode is active, the other window will |
1685 always display the full database entry of the current article. This is | 1741 always display the full database entry of the current article. This is |
1686 equivalent to pressing @key{SPC} after each cursor motion. With BibTeX | 1742 equivalent to pressing @key{SPC} after each cursor motion. With BibTeX |
1687 entries, follow mode can be rather slow.@refill | 1743 entries, follow mode can be rather slow. |
1688 | 1744 |
1689 @tablesubheading{Selecting entries and creating the citation} | 1745 @tablesubheading{Selecting entries and creating the citation} |
1690 @item @key{RET} | 1746 @item @key{RET} |
1691 Insert a citation referencing the article at point into the buffer from | 1747 Insert a citation referencing the article at point into the buffer from |
1692 which the selection process was started.@refill | 1748 which the selection process was started. |
1693 | 1749 |
1694 @item mouse-2 | 1750 @item mouse-2 |
1695 @vindex reftex-highlight-selection | 1751 @vindex reftex-highlight-selection |
1696 Clicking with mouse button 2 on a citation will accept it like @key{RET} | 1752 Clicking with mouse button 2 on a citation will accept it like @key{RET} |
1697 would. See also variable @code{reftex-highlight-selection}, @ref{Options | 1753 would. See also variable @code{reftex-highlight-selection}, @ref{Options |
1698 (Misc)}.@refill | 1754 (Misc)}. |
1699 | 1755 |
1700 @item m | 1756 @item m |
1701 Mark the current entry. When one or several entries are marked, | 1757 Mark the current entry. When one or several entries are marked, |
1702 pressing @kbd{a} or @kbd{A} accepts all marked entries. Also, | 1758 pressing @kbd{a} or @kbd{A} accepts all marked entries. Also, |
1703 @key{RET} behaves like the @kbd{a} key. | 1759 @key{RET} behaves like the @kbd{a} key. |
1705 @item u | 1761 @item u |
1706 Unmark a marked entry. | 1762 Unmark a marked entry. |
1707 | 1763 |
1708 @item a | 1764 @item a |
1709 Accept all (marked) entries in the selection buffer and create a single | 1765 Accept all (marked) entries in the selection buffer and create a single |
1710 @code{\cite} macro referring to them.@refill | 1766 @code{\cite} macro referring to them. |
1711 | 1767 |
1712 @item A | 1768 @item A |
1713 Accept all (marked) entries in the selection buffer and create a | 1769 Accept all (marked) entries in the selection buffer and create a |
1714 separate @code{\cite} macro for each of it.@refill | 1770 separate @code{\cite} macro for each of it. |
1771 | |
1772 @item e | |
1773 Create a new BibTeX database file which contains all @i{marked} entries | |
1774 in the selection buffer. If no entries are marked, all entries are | |
1775 selected. | |
1776 | |
1777 @item E | |
1778 Create a new BibTeX database file which contains all @i{unmarked} | |
1779 entries in the selection buffer. If no entries are marked, all entries | |
1780 are selected. | |
1715 | 1781 |
1716 @item @key{TAB} | 1782 @item @key{TAB} |
1717 Enter a citation key with completion. This may also be a key which does | 1783 Enter a citation key with completion. This may also be a key which does |
1718 not yet exist. | 1784 not yet exist. |
1719 | 1785 |
1720 @item . | 1786 @item . |
1721 Show insertion point in another window. This is the point from where you | 1787 Show insertion point in another window. This is the point from where you |
1722 called @code{reftex-citation}.@refill | 1788 called @code{reftex-citation}. |
1723 | 1789 |
1724 @tablesubheading{Exiting} | 1790 @tablesubheading{Exiting} |
1725 @item q | 1791 @item q |
1726 Exit the selection process without inserting a citation into the | 1792 Exit the selection process without inserting a citation into the |
1727 buffer.@refill | 1793 buffer. |
1728 | 1794 |
1729 @tablesubheading{Updating the buffer} | 1795 @tablesubheading{Updating the buffer} |
1730 | 1796 |
1731 @item g | 1797 @item g |
1732 Start over with a new regular expression. The full database will be | 1798 Start over with a new regular expression. The full database will be |
1733 rescanned with the new expression (see also @kbd{r}).@refill | 1799 rescanned with the new expression (see also @kbd{r}). |
1734 | 1800 |
1735 @c FIXME: Should we use something else here? r is usually rescan! | 1801 @c FIXME: Should we use something else here? r is usually rescan! |
1736 @item r | 1802 @item r |
1737 Refine the current selection with another regular expression. This will | 1803 Refine the current selection with another regular expression. This will |
1738 @emph{not} rescan the entire database, but just the already selected | 1804 @emph{not} rescan the entire database, but just the already selected |
1739 entries.@refill | 1805 entries. |
1740 | 1806 |
1741 @end table | 1807 @end table |
1742 | 1808 |
1743 @vindex reftex-select-bib-map | 1809 @vindex reftex-select-bib-map |
1744 In order to define additional commands for this selection process, the | 1810 In order to define additional commands for this selection process, the |
1745 keymap @code{reftex-select-bib-map} may be used.@refill | 1811 keymap @code{reftex-select-bib-map} may be used. |
1746 | 1812 |
1747 @node Citation Styles, Citation Info, Creating Citations, Citations | 1813 @node Citation Styles, Citation Info, Creating Citations, Citations |
1748 @section Citation Styles | 1814 @section Citation Styles |
1749 @cindex Citation styles | 1815 @cindex Citation styles |
1750 @cindex Citation styles, @code{natbib} | 1816 @cindex Citation styles, @code{natbib} |
1751 @cindex Citation styles, @code{harvard} | 1817 @cindex Citation styles, @code{harvard} |
1752 @cindex Citation styles, @code{chicago} | 1818 @cindex Citation styles, @code{chicago} |
1819 @cindex Citation styles, @code{jurabib} | |
1753 @cindex @code{natbib}, citation style | 1820 @cindex @code{natbib}, citation style |
1754 @cindex @code{harvard}, citation style | 1821 @cindex @code{harvard}, citation style |
1755 @cindex @code{chicago}, citation style | 1822 @cindex @code{chicago}, citation style |
1823 @cindex @code{jurabib}, citation style | |
1756 | 1824 |
1757 @vindex reftex-cite-format | 1825 @vindex reftex-cite-format |
1758 The standard LaTeX macro @code{\cite} works well with numeric or simple | 1826 The standard LaTeX macro @code{\cite} works well with numeric or simple |
1759 key citations. To deal with the more complex task of author-year | 1827 key citations. To deal with the more complex task of author-year |
1760 citations as used in many natural sciences, a variety of packages has | 1828 citations as used in many natural sciences, a variety of packages has |
1761 been developed which define derived forms of the @code{\cite} macro. | 1829 been developed which define derived forms of the @code{\cite} macro. |
1762 @b{Ref@TeX{}} can be configured to produce these citation macros as well by | 1830 @b{Ref@TeX{}} can be configured to produce these citation macros as well |
1763 setting the variable @code{reftex-cite-format}. For the most commonly | 1831 by setting the variable @code{reftex-cite-format}. For the most |
1764 used packages (@code{natbib}, @code{harvard}, @code{chicago}) this may | 1832 commonly used packages (@code{natbib}, @code{harvard}, @code{chicago}, |
1765 be done from the menu, under @code{Ref->Citation Styles}. Since there | 1833 @code{jurabib}) this may be done from the menu, under |
1766 are usually several macros to create the citations, executing | 1834 @code{Ref->Citation Styles}. Since there are usually several macros to |
1767 @code{reftex-citation} (@kbd{C-c [}) starts by prompting for the correct | 1835 create the citations, executing @code{reftex-citation} (@kbd{C-c [}) |
1768 macro. For the Natbib style, this looks like this: | 1836 starts by prompting for the correct macro. For the Natbib style, this |
1837 looks like this: | |
1769 | 1838 |
1770 @example | 1839 @example |
1771 SELECT A CITATION FORMAT | 1840 SELECT A CITATION FORMAT |
1772 | 1841 |
1773 [^M] \cite@{%l@} | 1842 [^M] \cite@{%l@} |
1780 [a] \citeauthor@{%l@} | 1849 [a] \citeauthor@{%l@} |
1781 [A] \citeauthor*@{%l@} | 1850 [A] \citeauthor*@{%l@} |
1782 [y] \citeyear@{%l@} | 1851 [y] \citeyear@{%l@} |
1783 @end example | 1852 @end example |
1784 | 1853 |
1854 @vindex reftex-cite-prompt-optional-args | |
1855 If cite formats contain empty paris of square brackets, RefTeX can | |
1856 will prompt for values of these optional arguments if you call the | |
1857 @code{reftex-citation} command with a @kbd{C-u} prefix. | |
1785 Following the most generic of these packages, @code{natbib}, the builtin | 1858 Following the most generic of these packages, @code{natbib}, the builtin |
1786 citation packages always accept the @kbd{t} key for a @emph{textual} | 1859 citation packages always accept the @kbd{t} key for a @emph{textual} |
1787 citation (like: @code{Jones et al. (1997) have shown...}) as well as | 1860 citation (like: @code{Jones et al. (1997) have shown...}) as well as |
1788 the @kbd{p} key for a parenthetical citation (like: @code{As shown | 1861 the @kbd{p} key for a parenthetical citation (like: @code{As shown |
1789 earlier (Jones et al, 1997)}).@refill | 1862 earlier (Jones et al, 1997)}). |
1790 | 1863 |
1791 To make one of these styles the default, customize the variable | 1864 To make one of these styles the default, customize the variable |
1792 @code{reftex-cite-format} or put into @file{.emacs}: | 1865 @code{reftex-cite-format} or put into @file{.emacs}: |
1793 | 1866 |
1794 @lisp | 1867 @lisp |
1796 @end lisp | 1869 @end lisp |
1797 | 1870 |
1798 You can also use AUCTeX style files to automatically set the | 1871 You can also use AUCTeX style files to automatically set the |
1799 citation style based on the @code{usepackage} commands in a given | 1872 citation style based on the @code{usepackage} commands in a given |
1800 document. @xref{Style Files}, for information on how to set up the style | 1873 document. @xref{Style Files}, for information on how to set up the style |
1801 files correctly.@refill | 1874 files correctly. |
1802 | 1875 |
1803 @node Citation Info, Chapterbib and Bibunits, Citation Styles, Citations, Top | 1876 @node Citation Info, Chapterbib and Bibunits, Citation Styles, Citations, Top |
1804 @section Citation Info | 1877 @section Citation Info |
1805 @cindex Displaying citations | 1878 @cindex Displaying citations |
1806 @cindex Citations, displaying | 1879 @cindex Citations, displaying |
1817 only displayed if the echo area is not occupied by a different message. | 1890 only displayed if the echo area is not occupied by a different message. |
1818 | 1891 |
1819 @b{Ref@TeX{}} can also display the @code{\bibitem} or BibTeX database | 1892 @b{Ref@TeX{}} can also display the @code{\bibitem} or BibTeX database |
1820 entry corresponding to a @code{\cite} macro, or all citation locations | 1893 entry corresponding to a @code{\cite} macro, or all citation locations |
1821 corresponding to a @code{\bibitem} or BibTeX database entry. | 1894 corresponding to a @code{\bibitem} or BibTeX database entry. |
1822 @xref{Viewing Cross-References}.@refill | 1895 @xref{Viewing Cross-References}. |
1823 | 1896 |
1824 @node Chapterbib and Bibunits, Citations Outside LaTeX, Citation Info, Citations | 1897 @node Chapterbib and Bibunits, Citations Outside LaTeX, Citation Info, Citations |
1825 @section Chapterbib and Bibunits | 1898 @section Chapterbib and Bibunits |
1826 @cindex @code{chapterbib}, LaTeX package | 1899 @cindex @code{chapterbib}, LaTeX package |
1827 @cindex @code{bibunits}, LaTeX package | 1900 @cindex @code{bibunits}, LaTeX package |
1834 separate file (as it is required for @code{chapterbib} anyway). Then | 1907 separate file (as it is required for @code{chapterbib} anyway). Then |
1835 @b{Ref@TeX{}} will still scan the locally relevant databases correctly. If | 1908 @b{Ref@TeX{}} will still scan the locally relevant databases correctly. If |
1836 you have multiple bibliographies within a @emph{single file}, this may | 1909 you have multiple bibliographies within a @emph{single file}, this may |
1837 or may not be the case. | 1910 or may not be the case. |
1838 | 1911 |
1839 @node Citations Outside LaTeX, , Chapterbib and Bibunits, Citations | 1912 @node Citations Outside LaTeX, BibTeX Database Subsets, Chapterbib and Bibunits, Citations |
1840 @section Citations outside LaTeX | 1913 @section Citations outside LaTeX |
1841 @cindex Citations outside LaTeX | 1914 @cindex Citations outside LaTeX |
1842 @vindex reftex-default-bibliography | 1915 @vindex reftex-default-bibliography |
1843 | 1916 |
1844 The command @code{reftex-citation} can also be executed outside a LaTeX | 1917 The command @code{reftex-citation} can also be executed outside a LaTeX |
1848 case be taken from the variable @code{reftex-default-bibliography}. | 1921 case be taken from the variable @code{reftex-default-bibliography}. |
1849 Setting the variable @code{reftex-cite-format} to the symbol | 1922 Setting the variable @code{reftex-cite-format} to the symbol |
1850 @code{locally} does a decent job of putting all relevant information | 1923 @code{locally} does a decent job of putting all relevant information |
1851 about a citation directly into the buffer. Here is the lisp code to add | 1924 about a citation directly into the buffer. Here is the lisp code to add |
1852 the @kbd{C-c [} binding to the mail buffer. It also provides a local | 1925 the @kbd{C-c [} binding to the mail buffer. It also provides a local |
1853 binding for @code{reftex-cite-format}.@refill | 1926 binding for @code{reftex-cite-format}. |
1854 | 1927 |
1855 @lisp | 1928 @lisp |
1856 (add-hook 'mail-setup-hook | 1929 (add-hook 'mail-setup-hook |
1857 (lambda () (define-key mail-mode-map "\C-c[" | 1930 (lambda () (define-key mail-mode-map "\C-c[" |
1858 (lambda () (interactive) | 1931 (lambda () (interactive) |
1859 (require 'reftex) | 1932 (require 'reftex) |
1860 (let ((reftex-cite-format 'locally)) | 1933 (let ((reftex-cite-format 'locally)) |
1861 (reftex-citation)))))) | 1934 (reftex-citation)))))) |
1862 @end lisp | 1935 @end lisp |
1863 | 1936 |
1937 @node BibTeX Database Subsets, , Citations Outside LaTeX, Citations | |
1938 @section Database Subsets | |
1939 @cindex BibTeX database subsets | |
1940 @findex reftex-create-bibtex-file | |
1941 | |
1942 @b{Ref@TeX{}} offers two ways to create a new BibTeX database file. | |
1943 | |
1944 The first option produces a file which contains only the entries | |
1945 actually referenced in the current document. This can be useful if | |
1946 the database in only meant for a single document and you want to clean | |
1947 it of old and unused ballast. It can also be useful while writing a | |
1948 document together with collaborators, in order to avoid sending around | |
1949 the entire (possibly very large) database. To create the file, use | |
1950 @kbd{M-x reftex-create-bibtex-file}, also available from the menu | |
1951 under @code{Ref->Global Actions->Create Bibtex File}. The command will | |
1952 prompt for a BibTeX file name and write the extracted entries to that | |
1953 file. | |
1954 | |
1955 The second option makes use of the selection process started by the | |
1956 command @kbd{C-c [} (@pxref{Creating Citations}). This command uses a | |
1957 regular expression to select entries, and lists them in a formatted | |
1958 selection buffer. After pressing the @kbd{e} key (mnemonics: Export), | |
1959 the command will prompt for the name of a new BibTeX file and write | |
1960 the selected entries to that file. You can also first mark some | |
1961 entries in the selection buffer with the @kbd{m} key and then export | |
1962 either the @i{marked} entries (with the @kbd{e} key) or the | |
1963 @i{unmarked} entries (with the @kbd{E} key). | |
1964 | |
1864 @node Index Support, Viewing Cross-References, Citations, Top | 1965 @node Index Support, Viewing Cross-References, Citations, Top |
1865 @chapter Index Support | 1966 @chapter Index Support |
1866 @cindex Index Support | 1967 @cindex Index Support |
1867 @cindex @code{\index} | 1968 @cindex @code{\index} |
1868 | 1969 |
1873 | 1974 |
1874 Index entries are created with the @code{\index@{@var{entry}@}} macro. | 1975 Index entries are created with the @code{\index@{@var{entry}@}} macro. |
1875 All entries defined in a document are written out to the @file{.aux} | 1976 All entries defined in a document are written out to the @file{.aux} |
1876 file. A separate tool must be used to convert this information into a | 1977 file. A separate tool must be used to convert this information into a |
1877 nicely formatted index. Tools used with LaTeX include @code{MakeIndex} | 1978 nicely formatted index. Tools used with LaTeX include @code{MakeIndex} |
1878 and @code{xindy}.@refill | 1979 and @code{xindy}. |
1879 | 1980 |
1880 Indexing is a very difficult task. It must follow strict conventions to | 1981 Indexing is a very difficult task. It must follow strict conventions to |
1881 make the index consistent and complete. There are basically two | 1982 make the index consistent and complete. There are basically two |
1882 approaches one can follow, and both have their merits. | 1983 approaches one can follow, and both have their merits. |
1883 | 1984 |
1891 very well be developed along with the document. Often it is worthwhile | 1992 very well be developed along with the document. Often it is worthwhile |
1892 to define special purpose macros which define an item and at the same | 1993 to define special purpose macros which define an item and at the same |
1893 time make an index entry, possibly with special formatting to make the | 1994 time make an index entry, possibly with special formatting to make the |
1894 reference page in the index bold or underlined. To make @b{Ref@TeX{}} | 1995 reference page in the index bold or underlined. To make @b{Ref@TeX{}} |
1895 support for indexing possible, these special macros must be added to | 1996 support for indexing possible, these special macros must be added to |
1896 @b{Ref@TeX{}}'s configuration (@pxref{Defining Index Macros}).@refill | 1997 @b{Ref@TeX{}}'s configuration (@pxref{Defining Index Macros}). |
1897 | 1998 |
1898 @item | 1999 @item |
1899 The rest of the index is often just a collection of where in the | 2000 The rest of the index is often just a collection of where in the |
1900 document certain words or phrases are being used. This part is | 2001 document certain words or phrases are being used. This part is |
1901 difficult to develop along with the document, because consistent entries | 2002 difficult to develop along with the document, because consistent entries |
1902 for each occurrence are needed and are best selected when the document | 2003 for each occurrence are needed and are best selected when the document |
1903 is ready. @b{Ref@TeX{}} supports this with an @emph{index phrases file} | 2004 is ready. @b{Ref@TeX{}} supports this with an @emph{index phrases file} |
1904 which collects phrases and helps indexing the phrases globally.@refill | 2005 which collects phrases and helps indexing the phrases globally. |
1905 @end enumerate | 2006 @end enumerate |
1906 | 2007 |
1907 Before you start, you need to make sure that @b{Ref@TeX{}} knows about | 2008 Before you start, you need to make sure that @b{Ref@TeX{}} knows about |
1908 the index style being used in the current document. @b{Ref@TeX{}} has | 2009 the index style being used in the current document. @b{Ref@TeX{}} has |
1909 builtin support for the default @code{\index} and @code{\glossary} | 2010 builtin support for the default @code{\index} and @code{\glossary} |
1911 package, redefine the @code{\index} macro to have an additional | 2012 package, redefine the @code{\index} macro to have an additional |
1912 argument, and @b{Ref@TeX{}} needs to be configured for those. A | 2013 argument, and @b{Ref@TeX{}} needs to be configured for those. A |
1913 sufficiently new version of AUCTeX (9.10c or later) will do this | 2014 sufficiently new version of AUCTeX (9.10c or later) will do this |
1914 automatically. If you really don't use AUCTeX (you should!), this | 2015 automatically. If you really don't use AUCTeX (you should!), this |
1915 configuration needs to be done by hand with the menu (@code{Ref->Index | 2016 configuration needs to be done by hand with the menu (@code{Ref->Index |
1916 Style}), or globally for all your documents with@refill | 2017 Style}), or globally for all your documents with |
1917 | 2018 |
1918 @lisp | 2019 @lisp |
1919 (setq reftex-index-macros '(multind)) @r{or} | 2020 (setq reftex-index-macros '(multind)) @r{or} |
1920 (setq reftex-index-macros '(index)) | 2021 (setq reftex-index-macros '(index)) |
1921 @end lisp | 2022 @end lisp |
1955 (@code{reftex-index}). @b{Ref@TeX{}} will prompt for one of the | 2056 (@code{reftex-index}). @b{Ref@TeX{}} will prompt for one of the |
1956 available index macros and for its arguments. Completion will be | 2057 available index macros and for its arguments. Completion will be |
1957 available for the index entry and, if applicable, the index tag. The | 2058 available for the index entry and, if applicable, the index tag. The |
1958 index tag is a string identifying one of multiple indices. With the | 2059 index tag is a string identifying one of multiple indices. With the |
1959 @file{multind} and @file{index} packages, this tag is the first argument | 2060 @file{multind} and @file{index} packages, this tag is the first argument |
1960 to the redefined @code{\index} macro.@refill | 2061 to the redefined @code{\index} macro. |
1961 | 2062 |
1962 @node The Index Phrases File, Displaying and Editing the Index, Creating Index Entries, Index Support | 2063 @node The Index Phrases File, Displaying and Editing the Index, Creating Index Entries, Index Support |
1963 @section The Index Phrases File | 2064 @section The Index Phrases File |
1964 @cindex Index phrase file | 2065 @cindex Index phrase file |
1965 @cindex Phrase file | 2066 @cindex Phrase file |
1975 is initialized by inserting a file header which contains the definition | 2076 is initialized by inserting a file header which contains the definition |
1976 of the available index macros. This list is initialized from | 2077 of the available index macros. This list is initialized from |
1977 @code{reftex-index-macros} (@pxref{Defining Index Macros}). You can | 2078 @code{reftex-index-macros} (@pxref{Defining Index Macros}). You can |
1978 edit the header as needed, but if you define new LaTeX indexing macros, | 2079 edit the header as needed, but if you define new LaTeX indexing macros, |
1979 don't forget to add them to @code{reftex-index-macros} as well. Here is | 2080 don't forget to add them to @code{reftex-index-macros} as well. Here is |
1980 a phrase file header example:@refill | 2081 a phrase file header example: |
1981 | 2082 |
1982 @example | 2083 @example |
1983 % -*- mode: reftex-index-phrases -*- | 2084 % -*- mode: reftex-index-phrases -*- |
1984 % Key Macro Format Repeat | 2085 % Key Macro Format Repeat |
1985 %---------------------------------------------------------- | 2086 %---------------------------------------------------------- |
1997 indicates if @var{word} is indexed by the macro as | 2098 indicates if @var{word} is indexed by the macro as |
1998 @samp{\index@{@var{word}@}} (@var{repeat} = @code{nil}) or as | 2099 @samp{\index@{@var{word}@}} (@var{repeat} = @code{nil}) or as |
1999 @samp{\index@{@var{word}@}@var{word}} (@var{repeat} = @code{t}). In the | 2100 @samp{\index@{@var{word}@}@var{word}} (@var{repeat} = @code{t}). In the |
2000 above example it is assumed that the macro @code{\index*@{@var{word}@}} | 2101 above example it is assumed that the macro @code{\index*@{@var{word}@}} |
2001 already typesets its argument in the text, so that it is unnecessary to | 2102 already typesets its argument in the text, so that it is unnecessary to |
2002 repeat @var{word} outside the macro.@refill | 2103 repeat @var{word} outside the macro. |
2003 | 2104 |
2004 @menu | 2105 @menu |
2005 * Collecting Phrases:: Collecting from document or external. | 2106 * Collecting Phrases:: Collecting from document or external. |
2006 * Consistency Checks:: Check for duplicates etc. | 2107 * Consistency Checks:: Check for duplicates etc. |
2007 * Global Indexing:: The interactive indexing process. | 2108 * Global Indexing:: The interactive indexing process. |
2047 }@footnote{@samp{&&} with optional spaces, see | 2148 }@footnote{@samp{&&} with optional spaces, see |
2048 @code{reftex-index-phrases-logical-and-regexp}.}. If you want to be | 2149 @code{reftex-index-phrases-logical-and-regexp}.}. If you want to be |
2049 able to choose at each match between several different index arguments, | 2150 able to choose at each match between several different index arguments, |
2050 separate them with @samp{ || }@footnote{@samp{||} with optional spaces, | 2151 separate them with @samp{ || }@footnote{@samp{||} with optional spaces, |
2051 see @code{reftex-index-phrases-logical-or-regexp}.}. Here is an | 2152 see @code{reftex-index-phrases-logical-or-regexp}.}. Here is an |
2052 example:@refill | 2153 example: |
2053 | 2154 |
2054 @example | 2155 @example |
2055 %-------------------------------------------------------------------- | 2156 %-------------------------------------------------------------------- |
2056 I Sun | 2157 I Sun |
2057 i Planet Planets | 2158 i Planet Planets |
2069 macro definition in the file header (see above example). At each | 2170 macro definition in the file header (see above example). At each |
2070 occurrence of @samp{Mars} you will be able choose between indexing it as | 2171 occurrence of @samp{Mars} you will be able choose between indexing it as |
2071 a subitem of @samp{Planets}, @samp{Gods} or @samp{Chocolate Bars}. | 2172 a subitem of @samp{Planets}, @samp{Gods} or @samp{Chocolate Bars}. |
2072 Finally, every occurrence of @samp{Pluto} will be indexed as | 2173 Finally, every occurrence of @samp{Pluto} will be indexed as |
2073 @samp{\index@{Planets!Pluto@}\index@{Kuiper Belt Objects!Pluto@}Pluto} | 2174 @samp{\index@{Planets!Pluto@}\index@{Kuiper Belt Objects!Pluto@}Pluto} |
2074 and will therefore create two different index entries.@refill | 2175 and will therefore create two different index entries. |
2075 | 2176 |
2076 @node Consistency Checks, Global Indexing, Collecting Phrases, The Index Phrases File | 2177 @node Consistency Checks, Global Indexing, Collecting Phrases, The Index Phrases File |
2077 @subsection Consistency Checks | 2178 @subsection Consistency Checks |
2078 @cindex Index phrases, consistency checks | 2179 @cindex Index phrases, consistency checks |
2079 @cindex Phrases, consistency checks | 2180 @cindex Phrases, consistency checks |
2085 alphabetically - this is done with the command @kbd{C-c C-s} | 2186 alphabetically - this is done with the command @kbd{C-c C-s} |
2086 (@code{reftex-index-sort-phrases}). It will sort all phrases in the | 2187 (@code{reftex-index-sort-phrases}). It will sort all phrases in the |
2087 buffer alphabetically by search phrase. If you want to group certain | 2188 buffer alphabetically by search phrase. If you want to group certain |
2088 phrases and only sort within the groups, insert empty lines between the | 2189 phrases and only sort within the groups, insert empty lines between the |
2089 groups. Sorting will only change the sequence of phrases within each | 2190 groups. Sorting will only change the sequence of phrases within each |
2090 group (see the variable @code{reftex-index-phrases-sort-in-blocks}).@refill | 2191 group (see the variable @code{reftex-index-phrases-sort-in-blocks}). |
2091 | 2192 |
2092 @kindex C-c C-i | 2193 @kindex C-c C-i |
2093 A useful command is @kbd{C-c C-i} (@code{reftex-index-phrases-info}) | 2194 A useful command is @kbd{C-c C-i} (@code{reftex-index-phrases-info}) |
2094 which lists information about the phrase at point, including an example | 2195 which lists information about the phrase at point, including an example |
2095 of how the index entry will look like and the number of expected matches | 2196 of how the index entry will look like and the number of expected matches |
2096 in the document.@refill | 2197 in the document. |
2097 | 2198 |
2098 @kindex C-c C-t | 2199 @kindex C-c C-t |
2099 Another important check is to find out if there are double or | 2200 Another important check is to find out if there are double or |
2100 overlapping entries in the buffer. For example if you are first | 2201 overlapping entries in the buffer. For example if you are first |
2101 searching and indexing @samp{Mars} and then @samp{Planet Mars}, the | 2202 searching and indexing @samp{Mars} and then @samp{Planet Mars}, the |
2102 second phrase will not match because of the index macro inserted before | 2203 second phrase will not match because of the index macro inserted before |
2103 @samp{Mars} earlier. The command @kbd{C-c C-t} | 2204 @samp{Mars} earlier. The command @kbd{C-c C-t} |
2104 (@code{reftex-index-find-next-conflict-phrase}) finds the next phrase in | 2205 (@code{reftex-index-find-next-conflict-phrase}) finds the next phrase in |
2105 the buffer which is either duplicate or a subphrase of another phrase. | 2206 the buffer which is either duplicate or a subphrase of another phrase. |
2106 In order to check the whole buffer like this, start at the beginning and | 2207 In order to check the whole buffer like this, start at the beginning and |
2107 execute this command repeatedly.@refill | 2208 execute this command repeatedly. |
2108 | 2209 |
2109 @node Global Indexing, , Consistency Checks, The Index Phrases File | 2210 @node Global Indexing, , Consistency Checks, The Index Phrases File |
2110 @subsection Global Indexing | 2211 @subsection Global Indexing |
2111 @cindex Global indexing | 2212 @cindex Global indexing |
2112 @cindex Indexing, global | 2213 @cindex Indexing, global |
2117 finished document. Global indexing starts from the phrases buffer. | 2218 finished document. Global indexing starts from the phrases buffer. |
2118 There are several commands which start indexing: @kbd{C-c C-x} acts on | 2219 There are several commands which start indexing: @kbd{C-c C-x} acts on |
2119 the current phrase line, @kbd{C-c C-r} on all lines in the current | 2220 the current phrase line, @kbd{C-c C-r} on all lines in the current |
2120 region and @kbd{C-c C-a} on all phrase lines in the buffer. It is | 2221 region and @kbd{C-c C-a} on all phrase lines in the buffer. It is |
2121 probably good to do indexing in small chunks since your concentration | 2222 probably good to do indexing in small chunks since your concentration |
2122 may not last long enough to do everything in one go.@refill | 2223 may not last long enough to do everything in one go. |
2123 | 2224 |
2124 @b{Ref@TeX{}} will start at the first phrase line and search the phrase | 2225 @b{Ref@TeX{}} will start at the first phrase line and search the phrase |
2125 globally in the whole document. At each match it will stop, compute the | 2226 globally in the whole document. At each match it will stop, compute the |
2126 replacement string and offer you the following choices@footnote{Windows | 2227 replacement string and offer you the following choices@footnote{Windows |
2127 users: Restrict yourself to the described keys during indexing. Pressing | 2228 users: Restrict yourself to the described keys during indexing. Pressing |
2128 @key{Help} at the indexing prompt can apparently hang Emacs.}:@refill | 2229 @key{Help} at the indexing prompt can apparently hang Emacs.}: |
2129 | 2230 |
2130 @table @kbd | 2231 @table @kbd |
2131 @item y | 2232 @item y |
2132 Replace this match with the proposed string. | 2233 Replace this match with the proposed string. |
2133 @item n | 2234 @item n |
2175 When this is on, @b{Ref@TeX{}} will at each match try to figure out if | 2276 When this is on, @b{Ref@TeX{}} will at each match try to figure out if |
2176 this match is already indexed. A match is considered indexed if it is | 2277 this match is already indexed. A match is considered indexed if it is |
2177 either the argument of an index macro, or if an index macro is directly | 2278 either the argument of an index macro, or if an index macro is directly |
2178 (without whitespace separation) before or after the match. Index macros | 2279 (without whitespace separation) before or after the match. Index macros |
2179 are those configured in @code{reftex-index-macros}. Intended for | 2280 are those configured in @code{reftex-index-macros}. Intended for |
2180 re-indexing a documents after changes have been made.@refill | 2281 re-indexing a documents after changes have been made. |
2181 @end table | 2282 @end table |
2182 | 2283 |
2183 Even though indexing should be the last thing you do to a document, you | 2284 Even though indexing should be the last thing you do to a document, you |
2184 are bound to make changes afterwards. Indexing then has to be applied | 2285 are bound to make changes afterwards. Indexing then has to be applied |
2185 to the changed regions. The command | 2286 to the changed regions. The command |
2186 @code{reftex-index-phrases-apply-to-region} is designed for this | 2287 @code{reftex-index-phrases-apply-to-region} is designed for this |
2187 purpose. When called from a LaTeX document with active region, it will | 2288 purpose. When called from a LaTeX document with active region, it will |
2188 apply @code{reftex-index-all-phrases} to the current region.@refill | 2289 apply @code{reftex-index-all-phrases} to the current region. |
2189 | 2290 |
2190 @node Displaying and Editing the Index, Builtin Index Macros, The Index Phrases File, Index Support | 2291 @node Displaying and Editing the Index, Builtin Index Macros, The Index Phrases File, Index Support |
2191 @section Displaying and Editing the Index | 2292 @section Displaying and Editing the Index |
2192 @cindex Displaying the Index | 2293 @cindex Displaying the Index |
2193 @cindex Editing the Index | 2294 @cindex Editing the Index |
2199 | 2300 |
2200 In order to compile and display the index, press @kbd{C-c >}. If the | 2301 In order to compile and display the index, press @kbd{C-c >}. If the |
2201 document uses multiple indices, @b{Ref@TeX{}} will ask you to select | 2302 document uses multiple indices, @b{Ref@TeX{}} will ask you to select |
2202 one. Then, all index entries will be sorted alphabetically and | 2303 one. Then, all index entries will be sorted alphabetically and |
2203 displayed in a special buffer, the @file{*Index*} buffer. From that | 2304 displayed in a special buffer, the @file{*Index*} buffer. From that |
2204 buffer you can check and edit each entry.@refill | 2305 buffer you can check and edit each entry. |
2205 | 2306 |
2206 The index can be restricted to the current section or the region. Then | 2307 The index can be restricted to the current section or the region. Then |
2207 only entries in that part of the document will go into the compiled | 2308 only entries in that part of the document will go into the compiled |
2208 index. To restrict to the current section, use a numeric prefix | 2309 index. To restrict to the current section, use a numeric prefix |
2209 @samp{2}, thus press @kbd{C-u 2 C-c >}. To restrict to the current | 2310 @samp{2}, thus press @kbd{C-u 2 C-c >}. To restrict to the current |
2210 region, make the region active and use a numeric prefix @samp{3} (press | 2311 region, make the region active and use a numeric prefix @samp{3} (press |
2211 @kbd{C-u 3 C-c >}). From within the @file{*Index*} buffer the | 2312 @kbd{C-u 3 C-c >}). From within the @file{*Index*} buffer the |
2212 restriction can be moved from one section to the next by pressing the | 2313 restriction can be moved from one section to the next by pressing the |
2213 @kbd{<} and @kbd{>} keys.@refill | 2314 @kbd{<} and @kbd{>} keys. |
2214 | 2315 |
2215 One caveat: @b{Ref@TeX{}} finds the definition point of an index entry | 2316 One caveat: @b{Ref@TeX{}} finds the definition point of an index entry |
2216 by searching near the buffer position where it had found to macro during | 2317 by searching near the buffer position where it had found to macro during |
2217 scanning. If you have several identical index entries in the same | 2318 scanning. If you have several identical index entries in the same |
2218 buffer and significant changes have shifted the entries around, you must | 2319 buffer and significant changes have shifted the entries around, you must |
2219 rescan the buffer to ensure the correspondence between the | 2320 rescan the buffer to ensure the correspondence between the |
2220 @file{*Index*} buffer and the definition locations. It is therefore | 2321 @file{*Index*} buffer and the definition locations. It is therefore |
2221 advisable to rescan the document (with @kbd{r} or @kbd{C-u r}) | 2322 advisable to rescan the document (with @kbd{r} or @kbd{C-u r}) |
2222 frequently while editing the index from the @file{*Index*} | 2323 frequently while editing the index from the @file{*Index*} |
2223 buffer.@refill | 2324 buffer. |
2224 | 2325 |
2225 @kindex ? | 2326 @kindex ? |
2226 Here is a list of special commands available in the @file{*Index*} buffer. A | 2327 Here is a list of special commands available in the @file{*Index*} buffer. A |
2227 summary of this information is always available by pressing | 2328 summary of this information is always available by pressing |
2228 @kbd{?}.@refill | 2329 @kbd{?}. |
2229 | 2330 |
2230 @table @kbd | 2331 @table @kbd |
2231 @tablesubheading{General} | 2332 @tablesubheading{General} |
2232 @item ? | 2333 @item ? |
2233 Display a summary of commands. | 2334 Display a summary of commands. |
2238 @tablesubheading{Moving around} | 2339 @tablesubheading{Moving around} |
2239 @item ! A..Z | 2340 @item ! A..Z |
2240 Pressing any capital letter will jump to the corresponding section in | 2341 Pressing any capital letter will jump to the corresponding section in |
2241 the @file{*Index*} buffer. The exclamation mark is special and jumps to | 2342 the @file{*Index*} buffer. The exclamation mark is special and jumps to |
2242 the first entries alphabetically sorted below @samp{A}. These are | 2343 the first entries alphabetically sorted below @samp{A}. These are |
2243 usually non-alphanumeric characters.@refill | 2344 usually non-alphanumeric characters. |
2244 @item n | 2345 @item n |
2245 Go to next entry.@refill | 2346 Go to next entry. |
2246 @item p | 2347 @item p |
2247 Go to previous entry.@refill | 2348 Go to previous entry. |
2248 | 2349 |
2249 @tablesubheading{Access to document locations} | 2350 @tablesubheading{Access to document locations} |
2250 @item @key{SPC} | 2351 @item @key{SPC} |
2251 Show the place in the document where this index entry is defined.@refill | 2352 Show the place in the document where this index entry is defined. |
2252 | 2353 |
2253 @item @key{TAB} | 2354 @item @key{TAB} |
2254 Go to the definition of the current index entry in another | 2355 Go to the definition of the current index entry in another |
2255 window.@refill | 2356 window. |
2256 | 2357 |
2257 @item @key{RET} | 2358 @item @key{RET} |
2258 Go to the definition of the current index entry and hide the | 2359 Go to the definition of the current index entry and hide the |
2259 @file{*Index*} buffer window.@refill | 2360 @file{*Index*} buffer window. |
2260 | 2361 |
2261 @item f | 2362 @item f |
2262 @vindex reftex-index-follow-mode | 2363 @vindex reftex-index-follow-mode |
2263 @vindex reftex-revisit-to-follow | 2364 @vindex reftex-revisit-to-follow |
2264 Toggle follow mode. When follow mode is active, the other window will | 2365 Toggle follow mode. When follow mode is active, the other window will |
2266 buffer at point. This is similar to pressing @key{SPC} after each | 2367 buffer at point. This is similar to pressing @key{SPC} after each |
2267 cursor motion. The default for this flag can be set with the variable | 2368 cursor motion. The default for this flag can be set with the variable |
2268 @code{reftex-index-follow-mode}. Note that only context in files | 2369 @code{reftex-index-follow-mode}. Note that only context in files |
2269 already visited is shown. @b{Ref@TeX{}} will not visit a file just for | 2370 already visited is shown. @b{Ref@TeX{}} will not visit a file just for |
2270 follow mode. See, however, the variable | 2371 follow mode. See, however, the variable |
2271 @code{reftex-revisit-to-follow}.@refill | 2372 @code{reftex-revisit-to-follow}. |
2272 | 2373 |
2273 @tablesubheading{Entry editing} | 2374 @tablesubheading{Entry editing} |
2274 @item e | 2375 @item e |
2275 Edit the current index entry. In the minibuffer, you can edit the | 2376 Edit the current index entry. In the minibuffer, you can edit the |
2276 index macro which defines this entry.@refill | 2377 index macro which defines this entry. |
2277 | 2378 |
2278 @item C-k | 2379 @item C-k |
2279 Kill the index entry. Currently not implemented because I don't know | 2380 Kill the index entry. Currently not implemented because I don't know |
2280 how to implement an @code{undo} function for this.@refill | 2381 how to implement an @code{undo} function for this. |
2281 | 2382 |
2282 @item * | 2383 @item * |
2283 Edit the @var{key} part of the entry. This is the initial part of the | 2384 Edit the @var{key} part of the entry. This is the initial part of the |
2284 entry which determines the location of the entry in the index.@refill | 2385 entry which determines the location of the entry in the index. |
2285 | 2386 |
2286 @item | | 2387 @item | |
2287 Edit the @var{attribute} part of the entry. This is the part after the | 2388 Edit the @var{attribute} part of the entry. This is the part after the |
2288 vertical bar. With @code{MakeIndex}, this part is an encapsulating | 2389 vertical bar. With @code{MakeIndex}, this part is an encapsulating |
2289 macro. With @code{xindy}, it is called @emph{attribute} and is a | 2390 macro. With @code{xindy}, it is called @emph{attribute} and is a |
2290 property of the index entry that can lead to special formatting. When | 2391 property of the index entry that can lead to special formatting. When |
2291 called with @kbd{C-u} prefix, kill the entire @var{attribute} | 2392 called with @kbd{C-u} prefix, kill the entire @var{attribute} |
2292 part.@refill | 2393 part. |
2293 | 2394 |
2294 @item @@ | 2395 @item @@ |
2295 Edit the @var{visual} part of the entry. This is the part after the | 2396 Edit the @var{visual} part of the entry. This is the part after the |
2296 @samp{@@} which is used by @code{MakeIndex} to change the visual | 2397 @samp{@@} which is used by @code{MakeIndex} to change the visual |
2297 appearance of the entry in the index. When called with @kbd{C-u} | 2398 appearance of the entry in the index. When called with @kbd{C-u} |
2298 prefix, kill the entire @var{visual} part.@refill | 2399 prefix, kill the entire @var{visual} part. |
2299 | 2400 |
2300 @item ( | 2401 @item ( |
2301 Toggle the beginning of page range property @samp{|(} of the | 2402 Toggle the beginning of page range property @samp{|(} of the |
2302 entry.@refill | 2403 entry. |
2303 | 2404 |
2304 @item ) | 2405 @item ) |
2305 Toggle the end of page range property @samp{|)} of the entry.@refill | 2406 Toggle the end of page range property @samp{|)} of the entry. |
2306 | 2407 |
2307 @item _ | 2408 @item _ |
2308 Make the current entry a subentry. This command will prompt for the | 2409 Make the current entry a subentry. This command will prompt for the |
2309 superordinate entry and insert it.@refill | 2410 superordinate entry and insert it. |
2310 | 2411 |
2311 @item ^ | 2412 @item ^ |
2312 Remove the highest superordinate entry. If the current entry is a | 2413 Remove the highest superordinate entry. If the current entry is a |
2313 subitem (@samp{aaa!bbb!ccc}), this function moves it up the hierarchy | 2414 subitem (@samp{aaa!bbb!ccc}), this function moves it up the hierarchy |
2314 (@samp{bbb!ccc}).@refill | 2415 (@samp{bbb!ccc}). |
2315 | 2416 |
2316 @tablesubheading{Exiting} | 2417 @tablesubheading{Exiting} |
2317 @item q | 2418 @item q |
2318 Hide the @file{*Index*} buffer.@refill | 2419 Hide the @file{*Index*} buffer. |
2319 | 2420 |
2320 @item k | 2421 @item k |
2321 Kill the @file{*Index*} buffer.@refill | 2422 Kill the @file{*Index*} buffer. |
2322 | 2423 |
2323 @item C-c = | 2424 @item C-c = |
2324 Switch to the Table of Contents buffer of this document.@refill | 2425 Switch to the Table of Contents buffer of this document. |
2325 | 2426 |
2326 @tablesubheading{Controlling what gets displayed} | 2427 @tablesubheading{Controlling what gets displayed} |
2327 @item c | 2428 @item c |
2328 @vindex reftex-index-include-context | 2429 @vindex reftex-index-include-context |
2329 Toggle the display of short context in the @file{*Index*} buffer. The | 2430 Toggle the display of short context in the @file{*Index*} buffer. The |
2330 default for this flag can be set with the variable | 2431 default for this flag can be set with the variable |
2331 @code{reftex-index-include-context}.@refill | 2432 @code{reftex-index-include-context}. |
2332 | 2433 |
2333 @item @} | 2434 @item @} |
2334 Restrict the index to a single document section. The corresponding | 2435 Restrict the index to a single document section. The corresponding |
2335 section number will be displayed in the @code{R<>} indicator in the | 2436 section number will be displayed in the @code{R<>} indicator in the |
2336 mode line and in the header of the @file{*Index*} buffer.@refill | 2437 mode line and in the header of the @file{*Index*} buffer. |
2337 | 2438 |
2338 @item @{ | 2439 @item @{ |
2339 Widen the index to contain all entries of the document.@refill | 2440 Widen the index to contain all entries of the document. |
2340 | 2441 |
2341 @item < | 2442 @item < |
2342 When the index is currently restricted, move the restriction to the | 2443 When the index is currently restricted, move the restriction to the |
2343 previous section.@refill | 2444 previous section. |
2344 | 2445 |
2345 @item > | 2446 @item > |
2346 When the index is currently restricted, move the restriction to the | 2447 When the index is currently restricted, move the restriction to the |
2347 next section.@refill | 2448 next section. |
2348 | 2449 |
2349 @tablesubheading{Updating the buffer} | 2450 @tablesubheading{Updating the buffer} |
2350 @item g | 2451 @item g |
2351 Rebuild the @file{*Index*} buffer. This does @emph{not} rescan the | 2452 Rebuild the @file{*Index*} buffer. This does @emph{not} rescan the |
2352 document. However, it sorts the entries again, so that edited entries | 2453 document. However, it sorts the entries again, so that edited entries |
2353 will move to the correct position.@refill | 2454 will move to the correct position. |
2354 | 2455 |
2355 @item r | 2456 @item r |
2356 @vindex reftex-enable-partial-scans | 2457 @vindex reftex-enable-partial-scans |
2357 Reparse the LaTeX document and rebuild the @file{*Index*} buffer. When | 2458 Reparse the LaTeX document and rebuild the @file{*Index*} buffer. When |
2358 @code{reftex-enable-partial-scans} is non-nil, rescan only the file this | 2459 @code{reftex-enable-partial-scans} is non-@code{nil}, rescan only the file this |
2359 location is defined in, not the entire document.@refill | 2460 location is defined in, not the entire document. |
2360 | 2461 |
2361 @item C-u r | 2462 @item C-u r |
2362 Reparse the @emph{entire} LaTeX document and rebuild the @file{*Index*} | 2463 Reparse the @emph{entire} LaTeX document and rebuild the @file{*Index*} |
2363 buffer.@refill | 2464 buffer. |
2364 | 2465 |
2365 @item s | 2466 @item s |
2366 Switch to a different index (for documents with multiple | 2467 Switch to a different index (for documents with multiple |
2367 indices).@refill | 2468 indices). |
2368 @end table | 2469 @end table |
2369 | 2470 |
2370 | 2471 |
2371 @node Builtin Index Macros, Defining Index Macros, Displaying and Editing the Index, Index Support | 2472 @node Builtin Index Macros, Defining Index Macros, Displaying and Editing the Index, Index Support |
2372 @section Builtin Index Macros | 2473 @section Builtin Index Macros |
2479 @end lisp | 2580 @end lisp |
2480 | 2581 |
2481 which specifies that the macro identified with the character @code{?x} (the | 2582 which specifies that the macro identified with the character @code{?x} (the |
2482 @code{\ix} macro) should be used for indexing phrases and words already | 2583 @code{\ix} macro) should be used for indexing phrases and words already |
2483 in the buffer with @kbd{C-c /} (@code{reftex-index-selection-or-word}). | 2584 in the buffer with @kbd{C-c /} (@code{reftex-index-selection-or-word}). |
2484 The index tag is "idx".@refill | 2585 The index tag is "idx". |
2485 | 2586 |
2486 @node Viewing Cross-References, RefTeXs Menu, Index Support, Top | 2587 @node Viewing Cross-References, RefTeXs Menu, Index Support, Top |
2487 @chapter Viewing Cross--References | 2588 @chapter Viewing Cross--References |
2488 @findex reftex-view-crossref | 2589 @findex reftex-view-crossref |
2489 @findex reftex-mouse-view-crossref | 2590 @findex reftex-mouse-view-crossref |
2493 @b{Ref@TeX{}} can display cross--referencing information. This means, | 2594 @b{Ref@TeX{}} can display cross--referencing information. This means, |
2494 if two document locations are linked, @b{Ref@TeX{}} can display the | 2595 if two document locations are linked, @b{Ref@TeX{}} can display the |
2495 matching location(s) in another window. The @code{\label} and @code{\ref} | 2596 matching location(s) in another window. The @code{\label} and @code{\ref} |
2496 macros are one way of establishing such a link. Also, a @code{\cite} | 2597 macros are one way of establishing such a link. Also, a @code{\cite} |
2497 macro is linked to the corresponding @code{\bibitem} macro or a BibTeX | 2598 macro is linked to the corresponding @code{\bibitem} macro or a BibTeX |
2498 database entry.@refill | 2599 database entry. |
2499 | 2600 |
2500 The feature is invoked by pressing @kbd{C-c &} | 2601 The feature is invoked by pressing @kbd{C-c &} |
2501 (@code{reftex-view-crossref}) while point is on the @var{key} argument | 2602 (@code{reftex-view-crossref}) while point is on the @var{key} argument |
2502 of a macro involved in cross--referencing. You can also click with | 2603 of a macro involved in cross--referencing. You can also click with |
2503 @kbd{S-mouse-2} on the macro argument. Here is what will happen for | 2604 @kbd{S-mouse-2} on the macro argument. Here is what will happen for |
2504 individual classes of macros:@refill | 2605 individual classes of macros: |
2505 | 2606 |
2506 @table @asis | 2607 @table @asis |
2507 | 2608 |
2508 @item @code{\ref} | 2609 @item @code{\ref} |
2509 @cindex @code{\ref} | 2610 @cindex @code{\ref} |
2510 Display the corresponding label definition. All usual | 2611 Display the corresponding label definition. All usual |
2511 variants@footnote{all macros that start with @samp{ref} or end with | 2612 variants@footnote{all macros that start with @samp{ref} or end with |
2512 @samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for | 2613 @samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for |
2513 cross--reference display. This works also for labels defined in an | 2614 cross--reference display. This works also for labels defined in an |
2514 external document when the current document refers to them through the | 2615 external document when the current document refers to them through the |
2515 @code{xr} interface (@pxref{xr (LaTeX package)}).@refill | 2616 @code{xr} interface (@pxref{xr (LaTeX package)}). |
2516 | 2617 |
2517 @item @code{\label} | 2618 @item @code{\label} |
2518 @cindex @code{\label} | 2619 @cindex @code{\label} |
2519 @vindex reftex-label-alist | 2620 @vindex reftex-label-alist |
2520 Display a document location which references this label. Pressing | 2621 Display a document location which references this label. Pressing |
2521 @kbd{C-c &} several times moves through the entire document and finds | 2622 @kbd{C-c &} several times moves through the entire document and finds |
2522 all locations. Not only the @code{\label} macro but also other macros | 2623 all locations. Not only the @code{\label} macro but also other macros |
2523 with label arguments (as configured with @code{reftex-label-alist}) are | 2624 with label arguments (as configured with @code{reftex-label-alist}) are |
2524 active for cross--reference display.@refill | 2625 active for cross--reference display. |
2525 | 2626 |
2526 @item @code{\cite} | 2627 @item @code{\cite} |
2527 @cindex @code{\cite} | 2628 @cindex @code{\cite} |
2528 Display the corresponding BibTeX database entry or @code{\bibitem}. | 2629 Display the corresponding BibTeX database entry or @code{\bibitem}. |
2529 All usual variants@footnote{all macros that either start or end with | 2630 All usual variants@footnote{all macros that either start or end with |
2530 @samp{cite}} of the @code{\cite} macro are active for cross--reference | 2631 @samp{cite}} of the @code{\cite} macro are active for cross--reference |
2531 display.@refill | 2632 display. |
2532 | 2633 |
2533 @item @code{\bibitem} | 2634 @item @code{\bibitem} |
2534 @cindex @code{\bibitem} | 2635 @cindex @code{\bibitem} |
2535 Display a document location which cites this article. Pressing | 2636 Display a document location which cites this article. Pressing |
2536 @kbd{C-c &} several times moves through the entire document and finds | 2637 @kbd{C-c &} several times moves through the entire document and finds |
2537 all locations.@refill | 2638 all locations. |
2538 | 2639 |
2539 @item BibTeX | 2640 @item BibTeX |
2540 @cindex BibTeX buffer, viewing cite locations from | 2641 @cindex BibTeX buffer, viewing cite locations from |
2541 @cindex Viewing cite locations from BibTeX buffer | 2642 @cindex Viewing cite locations from BibTeX buffer |
2542 @kbd{C-c &} is also active in BibTeX buffers. All locations in a | 2643 @kbd{C-c &} is also active in BibTeX buffers. All locations in a |
2543 document where the database entry at point is cited will be displayed. | 2644 document where the database entry at point is cited will be displayed. |
2544 On first use, @b{Ref@TeX{}} will prompt for a buffer which belongs to | 2645 On first use, @b{Ref@TeX{}} will prompt for a buffer which belongs to |
2545 the document you want to search. Subsequent calls will use the same | 2646 the document you want to search. Subsequent calls will use the same |
2546 document, until you break this link with a prefix argument to @kbd{C-c | 2647 document, until you break this link with a prefix argument to @kbd{C-c |
2547 &}.@refill | 2648 &}. |
2548 | 2649 |
2549 @item @code{\index} | 2650 @item @code{\index} |
2550 @cindex @code{\index} | 2651 @cindex @code{\index} |
2551 Display other locations in the document which are marked by an index | 2652 Display other locations in the document which are marked by an index |
2552 macro with the same key argument. Along with the standard @code{\index} | 2653 macro with the same key argument. Along with the standard @code{\index} |
2553 and @code{\glossary} macros, all macros configured in | 2654 and @code{\glossary} macros, all macros configured in |
2554 @code{reftex-index-macros} will be recognized.@refill | 2655 @code{reftex-index-macros} will be recognized. |
2555 @end table | 2656 @end table |
2556 | 2657 |
2557 @vindex reftex-view-crossref-extra | 2658 @vindex reftex-view-crossref-extra |
2558 While the display of cross referencing information for the above | 2659 While the display of cross referencing information for the above |
2559 mentioned macros is hard--coded, you can configure additional relations | 2660 mentioned macros is hard--coded, you can configure additional relations |
2570 | 2671 |
2571 @b{Ref@TeX{}} installs a @code{Ref} menu in the menu bar on systems | 2672 @b{Ref@TeX{}} installs a @code{Ref} menu in the menu bar on systems |
2572 which support this. From this menu you can access all of | 2673 which support this. From this menu you can access all of |
2573 @b{Ref@TeX{}}'s commands and a few of its options. There is also a | 2674 @b{Ref@TeX{}}'s commands and a few of its options. There is also a |
2574 @code{Customize} submenu which can be used to access @b{Ref@TeX{}}'s | 2675 @code{Customize} submenu which can be used to access @b{Ref@TeX{}}'s |
2575 entire set of options.@refill | 2676 entire set of options. |
2576 | 2677 |
2577 @node Key Bindings, Faces, RefTeXs Menu, Top | 2678 @node Key Bindings, Faces, RefTeXs Menu, Top |
2578 @section Default Key Bindings | 2679 @section Default Key Bindings |
2579 @cindex Key Bindings, summary | 2680 @cindex Key Bindings, summary |
2580 | 2681 |
2607 @kbd{C-c >} @code{reftex-display-index} | 2708 @kbd{C-c >} @code{reftex-display-index} |
2608 @end example | 2709 @end example |
2609 | 2710 |
2610 Note that the @kbd{S-mouse-2} binding is only provided if this key is | 2711 Note that the @kbd{S-mouse-2} binding is only provided if this key is |
2611 not already used by some other package. @b{Ref@TeX{}} will not override an | 2712 not already used by some other package. @b{Ref@TeX{}} will not override an |
2612 existing binding to @kbd{S-mouse-2}.@refill | 2713 existing binding to @kbd{S-mouse-2}. |
2613 | 2714 |
2614 Personally, I also bind some functions in the users @kbd{C-c} map for | 2715 Personally, I also bind some functions in the users @kbd{C-c} map for |
2615 easier access.@refill | 2716 easier access. |
2616 | 2717 |
2617 @c FIXME: Do we need bindings for the Index macros here as well? | 2718 @c FIXME: Do we need bindings for the Index macros here as well? |
2618 @c C-c i C-c I or so???? | 2719 @c C-c i C-c I or so???? |
2619 @c How about key bindings for reftex-reset-mode and reftex-parse-document? | 2720 @c How about key bindings for reftex-reset-mode and reftex-parse-document? |
2620 @kindex C-c t | 2721 @kindex C-c t |
2656 table of contents buffers. It does not create its own faces, but uses | 2757 table of contents buffers. It does not create its own faces, but uses |
2657 the ones defined in @file{font-lock.el}. Therefore, @b{Ref@TeX{}} will | 2758 the ones defined in @file{font-lock.el}. Therefore, @b{Ref@TeX{}} will |
2658 use faces only when @code{font-lock} is loaded. This seems to be | 2759 use faces only when @code{font-lock} is loaded. This seems to be |
2659 reasonable because people who like faces will very likely have it | 2760 reasonable because people who like faces will very likely have it |
2660 loaded. If you wish to turn off fontification or change the involved | 2761 loaded. If you wish to turn off fontification or change the involved |
2661 faces, see @ref{Options (Fontification)}.@refill | 2762 faces, see @ref{Options (Fontification)}. |
2662 | 2763 |
2663 @node Multifile Documents, Language Support, AUCTeX, Top | 2764 @node Multifile Documents, Language Support, AUCTeX, Top |
2664 @section Multifile Documents | 2765 @section Multifile Documents |
2665 @cindex Multifile documents | 2766 @cindex Multifile documents |
2666 @cindex Documents, spread over files | 2767 @cindex Documents, spread over files |
2667 | 2768 |
2668 The following is relevant when working with documents spread over many | 2769 The following is relevant when working with documents spread over many |
2669 files:@refill | 2770 files: |
2670 | 2771 |
2671 @itemize @bullet | 2772 @itemize @bullet |
2672 @item | 2773 @item |
2673 @b{Ref@TeX{}} has full support for multifile documents. You can edit parts of | 2774 @b{Ref@TeX{}} has full support for multifile documents. You can edit parts of |
2674 several (multifile) documents at the same time without conflicts. | 2775 several (multifile) documents at the same time without conflicts. |
2675 @b{Ref@TeX{}} provides functions to run @code{grep}, @code{search} and | 2776 @b{Ref@TeX{}} provides functions to run @code{grep}, @code{search} and |
2676 @code{query-replace} on all files which are part of a multifile | 2777 @code{query-replace} on all files which are part of a multifile |
2677 document.@refill | 2778 document. |
2678 | 2779 |
2679 @item | 2780 @item |
2680 @vindex tex-main-file | 2781 @vindex tex-main-file |
2681 @vindex TeX-master | 2782 @vindex TeX-master |
2682 All files belonging to a multifile document should define a File | 2783 All files belonging to a multifile document should define a File |
2683 Variable (@code{TeX-master} for AUCTeX or @code{tex-main-file} for the | 2784 Variable (@code{TeX-master} for AUCTeX or @code{tex-main-file} for the |
2684 standard Emacs LaTeX mode) containing the name of the master file. For | 2785 standard Emacs LaTeX mode) containing the name of the master file. For |
2685 example, to set the file variable @code{TeX-master}, include something | 2786 example, to set the file variable @code{TeX-master}, include something |
2686 like the following at the end of each TeX file:@refill | 2787 like the following at the end of each TeX file: |
2687 | 2788 |
2688 @example | 2789 @example |
2689 %%% Local Variables: *** | 2790 %%% Local Variables: *** |
2690 %%% mode:latex *** | 2791 %%% mode:latex *** |
2691 %%% TeX-master: "thesis.tex" *** | 2792 %%% TeX-master: "thesis.tex" *** |
2701 will actually ask you for each new file about the master file and insert | 2802 will actually ask you for each new file about the master file and insert |
2702 this comment automatically. For more details see the documentation of | 2803 this comment automatically. For more details see the documentation of |
2703 the AUCTeX (@pxref{Multifile,,,auctex, The AUC TeX User Manual}), the | 2804 the AUCTeX (@pxref{Multifile,,,auctex, The AUC TeX User Manual}), the |
2704 documentation about the Emacs (La)TeX mode (@pxref{TeX Print,,,emacs, | 2805 documentation about the Emacs (La)TeX mode (@pxref{TeX Print,,,emacs, |
2705 The GNU Emacs Manual}) and the Emacs documentation on File Variables | 2806 The GNU Emacs Manual}) and the Emacs documentation on File Variables |
2706 (@pxref{File Variables,,,emacs, The GNU Emacs Manual}).@refill | 2807 (@pxref{File Variables,,,emacs, The GNU Emacs Manual}). |
2707 | 2808 |
2708 @item | 2809 @item |
2709 The context of a label definition must be found in the same file as the | 2810 The context of a label definition must be found in the same file as the |
2710 label itself in order to be processed correctly by @b{Ref@TeX{}}. The only | 2811 label itself in order to be processed correctly by @b{Ref@TeX{}}. The only |
2711 exception is that section labels referring to a section statement | 2812 exception is that section labels referring to a section statement |
2712 outside the current file can still use that section title as | 2813 outside the current file can still use that section title as |
2713 context.@refill | 2814 context. |
2714 @end itemize | 2815 @end itemize |
2715 | 2816 |
2716 @node Language Support, Finding Files, Multifile Documents, Top | 2817 @node Language Support, Finding Files, Multifile Documents, Top |
2717 @section Language Support | 2818 @section Language Support |
2718 @cindex Language support | 2819 @cindex Language support |
2732 | 2833 |
2733 @item | 2834 @item |
2734 @vindex reftex-translate-to-ascii-function | 2835 @vindex reftex-translate-to-ascii-function |
2735 @vindex reftex-label-illegal-re | 2836 @vindex reftex-label-illegal-re |
2736 Also, when a label is derived from context, @b{Ref@TeX{}} clears the | 2837 Also, when a label is derived from context, @b{Ref@TeX{}} clears the |
2737 context string from non-ASCII characters in order to make a legal label. | 2838 context string from non-ASCII characters in order to make a valid label. |
2738 If there should ever be a version of @TeX{} which allows extended | 2839 If there should ever be a version of @TeX{} which allows extended |
2739 characters @emph{in labels}, then we will have to look at the | 2840 characters @emph{in labels}, then we will have to look at the |
2740 variables @code{reftex-translate-to-ascii-function} and | 2841 variables @code{reftex-translate-to-ascii-function} and |
2741 @code{reftex-label-illegal-re}. | 2842 @code{reftex-label-illegal-re}. |
2742 | 2843 |
2851 books, where some of it still might be useful.} | 2952 books, where some of it still might be useful.} |
2852 | 2953 |
2853 Implementing the principle of least surprises, the default settings of | 2954 Implementing the principle of least surprises, the default settings of |
2854 @b{Ref@TeX{}} ensure a safe ride for beginners and casual users. However, | 2955 @b{Ref@TeX{}} ensure a safe ride for beginners and casual users. However, |
2855 when using @b{Ref@TeX{}} for a large project and/or on a small computer, | 2956 when using @b{Ref@TeX{}} for a large project and/or on a small computer, |
2856 there are ways to improve speed or memory usage.@refill | 2957 there are ways to improve speed or memory usage. |
2857 | 2958 |
2858 @itemize @bullet | 2959 @itemize @bullet |
2859 @item | 2960 @item |
2860 @b{Removing Lookup Buffers}@* | 2961 @b{Removing Lookup Buffers}@* |
2861 @cindex Removing lookup buffers | 2962 @cindex Removing lookup buffers |
2885 Likewise, the @kbd{r} key in both the label selection buffer and the | 2986 Likewise, the @kbd{r} key in both the label selection buffer and the |
2886 table-of-contents buffer will only prompt scanning of the file in which | 2987 table-of-contents buffer will only prompt scanning of the file in which |
2887 the label or section macro near the cursor was defined. Re-parsing of | 2988 the label or section macro near the cursor was defined. Re-parsing of |
2888 the entire document is still available by using @kbd{C-u C-u} as a | 2989 the entire document is still available by using @kbd{C-u C-u} as a |
2889 prefix, or the capital @kbd{R} key in the menus. To use this feature, | 2990 prefix, or the capital @kbd{R} key in the menus. To use this feature, |
2890 try@refill | 2991 try |
2891 | 2992 |
2892 @vindex reftex-enable-partial-scans | 2993 @vindex reftex-enable-partial-scans |
2893 @lisp | 2994 @lisp |
2894 (setq reftex-enable-partial-scans t) | 2995 (setq reftex-enable-partial-scans t) |
2895 @end lisp | 2996 @end lisp |
2904 information can be stored in a file. The file @file{MASTER.rel} is used | 3005 information can be stored in a file. The file @file{MASTER.rel} is used |
2905 for storing information about a document with master file | 3006 for storing information about a document with master file |
2906 @file{MASTER.tex}. It is written automatically when you kill a buffer | 3007 @file{MASTER.tex}. It is written automatically when you kill a buffer |
2907 in @code{reftex-mode} or when you exit Emacs. The information is | 3008 in @code{reftex-mode} or when you exit Emacs. The information is |
2908 restored when you begin working with a document in a new editing | 3009 restored when you begin working with a document in a new editing |
2909 session. To use this feature, put into @file{.emacs}:@refill | 3010 session. To use this feature, put into @file{.emacs}: |
2910 | 3011 |
2911 @vindex reftex-save-parse-info | 3012 @vindex reftex-save-parse-info |
2912 @lisp | 3013 @lisp |
2913 (setq reftex-save-parse-info t) | 3014 (setq reftex-save-parse-info t) |
3015 @end lisp | |
3016 | |
3017 @item | |
3018 @b{Identifying label types by prefix}@* | |
3019 @cindex Parse information, saving to a file | |
3020 @vindex reftex-trust-label-prefix | |
3021 @b{Ref@TeX{}} normally parses around each label to check in which | |
3022 environment this label is located, in order to assign a label type to | |
3023 the label. If your document contains thousands of labels, document | |
3024 parsing will take considerable time. If you have been using label prefixes | |
3025 like tab: and fn: consistently, you can tell @b{Ref@TeX{}} to get the | |
3026 label type directly from the prefix, without additional parsing. This | |
3027 will be faster and also allow labels to end up in the correct category | |
3028 if for some reason it is not possible to derive the correct type from | |
3029 context. For example, to enable this feature for footnote and | |
3030 equation labels, use | |
3031 | |
3032 @lisp | |
3033 (setq reftex-trust-label-prefix '("fn:" "eq:")) | |
2914 @end lisp | 3034 @end lisp |
2915 | 3035 |
2916 @item | 3036 @item |
2917 @b{Automatic Document Scans}@* | 3037 @b{Automatic Document Scans}@* |
2918 @cindex Automatic document scans | 3038 @cindex Automatic document scans |
2925 (setq reftex-allow-automatic-rescan nil) | 3045 (setq reftex-allow-automatic-rescan nil) |
2926 @end lisp | 3046 @end lisp |
2927 | 3047 |
2928 @b{Ref@TeX{}} will then occasionally annotate new labels in the selection | 3048 @b{Ref@TeX{}} will then occasionally annotate new labels in the selection |
2929 buffer, saying that their position in the label list in uncertain. A | 3049 buffer, saying that their position in the label list in uncertain. A |
2930 manual document scan will fix this.@refill | 3050 manual document scan will fix this. |
2931 | 3051 |
2932 @item | 3052 @item |
2933 @b{Multiple Selection Buffers}@* | 3053 @b{Multiple Selection Buffers}@* |
2934 @cindex Multiple selection buffers | 3054 @cindex Multiple selection buffers |
2935 @cindex Selection buffers, multiple | 3055 @cindex Selection buffers, multiple |
2939 separate selection buffer for each label type and to keep this buffer | 3059 separate selection buffer for each label type and to keep this buffer |
2940 from one selection to the next. These buffers are updated automatically | 3060 from one selection to the next. These buffers are updated automatically |
2941 only when a new label has been added in the buffers category with | 3061 only when a new label has been added in the buffers category with |
2942 @code{reftex-label}. Updating the buffer takes as long as recreating it | 3062 @code{reftex-label}. Updating the buffer takes as long as recreating it |
2943 - so the time saving is limited to cases where no new labels of that | 3063 - so the time saving is limited to cases where no new labels of that |
2944 category have been added. To turn on this feature, use@refill | 3064 category have been added. To turn on this feature, use |
2945 | 3065 |
2946 @vindex reftex-use-multiple-selection-buffers | 3066 @vindex reftex-use-multiple-selection-buffers |
2947 @lisp | 3067 @lisp |
2948 (setq reftex-use-multiple-selection-buffers t) | 3068 (setq reftex-use-multiple-selection-buffers t) |
2949 @end lisp | 3069 @end lisp |
2951 @noindent | 3071 @noindent |
2952 @cindex Selection buffers, updating | 3072 @cindex Selection buffers, updating |
2953 You can also inhibit the automatic updating entirely. Then the | 3073 You can also inhibit the automatic updating entirely. Then the |
2954 selection buffer will always pop up very fast, but may not contain the | 3074 selection buffer will always pop up very fast, but may not contain the |
2955 most recently defined labels. You can always update the buffer by hand, | 3075 most recently defined labels. You can always update the buffer by hand, |
2956 with the @kbd{g} key. To get this behavior, use instead@refill | 3076 with the @kbd{g} key. To get this behavior, use instead |
2957 | 3077 |
2958 @vindex reftex-auto-update-selection-buffers | 3078 @vindex reftex-auto-update-selection-buffers |
2959 @lisp | 3079 @lisp |
2960 (setq reftex-use-multiple-selection-buffers t | 3080 (setq reftex-use-multiple-selection-buffers t |
2961 reftex-auto-update-selection-buffers nil) | 3081 reftex-auto-update-selection-buffers nil) |
2974 reftex-use-multiple-selection-buffers t) | 3094 reftex-use-multiple-selection-buffers t) |
2975 @end group | 3095 @end group |
2976 @end lisp | 3096 @end lisp |
2977 | 3097 |
2978 @node AUCTeX, Multifile Documents, Faces, Top | 3098 @node AUCTeX, Multifile Documents, Faces, Top |
2979 @section @w{AUC @TeX{}} | 3099 @section AUC@TeX{} |
2980 @cindex @code{AUCTeX}, Emacs package | 3100 @cindex @code{AUCTeX}, Emacs package |
2981 @cindex Emacs packages, @code{AUCTeX} | 3101 @cindex Emacs packages, @code{AUCTeX} |
2982 | 3102 |
2983 AUCTeX is without doubt the best major mode for editing TeX and LaTeX | 3103 AUCTeX is without doubt the best major mode for editing TeX and LaTeX |
2984 files with Emacs (@pxref{Top,AUCTeX,,auctex, The AUCTeX User Manual}). | 3104 files with Emacs (@pxref{Top,AUCTeX,,auctex, The AUCTeX User Manual}). |
2985 If AUCTeX is not part of your Emacs distribution, you can get | 3105 If AUCTeX is not part of your Emacs distribution, you can get |
2986 it@footnote{XEmacs 21.x users may want to install the corresponding | 3106 it@footnote{XEmacs 21.x users may want to install the corresponding |
2987 XEmacs package.} by ftp from the | 3107 XEmacs package.} by ftp from the @value{AUCTEXSITE}. |
2988 @uref{http://www.sunsite.auc.dk/auctex/,AUCTeX distribution site}. | |
2989 | 3108 |
2990 @menu | 3109 @menu |
2991 * AUCTeX-RefTeX Interface:: How both packages work together | 3110 * AUCTeX-RefTeX Interface:: How both packages work together |
2992 * Style Files:: AUCTeX's style files can support RefTeX | 3111 * Style Files:: AUCTeX's style files can support RefTeX |
2993 * Bib-Cite:: Hypertext reading of a document | 3112 * Bib-Cite:: Hypertext reading of a document |
3000 interface is turned on, both packages will interact closely. Instead of | 3119 interface is turned on, both packages will interact closely. Instead of |
3001 using @b{Ref@TeX{}}'s commands directly, you can then also use them | 3120 using @b{Ref@TeX{}}'s commands directly, you can then also use them |
3002 indirectly as part of the AUCTeX | 3121 indirectly as part of the AUCTeX |
3003 environment@footnote{@b{Ref@TeX{}} 4.0 and AUCTeX 9.10c will be | 3122 environment@footnote{@b{Ref@TeX{}} 4.0 and AUCTeX 9.10c will be |
3004 needed for all of this to work. Parts of it work also with earlier | 3123 needed for all of this to work. Parts of it work also with earlier |
3005 versions.}. The interface is turned on with@refill | 3124 versions.}. The interface is turned on with |
3006 | 3125 |
3007 @lisp | 3126 @lisp |
3008 (setq reftex-plug-into-AUCTeX t) | 3127 (setq reftex-plug-into-AUCTeX t) |
3009 @end lisp | 3128 @end lisp |
3010 | 3129 |
3044 will offer its default label which is derived from the section title. | 3163 will offer its default label which is derived from the section title. |
3045 | 3164 |
3046 @item | 3165 @item |
3047 @b{AUCTeX tells @b{Ref@TeX{}} about new sections}@* | 3166 @b{AUCTeX tells @b{Ref@TeX{}} about new sections}@* |
3048 When creating a new section with @kbd{C-c C-s}, @b{Ref@TeX{}} will not | 3167 When creating a new section with @kbd{C-c C-s}, @b{Ref@TeX{}} will not |
3049 have to rescan the buffer in order to see it.@refill | 3168 have to rescan the buffer in order to see it. |
3050 | 3169 |
3051 @item | 3170 @item |
3052 @findex reftex-arg-label | 3171 @findex reftex-arg-label |
3053 @findex TeX-arg-label, @r{AUCTeX function} | 3172 @findex TeX-arg-label, @r{AUCTeX function} |
3054 @findex reftex-arg-ref | 3173 @findex reftex-arg-ref |
3068 do this, which is not reversible. However, @b{Ref@TeX{}} implements the | 3187 do this, which is not reversible. However, @b{Ref@TeX{}} implements the |
3069 old functionality when you later decide to turn off the interface.} and | 3188 old functionality when you later decide to turn off the interface.} and |
3070 supplies the macro arguments with @b{Ref@TeX{}'s} mechanisms. For | 3189 supplies the macro arguments with @b{Ref@TeX{}'s} mechanisms. For |
3071 example, when you type @kbd{C-c @key{RET} ref @key{RET}}, @b{Ref@TeX{}} | 3190 example, when you type @kbd{C-c @key{RET} ref @key{RET}}, @b{Ref@TeX{}} |
3072 will supply its label selection process (@pxref{Referencing | 3191 will supply its label selection process (@pxref{Referencing |
3073 Labels}).@refill | 3192 Labels}). |
3074 | 3193 |
3075 @item | 3194 @item |
3076 @b{@b{Ref@TeX{}} tells AUCTeX about new labels, citation-- and index keys}@* | 3195 @b{@b{Ref@TeX{}} tells AUCTeX about new labels, citation-- and index keys}@* |
3077 @b{Ref@TeX{}} will add all newly created labels to AUCTeX's completion list. | 3196 @b{Ref@TeX{}} will add all newly created labels to AUCTeX's completion list. |
3078 @end itemize | 3197 @end itemize |
3086 commands of a document (@pxref{Style Files,,,auctex}). Support for | 3205 commands of a document (@pxref{Style Files,,,auctex}). Support for |
3087 @b{Ref@TeX{}} in such a style file is useful when the LaTeX style | 3206 @b{Ref@TeX{}} in such a style file is useful when the LaTeX style |
3088 defines macros or environments connected with labels, citations, or the | 3207 defines macros or environments connected with labels, citations, or the |
3089 index. Many style files (e.g. @file{amsmath.el} or @file{natbib.el}) | 3208 index. Many style files (e.g. @file{amsmath.el} or @file{natbib.el}) |
3090 distributed with AUCTeX already support @b{Ref@TeX{}} in this | 3209 distributed with AUCTeX already support @b{Ref@TeX{}} in this |
3091 way.@refill | 3210 way. |
3092 | 3211 |
3093 Before calling a @b{Ref@TeX{}} function, the style hook should always | 3212 Before calling a @b{Ref@TeX{}} function, the style hook should always |
3094 test for the availability of the function, so that the style file will | 3213 test for the availability of the function, so that the style file will |
3095 also work for people who do not use @b{Ref@TeX{}}. @refill | 3214 also work for people who do not use @b{Ref@TeX{}}. |
3096 | 3215 |
3097 Additions made with style files in the way described below remain local | 3216 Additions made with style files in the way described below remain local |
3098 to the current document. For example, if one package uses AMSTeX, the | 3217 to the current document. For example, if one package uses AMSTeX, the |
3099 style file will make @b{Ref@TeX{}} switch over to @code{\eqref}, but | 3218 style file will make @b{Ref@TeX{}} switch over to @code{\eqref}, but |
3100 this will not affect other documents.@refill | 3219 this will not affect other documents. |
3101 | 3220 |
3102 @findex reftex-add-label-environments | 3221 @findex reftex-add-label-environments |
3103 @findex reftex-add-to-label-alist | 3222 @findex reftex-add-to-label-alist |
3104 A style hook may contain calls to | 3223 A style hook may contain calls to |
3105 @code{reftex-add-label-environments}@footnote{This used to be the | 3224 @code{reftex-add-label-environments}@footnote{This used to be the |
3106 function @code{reftex-add-to-label-alist} which is still available as an | 3225 function @code{reftex-add-to-label-alist} which is still available as an |
3107 alias for compatibility.} which defines additions to | 3226 alias for compatibility.} which defines additions to |
3108 @code{reftex-label-alist}. The argument taken by this function must have | 3227 @code{reftex-label-alist}. The argument taken by this function must have |
3109 the same format as @code{reftex-label-alist}. The @file{amsmath.el} | 3228 the same format as @code{reftex-label-alist}. The @file{amsmath.el} |
3110 style file of AUCTeX for example contains the following:@refill | 3229 style file of AUCTeX for example contains the following: |
3111 | 3230 |
3112 @lisp | 3231 @lisp |
3113 @group | 3232 @group |
3114 (TeX-add-style-hook "amsmath" | 3233 (TeX-add-style-hook "amsmath" |
3115 (lambda () | 3234 (lambda () |
3119 @end lisp | 3238 @end lisp |
3120 | 3239 |
3121 @noindent | 3240 @noindent |
3122 @findex LaTeX-add-environments, @r{AUCTeX} | 3241 @findex LaTeX-add-environments, @r{AUCTeX} |
3123 while a package @code{myprop} defining a @code{proposition} environment | 3242 while a package @code{myprop} defining a @code{proposition} environment |
3124 with @code{\newtheorem} might use@refill | 3243 with @code{\newtheorem} might use |
3125 | 3244 |
3126 @lisp | 3245 @lisp |
3127 @group | 3246 @group |
3128 (TeX-add-style-hook "myprop" | 3247 (TeX-add-style-hook "myprop" |
3129 (lambda () | 3248 (lambda () |
3137 | 3256 |
3138 @findex reftex-set-cite-format | 3257 @findex reftex-set-cite-format |
3139 Similarly, a style hook may contain a call to | 3258 Similarly, a style hook may contain a call to |
3140 @code{reftex-set-cite-format} to set the citation format. The style | 3259 @code{reftex-set-cite-format} to set the citation format. The style |
3141 file @file{natbib.el} for the Natbib citation style does switch | 3260 file @file{natbib.el} for the Natbib citation style does switch |
3142 @b{Ref@TeX{}}'s citation format like this:@refill | 3261 @b{Ref@TeX{}}'s citation format like this: |
3143 | 3262 |
3144 @lisp | 3263 @lisp |
3145 (TeX-add-style-hook "natbib" | 3264 (TeX-add-style-hook "natbib" |
3146 (lambda () | 3265 (lambda () |
3147 (if (fboundp 'reftex-set-cite-format) | 3266 (if (fboundp 'reftex-set-cite-format) |
3208 &}), @code{reftex-mouse-view-crossref} (bound to @kbd{S-mouse-2}), and | 3327 &}), @code{reftex-mouse-view-crossref} (bound to @kbd{S-mouse-2}), and |
3209 @code{reftex-search-document}. A somewhat fancier interface with mouse | 3328 @code{reftex-search-document}. A somewhat fancier interface with mouse |
3210 highlighting is provided (among other things) by Peter S. Galbraith's | 3329 highlighting is provided (among other things) by Peter S. Galbraith's |
3211 @file{bib-cite.el}. There is some overlap in the functionalities of | 3330 @file{bib-cite.el}. There is some overlap in the functionalities of |
3212 Bib-cite and @b{Ref@TeX{}}. Bib-cite.el comes bundled with | 3331 Bib-cite and @b{Ref@TeX{}}. Bib-cite.el comes bundled with |
3213 AUCTeX.@refill | 3332 AUCTeX. |
3214 | 3333 |
3215 Bib-cite version 3.06 and later can be configured so that bib-cite's | 3334 Bib-cite version 3.06 and later can be configured so that bib-cite's |
3216 mouse functions use @b{Ref@TeX{}} for displaying references and citations. | 3335 mouse functions use @b{Ref@TeX{}} for displaying references and citations. |
3217 This can be useful in particular when working with the LaTeX @code{xr} | 3336 This can be useful in particular when working with the LaTeX @code{xr} |
3218 package or with an explicit @code{thebibliography} environment (rather | 3337 package or with an explicit @code{thebibliography} environment (rather |
3219 than BibTeX). Bib-cite cannot handle those, but @b{Ref@TeX{}} does. To | 3338 than BibTeX). Bib-cite cannot handle those, but @b{Ref@TeX{}} does. To |
3220 make use of this feature, try@refill | 3339 make use of this feature, try |
3221 | 3340 |
3222 @vindex bib-cite-use-reftex-view-crossref | 3341 @vindex bib-cite-use-reftex-view-crossref |
3223 @lisp | 3342 @lisp |
3224 (setq bib-cite-use-reftex-view-crossref t) | 3343 (setq bib-cite-use-reftex-view-crossref t) |
3225 @end lisp | 3344 @end lisp |
3232 @itemize @bullet | 3351 @itemize @bullet |
3233 @item | 3352 @item |
3234 @b{LaTeX commands}@* | 3353 @b{LaTeX commands}@* |
3235 @cindex LaTeX commands, not found | 3354 @cindex LaTeX commands, not found |
3236 @code{\input}, @code{\include}, and @code{\section} (etc.) statements | 3355 @code{\input}, @code{\include}, and @code{\section} (etc.) statements |
3237 have to be first on a line (except for white space).@refill | 3356 have to be first on a line (except for white space). |
3238 | 3357 |
3239 @item | 3358 @item |
3240 @b{Commented regions}@* | 3359 @b{Commented regions}@* |
3241 @cindex Labels, commented out | 3360 @cindex Labels, commented out |
3242 @b{Ref@TeX{}} sees also labels in regions commented out and will refuse to | 3361 @b{Ref@TeX{}} sees also labels in regions commented out and will refuse to |
3243 make duplicates of such labels. This is considered to be a feature.@refill | 3362 make duplicates of such labels. This is considered to be a feature. |
3244 | 3363 |
3245 @item | 3364 @item |
3246 @b{Wrong section numbers}@* | 3365 @b{Wrong section numbers}@* |
3247 @cindex Section numbers, wrong | 3366 @cindex Section numbers, wrong |
3248 @vindex reftex-enable-partial-scans | 3367 @vindex reftex-enable-partial-scans |
3249 When using partial scans (@code{reftex-enable-partial-scans}), the section | 3368 When using partial scans (@code{reftex-enable-partial-scans}), the section |
3250 numbers in the table of contents may eventually become wrong. A full | 3369 numbers in the table of contents may eventually become wrong. A full |
3251 scan will fix this.@refill | 3370 scan will fix this. |
3252 | 3371 |
3253 @item | 3372 @item |
3254 @b{Local settings}@* | 3373 @b{Local settings}@* |
3255 @cindex Settings, local | 3374 @cindex Settings, local |
3256 @findex reftex-add-label-environments | 3375 @findex reftex-add-label-environments |
3261 local to a document, because they would interfere with settings in other | 3380 local to a document, because they would interfere with settings in other |
3262 documents, you should use AUCTeX and set up style files with calls to | 3381 documents, you should use AUCTeX and set up style files with calls to |
3263 @code{reftex-add-label-environments}, @code{reftex-set-cite-format}, | 3382 @code{reftex-add-label-environments}, @code{reftex-set-cite-format}, |
3264 @code{reftex-add-index-macros}, and @code{reftex-add-section-levels}. | 3383 @code{reftex-add-index-macros}, and @code{reftex-add-section-levels}. |
3265 Settings made with these functions remain local to the current | 3384 Settings made with these functions remain local to the current |
3266 document. @xref{AUCTeX}.@refill | 3385 document. @xref{AUCTeX}. |
3267 | 3386 |
3268 @item | 3387 @item |
3269 @b{Funny display in selection buffer}@* | 3388 @b{Funny display in selection buffer}@* |
3270 @cindex @code{x-symbol}, Emacs package | 3389 @cindex @code{x-symbol}, Emacs package |
3271 @cindex Emacs packages, @code{x-symbol} | 3390 @cindex Emacs packages, @code{x-symbol} |
3280 parts of a multifile document, because @b{Ref@TeX{}} visits these files | 3399 parts of a multifile document, because @b{Ref@TeX{}} visits these files |
3281 literally for speed reasons. Then both short context and section | 3400 literally for speed reasons. Then both short context and section |
3282 headings may look different from what you usually see on your screen. | 3401 headings may look different from what you usually see on your screen. |
3283 In rare cases @code{reftex-toc} may have problems to jump to an affected | 3402 In rare cases @code{reftex-toc} may have problems to jump to an affected |
3284 section heading. There are three possible ways to deal with | 3403 section heading. There are three possible ways to deal with |
3285 this:@refill | 3404 this: |
3286 @itemize @minus | 3405 @itemize @minus |
3287 @item | 3406 @item |
3288 @vindex reftex-keep-temporary-buffers | 3407 @vindex reftex-keep-temporary-buffers |
3289 @code{(setq reftex-keep-temporary-buffers t)}@* | 3408 @code{(setq reftex-keep-temporary-buffers t)}@* |
3290 This implies that @b{Ref@TeX{}} will load all parts of a multifile | 3409 This implies that @b{Ref@TeX{}} will load all parts of a multifile |
3291 document into Emacs (i.e. there won't be any temporary buffers).@refill | 3410 document into Emacs (i.e. there won't be any temporary buffers). |
3292 @item | 3411 @item |
3293 @vindex reftex-initialize-temporary-buffers | 3412 @vindex reftex-initialize-temporary-buffers |
3294 @code{(setq reftex-initialize-temporary-buffers t)}@* | 3413 @code{(setq reftex-initialize-temporary-buffers t)}@* |
3295 This means full initialization of temporary buffers. It involves | 3414 This means full initialization of temporary buffers. It involves |
3296 a penalty when the same unvisited file is used for lookup often.@refill | 3415 a penalty when the same unvisited file is used for lookup often. |
3297 @item | 3416 @item |
3298 Set @code{reftex-initialize-temporary-buffers} to a list of hook | 3417 Set @code{reftex-initialize-temporary-buffers} to a list of hook |
3299 functions doing a minimal initialization.@refill | 3418 functions doing a minimal initialization. |
3300 @end itemize | 3419 @end itemize |
3301 @vindex reftex-refontify-context | 3420 @vindex reftex-refontify-context |
3302 See also the variable @code{reftex-refontify-context}. | 3421 See also the variable @code{reftex-refontify-context}. |
3303 | 3422 |
3304 @item | 3423 @item |
3330 @code{step+} environment we actually tell @b{Ref@TeX{}} to look for the | 3449 @code{step+} environment we actually tell @b{Ref@TeX{}} to look for the |
3331 @emph{macro} @samp{\begin@{step+@}} and interpret the @emph{first} | 3450 @emph{macro} @samp{\begin@{step+@}} and interpret the @emph{first} |
3332 argument (which really is a second argument to the macro @code{\begin}) | 3451 argument (which really is a second argument to the macro @code{\begin}) |
3333 as a label of type @code{?p}. Argument count for this macro starts only | 3452 as a label of type @code{?p}. Argument count for this macro starts only |
3334 after the @samp{@{step+@}}, also when specifying how to get | 3453 after the @samp{@{step+@}}, also when specifying how to get |
3335 context.@refill | 3454 context. |
3336 | 3455 |
3337 @item | 3456 @item |
3338 @b{Idle timers in XEmacs}@* | 3457 @b{Idle timers in XEmacs}@* |
3339 @cindex Idle timer restart | 3458 @cindex Idle timer restart |
3340 @vindex reftex-use-itimer-in-xemacs | 3459 @vindex reftex-use-itimer-in-xemacs |
3350 @b{Viper mode}@* | 3469 @b{Viper mode}@* |
3351 @cindex Viper mode | 3470 @cindex Viper mode |
3352 @cindex Key bindings, problems with Viper mode | 3471 @cindex Key bindings, problems with Viper mode |
3353 @findex viper-harness-minor-mode | 3472 @findex viper-harness-minor-mode |
3354 With @i{Viper} mode prior to Vipers version 3.01, you need to protect | 3473 With @i{Viper} mode prior to Vipers version 3.01, you need to protect |
3355 @b{Ref@TeX{}}'s keymaps with@refill | 3474 @b{Ref@TeX{}}'s keymaps with |
3356 | 3475 |
3357 @lisp | 3476 @lisp |
3358 (viper-harness-minor-mode "reftex") | 3477 (viper-harness-minor-mode "reftex") |
3359 @end lisp | 3478 @end lisp |
3360 | 3479 |
3369 @cindex Thanks | 3488 @cindex Thanks |
3370 @cindex Bug reports | 3489 @cindex Bug reports |
3371 @cindex @code{http}, @b{Ref@TeX{}} home page | 3490 @cindex @code{http}, @b{Ref@TeX{}} home page |
3372 @cindex @code{ftp}, @b{Ref@TeX{}} site | 3491 @cindex @code{ftp}, @b{Ref@TeX{}} site |
3373 | 3492 |
3374 @b{Ref@TeX{}} was written by @i{@value{Carsten Dominik}} | 3493 @b{Ref@TeX{}} was written by @i{Carsten Dominik} |
3375 @email{dominik@@science.uva.nl}, with contributions by @i{Stephen | 3494 @email{dominik@@science.uva.nl}, with contributions by @i{Stephen |
3376 Eglen}. @b{Ref@TeX{}} is currently maintained by @refill | 3495 Eglen}. @b{Ref@TeX{}} is currently maintained by |
3377 | 3496 |
3378 @noindent | 3497 @noindent |
3379 @value{Carsten Dominik} @email{dominik@@science.uva.nl} | 3498 Carsten Dominik <dominik@@science.uva.nl> |
3380 | 3499 |
3381 If you have questions about @b{Ref@TeX{}}, there are several Usenet | 3500 If you have questions about @b{Ref@TeX{}}, there are several Usenet |
3382 groups which have competent readers: @code{comp.emacs}, | 3501 groups which have competent readers: @code{comp.emacs}, |
3383 @code{gnu.emacs.help}, @code{comp.emacs.xemacs}, @code{comp.text.tex}. | 3502 @code{gnu.emacs.help}, @code{comp.emacs.xemacs}, @code{comp.text.tex}, |
3384 You can also write directly to the maintainer. | 3503 @code{de.comp.text.tex}. You can also write directly to the |
3504 maintainer. | |
3385 | 3505 |
3386 If you find a bug in @b{Ref@TeX{}} or its documentation, or if you want | 3506 If you find a bug in @b{Ref@TeX{}} or its documentation, or if you want |
3387 to contribute code or ideas, please | 3507 to contribute code or ideas, please @value{MAINTAINERCONTACT}. Remember |
3388 @uref{mailto:dominik@@science.uva.nl,contact the maintainer}. Remember | |
3389 to provide all necessary information such as version numbers of Emacs | 3508 to provide all necessary information such as version numbers of Emacs |
3390 and @b{Ref@TeX{}}, and the relevant part of your configuration in | 3509 and @b{Ref@TeX{}}, and the relevant part of your configuration in |
3391 @file{.emacs}. When reporting a bug which throws an exception, please | 3510 @file{.emacs}. When reporting a bug which throws an exception, please |
3392 include a backtrace if you know how to produce one. | 3511 include a backtrace if you know how to produce one. |
3393 | 3512 |
3394 @b{Ref@TeX{}} is bundled and pre-installed with Emacs since version 20.2. | 3513 @b{Ref@TeX{}} is bundled and pre-installed with Emacs since version 20.2. |
3395 It was also bundled and pre-installed with XEmacs 19.16--20.x. XEmacs | 3514 It was also bundled and pre-installed with XEmacs 19.16--20.x. XEmacs |
3396 21.x users want to install the corresponding plugin package which is | 3515 21.x users want to install the corresponding plugin package which is |
3397 available from the XEmacs @code{ftp} site. See the XEmacs 21.x | 3516 available from the @value{XEMACSFTP}. See the XEmacs 21.x |
3398 documentation on package installation for details.@refill | 3517 documentation on package installation for details. |
3399 | 3518 |
3400 Users of earlier Emacs distributions (including Emacs 19) can get a | 3519 Users of earlier Emacs distributions (including Emacs 19) can get a |
3401 @b{Ref@TeX{}} distribution from the | 3520 @b{Ref@TeX{}} distribution from the @value{MAINTAINERSITE}. Note that |
3402 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/,maintainers | 3521 the Emacs 19 version supports many but not all features described in |
3403 webpage}. Note that the Emacs 19 version supports many but not all | 3522 this manual. |
3404 features described in this manual.@refill | |
3405 | 3523 |
3406 Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped | 3524 Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped |
3407 developing it with their reports. In particular thanks to @i{Fran | 3525 developing it with their reports. In particular thanks to @i{Ralf |
3408 Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, Karl | 3526 Angeli, Fran Burstall, Alastair Burt, Lars Clausen, Soren Dayton, |
3409 Eichwalder, Erik Frik, Erik Frisk, Peter Galbraith, Kai Grossjohann, | 3527 Stephen Eglen, Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai |
3410 Frank Harrell, Stephan Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, | 3528 Grossjohann, Frank Harrell, Till A. Heilmann, Peter Heslin, Stephan |
3411 Adrian Lanz, Rory Molinari, Stefan Monnier, Laurent Mugnier, Sudeep | 3529 Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David Kastrup, Adrian Lanz, |
3412 Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, Richard Stanton, | 3530 Juri Linkov, Rory Molinari, Stefan Monnier, Laurent Mugnier, Dan |
3413 Allan Strand, Jan Vroonhof, Christoph Wedler, Alan Williams, Roland | 3531 Nicolaescu, Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, |
3414 Winkler, Eli Zaretskii}.@refill | 3532 Richard Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan |
3533 Williams, Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}. | |
3534 | |
3415 | 3535 |
3416 The @code{view-crossref} feature was inspired by @i{Peter Galbraith's} | 3536 The @code{view-crossref} feature was inspired by @i{Peter Galbraith's} |
3417 @file{bib-cite.el}.@refill | 3537 @file{bib-cite.el}. |
3418 | 3538 |
3419 Finally thanks to @i{Uwe Bolick} who first got me (some years ago) into | 3539 Finally thanks to @i{Uwe Bolick} who first got me interested in |
3420 supporting LaTeX labels and references with an editor (which was | 3540 supporting LaTeX labels and references with an editor (which was |
3421 MicroEmacs at the time).@refill | 3541 MicroEmacs at the time). |
3422 | 3542 |
3423 @node Commands, Options, Imprint, Top | 3543 @node Commands, Options, Imprint, Top |
3424 @chapter Commands | 3544 @chapter Commands |
3425 @cindex Commands, list of | 3545 @cindex Commands, list of |
3426 | 3546 |
3429 not described here. All commands are available from the @code{Ref} | 3549 not described here. All commands are available from the @code{Ref} |
3430 menu. See @xref{Key Bindings}. | 3550 menu. See @xref{Key Bindings}. |
3431 | 3551 |
3432 @deffn Command reftex-toc | 3552 @deffn Command reftex-toc |
3433 Show the table of contents for the current document. When called with | 3553 Show the table of contents for the current document. When called with |
3434 one ore two @kbd{C-u} prefixes, rescan the document first.@refill | 3554 one ore two @kbd{C-u} prefixes, rescan the document first. |
3435 @end deffn | 3555 @end deffn |
3436 | 3556 |
3437 @deffn Command reftex-label | 3557 @deffn Command reftex-label |
3438 Insert a unique label. With one or two @kbd{C-u} prefixes, enforce | 3558 Insert a unique label. With one or two @kbd{C-u} prefixes, enforce |
3439 document rescan first. | 3559 document rescan first. |
3448 Make a citation using BibTeX database files. After prompting for a regular | 3568 Make a citation using BibTeX database files. After prompting for a regular |
3449 expression, scans the buffers with BibTeX entries (taken from the | 3569 expression, scans the buffers with BibTeX entries (taken from the |
3450 @code{\bibliography} command or a @code{thebibliography} environment) | 3570 @code{\bibliography} command or a @code{thebibliography} environment) |
3451 and offers the matching entries for selection. The selected entry is | 3571 and offers the matching entries for selection. The selected entry is |
3452 formatted according to @code{reftex-cite-format} and inserted into the | 3572 formatted according to @code{reftex-cite-format} and inserted into the |
3453 buffer.@refill @* | 3573 buffer. @* |
3454 When called with one or two @kbd{C-u} prefixes, first rescans the | 3574 When called with a @kbd{C-u} prefixe, prompt for optional arguments in |
3455 document. When called with a numeric prefix, make that many citations. | 3575 cite macros. When called with a numeric prefix, make that many citations. |
3456 When called with point inside the braces of a @code{\cite} command, it | 3576 When called with point inside the braces of a @code{\cite} command, it |
3457 will add another key, ignoring the value of | 3577 will add another key, ignoring the value of |
3458 @code{reftex-cite-format}.@refill @* | 3578 @code{reftex-cite-format}. @* |
3459 The regular expression uses an expanded syntax: @samp{&&} is interpreted | 3579 The regular expression uses an expanded syntax: @samp{&&} is interpreted |
3460 as @code{and}. Thus, @samp{aaaa&&bbb} matches entries which contain | 3580 as @code{and}. Thus, @samp{aaaa&&bbb} matches entries which contain |
3461 both @samp{aaaa} and @samp{bbb}. While entering the regexp, completion | 3581 both @samp{aaaa} and @samp{bbb}. While entering the regexp, completion |
3462 on knows citation keys is possible. @samp{=} is a good regular | 3582 on knows citation keys is possible. @samp{=} is a good regular |
3463 expression to match all entries in all files.@refill | 3583 expression to match all entries in all files. |
3464 @end deffn | 3584 @end deffn |
3465 | 3585 |
3466 @deffn Command reftex-index | 3586 @deffn Command reftex-index |
3467 Query for an index macro and insert it along with its arguments. The | 3587 Query for an index macro and insert it along with its arguments. The |
3468 index macros available are those defined in @code{reftex-index-macro} or | 3588 index macros available are those defined in @code{reftex-index-macro} or |
3469 by a call to @code{reftex-add-index-macros}, typically from an AUCTeX | 3589 by a call to @code{reftex-add-index-macros}, typically from an AUCTeX |
3470 style file. @b{Ref@TeX{}} provides completion for the index tag and the | 3590 style file. @b{Ref@TeX{}} provides completion for the index tag and the |
3471 index key, and will prompt for other arguments.@refill | 3591 index key, and will prompt for other arguments. |
3472 @end deffn | 3592 @end deffn |
3473 | 3593 |
3474 @deffn Command reftex-index-selection-or-word | 3594 @deffn Command reftex-index-selection-or-word |
3475 Put current selection or the word near point into the default index | 3595 Put current selection or the word near point into the default index |
3476 macro. This uses the information in @code{reftex-index-default-macro} | 3596 macro. This uses the information in @code{reftex-index-default-macro} |
3478 the word near point. When called with one @kbd{C-u} prefix, let the | 3598 the word near point. When called with one @kbd{C-u} prefix, let the |
3479 user have a chance to edit the index entry. When called with 2 | 3599 user have a chance to edit the index entry. When called with 2 |
3480 @kbd{C-u} as prefix, also ask for the index macro and other stuff. When | 3600 @kbd{C-u} as prefix, also ask for the index macro and other stuff. When |
3481 called inside TeX math mode as determined by the @file{texmathp.el} | 3601 called inside TeX math mode as determined by the @file{texmathp.el} |
3482 library which is part of AUCTeX, the string is first processed with the | 3602 library which is part of AUCTeX, the string is first processed with the |
3483 @code{reftex-index-math-format}, which see.@refill | 3603 @code{reftex-index-math-format}, which see. |
3484 @end deffn | 3604 @end deffn |
3485 | 3605 |
3486 @deffn Command reftex-index-phrase-selection-or-word | 3606 @deffn Command reftex-index-phrase-selection-or-word |
3487 Add current selection or the word at point to the phrases buffer. | 3607 Add current selection or the word at point to the phrases buffer. |
3488 When you are in transient-mark-mode and the region is active, the | 3608 When you are in transient-mark-mode and the region is active, the |
3505 Display a buffer with an index compiled from the current document. | 3625 Display a buffer with an index compiled from the current document. |
3506 When the document has multiple indices, first prompts for the correct one. | 3626 When the document has multiple indices, first prompts for the correct one. |
3507 When index support is turned off, offer to turn it on. | 3627 When index support is turned off, offer to turn it on. |
3508 With one or two @kbd{C-u} prefixes, rescan document first. | 3628 With one or two @kbd{C-u} prefixes, rescan document first. |
3509 With prefix 2, restrict index to current document section. | 3629 With prefix 2, restrict index to current document section. |
3510 With prefix 3, restrict index to active region.@refill | 3630 With prefix 3, restrict index to active region. |
3511 @end deffn | 3631 @end deffn |
3512 | 3632 |
3513 @deffn Command reftex-view-crossref | 3633 @deffn Command reftex-view-crossref |
3514 View cross reference of macro at point. Point must be on the @var{key} | 3634 View cross reference of macro at point. Point must be on the @var{key} |
3515 argument. Works with the macros @code{\label}, @code{\ref}, | 3635 argument. Works with the macros @code{\label}, @code{\ref}, |
3530 @end deffn | 3650 @end deffn |
3531 | 3651 |
3532 @deffn Command reftex-create-tags-file | 3652 @deffn Command reftex-create-tags-file |
3533 Create TAGS file by running @code{etags} on the current document. The | 3653 Create TAGS file by running @code{etags} on the current document. The |
3534 TAGS file is also immediately visited with | 3654 TAGS file is also immediately visited with |
3535 @code{visit-tags-table}.@refill | 3655 @code{visit-tags-table}. |
3536 @end deffn | 3656 @end deffn |
3537 | 3657 |
3538 @deffn Command reftex-grep-document | 3658 @deffn Command reftex-grep-document |
3539 Run grep query through all files related to this document. | 3659 Run grep query through all files related to this document. |
3540 With prefix arg, force to rescan document. | 3660 With prefix arg, force to rescan document. |
3541 No active TAGS table is required.@refill | 3661 No active TAGS table is required. |
3542 @end deffn | 3662 @end deffn |
3543 | 3663 |
3544 @deffn Command reftex-search-document | 3664 @deffn Command reftex-search-document |
3545 Regexp search through all files of the current document. | 3665 Regexp search through all files of the current document. |
3546 Starts always in the master file. Stops when a match is found. | 3666 Starts always in the master file. Stops when a match is found. |
3547 No active TAGS table is required.@refill | 3667 No active TAGS table is required. |
3548 @end deffn | 3668 @end deffn |
3549 | 3669 |
3550 @deffn Command reftex-query-replace-document | 3670 @deffn Command reftex-query-replace-document |
3551 Run a query-replace-regexp of @var{from} with @var{to} over the entire | 3671 Run a query-replace-regexp of @var{from} with @var{to} over the entire |
3552 document. With prefix arg, replace only word-delimited matches. No | 3672 document. With prefix arg, replace only word-delimited matches. No |
3553 active TAGS table is required.@refill | 3673 active TAGS table is required. |
3674 @end deffn | |
3675 | |
3676 @deffn Command reftex-isearch-minor-mode | |
3677 Toggle a minor mode which enables incremental search to work globally | |
3678 on the entire multifile document. Files will be searched in th | |
3679 sequence they appear in the document. | |
3554 @end deffn | 3680 @end deffn |
3555 | 3681 |
3556 @deffn Command reftex-goto-label | 3682 @deffn Command reftex-goto-label |
3557 Prompt for a label (with completion) and jump to the location of this | 3683 Prompt for a label (with completion) and jump to the location of this |
3558 label. Optional prefix argument @var{other-window} goes to the label in | 3684 label. Optional prefix argument @var{other-window} goes to the label in |
3561 | 3687 |
3562 | 3688 |
3563 @deffn Command reftex-change-label | 3689 @deffn Command reftex-change-label |
3564 Query replace @var{from} with @var{to} in all @code{\label} and | 3690 Query replace @var{from} with @var{to} in all @code{\label} and |
3565 @code{\ref} commands. Works on the entire multifile document. No | 3691 @code{\ref} commands. Works on the entire multifile document. No |
3566 active TAGS table is required.@refill | 3692 active TAGS table is required. |
3567 @end deffn | 3693 @end deffn |
3568 | 3694 |
3569 @deffn Command reftex-renumber-simple-labels | 3695 @deffn Command reftex-renumber-simple-labels |
3570 Renumber all simple labels in the document to make them sequentially. | 3696 Renumber all simple labels in the document to make them sequentially. |
3571 Simple labels are the ones created by RefTeX, consisting only of the | 3697 Simple labels are the ones created by RefTeX, consisting only of the |
3573 have sequential numbers throughout the document. Any references to the | 3699 have sequential numbers throughout the document. Any references to the |
3574 labels will be changed as well. For this, @b{Ref@TeX{}} looks at the | 3700 labels will be changed as well. For this, @b{Ref@TeX{}} looks at the |
3575 arguments of any macros which either start or end with the string | 3701 arguments of any macros which either start or end with the string |
3576 @samp{ref}. This command should be used with care, in particular in | 3702 @samp{ref}. This command should be used with care, in particular in |
3577 multifile documents. You should not use it if another document refers | 3703 multifile documents. You should not use it if another document refers |
3578 to this one with the @code{xr} package.@refill | 3704 to this one with the @code{xr} package. |
3579 @end deffn | 3705 @end deffn |
3580 | 3706 |
3581 @deffn Command reftex-find-duplicate-labels | 3707 @deffn Command reftex-find-duplicate-labels |
3582 Produce a list of all duplicate labels in the document.@refill | 3708 Produce a list of all duplicate labels in the document. |
3709 @end deffn | |
3710 | |
3711 @deffn Command reftex-create-bibtex-file | |
3712 Create a new BibTeX database file with all entries referenced in document. | |
3713 The command prompts for a filename and writes the collected entries to | |
3714 that file. Only entries referenced in the current document with | |
3715 any @code{\cite}-like macros are used. | |
3716 The sequence in the new file is the same as it was in the old database. | |
3583 @end deffn | 3717 @end deffn |
3584 | 3718 |
3585 @deffn Command reftex-customize | 3719 @deffn Command reftex-customize |
3586 Run the customize browser on the @b{Ref@TeX{}} group. | 3720 Run the customize browser on the @b{Ref@TeX{}} group. |
3587 @end deffn | 3721 @end deffn |
3605 | 3739 |
3606 Here is a complete list of @b{Ref@TeX{}}'s configuration variables. All | 3740 Here is a complete list of @b{Ref@TeX{}}'s configuration variables. All |
3607 variables have customize support - so if you are not familiar with Emacs | 3741 variables have customize support - so if you are not familiar with Emacs |
3608 Lisp (and even if you are) you might find it more comfortable to use | 3742 Lisp (and even if you are) you might find it more comfortable to use |
3609 @code{customize} to look at and change these variables. @kbd{M-x | 3743 @code{customize} to look at and change these variables. @kbd{M-x |
3610 reftex-customize} will get you there.@refill | 3744 reftex-customize} will get you there. |
3611 | 3745 |
3612 @menu | 3746 @menu |
3613 * Options (Table of Contents):: | 3747 * Options (Table of Contents):: |
3614 * Options (Defining Label Environments):: | 3748 * Options (Defining Label Environments):: |
3615 * Options (Creating Labels):: | 3749 * Options (Creating Labels):: |
3641 | 3775 |
3642 @defopt reftex-section-levels | 3776 @defopt reftex-section-levels |
3643 Commands and levels used for defining sections in the document. The | 3777 Commands and levels used for defining sections in the document. The |
3644 @code{car} of each cons cell is the name of the section macro. The | 3778 @code{car} of each cons cell is the name of the section macro. The |
3645 @code{cdr} is a number indicating its level. A negative level means the | 3779 @code{cdr} is a number indicating its level. A negative level means the |
3646 same as the positive value, but the section will never get a | 3780 same as the positive value, but the section will never get a number. |
3647 number. The @code{cdr} may also be a function which then has to return | 3781 The @code{cdr} may also be a function which then has to return the |
3648 the level.@refill | 3782 level. This list is also used for promotion and demption of sectioning |
3783 commands. If you are using a document class which has several sets of | |
3784 sectioning commands, promotion only works correctly if this list is | |
3785 sorted first by set, then within each set by level. The promotion | |
3786 commands always select the nearest entry with the correct new level. | |
3787 | |
3649 @end defopt | 3788 @end defopt |
3650 | 3789 |
3651 @defopt reftex-toc-max-level | 3790 @defopt reftex-toc-max-level |
3652 The maximum level of toc entries which will be included in the TOC. | 3791 The maximum level of toc entries which will be included in the TOC. |
3653 Section headings with a bigger level will be ignored. In RefTeX, | 3792 Section headings with a bigger level will be ignored. In RefTeX, |
3654 chapters are level 1, sections level 2 etc. This variable can be | 3793 chapters are level 1, sections level 2 etc. This variable can be |
3655 changed from within the @file{*toc*} buffer with the @kbd{t} key.@refill | 3794 changed from within the @file{*toc*} buffer with the @kbd{t} key. |
3656 @end defopt | 3795 @end defopt |
3657 | 3796 |
3658 @defopt reftex-part-resets-chapter | 3797 @defopt reftex-part-resets-chapter |
3659 Non-@code{nil} means, @code{\part} is like any other sectioning command. | 3798 Non-@code{nil} means, @code{\part} is like any other sectioning command. |
3660 This means, part numbers will be included in the numbering of chapters, and | 3799 This means, part numbers will be included in the numbering of chapters, and |
3662 When @code{nil} (the default), parts are special, do not reset the | 3801 When @code{nil} (the default), parts are special, do not reset the |
3663 chapter counter and also do not show up in chapter numbers. | 3802 chapter counter and also do not show up in chapter numbers. |
3664 @end defopt | 3803 @end defopt |
3665 | 3804 |
3666 @defopt reftex-auto-recenter-toc | 3805 @defopt reftex-auto-recenter-toc |
3667 Non-@code{nil} means, initially turn automatic recentering of toc on. | 3806 Non-@code{nil} means, turn automatic recentering of @file{*TOC*} window on. |
3668 When active, the @file{*TOC*} buffer will always show the section you | 3807 When active, the @file{*TOC*} window will always show the section you |
3669 are currently working in. Recentering happens whenever Emacs is idle | 3808 are currently working in. Recentering happens whenever Emacs is idle for |
3670 for more than `reftex-idle-time' seconds. | 3809 more than @code{reftex-idle-time} seconds. |
3671 This feature can be turned on and off from the menu | 3810 |
3811 Value @code{t} means, turn on immediately when RefTeX gets started. Then, | |
3812 recentering will work for any toc window created during the session. | |
3813 | |
3814 Value @code{frame} (the default) means, turn automatic recentering on | |
3815 only while the dedicated TOC frame does exist, and do the recentering | |
3816 only in that frame. So when creating that frame (with @kbd{d} key in an | |
3817 ordinary TOC window), the automatic recentering is turned on. When the | |
3818 frame gets destroyed, automatic recentering is turned off again. | |
3819 | |
3820 This feature can be turned on and off from the menu | |
3672 (Ref->Options). | 3821 (Ref->Options). |
3673 @end defopt | 3822 @end defopt |
3674 | 3823 |
3675 @defopt reftex-toc-split-windows-horizontally | 3824 @defopt reftex-toc-split-windows-horizontally |
3676 Non-@code{nil} means, create TOC window by splitting window | 3825 Non-@code{nil} means, create TOC window by splitting window |
3677 horizontally. The default is to split vertically. | 3826 horizontally. The default is to split vertically. |
3678 @end defopt | 3827 @end defopt |
3679 | 3828 |
3680 @defopt reftex-toc-split-windows-horizontally-fraction | 3829 @defopt reftex-toc-split-windows-fraction |
3681 Fraction of the horizontal width of the frame to be used for TOC window. | 3830 Fraction of the width or height of the frame to be used for TOC window. |
3682 Only relevant when @code{reftex-toc-split-windows-horizontally} is | |
3683 non-@code{nil}. | |
3684 @end defopt | 3831 @end defopt |
3685 | 3832 |
3686 @defopt reftex-toc-keep-other-windows | 3833 @defopt reftex-toc-keep-other-windows |
3687 Non-@code{nil} means, split the selected window to display the | 3834 Non-@code{nil} means, split the selected window to display the |
3688 @file{*toc*} buffer. This helps to keep the window configuration, but | 3835 @file{*toc*} buffer. This helps to keep the window configuration, but |
3689 makes the @file{*toc*} small. When @code{nil}, all other windows except | 3836 makes the @file{*toc*} small. When @code{nil}, all other windows except |
3690 the selected one will be deleted, so that the @file{*toc*} window fills | 3837 the selected one will be deleted, so that the @file{*toc*} window fills |
3691 half the frame.@refill | 3838 half the frame. |
3692 @end defopt | 3839 @end defopt |
3693 | 3840 |
3694 @defopt reftex-toc-include-file-boundaries | 3841 @defopt reftex-toc-include-file-boundaries |
3695 Non-@code{nil} means, include file boundaries in @file{*toc*} buffer. | 3842 Non-@code{nil} means, include file boundaries in @file{*toc*} buffer. |
3696 This flag can be toggled from within the @file{*toc*} buffer with the | 3843 This flag can be toggled from within the @file{*toc*} buffer with the |
3697 @kbd{i} key.@refill | 3844 @kbd{i} key. |
3698 @end defopt | 3845 @end defopt |
3699 | 3846 |
3700 @defopt reftex-toc-include-labels | 3847 @defopt reftex-toc-include-labels |
3701 Non-@code{nil} means, include labels in @file{*toc*} buffer. This flag | 3848 Non-@code{nil} means, include labels in @file{*toc*} buffer. This flag |
3702 can be toggled from within the @file{*toc*} buffer with the @kbd{l} | 3849 can be toggled from within the @file{*toc*} buffer with the @kbd{l} |
3703 key.@refill | 3850 key. |
3704 @end defopt | 3851 @end defopt |
3705 | 3852 |
3706 @defopt reftex-toc-include-index-entries | 3853 @defopt reftex-toc-include-index-entries |
3707 Non-@code{nil} means, include index entries in @file{*toc*} buffer. | 3854 Non-@code{nil} means, include index entries in @file{*toc*} buffer. |
3708 This flag can be toggled from within the @file{*toc*} buffer with the | 3855 This flag can be toggled from within the @file{*toc*} buffer with the |
3711 | 3858 |
3712 @defopt reftex-toc-include-context | 3859 @defopt reftex-toc-include-context |
3713 Non-@code{nil} means, include context with labels in the @file{*toc*} | 3860 Non-@code{nil} means, include context with labels in the @file{*toc*} |
3714 buffer. Context will only be shown if the labels are visible as well. | 3861 buffer. Context will only be shown if the labels are visible as well. |
3715 This flag can be toggled from within the @file{*toc*} buffer with the | 3862 This flag can be toggled from within the @file{*toc*} buffer with the |
3716 @kbd{c} key.@refill | 3863 @kbd{c} key. |
3717 @end defopt | 3864 @end defopt |
3718 | 3865 |
3719 @defopt reftex-toc-follow-mode | 3866 @defopt reftex-toc-follow-mode |
3720 Non-@code{nil} means, point in @file{*toc*} buffer (the | 3867 Non-@code{nil} means, point in @file{*toc*} buffer (the |
3721 table-of-contents buffer) will cause other window to follow. The other | 3868 table-of-contents buffer) will cause other window to follow. The other |
3722 window will show the corresponding part of the document. This flag can | 3869 window will show the corresponding part of the document. This flag can |
3723 be toggled from within the @file{*toc*} buffer with the @kbd{f} | 3870 be toggled from within the @file{*toc*} buffer with the @kbd{f} |
3724 key.@refill | 3871 key. |
3725 @end defopt | 3872 @end defopt |
3726 | 3873 |
3727 @deffn {Normal Hook} reftex-toc-mode-hook | 3874 @deffn {Normal Hook} reftex-toc-mode-hook |
3728 Normal hook which is run when a @file{*toc*} buffer is | 3875 Normal hook which is run when a @file{*toc*} buffer is |
3729 created.@refill | 3876 created. |
3730 @end deffn | 3877 @end deffn |
3731 | 3878 |
3732 @deffn Keymap reftex-toc-map | 3879 @deffn Keymap reftex-toc-map |
3733 The keymap which is active in the @file{*toc*} buffer. | 3880 The keymap which is active in the @file{*toc*} buffer. |
3734 (@pxref{Table of Contents}).@refill | 3881 (@pxref{Table of Contents}). |
3735 @end deffn | 3882 @end deffn |
3736 | 3883 |
3737 @node Options (Defining Label Environments), Options (Creating Labels), Options (Table of Contents), Options | 3884 @node Options (Defining Label Environments), Options (Creating Labels), Options (Table of Contents), Options |
3738 @section Defining Label Environments | 3885 @section Defining Label Environments |
3739 @cindex Options, defining label environments | 3886 @cindex Options, defining label environments |
3740 @cindex Defining label environments, options | 3887 @cindex Defining label environments, options |
3741 | 3888 |
3742 @defopt reftex-default-label-alist-entries | 3889 @defopt reftex-default-label-alist-entries |
3743 Default label alist specifications. It is a list of symbols with | 3890 Default label alist specifications. It is a list of symbols with |
3744 associations in the constant @code{reftex-label-alist-builtin}. | 3891 associations in the constant @code{reftex-label-alist-builtin}. |
3745 @code{LaTeX} should always be the last entry.@refill | 3892 @code{LaTeX} should always be the last entry. |
3746 @end defopt | 3893 @end defopt |
3747 | 3894 |
3748 @defopt reftex-label-alist | 3895 @defopt reftex-label-alist |
3749 Set this variable to define additions and changes to the defaults in | 3896 Set this variable to define additions and changes to the defaults in |
3750 @code{reftex-default-label-alist-entries}. The only things you | 3897 @code{reftex-default-label-alist-entries}. The only things you |
3751 @emph{must not} change is that @code{?s} is the type indicator for | 3898 @emph{must not} change is that @code{?s} is the type indicator for |
3752 section labels, and @key{SPC} for the @code{any} label type. These are | 3899 section labels, and @key{SPC} for the @code{any} label type. These are |
3753 hard-coded at other places in the code.@refill | 3900 hard-coded at other places in the code. |
3754 | 3901 |
3755 The value of the variable must be a list of items. Each item is a list | 3902 The value of the variable must be a list of items. Each item is a list |
3756 itself and has the following structure: | 3903 itself and has the following structure: |
3757 | 3904 |
3758 @example | 3905 @example |
3761 @end example | 3908 @end example |
3762 | 3909 |
3763 Each list entry describes either an environment carrying a counter for | 3910 Each list entry describes either an environment carrying a counter for |
3764 use with @code{\label} and @code{\ref}, or a LaTeX macro defining a | 3911 use with @code{\label} and @code{\ref}, or a LaTeX macro defining a |
3765 label as (or inside) one of its arguments. The elements of each list | 3912 label as (or inside) one of its arguments. The elements of each list |
3766 entry are:@refill | 3913 entry are: |
3767 | 3914 |
3768 @table @asis | 3915 @table @asis |
3769 @item @var{env-or-macro} | 3916 @item @var{env-or-macro} |
3770 Name of the environment (like @samp{table}) or macro (like | 3917 Name of the environment (like @samp{table}) or macro (like |
3771 @samp{\myfig}). For macros, indicate the arguments, as in | 3918 @samp{\myfig}). For macros, indicate the arguments, as in |
3772 @samp{\myfig[]@{@}@{@}@{*@}@{@}}. Use square brackets for optional | 3919 @samp{\myfig[]@{@}@{@}@{*@}@{@}}. Use square brackets for optional |
3773 arguments, a star to mark the label argument, if any. The macro does | 3920 arguments, a star to mark the label argument, if any. The macro does |
3774 not have to have a label argument - you could also use | 3921 not have to have a label argument - you could also use |
3775 @samp{\label@{...@}} inside one of its arguments.@refill | 3922 @samp{\label@{...@}} inside one of its arguments. |
3776 | 3923 |
3777 Special names: @code{section} for section labels, @code{any} to define a | 3924 Special names: @code{section} for section labels, @code{any} to define a |
3778 group which contains all labels.@refill | 3925 group which contains all labels. |
3779 | 3926 |
3780 This may also be a function to do local parsing and identify point to be | 3927 This may also be a function to do local parsing and identify point to be |
3781 in a non-standard label environment. The function must take an | 3928 in a non-standard label environment. The function must take an |
3782 argument @var{bound} and limit backward searches to this value. It | 3929 argument @var{bound} and limit backward searches to this value. It |
3783 should return either nil or a cons cell @code{(@var{function} | 3930 should return either nil or a cons cell @code{(@var{function} |
3784 . @var{position})} with the function symbol and the position where the | 3931 . @var{position})} with the function symbol and the position where the |
3785 special environment starts. See the Info documentation for an | 3932 special environment starts. See the Info documentation for an |
3786 example.@refill | 3933 example. |
3787 | 3934 |
3788 Finally this may also be @code{nil} if the entry is only meant to change | 3935 Finally this may also be @code{nil} if the entry is only meant to change |
3789 some settings associated with the type indicator character (see | 3936 some settings associated with the type indicator character (see |
3790 below).@refill | 3937 below). |
3791 | 3938 |
3792 @item @var{type-key} | 3939 @item @var{type-key} |
3793 Type indicator character, like @code{?t}, must be a printable ASCII | 3940 Type indicator character, like @code{?t}, must be a printable ASCII |
3794 character. The type indicator is a single character which defines a | 3941 character. The type indicator is a single character which defines a |
3795 label type. Any label inside the environment or macro is assumed to | 3942 label type. Any label inside the environment or macro is assumed to |
3796 belong to this type. The same character may occur several times in this | 3943 belong to this type. The same character may occur several times in this |
3797 list, to cover cases in which different environments carry the same | 3944 list, to cover cases in which different environments carry the same |
3798 label type (like @code{equation} and @code{eqnarray}). If the type | 3945 label type (like @code{equation} and @code{eqnarray}). If the type |
3799 indicator is @code{nil} and the macro has a label argument @samp{@{*@}}, | 3946 indicator is @code{nil} and the macro has a label argument @samp{@{*@}}, |
3800 the macro defines neutral labels just like @code{\label}. In this case | 3947 the macro defines neutral labels just like @code{\label}. In this case |
3801 the reminder of this entry is ignored.@refill | 3948 the reminder of this entry is ignored. |
3802 | 3949 |
3803 @item @var{label-prefix} | 3950 @item @var{label-prefix} |
3804 Label prefix string, like @samp{tab:}. The prefix is a short string | 3951 Label prefix string, like @samp{tab:}. The prefix is a short string |
3805 used as the start of a label. It may be the empty string. The prefix | 3952 used as the start of a label. It may be the empty string. The prefix |
3806 may contain the following @samp{%} escapes:@refill | 3953 may contain the following @samp{%} escapes: |
3807 | 3954 |
3808 @example | 3955 @example |
3809 %f Current file name, directory and extension stripped. | 3956 %f Current file name, directory and extension stripped. |
3810 %F Current file name relative to master file directory. | 3957 %F Current file name relative to master file directory. |
3958 %m Master file name, directory and extension stripped. | |
3959 %M Directory name (without path) where master file is located. | |
3811 %u User login name, on systems which support this. | 3960 %u User login name, on systems which support this. |
3812 %S A section prefix derived with variable @code{reftex-section-prefixes}. | 3961 %S A section prefix derived with variable @code{reftex-section-prefixes}. |
3813 @end example | 3962 @end example |
3814 | 3963 |
3815 @noindent | 3964 @noindent |
3816 Example: In a file @file{intro.tex}, @samp{eq:%f:} will become | 3965 Example: In a file @file{intro.tex}, @samp{eq:%f:} will become |
3817 @samp{eq:intro:}.@refill | 3966 @samp{eq:intro:}. |
3818 | 3967 |
3819 @item @var{reference-format} | 3968 @item @var{reference-format} |
3820 Format string for reference insert in buffer. @samp{%s} will be | 3969 Format string for reference insert in buffer. @samp{%s} will be |
3821 replaced by the label. When the format starts with @samp{~}, this | 3970 replaced by the label. When the format starts with @samp{~}, this |
3822 @samp{~} will only be inserted when the character before point is | 3971 @samp{~} will only be inserted when the character before point is |
3823 @emph{not} a whitespace.@refill | 3972 @emph{not} a whitespace. |
3824 | 3973 |
3825 @item @var{context-method} | 3974 @item @var{context-method} |
3826 Indication on how to find the short context. | 3975 Indication on how to find the short context. |
3827 @itemize @minus | 3976 @itemize @minus |
3828 @item | 3977 @item |
3829 If @code{nil}, use the text following the @samp{\label@{...@}} macro.@refill | 3978 If @code{nil}, use the text following the @samp{\label@{...@}} macro. |
3830 @item | 3979 @item |
3831 If @code{t}, use | 3980 If @code{t}, use |
3832 @itemize @minus | 3981 @itemize @minus |
3833 @item | 3982 @item |
3834 the section heading for section labels. | 3983 the section heading for section labels. |
3835 @item | 3984 @item |
3836 text following the @samp{\begin@{...@}} statement of environments (not | 3985 text following the @samp{\begin@{...@}} statement of environments (not |
3837 a good choice for environments like eqnarray or enumerate, where one has | 3986 a good choice for environments like eqnarray or enumerate, where one has |
3838 several labels in a single environment).@refill | 3987 several labels in a single environment). |
3839 @item | 3988 @item |
3840 text after the macro name (starting with the first arg) for | 3989 text after the macro name (starting with the first arg) for |
3841 macros.@refill | 3990 macros. |
3842 @end itemize | 3991 @end itemize |
3843 @item | 3992 @item |
3844 If an integer, use the nth argument of the macro. As a special case, | 3993 If an integer, use the nth argument of the macro. As a special case, |
3845 1000 means to get text after the last macro argument.@refill | 3994 1000 means to get text after the last macro argument. |
3846 @item | 3995 @item |
3847 If a string, use as regexp to search @emph{backward} from the label. | 3996 If a string, use as regexp to search @emph{backward} from the label. |
3848 Context is then the text following the end of the match. E.g. putting | 3997 Context is then the text following the end of the match. E.g. putting |
3849 this to @samp{\\caption[[@{]} will use the caption in a figure or table | 3998 this to @samp{\\caption[[@{]} will use the caption in a figure or table |
3850 environment. @samp{\\begin@{eqnarray@}\|\\\\} works for | 3999 environment. @samp{\\begin@{eqnarray@}\|\\\\} works for |
3851 eqnarrays.@refill | 4000 eqnarrays. |
3852 @item | 4001 @item |
3853 If any of @code{caption}, @code{item}, @code{eqnarray-like}, | 4002 If any of @code{caption}, @code{item}, @code{eqnarray-like}, |
3854 @code{alignat-like}, this symbol will internally be translated into an | 4003 @code{alignat-like}, this symbol will internally be translated into an |
3855 appropriate regexp (see also the variable | 4004 appropriate regexp (see also the variable |
3856 @code{reftex-default-context-regexps}).@refill | 4005 @code{reftex-default-context-regexps}). |
3857 @item | 4006 @item |
3858 If a function, call this function with the name of the environment/macro | 4007 If a function, call this function with the name of the environment/macro |
3859 as argument. On call, point will be just after the @code{\label} macro. | 4008 as argument. On call, point will be just after the @code{\label} macro. |
3860 The function is expected to return a suitable context string. It should | 4009 The function is expected to return a suitable context string. It should |
3861 throw an exception (error) when failing to find context. As an example, | 4010 throw an exception (error) when failing to find context. As an example, |
3862 here is a function returning the 10 chars following the label macro as | 4011 here is a function returning the 10 chars following the label macro as |
3863 context:@refill | 4012 context: |
3864 | 4013 |
3865 @example | 4014 @example |
3866 (defun my-context-function (env-or-mac) | 4015 (defun my-context-function (env-or-mac) |
3867 (if (> (point-max) (+ 10 (point))) | 4016 (if (> (point-max) (+ 10 (point))) |
3868 (buffer-substring (point) (+ 10 (point))) | 4017 (buffer-substring (point) (+ 10 (point))) |
3873 Label context is used in two ways by @b{Ref@TeX{}}: For display in the label | 4022 Label context is used in two ways by @b{Ref@TeX{}}: For display in the label |
3874 menu, and to derive a label string. If you want to use a different | 4023 menu, and to derive a label string. If you want to use a different |
3875 method for each of these, specify them as a dotted pair. | 4024 method for each of these, specify them as a dotted pair. |
3876 E.g. @code{(nil . t)} uses the text after the label (@code{nil}) for | 4025 E.g. @code{(nil . t)} uses the text after the label (@code{nil}) for |
3877 display, and text from the default position (@code{t}) to derive a label | 4026 display, and text from the default position (@code{t}) to derive a label |
3878 string. This is actually used for section labels.@refill | 4027 string. This is actually used for section labels. |
3879 | 4028 |
3880 @item @var{magic-word-list} | 4029 @item @var{magic-word-list} |
3881 List of magic words which identify a reference to be of this type. If | 4030 List of magic words which identify a reference to be of this type. If |
3882 the word before point is equal to one of these words when calling | 4031 the word before point is equal to one of these words when calling |
3883 @code{reftex-reference}, the label list offered will be automatically | 4032 @code{reftex-reference}, the label list offered will be automatically |
3884 restricted to labels of the correct type. If the first element of this | 4033 restricted to labels of the correct type. If the first element of this |
3885 word--list is the symbol `regexp', the strings are interpreted as regular | 4034 word--list is the symbol `regexp', the strings are interpreted as regular |
3886 expressions.@refill | 4035 expressions. |
3887 | 4036 |
3888 @item @var{toc-level} | 4037 @item @var{toc-level} |
3889 The integer level at which this environment should be added to the table | 4038 The integer level at which this environment should be added to the table |
3890 of contents. See also @code{reftex-section-levels}. A positive value | 4039 of contents. See also @code{reftex-section-levels}. A positive value |
3891 will number the entries mixed with the sectioning commands of the same | 4040 will number the entries mixed with the sectioning commands of the same |
3892 level. A negative value will make unnumbered entries. Useful only for | 4041 level. A negative value will make unnumbered entries. Useful only for |
3893 theorem-like environments which structure the document. Will be ignored | 4042 theorem-like environments which structure the document. Will be ignored |
3894 for macros. When omitted or @code{nil}, no TOC entries will be | 4043 for macros. When omitted or @code{nil}, no TOC entries will be |
3895 made.@refill | 4044 made. |
3896 @end table | 4045 @end table |
3897 | 4046 |
3898 If the type indicator characters of two or more entries are the same, | 4047 If the type indicator characters of two or more entries are the same, |
3899 @b{Ref@TeX{}} will use@refill | 4048 @b{Ref@TeX{}} will use |
3900 @itemize @minus | 4049 @itemize @minus |
3901 @item | 4050 @item |
3902 the first non-@code{nil} format and prefix | 4051 the first non-@code{nil} format and prefix |
3903 @item | 4052 @item |
3904 the magic words of all involved entries. | 4053 the magic words of all involved entries. |
3905 @end itemize | 4054 @end itemize |
3906 | 4055 |
3907 Any list entry may also be a symbol. If that has an association in | 4056 Any list entry may also be a symbol. If that has an association in |
3908 @code{reftex-label-alist-builtin}, the @code{cddr} of that association is | 4057 @code{reftex-label-alist-builtin}, the @code{cddr} of that association is |
3909 spliced into the list. However, builtin defaults should normally be set | 4058 spliced into the list. However, builtin defaults should normally be set |
3910 with the variable @code{reftex-default-label-alist-entries}.@refill | 4059 with the variable @code{reftex-default-label-alist-entries}. |
3911 @end defopt | 4060 @end defopt |
3912 | 4061 |
3913 @defopt reftex-section-prefixes | 4062 @defopt reftex-section-prefixes |
3914 Prefixes for section labels. When the label prefix given in an entry in | 4063 Prefixes for section labels. When the label prefix given in an entry in |
3915 @code{reftex-label-alist} contains @samp{%S}, this list is used to | 4064 @code{reftex-label-alist} contains @samp{%S}, this list is used to |
3922 | 4071 |
3923 @defopt reftex-default-context-regexps | 4072 @defopt reftex-default-context-regexps |
3924 Alist with default regular expressions for finding context. The emacs | 4073 Alist with default regular expressions for finding context. The emacs |
3925 lisp form @w{@code{(format regexp (regexp-quote environment))}} is used | 4074 lisp form @w{@code{(format regexp (regexp-quote environment))}} is used |
3926 to calculate the final regular expression - so @samp{%s} will be | 4075 to calculate the final regular expression - so @samp{%s} will be |
3927 replaced with the environment or macro.@refill | 4076 replaced with the environment or macro. |
4077 @end defopt | |
4078 | |
4079 @defopt reftex-trust-label-prefix | |
4080 Non-@code{nil} means, trust the label prefix when determining label type. | |
4081 It is customary to use special label prefixes to distinguish different label | |
4082 types. The label prefixes have no syntactic meaning in LaTeX (unless | |
4083 special packages like fancyref) are being used. RefTeX can and by | |
4084 default does parse around each label to detect the correct label type, | |
4085 but this process can be slow when a document contains thousands of | |
4086 labels. If you use label prefixes consistently, you may speed up | |
4087 document parsing by setting this variable to a non-nil value. RefTeX | |
4088 will then compare the label prefix with the prefixes found in | |
4089 `reftex-label-alist' and derive the correct label type in this way. | |
4090 Possible values for this option are: | |
4091 | |
4092 @example | |
4093 t @r{This means to trust any label prefixes found.} | |
4094 regexp @r{If a regexp, only prefixes matched by the regexp are trusted.} | |
4095 list @r{List of accepted prefixes, as strings. The colon is part of} | |
4096 @r{the prefix, e.g. ("fn:" "eqn:" "item:").} | |
4097 nil @r{Never trust a label prefix.} | |
4098 @end example | |
4099 The only disadvantage of using this feature is that the label context | |
4100 displayed in the label selection buffer along with each label is | |
4101 simply some text after the label definition. This is no problem if you | |
4102 place labels keeping this in mind (e.g. @i{before} the equation, @i{at | |
4103 the beginning} of a fig/tab caption ...). Anyway, it is probably best | |
4104 to use the regexp or the list value types to fine-tune this feature. | |
4105 For example, if your document contains thousands of footnotes with | |
4106 labels fn:xxx, you may want to set this variable to the value "^fn:$" or | |
4107 ("fn:"). Then RefTeX will still do extensive parsing for any | |
4108 non-footnote labels. | |
3928 @end defopt | 4109 @end defopt |
3929 | 4110 |
3930 @node Options (Creating Labels), Options (Referencing Labels), Options (Defining Label Environments), Options | 4111 @node Options (Creating Labels), Options (Referencing Labels), Options (Defining Label Environments), Options |
3931 @section Creating Labels | 4112 @section Creating Labels |
3932 @cindex Options, creating labels | 4113 @cindex Options, creating labels |
3939 (@var{derive} @var{prompt}) | 4120 (@var{derive} @var{prompt}) |
3940 @end example | 4121 @end example |
3941 | 4122 |
3942 If @var{derive}is @code{t}, @b{Ref@TeX{}} will try to derive a sensible | 4123 If @var{derive}is @code{t}, @b{Ref@TeX{}} will try to derive a sensible |
3943 label from context. A section label for example will be derived from | 4124 label from context. A section label for example will be derived from |
3944 the section heading. The conversion of the context to a legal label is | 4125 the section heading. The conversion of the context to a valid label is |
3945 governed by the specifications given in | 4126 governed by the specifications given in |
3946 @code{reftex-derive-label-parameters}. If @var{derive} is @code{nil}, | 4127 @code{reftex-derive-label-parameters}. If @var{derive} is @code{nil}, |
3947 the default label will consist of the prefix and a unique number, like | 4128 the default label will consist of the prefix and a unique number, like |
3948 @samp{eq:23}.@refill | 4129 @samp{eq:23}. |
3949 | 4130 |
3950 If @var{prompt} is @code{t}, the user will be prompted for a label | 4131 If @var{prompt} is @code{t}, the user will be prompted for a label |
3951 string. When @var{prompt} is @code{nil}, the default label will be | 4132 string. When @var{prompt} is @code{nil}, the default label will be |
3952 inserted without query.@refill | 4133 inserted without query. |
3953 | 4134 |
3954 So the combination of @var{derive} and @var{prompt} controls label | 4135 So the combination of @var{derive} and @var{prompt} controls label |
3955 insertion. Here is a table describing all four possibilities:@refill | 4136 insertion. Here is a table describing all four possibilities: |
3956 | 4137 |
3957 @example | 4138 @example |
3958 @group | 4139 @group |
3959 @var{derive} @var{prompt} @var{action} | 4140 @var{derive} @var{prompt} @var{action} |
3960 ----------------------------------------------------------- | 4141 ----------------------------------------------------------- |
3968 Each flag may be set to @code{t}, @code{nil}, or a string of label type | 4149 Each flag may be set to @code{t}, @code{nil}, or a string of label type |
3969 letters indicating the label types for which it should be true. Thus, | 4150 letters indicating the label types for which it should be true. Thus, |
3970 the combination may be set differently for each label type. The default | 4151 the combination may be set differently for each label type. The default |
3971 settings @samp{"s"} and @samp{"sft"} mean: Derive section labels from | 4152 settings @samp{"s"} and @samp{"sft"} mean: Derive section labels from |
3972 headings (with confirmation). Prompt for figure and table labels. Use | 4153 headings (with confirmation). Prompt for figure and table labels. Use |
3973 simple labels without confirmation for everything else.@refill | 4154 simple labels without confirmation for everything else. |
3974 | 4155 |
3975 The available label types are: @code{s} (section), @code{f} (figure), | 4156 The available label types are: @code{s} (section), @code{f} (figure), |
3976 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n} | 4157 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n} |
3977 (footnote), @code{N} (endnote) plus any definitions in | 4158 (footnote), @code{N} (endnote) plus any definitions in |
3978 @code{reftex-label-alist}.@refill | 4159 @code{reftex-label-alist}. |
3979 @end defopt | 4160 @end defopt |
3980 | 4161 |
3981 @deffn Hook reftex-format-label-function | 4162 @deffn Hook reftex-format-label-function |
3982 If non-@code{nil}, should be a function which produces the string to | 4163 If non-@code{nil}, should be a function which produces the string to |
3983 insert as a label definition. The function will be called with two | 4164 insert as a label definition. The function will be called with two |
3984 arguments, the @var{label} and the @var{default-format} (usually | 4165 arguments, the @var{label} and the @var{default-format} (usually |
3985 @samp{\label@{%s@}}). It should return the string to insert into the | 4166 @samp{\label@{%s@}}). It should return the string to insert into the |
3986 buffer.@refill | 4167 buffer. |
3987 @end deffn | 4168 @end deffn |
3988 | 4169 |
3989 @deffn Hook reftex-string-to-label-function | 4170 @deffn Hook reftex-string-to-label-function |
3990 Function to turn an arbitrary string into a legal label. | 4171 Function to turn an arbitrary string into a valid label. |
3991 @b{Ref@TeX{}}'s default function uses the variable | 4172 @b{Ref@TeX{}}'s default function uses the variable |
3992 @code{reftex-derive-label-parameters}.@refill | 4173 @code{reftex-derive-label-parameters}. |
3993 @end deffn | 4174 @end deffn |
3994 | 4175 |
3995 @deffn Hook reftex-translate-to-ascii-function | 4176 @deffn Hook reftex-translate-to-ascii-function |
3996 Filter function which will process a context string before it is used to | 4177 Filter function which will process a context string before it is used to |
3997 derive a label from it. The intended application is to convert ISO or | 4178 derive a label from it. The intended application is to convert ISO or |
3998 Mule characters into something legal in labels. The default function | 4179 Mule characters into something valid in labels. The default function |
3999 @code{reftex-latin1-to-ascii} removes the accents from Latin-1 | 4180 @code{reftex-latin1-to-ascii} removes the accents from Latin-1 |
4000 characters. X-Symbol (>=2.6) sets this variable to the much more | 4181 characters. X-Symbol (>=2.6) sets this variable to the much more |
4001 general @code{x-symbol-translate-to-ascii}.@refill | 4182 general @code{x-symbol-translate-to-ascii}. |
4002 @end deffn | 4183 @end deffn |
4003 | 4184 |
4004 @defopt reftex-derive-label-parameters | 4185 @defopt reftex-derive-label-parameters |
4005 Parameters for converting a string into a label. This variable is a | 4186 Parameters for converting a string into a label. This variable is a |
4006 list of the following items:@refill | 4187 list of the following items: |
4007 @table @asis | 4188 @table @asis |
4008 @item @var{nwords} | 4189 @item @var{nwords} |
4009 Number of words to use. | 4190 Number of words to use. |
4010 @item @var{maxchar} | 4191 @item @var{maxchar} |
4011 Maximum number of characters in a label string. | 4192 Maximum number of characters in a label string. |
4012 @item @var{illegal} | 4193 @item @var{invalid} |
4013 @code{nil}: Throw away any words containing characters illegal in labels.@* | 4194 @code{nil}: Throw away any words containing characters invalid in labels.@* |
4014 @code{t}: Throw away only the illegal characters, not the whole word. | 4195 @code{t}: Throw away only the invalid characters, not the whole word. |
4015 @item @var{abbrev} | 4196 @item @var{abbrev} |
4016 @code{nil}: Never abbreviate words.@* | 4197 @code{nil}: Never abbreviate words.@* |
4017 @code{t}: Always abbreviate words (see @code{reftex-abbrev-parameters}).@* | 4198 @code{t}: Always abbreviate words (see @code{reftex-abbrev-parameters}).@* |
4018 @code{1}: Abbreviate words if necessary to shorten label string. | 4199 @code{1}: Abbreviate words if necessary to shorten label string. |
4019 @item @var{separator} | 4200 @item @var{separator} |
4024 @code{t}: Downcase words before putting them into the label.@* | 4205 @code{t}: Downcase words before putting them into the label.@* |
4025 @end table | 4206 @end table |
4026 @end defopt | 4207 @end defopt |
4027 | 4208 |
4028 @defopt reftex-label-illegal-re | 4209 @defopt reftex-label-illegal-re |
4029 Regexp matching characters not legal in labels. | 4210 Regexp matching characters not valid in labels. |
4030 @end defopt | 4211 @end defopt |
4031 | 4212 |
4032 @defopt reftex-abbrev-parameters | 4213 @defopt reftex-abbrev-parameters |
4033 Parameters for abbreviation of words. A list of four parameters.@refill | 4214 Parameters for abbreviation of words. A list of four parameters. |
4034 @table @asis | 4215 @table @asis |
4035 @item @var{min-chars} | 4216 @item @var{min-chars} |
4036 Minimum number of characters remaining after abbreviation. | 4217 Minimum number of characters remaining after abbreviation. |
4037 @item @var{min-kill} | 4218 @item @var{min-kill} |
4038 Minimum number of characters to remove when abbreviating words.@refill | 4219 Minimum number of characters to remove when abbreviating words. |
4039 @item @var{before} | 4220 @item @var{before} |
4040 Character class before abbrev point in word.@refill | 4221 Character class before abbrev point in word. |
4041 @item @var{after} | 4222 @item @var{after} |
4042 Character class after abbrev point in word.@refill | 4223 Character class after abbrev point in word. |
4043 @end table | 4224 @end table |
4044 @end defopt | 4225 @end defopt |
4045 | 4226 |
4046 @node Options (Referencing Labels), Options (Creating Citations), Options (Creating Labels), Options | 4227 @node Options (Referencing Labels), Options (Creating Citations), Options (Creating Labels), Options |
4047 @section Referencing Labels | 4228 @section Referencing Labels |
4050 | 4231 |
4051 @defopt reftex-label-menu-flags | 4232 @defopt reftex-label-menu-flags |
4052 List of flags governing the label menu makeup. The flags are: | 4233 List of flags governing the label menu makeup. The flags are: |
4053 @table @asis | 4234 @table @asis |
4054 @item @var{table-of-contents} | 4235 @item @var{table-of-contents} |
4055 Show the labels embedded in a table of context.@refill | 4236 Show the labels embedded in a table of context. |
4056 @item @var{section-numbers} | 4237 @item @var{section-numbers} |
4057 Include section numbers (like 4.1.3) in table of contents.@refill | 4238 Include section numbers (like 4.1.3) in table of contents. |
4058 @item @var{counters} | 4239 @item @var{counters} |
4059 Show counters. This just numbers the labels in the menu.@refill | 4240 Show counters. This just numbers the labels in the menu. |
4060 @item @var{no-context} | 4241 @item @var{no-context} |
4061 Non-@code{nil} means do @emph{not} show the short context.@refill | 4242 Non-@code{nil} means do @emph{not} show the short context. |
4062 @item @var{follow} | 4243 @item @var{follow} |
4063 Follow full context in other window.@refill | 4244 Follow full context in other window. |
4064 @item @var{show-commented} | 4245 @item @var{show-commented} |
4065 Show labels from regions which are commented out.@refill | 4246 Show labels from regions which are commented out. |
4066 @item @var{match-everywhere} | 4247 @item @var{match-everywhere} |
4067 Obsolete flag.@refill | 4248 Obsolete flag. |
4068 @item @var{show-files} | 4249 @item @var{show-files} |
4069 Show begin and end of included files.@refill | 4250 Show begin and end of included files. |
4070 @end table | 4251 @end table |
4071 | 4252 |
4072 Each of these flags can be set to @code{t} or @code{nil}, or to a string | 4253 Each of these flags can be set to @code{t} or @code{nil}, or to a string |
4073 of type letters indicating the label types for which it should be true. | 4254 of type letters indicating the label types for which it should be true. |
4074 These strings work like character classes in regular expressions. Thus, | 4255 These strings work like character classes in regular expressions. Thus, |
4075 setting one of the flags to @samp{"sf"} makes the flag true for section | 4256 setting one of the flags to @samp{"sf"} makes the flag true for section |
4076 and figure labels, @code{nil} for everything else. Setting it to | 4257 and figure labels, @code{nil} for everything else. Setting it to |
4077 @samp{"^sf"} makes it the other way round.@refill | 4258 @samp{"^sf"} makes it the other way round. |
4078 | 4259 |
4079 The available label types are: @code{s} (section), @code{f} (figure), | 4260 The available label types are: @code{s} (section), @code{f} (figure), |
4080 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n} | 4261 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n} |
4081 (footnote), plus any definitions in @code{reftex-label-alist}.@refill | 4262 (footnote), plus any definitions in @code{reftex-label-alist}. |
4082 | 4263 |
4083 Most options can also be switched from the label menu itself - so if you | 4264 Most options can also be switched from the label menu itself - so if you |
4084 decide here to not have a table of contents in the label menu, you can | 4265 decide here to not have a table of contents in the label menu, you can |
4085 still get one interactively during selection from the label menu.@refill | 4266 still get one interactively during selection from the label menu. |
4086 @end defopt | 4267 @end defopt |
4087 | 4268 |
4088 @defopt reftex-multiref-punctuation | 4269 @defopt reftex-multiref-punctuation |
4089 Punctuation strings for multiple references. When marking is used in | 4270 Punctuation strings for multiple references. When marking is used in |
4090 the selection buffer to select several references, this variable | 4271 the selection buffer to select several references, this variable |
4091 associates the 3 marking characters @samp{,-+} with prefix strings to be | 4272 associates the 3 marking characters @samp{,-+} with prefix strings to be |
4092 inserted into the buffer before the corresponding @code{\ref} macro. | 4273 inserted into the buffer before the corresponding @code{\ref} macro. |
4093 This is used to string together whole reference sets, like | 4274 This is used to string together whole reference sets, like |
4094 @samp{eqs. 1,2,3-5,6 and 7} in a single call to | 4275 @samp{eqs. 1,2,3-5,6 and 7} in a single call to |
4095 @code{reftex-reference}.@refill | 4276 @code{reftex-reference}. |
4096 @end defopt | 4277 @end defopt |
4097 | 4278 |
4098 @defopt reftex-vref-is-default | 4279 @defopt reftex-vref-is-default |
4099 Non-@code{nil} means, the varioref macro @code{\vref} is used as | 4280 Non-@code{nil} means, the varioref macro @code{\vref} is used as |
4100 default. In the selection buffer, the @kbd{v} key toggles the reference | 4281 default. In the selection buffer, the @kbd{v} key toggles the reference |
4101 macro between @code{\ref} and @code{\vref}. The value of this variable | 4282 macro between @code{\ref} and @code{\vref}. The value of this variable |
4102 determines the default which is active when entering the selection | 4283 determines the default which is active when entering the selection |
4103 process. Instead of @code{nil} or @code{t}, this may also be a string | 4284 process. Instead of @code{nil} or @code{t}, this may also be a string |
4104 of type letters indicating the label types for which it should be | 4285 of type letters indicating the label types for which it should be |
4105 true.@refill | 4286 true. |
4106 @end defopt | 4287 @end defopt |
4107 | 4288 |
4108 @defopt reftex-fref-is-default | 4289 @defopt reftex-fref-is-default |
4109 Non-@code{nil} means, the fancyref macro @code{\fref} is used as | 4290 Non-@code{nil} means, the fancyref macro @code{\fref} is used as |
4110 default. In the selection buffer, the @kbd{V} key toggles the reference | 4291 default. In the selection buffer, the @kbd{V} key toggles the reference |
4121 changed with @code{reftex-label-alist}. This hook also is used by the | 4302 changed with @code{reftex-label-alist}. This hook also is used by the |
4122 special commands to insert @code{\vref} and @code{\fref} references, so | 4303 special commands to insert @code{\vref} and @code{\fref} references, so |
4123 even if you set this, your setting will be ignored by the special | 4304 even if you set this, your setting will be ignored by the special |
4124 commands. The function will be called with two arguments, the | 4305 commands. The function will be called with two arguments, the |
4125 @var{label} and the @var{default-format} (usually @samp{~\ref@{%s@}}). | 4306 @var{label} and the @var{default-format} (usually @samp{~\ref@{%s@}}). |
4126 It should return the string to insert into the buffer.@refill | 4307 It should return the string to insert into the buffer. |
4127 @end deffn | 4308 @end deffn |
4128 | 4309 |
4129 @defopt reftex-level-indent | 4310 @defopt reftex-level-indent |
4130 Number of spaces to be used for indentation per section level.@refill | 4311 Number of spaces to be used for indentation per section level. |
4131 @end defopt | 4312 @end defopt |
4132 | 4313 |
4133 @defopt reftex-guess-label-type | 4314 @defopt reftex-guess-label-type |
4134 Non-@code{nil} means, @code{reftex-reference} will try to guess the | 4315 Non-@code{nil} means, @code{reftex-reference} will try to guess the |
4135 label type. To do that, @b{Ref@TeX{}} will look at the word before the | 4316 label type. To do that, @b{Ref@TeX{}} will look at the word before the |
4136 cursor and compare it with the magic words given in | 4317 cursor and compare it with the magic words given in |
4137 @code{reftex-label-alist}. When it finds a match, @b{Ref@TeX{}} will | 4318 @code{reftex-label-alist}. When it finds a match, @b{Ref@TeX{}} will |
4138 immediately offer the correct label menu - otherwise it will prompt you | 4319 immediately offer the correct label menu - otherwise it will prompt you |
4139 for a label type. If you set this variable to @code{nil}, @b{Ref@TeX{}} | 4320 for a label type. If you set this variable to @code{nil}, @b{Ref@TeX{}} |
4140 will always prompt for a label type.@refill | 4321 will always prompt for a label type. |
4141 @end defopt | 4322 @end defopt |
4142 | 4323 |
4143 @deffn {Normal Hook} reftex-display-copied-context-hook | 4324 @deffn {Normal Hook} reftex-display-copied-context-hook |
4144 Normal Hook which is run before context is displayed anywhere. Designed | 4325 Normal Hook which is run before context is displayed anywhere. Designed |
4145 for @w{@code{X-Symbol}}, but may have other uses as well.@refill | 4326 for @w{@code{X-Symbol}}, but may have other uses as well. |
4146 @end deffn | 4327 @end deffn |
4147 | 4328 |
4148 @deffn Hook reftex-pre-refontification-functions | 4329 @deffn Hook reftex-pre-refontification-functions |
4149 @code{X-Symbol} specific hook. Probably not useful for other purposes. | 4330 @code{X-Symbol} specific hook. Probably not useful for other purposes. |
4150 The functions get two arguments, the buffer from where the command | 4331 The functions get two arguments, the buffer from where the command |
4151 started and a symbol indicating in what context the hook is | 4332 started and a symbol indicating in what context the hook is |
4152 called.@refill | 4333 called. |
4153 @end deffn | 4334 @end deffn |
4154 | 4335 |
4155 @deffn {Normal Hook} reftex-select-label-mode-hook | 4336 @deffn {Normal Hook} reftex-select-label-mode-hook |
4156 Normal hook which is run when a selection buffer enters | 4337 Normal hook which is run when a selection buffer enters |
4157 @code{reftex-select-label-mode}.@refill | 4338 @code{reftex-select-label-mode}. |
4158 @end deffn | 4339 @end deffn |
4159 | 4340 |
4160 @deffn Keymap reftex-select-label-map | 4341 @deffn Keymap reftex-select-label-map |
4161 The keymap which is active in the labels selection process | 4342 The keymap which is active in the labels selection process |
4162 (@pxref{Referencing Labels}).@refill | 4343 (@pxref{Referencing Labels}). |
4163 @end deffn | 4344 @end deffn |
4164 | 4345 |
4165 @node Options (Creating Citations), Options (Index Support), Options (Referencing Labels), Options | 4346 @node Options (Creating Citations), Options (Index Support), Options (Referencing Labels), Options |
4166 @section Creating Citations | 4347 @section Creating Citations |
4167 @cindex Options, creating citations | 4348 @cindex Options, creating citations |
4174 @defopt reftex-bibfile-ignore-regexps | 4355 @defopt reftex-bibfile-ignore-regexps |
4175 List of regular expressions to exclude files in | 4356 List of regular expressions to exclude files in |
4176 @code{\\bibliography@{..@}}. File names matched by any of these regexps | 4357 @code{\\bibliography@{..@}}. File names matched by any of these regexps |
4177 will not be parsed. Intended for files which contain only | 4358 will not be parsed. Intended for files which contain only |
4178 @code{@@string} macro definitions and the like, which are ignored by | 4359 @code{@@string} macro definitions and the like, which are ignored by |
4179 @b{Ref@TeX{}} anyway.@refill | 4360 @b{Ref@TeX{}} anyway. |
4180 @end defopt | 4361 @end defopt |
4181 | 4362 |
4182 @defopt reftex-default-bibliography | 4363 @defopt reftex-default-bibliography |
4183 List of BibTeX database files which should be used if none are specified. | 4364 List of BibTeX database files which should be used if none are specified. |
4184 When @code{reftex-citation} is called from a document with neither | 4365 When @code{reftex-citation} is called from a document with neither |
4185 a @samp{\bibliography@{...@}} statement nor a @code{thebibliography} | 4366 a @samp{\bibliography@{...@}} statement nor a @code{thebibliography} |
4186 environment, @b{Ref@TeX{}} will scan these files instead. Intended for | 4367 environment, @b{Ref@TeX{}} will scan these files instead. Intended for |
4187 using @code{reftex-citation} in non-LaTeX files. The files will be | 4368 using @code{reftex-citation} in non-LaTeX files. The files will be |
4188 searched along the BIBINPUTS or TEXBIB path.@refill | 4369 searched along the BIBINPUTS or TEXBIB path. |
4189 @end defopt | 4370 @end defopt |
4190 | 4371 |
4191 @defopt reftex-sort-bibtex-matches | 4372 @defopt reftex-sort-bibtex-matches |
4192 Sorting of the entries found in BibTeX databases by reftex-citation. | 4373 Sorting of the entries found in BibTeX databases by reftex-citation. |
4193 Possible values:@refill | 4374 Possible values: |
4194 @example | 4375 @example |
4195 nil @r{Do not sort entries.} | 4376 nil @r{Do not sort entries.} |
4196 author @r{Sort entries by author name.} | 4377 author @r{Sort entries by author name.} |
4197 year @r{Sort entries by increasing year.} | 4378 year @r{Sort entries by increasing year.} |
4198 reverse-year @r{Sort entries by decreasing year.} | 4379 reverse-year @r{Sort entries by decreasing year.} |
4201 | 4382 |
4202 @defopt reftex-cite-format | 4383 @defopt reftex-cite-format |
4203 The format of citations to be inserted into the buffer. It can be a | 4384 The format of citations to be inserted into the buffer. It can be a |
4204 string, an alist or a symbol. In the simplest case this is just the string | 4385 string, an alist or a symbol. In the simplest case this is just the string |
4205 @samp{\cite@{%l@}}, which is also the default. See the definition of | 4386 @samp{\cite@{%l@}}, which is also the default. See the definition of |
4206 @code{reftex-cite-format-builtin} for more complex examples.@refill | 4387 @code{reftex-cite-format-builtin} for more complex examples. |
4207 | 4388 |
4208 If @code{reftex-cite-format} is a string, it will be used as the format. | 4389 If @code{reftex-cite-format} is a string, it will be used as the format. |
4209 In the format, the following percent escapes will be expanded.@refill | 4390 In the format, the following percent escapes will be expanded. |
4210 | 4391 |
4211 @table @code | 4392 @table @code |
4212 @item %l | 4393 @item %l |
4213 The BibTeX label of the citation. | 4394 The BibTeX label of the citation. |
4214 @item %a | 4395 @item %a |
4217 Like %a, but abbreviate more than 2 authors like Jones et al. | 4398 Like %a, but abbreviate more than 2 authors like Jones et al. |
4218 @item %A | 4399 @item %A |
4219 First author name only. | 4400 First author name only. |
4220 @item %e | 4401 @item %e |
4221 Works like @samp{%a}, but on list of editor names. (@samp{%2e} and | 4402 Works like @samp{%a}, but on list of editor names. (@samp{%2e} and |
4222 @samp{%E} work a well).@refill | 4403 @samp{%E} work a well). |
4223 @end table | 4404 @end table |
4224 | 4405 |
4225 It is also possible to access all other BibTeX database fields: | 4406 It is also possible to access all other BibTeX database fields: |
4226 | 4407 |
4227 @example | 4408 @example |
4233 %B booktitle, abbreviated %T title, abbreviated | 4414 %B booktitle, abbreviated %T title, abbreviated |
4234 @end example | 4415 @end example |
4235 | 4416 |
4236 @noindent | 4417 @noindent |
4237 Usually, only @samp{%l} is needed. The other stuff is mainly for the | 4418 Usually, only @samp{%l} is needed. The other stuff is mainly for the |
4238 echo area display, and for @code{(setq reftex-comment-citations t)}.@refill | 4419 echo area display, and for @code{(setq reftex-comment-citations t)}. |
4239 | 4420 |
4240 @samp{%<} as a special operator kills punctuation and space around it | 4421 @samp{%<} as a special operator kills punctuation and space around it |
4241 after the string has been formatted.@refill | 4422 after the string has been formatted. |
4423 | |
4424 A pair of square brackets indicates an optional argument, and RefTeX | |
4425 will prompt for the values of these arguments. | |
4242 | 4426 |
4243 Beware that all this only works with BibTeX database files. When | 4427 Beware that all this only works with BibTeX database files. When |
4244 citations are made from the @code{\bibitems} in an explicit | 4428 citations are made from the @code{\bibitems} in an explicit |
4245 @code{thebibliography} environment, only @samp{%l} is available.@refill | 4429 @code{thebibliography} environment, only @samp{%l} is available. |
4246 | 4430 |
4247 If @code{reftex-cite-format} is an alist of characters and strings, the | 4431 If @code{reftex-cite-format} is an alist of characters and strings, the |
4248 user will be prompted for a character to select one of the possible | 4432 user will be prompted for a character to select one of the possible |
4249 format strings.@refill | 4433 format strings. |
4250 | 4434 |
4251 In order to configure this variable, you can either set | 4435 In order to configure this variable, you can either set |
4252 @code{reftex-cite-format} directly yourself or set it to the | 4436 @code{reftex-cite-format} directly yourself or set it to the |
4253 @emph{symbol} of one of the predefined styles. The predefined symbols | 4437 @emph{symbol} of one of the predefined styles. The predefined symbols |
4254 are those which have an association in the constant | 4438 are those which have an association in the constant |
4255 @code{reftex-cite-format-builtin}) E.g.: @code{(setq reftex-cite-format | 4439 @code{reftex-cite-format-builtin}) E.g.: @code{(setq reftex-cite-format |
4256 'natbib)}.@refill | 4440 'natbib)}. |
4257 @end defopt | 4441 @end defopt |
4258 | 4442 |
4259 @deffn Hook reftex-format-cite-function | 4443 @deffn Hook reftex-format-cite-function |
4260 | |
4261 If non-@code{nil}, should be a function which produces the string to | 4444 If non-@code{nil}, should be a function which produces the string to |
4262 insert as a citation. Note that the citation format can also be changed | 4445 insert as a citation. Note that the citation format can also be changed |
4263 with the variable @code{reftex-cite-format}. The function will be | 4446 with the variable @code{reftex-cite-format}. The function will be |
4264 called with two arguments, the @var{citation-key} and the | 4447 called with two arguments, the @var{citation-key} and the |
4265 @var{default-format} (taken from @code{reftex-cite-format}). It should | 4448 @var{default-format} (taken from @code{reftex-cite-format}). It should |
4266 return the string to insert into the buffer.@refill | 4449 return the string to insert into the buffer. |
4267 @end deffn | 4450 @end deffn |
4451 | |
4452 @defopt reftex-cite-prompt-optional-args | |
4453 Non-@code{nil} means, prompt for empty optional arguments in cite macros. | |
4454 When an entry in @code{reftex-cite-format} ist given with square brackets to | |
4455 indicate optional arguments (for example @samp{\\cite[][]@{%l@}}), RefTeX can | |
4456 prompt for values. Possible values are: | |
4457 @example | |
4458 nil @r{Never prompt for optional arguments} | |
4459 t @r{Always prompt} | |
4460 maybe @r{Prompt only if @code{reftex-citation} was called with C-u prefix arg}@end example | |
4461 Unnecessary empty optional arguments are removed before insertion into | |
4462 the buffer. See @code{reftex-cite-cleanup-optional-args}. | |
4463 @end defopt | |
4464 | |
4465 @defopt reftex-cite-cleanup-optional-args | |
4466 Non-@code{nil} means, remove empty optional arguments from cite macros | |
4467 if possible. | |
4468 @end defopt | |
4268 | 4469 |
4269 @defopt reftex-comment-citations | 4470 @defopt reftex-comment-citations |
4270 Non-@code{nil} means add a comment for each citation describing the full | 4471 Non-@code{nil} means add a comment for each citation describing the full |
4271 entry. The comment is formatted according to | 4472 entry. The comment is formatted according to |
4272 @code{reftex-cite-comment-format}.@refill | 4473 @code{reftex-cite-comment-format}. |
4273 @end defopt | 4474 @end defopt |
4274 | 4475 |
4275 @defopt reftex-cite-comment-format | 4476 @defopt reftex-cite-comment-format |
4276 Citation format used for commented citations. Must @emph{not} contain | 4477 Citation format used for commented citations. Must @emph{not} contain |
4277 @samp{%l}. See the variable @code{reftex-cite-format} for possible | 4478 @samp{%l}. See the variable @code{reftex-cite-format} for possible |
4278 percent escapes.@refill | 4479 percent escapes. |
4279 @end defopt | 4480 @end defopt |
4280 | 4481 |
4281 @defopt reftex-cite-punctuation | 4482 @defopt reftex-cite-punctuation |
4282 Punctuation for formatting of name lists in citations. This is a list | 4483 Punctuation for formatting of name lists in citations. This is a list |
4283 of 3 strings.@refill | 4484 of 3 strings. |
4284 @enumerate | 4485 @enumerate |
4285 @item | 4486 @item |
4286 normal names separator, like @samp{, } in Jones, Brown and Miller | 4487 normal names separator, like @samp{, } in Jones, Brown and Miller |
4287 @item | 4488 @item |
4288 final names separator, like @samp{ and } in Jones, Brown and Miller | 4489 final names separator, like @samp{ and } in Jones, Brown and Miller |
4292 @end enumerate | 4493 @end enumerate |
4293 @end defopt | 4494 @end defopt |
4294 | 4495 |
4295 @deffn {Normal Hook} reftex-select-bib-mode-hook | 4496 @deffn {Normal Hook} reftex-select-bib-mode-hook |
4296 Normal hook which is run when a selection buffer enters | 4497 Normal hook which is run when a selection buffer enters |
4297 @code{reftex-select-bib-mode}.@refill | 4498 @code{reftex-select-bib-mode}. |
4298 @end deffn | 4499 @end deffn |
4299 | 4500 |
4300 @deffn Keymap reftex-select-bib-map | 4501 @deffn Keymap reftex-select-bib-map |
4301 The keymap which is active in the citation-key selection process | 4502 The keymap which is active in the citation-key selection process |
4302 (@pxref{Creating Citations}).@refill | 4503 (@pxref{Creating Citations}). |
4303 @end deffn | 4504 @end deffn |
4304 | 4505 |
4305 @node Options (Index Support), Options (Viewing Cross-References), Options (Creating Citations), Options | 4506 @node Options (Index Support), Options (Viewing Cross-References), Options (Creating Citations), Options |
4306 @section Index Support | 4507 @section Index Support |
4307 @cindex Options, Index support | 4508 @cindex Options, Index support |
4311 Non-@code{nil} means, index entries are parsed as well. Index support | 4512 Non-@code{nil} means, index entries are parsed as well. Index support |
4312 is resource intensive and the internal structure holding the parsed | 4513 is resource intensive and the internal structure holding the parsed |
4313 information can become quite big. Therefore it can be turned off. When | 4514 information can become quite big. Therefore it can be turned off. When |
4314 this is @code{nil} and you execute a command which requires index | 4515 this is @code{nil} and you execute a command which requires index |
4315 support, you will be asked for confirmation to turn it on and rescan the | 4516 support, you will be asked for confirmation to turn it on and rescan the |
4316 document.@refill | 4517 document. |
4317 @end defopt | 4518 @end defopt |
4318 | 4519 |
4319 @defopt reftex-index-special-chars | 4520 @defopt reftex-index-special-chars |
4320 List of special characters in index entries, given as strings. These | 4521 List of special characters in index entries, given as strings. These |
4321 correspond to the @code{MakeIndex} keywords | 4522 correspond to the @code{MakeIndex} keywords |
4329 (@var{macro} @var{index-tag} @var{key} @var{prefix} @var{exclude} @var{repeat}) | 4530 (@var{macro} @var{index-tag} @var{key} @var{prefix} @var{exclude} @var{repeat}) |
4330 @end lisp | 4531 @end lisp |
4331 | 4532 |
4332 @var{macro} is the macro. Arguments should be denoted by empty braces, | 4533 @var{macro} is the macro. Arguments should be denoted by empty braces, |
4333 as for example in @samp{\index[]@{*@}}. Use square brackets to denote | 4534 as for example in @samp{\index[]@{*@}}. Use square brackets to denote |
4334 optional arguments. The star marks where the index key is.@refill | 4535 optional arguments. The star marks where the index key is. |
4335 | 4536 |
4336 @var{index-tag} is a short name of the index. @samp{idx} and @samp{glo} | 4537 @var{index-tag} is a short name of the index. @samp{idx} and @samp{glo} |
4337 are reserved for the default index and the glossary. Other indices can | 4538 are reserved for the default index and the glossary. Other indices can |
4338 be defined as well. If this is an integer, the Nth argument of the | 4539 be defined as well. If this is an integer, the Nth argument of the |
4339 macro holds the index tag.@refill | 4540 macro holds the index tag. |
4340 | 4541 |
4341 @var{key} is a character which is used to identify the macro for input | 4542 @var{key} is a character which is used to identify the macro for input |
4342 with @code{reftex-index}. @samp{?i}, @samp{?I}, and @samp{?g} are | 4543 with @code{reftex-index}. @samp{?i}, @samp{?I}, and @samp{?g} are |
4343 reserved for default index and glossary.@refill | 4544 reserved for default index and glossary. |
4344 | 4545 |
4345 @var{prefix} can be a prefix which is added to the @var{key} part of the | 4546 @var{prefix} can be a prefix which is added to the @var{key} part of the |
4346 index entry. If you have a macro | 4547 index entry. If you have a macro |
4347 @code{\newcommand@{\molec@}[1]@{#1\index@{Molecules!#1@}}, this prefix | 4548 @code{\newcommand@{\molec@}[1]@{#1\index@{Molecules!#1@}}, this prefix |
4348 should be @samp{Molecules!}.@refill | 4549 should be @samp{Molecules!}. |
4349 | 4550 |
4350 @var{exclude} can be a function. If this function exists and returns a | 4551 @var{exclude} can be a function. If this function exists and returns a |
4351 non-nil value, the index entry at point is ignored. This was | 4552 non-@code{nil} value, the index entry at point is ignored. This was |
4352 implemented to support the (deprecated) @samp{^} and @samp{_} shortcuts | 4553 implemented to support the (deprecated) @samp{^} and @samp{_} shortcuts |
4353 in the LaTeX2e @code{index} package.@refill | 4554 in the LaTeX2e @code{index} package. |
4354 | 4555 |
4355 @var{repeat}, if non-@code{nil}, means the index macro does not typeset | 4556 @var{repeat}, if non-@code{nil}, means the index macro does not typeset |
4356 the entry in the text, so that the text has to be repeated outside the | 4557 the entry in the text, so that the text has to be repeated outside the |
4357 index macro. Needed for @code{reftex-index-selection-or-word} and for | 4558 index macro. Needed for @code{reftex-index-selection-or-word} and for |
4358 indexing from the phrase buffer.@refill | 4559 indexing from the phrase buffer. |
4359 | 4560 |
4360 The final entry may also be a symbol. It must have an association in | 4561 The final entry may also be a symbol. It must have an association in |
4361 the variable @code{reftex-index-macros-builtin} to specify the main | 4562 the variable @code{reftex-index-macros-builtin} to specify the main |
4362 indexing package you are using. Legal values are currently@refill | 4563 indexing package you are using. Valid values are currently |
4363 @example | 4564 @example |
4364 default @r{The LaTeX default - unnecessary to specify this one} | 4565 default @r{The LaTeX default - unnecessary to specify this one} |
4365 multind @r{The multind.sty package} | 4566 multind @r{The multind.sty package} |
4366 index @r{The index.sty package} | 4567 index @r{The index.sty package} |
4367 index-shortcut @r{The index.sty packages with the ^ and _ shortcuts.} | 4568 index-shortcut @r{The index.sty packages with the ^ and _ shortcuts.} |
4381 | 4582 |
4382 @var{default-tag} is the tag to be used if the macro requires a | 4583 @var{default-tag} is the tag to be used if the macro requires a |
4383 @var{tag} argument. When this is @code{nil} and a @var{tag} is needed, | 4584 @var{tag} argument. When this is @code{nil} and a @var{tag} is needed, |
4384 @b{Ref@TeX{}} will ask for it. When this is the empty string and the | 4585 @b{Ref@TeX{}} will ask for it. When this is the empty string and the |
4385 TAG argument of the index macro is optional, the TAG argument will be | 4586 TAG argument of the index macro is optional, the TAG argument will be |
4386 omitted.@refill | 4587 omitted. |
4387 @end defopt | 4588 @end defopt |
4388 | 4589 |
4389 @defopt reftex-index-default-tag | 4590 @defopt reftex-index-default-tag |
4390 Default index tag. When working with multiple indexes, RefTeX queries | 4591 Default index tag. When working with multiple indexes, RefTeX queries |
4391 for an index tag when creating index entries or displaying a specific | 4592 for an index tag when creating index entries or displaying a specific |
4392 index. This variable controls the default offered for these queries. | 4593 index. This variable controls the default offered for these queries. |
4393 The default can be selected with @key{RET} during selection or | 4594 The default can be selected with @key{RET} during selection or |
4394 completion. Legal values of this variable are:@refill | 4595 completion. Valid values of this variable are: |
4395 @example | 4596 @example |
4396 nil @r{Do not provide a default index} | 4597 nil @r{Do not provide a default index} |
4397 "tag" @r{The default index tag given as a string, e.g. "idx"} | 4598 "tag" @r{The default index tag given as a string, e.g. "idx"} |
4398 last @r{The last used index tag will be offered as default} | 4599 last @r{The last used index tag will be offered as default} |
4399 @end example | 4600 @end example |
4403 Format of index entries when copied from inside math mode. When | 4604 Format of index entries when copied from inside math mode. When |
4404 @code{reftex-index-selection-or-word} is executed inside TeX math mode, | 4605 @code{reftex-index-selection-or-word} is executed inside TeX math mode, |
4405 the index key copied from the buffer is processed with this format | 4606 the index key copied from the buffer is processed with this format |
4406 string through the @code{format} function. This can be used to add the | 4607 string through the @code{format} function. This can be used to add the |
4407 math delimiters (e.g. @samp{$}) to the string. Requires the | 4608 math delimiters (e.g. @samp{$}) to the string. Requires the |
4408 @file{texmathp.el} library which is part of AUCTeX.@refill | 4609 @file{texmathp.el} library which is part of AUCTeX. |
4409 @end defopt | 4610 @end defopt |
4410 | 4611 |
4411 @defopt reftex-index-phrase-file-extension | 4612 @defopt reftex-index-phrase-file-extension |
4412 File extension for the index phrase file. This extension will be added | 4613 File extension for the index phrase file. This extension will be added |
4413 to the base name of the master file. | 4614 to the base name of the master file. |
4418 file. When several index arguments in a phrase line are separated by | 4619 file. When several index arguments in a phrase line are separated by |
4419 this operator, each part will generate an index macro. So each match of | 4620 this operator, each part will generate an index macro. So each match of |
4420 the search phrase will produce @emph{several} different index entries. | 4621 the search phrase will produce @emph{several} different index entries. |
4421 Make sure this does no match things which are not separators. This | 4622 Make sure this does no match things which are not separators. This |
4422 logical @samp{and} has higher priority than the logical @samp{or} | 4623 logical @samp{and} has higher priority than the logical @samp{or} |
4423 specified in @code{reftex-index-phrases-logical-or-regexp}.@refill | 4624 specified in @code{reftex-index-phrases-logical-or-regexp}. |
4424 @end defopt | 4625 @end defopt |
4425 | 4626 |
4426 @defopt reftex-index-phrases-logical-or-regexp | 4627 @defopt reftex-index-phrases-logical-or-regexp |
4427 Regexp matching the @samp{or} operator for index arguments in phrases | 4628 Regexp matching the @samp{or} operator for index arguments in phrases |
4428 file. When several index arguments in a phrase line are separated by | 4629 file. When several index arguments in a phrase line are separated by |
4429 this operator, the user will be asked to select one of them at each | 4630 this operator, the user will be asked to select one of them at each |
4430 match of the search phrase. The first index arg will be the default. A | 4631 match of the search phrase. The first index arg will be the default. A |
4431 number key @kbd{1}--@kbd{9} must be pressed to switch to another. Make | 4632 number key @kbd{1}--@kbd{9} must be pressed to switch to another. Make |
4432 sure this does no match things which are not separators. The logical | 4633 sure this does no match things which are not separators. The logical |
4433 @samp{and} specified in @code{reftex-index-phrases-logical-or-regexp} | 4634 @samp{and} specified in @code{reftex-index-phrases-logical-or-regexp} |
4434 has higher priority than this logical @samp{or}.@refill | 4635 has higher priority than this logical @samp{or}. |
4435 @end defopt | 4636 @end defopt |
4436 | 4637 |
4437 @defopt reftex-index-phrases-search-whole-words | 4638 @defopt reftex-index-phrases-search-whole-words |
4438 Non-@code{nil} means phrases search will look for whole words, not subwords. | 4639 Non-@code{nil} means phrases search will look for whole words, not subwords. |
4439 This works by requiring word boundaries at the beginning and end of | 4640 This works by requiring word boundaries at the beginning and end of |
4441 at one of these points, no word boundary is required there. | 4642 at one of these points, no word boundary is required there. |
4442 @end defopt | 4643 @end defopt |
4443 | 4644 |
4444 @defopt reftex-index-phrases-case-fold-search | 4645 @defopt reftex-index-phrases-case-fold-search |
4445 Non-@code{nil} means, searching for index phrases will ignore | 4646 Non-@code{nil} means, searching for index phrases will ignore |
4446 case.@refill | 4647 case. |
4447 @end defopt | 4648 @end defopt |
4448 | 4649 |
4449 @defopt reftex-index-verify-function | 4650 @defopt reftex-index-verify-function |
4450 A function which is called at each match during global indexing. | 4651 A function which is called at each match during global indexing. |
4451 If the function returns nil, the current match is skipped. | 4652 If the function returns nil, the current match is skipped. |
4457 phrases may match at places where that phrase was already indexed. In | 4658 phrases may match at places where that phrase was already indexed. In |
4458 particular when indexing an already processed document again, this | 4659 particular when indexing an already processed document again, this |
4459 will even be the norm. When this variable is non-@code{nil}, | 4660 will even be the norm. When this variable is non-@code{nil}, |
4460 @b{Ref@TeX{}} checks if the match is an index macro argument, or if an | 4661 @b{Ref@TeX{}} checks if the match is an index macro argument, or if an |
4461 index macro is directly before or after the phrase. If that is the | 4662 index macro is directly before or after the phrase. If that is the |
4462 case, that match will be ignored.@refill | 4663 case, that match will be ignored. |
4463 @end defopt | 4664 @end defopt |
4464 | 4665 |
4465 @defopt reftex-index-phrases-wrap-long-lines | 4666 @defopt reftex-index-phrases-wrap-long-lines |
4466 Non-@code{nil} means, when indexing from the phrases buffer, wrap lines. | 4667 Non-@code{nil} means, when indexing from the phrases buffer, wrap lines. |
4467 Inserting indexing commands in a line makes the line longer - often | 4668 Inserting indexing commands in a line makes the line longer - often |
4468 so long that it does not fit onto the screen. When this variable is | 4669 so long that it does not fit onto the screen. When this variable is |
4469 non-@code{nil}, newlines will be added as necessary before and/or after the | 4670 non-@code{nil}, newlines will be added as necessary before and/or after the |
4470 indexing command to keep lines short. However, the matched text | 4671 indexing command to keep lines short. However, the matched text |
4471 phrase and its index command will always end up on a single line.@refill | 4672 phrase and its index command will always end up on a single line. |
4472 @end defopt | 4673 @end defopt |
4473 | 4674 |
4474 @defopt reftex-index-phrases-sort-prefers-entry | 4675 @defopt reftex-index-phrases-sort-prefers-entry |
4475 Non-@code{nil} means when sorting phrase lines, the explicit index entry | 4676 Non-@code{nil} means when sorting phrase lines, the explicit index entry |
4476 is used. Phrase lines in the phrases buffer contain a search phrase, and | 4677 is used. Phrase lines in the phrases buffer contain a search phrase, and |
4477 sorting is normally based on these. Some phrase lines also have | 4678 sorting is normally based on these. Some phrase lines also have |
4478 an explicit index argument specified. When this variable is | 4679 an explicit index argument specified. When this variable is |
4479 non-@code{nil}, the index argument will be used for sorting.@refill | 4680 non-@code{nil}, the index argument will be used for sorting. |
4480 @end defopt | 4681 @end defopt |
4481 | 4682 |
4482 @defopt reftex-index-phrases-sort-in-blocks | 4683 @defopt reftex-index-phrases-sort-in-blocks |
4483 Non-@code{nil} means, empty and comment lines separate phrase buffer | 4684 Non-@code{nil} means, empty and comment lines separate phrase buffer |
4484 into blocks. Sorting will then preserve blocks, so that lines are | 4685 into blocks. Sorting will then preserve blocks, so that lines are |
4489 Keymap for the Index Phrases buffer. | 4690 Keymap for the Index Phrases buffer. |
4490 @end defopt | 4691 @end defopt |
4491 | 4692 |
4492 @defopt reftex-index-phrases-mode-hook | 4693 @defopt reftex-index-phrases-mode-hook |
4493 Normal hook which is run when a buffer is put into | 4694 Normal hook which is run when a buffer is put into |
4494 @code{reftex-index-phrases-mode}.@refill | 4695 @code{reftex-index-phrases-mode}. |
4495 @end defopt | 4696 @end defopt |
4496 | 4697 |
4497 @defopt reftex-index-section-letters | 4698 @defopt reftex-index-section-letters |
4498 The letters which denote sections in the index. Usually these are all | 4699 The letters which denote sections in the index. Usually these are all |
4499 capital letters. Don't use any downcase letters. Order is not | 4700 capital letters. Don't use any downcase letters. Order is not |
4500 significant, the index will be sorted by whatever the sort function | 4701 significant, the index will be sorted by whatever the sort function |
4501 thinks is correct. In addition to these letters, @b{Ref@TeX{}} will | 4702 thinks is correct. In addition to these letters, @b{Ref@TeX{}} will |
4502 create a group @samp{!} which contains all entries sorted below the | 4703 create a group @samp{!} which contains all entries sorted below the |
4503 lowest specified letter. In the @file{*Index*} buffer, pressing any of | 4704 lowest specified letter. In the @file{*Index*} buffer, pressing any of |
4504 these capital letters or @kbd{!} will jump to that section.@refill | 4705 these capital letters or @kbd{!} will jump to that section. |
4505 @end defopt | 4706 @end defopt |
4506 | 4707 |
4507 @defopt reftex-index-include-context | 4708 @defopt reftex-index-include-context |
4508 Non-@code{nil} means, display the index definition context in the | 4709 Non-@code{nil} means, display the index definition context in the |
4509 @file{*Index*} buffer. This flag may also be toggled from the | 4710 @file{*Index*} buffer. This flag may also be toggled from the |
4517 buffer with the @kbd{f} key. | 4718 buffer with the @kbd{f} key. |
4518 @end defopt | 4719 @end defopt |
4519 | 4720 |
4520 @deffn Keymap reftex-index-map | 4721 @deffn Keymap reftex-index-map |
4521 The keymap which is active in the @file{*Index*} buffer | 4722 The keymap which is active in the @file{*Index*} buffer |
4522 (@pxref{Index Support}).@refill | 4723 (@pxref{Index Support}). |
4523 @end deffn | 4724 @end deffn |
4524 | 4725 |
4525 @node Options (Viewing Cross-References), Options (Finding Files), Options (Index Support), Options | 4726 @node Options (Viewing Cross-References), Options (Finding Files), Options (Index Support), Options |
4526 @section Viewing Cross-References | 4727 @section Viewing Cross-References |
4527 @cindex Options, viewing cross-references | 4728 @cindex Options, viewing cross-references |
4550 the argument of a @code{\ref} or @code{\cite} macro, and no other | 4751 the argument of a @code{\ref} or @code{\cite} macro, and no other |
4551 message is being displayed, the echo area will display information about | 4752 message is being displayed, the echo area will display information about |
4552 that cross reference. You can also set the variable to the symbol | 4753 that cross reference. You can also set the variable to the symbol |
4553 @code{window}. In this case a small temporary window is used for the | 4754 @code{window}. In this case a small temporary window is used for the |
4554 display. This feature can be turned on and off from the menu | 4755 display. This feature can be turned on and off from the menu |
4555 (Ref->Options).@refill | 4756 (Ref->Options). |
4556 @end defopt | 4757 @end defopt |
4557 | 4758 |
4558 @defopt reftex-idle-time | 4759 @defopt reftex-idle-time |
4559 Time (secs) Emacs has to be idle before automatic crossref display | 4760 Time (secs) Emacs has to be idle before automatic crossref display |
4560 or toc recentering is done.@refill | 4761 or toc recentering is done. |
4561 @end defopt | 4762 @end defopt |
4562 | 4763 |
4563 @defopt reftex-cite-view-format | 4764 @defopt reftex-cite-view-format |
4564 Citation format used to display citation info in the message area. See | 4765 Citation format used to display citation info in the message area. See |
4565 the variable @code{reftex-cite-format} for possible percent | 4766 the variable @code{reftex-cite-format} for possible percent |
4566 escapes.@refill | 4767 escapes. |
4567 @end defopt | 4768 @end defopt |
4568 | 4769 |
4569 @defopt reftex-revisit-to-echo | 4770 @defopt reftex-revisit-to-echo |
4570 Non-@code{nil} means, automatic citation display will revisit files if | 4771 Non-@code{nil} means, automatic citation display will revisit files if |
4571 necessary. When nil, citation display in echo area will only be active | 4772 necessary. When nil, citation display in echo area will only be active |
4572 for cached echo strings (see @code{reftex-cache-cite-echo}), or for | 4773 for cached echo strings (see @code{reftex-cache-cite-echo}), or for |
4573 BibTeX database files which are already visited by a live associated | 4774 BibTeX database files which are already visited by a live associated |
4574 buffers.@refill | 4775 buffers. |
4575 @end defopt | 4776 @end defopt |
4576 | 4777 |
4577 @defopt reftex-cache-cite-echo | 4778 @defopt reftex-cache-cite-echo |
4578 Non-@code{nil} means, the information displayed in the echo area for | 4779 Non-@code{nil} means, the information displayed in the echo area for |
4579 cite macros (see variable @code{reftex-auto-view-crossref}) is cached and | 4780 cite macros (see variable @code{reftex-auto-view-crossref}) is cached and |
4586 @cindex Options, Finding Files | 4787 @cindex Options, Finding Files |
4587 @cindex Finding files, options | 4788 @cindex Finding files, options |
4588 | 4789 |
4589 @defopt reftex-texpath-environment-variables | 4790 @defopt reftex-texpath-environment-variables |
4590 List of specifications how to retrieve the search path for TeX files. | 4791 List of specifications how to retrieve the search path for TeX files. |
4591 Several entries are possible.@refill | 4792 Several entries are possible. |
4592 @itemize @minus | 4793 @itemize @minus |
4593 @item | 4794 @item |
4594 If an element is the name of an environment variable, its content is | 4795 If an element is the name of an environment variable, its content is |
4595 used.@refill | 4796 used. |
4596 @item | 4797 @item |
4597 If an element starts with an exclamation mark, it is used as a command | 4798 If an element starts with an exclamation mark, it is used as a command |
4598 to retrieve the path. A typical command with the kpathsearch library | 4799 to retrieve the path. A typical command with the kpathsearch library |
4599 would be @w{@code{"!kpsewhich -show-path=.tex"}}. | 4800 would be @w{@code{"!kpsewhich -show-path=.tex"}}. |
4600 @item | 4801 @item |
4605 be expanded recursively. See also @code{reftex-use-external-file-finders}. | 4806 be expanded recursively. See also @code{reftex-use-external-file-finders}. |
4606 @end defopt | 4807 @end defopt |
4607 | 4808 |
4608 @defopt reftex-bibpath-environment-variables | 4809 @defopt reftex-bibpath-environment-variables |
4609 List of specifications how to retrieve the search path for BibTeX | 4810 List of specifications how to retrieve the search path for BibTeX |
4610 files. Several entries are possible.@refill | 4811 files. Several entries are possible. |
4611 @itemize @minus | 4812 @itemize @minus |
4612 @item | 4813 @item |
4613 If an element is the name of an environment variable, its content is | 4814 If an element is the name of an environment variable, its content is |
4614 used.@refill | 4815 used. |
4615 @item | 4816 @item |
4616 If an element starts with an exclamation mark, it is used as a command | 4817 If an element starts with an exclamation mark, it is used as a command |
4617 to retrieve the path. A typical command with the kpathsearch library | 4818 to retrieve the path. A typical command with the kpathsearch library |
4618 would be @w{@code{"!kpsewhich -show-path=.bib"}}. | 4819 would be @w{@code{"!kpsewhich -show-path=.bib"}}. |
4619 @item | 4820 @item |
4629 This is a list of items, each item is like: | 4830 This is a list of items, each item is like: |
4630 @code{(@var{type} . (@var{def-ext} @var{other-ext} ...))} | 4831 @code{(@var{type} . (@var{def-ext} @var{other-ext} ...))} |
4631 @example | 4832 @example |
4632 @var{type}: @r{File type like @code{"bib"} or @code{"tex"}.} | 4833 @var{type}: @r{File type like @code{"bib"} or @code{"tex"}.} |
4633 @var{def-ext}: @r{The default extension for that file type, like @code{".tex"} or @code{".bib"}.} | 4834 @var{def-ext}: @r{The default extension for that file type, like @code{".tex"} or @code{".bib"}.} |
4634 @var{other-ext}: @r{Any number of other legal extensions for this file type.} | 4835 @var{other-ext}: @r{Any number of other valid extensions for this file type.} |
4635 @end example | 4836 @end example |
4636 When a files is searched and it does not have any of the legal extensions, | 4837 When a files is searched and it does not have any of the valid extensions, |
4637 we try the default extension first, and then the naked file name.@refill | 4838 we try the default extension first, and then the naked file name. |
4638 @end defopt | 4839 @end defopt |
4639 | 4840 |
4640 @defopt reftex-search-unrecursed-path-first | 4841 @defopt reftex-search-unrecursed-path-first |
4641 Non-@code{nil} means, search all specified directories before trying | 4842 Non-@code{nil} means, search all specified directories before trying |
4642 recursion. Thus, in a path @samp{.//:/tex/}, search first @samp{./}, | 4843 recursion. Thus, in a path @samp{.//:/tex/}, search first @samp{./}, |
4643 then @samp{/tex/}, and then all subdirectories of @samp{./}. If this | 4844 then @samp{/tex/}, and then all subdirectories of @samp{./}. If this |
4644 option is @code{nil}, the subdirectories of @samp{./} are searched | 4845 option is @code{nil}, the subdirectories of @samp{./} are searched |
4645 before @samp{/tex/}. This is mainly for speed - most of the time the | 4846 before @samp{/tex/}. This is mainly for speed - most of the time the |
4646 recursive path is for the system files and not for the user files. Set | 4847 recursive path is for the system files and not for the user files. Set |
4647 this to @code{nil} if the default makes @b{Ref@TeX{}} finding files with | 4848 this to @code{nil} if the default makes @b{Ref@TeX{}} finding files with |
4648 equal names in wrong sequence.@refill | 4849 equal names in wrong sequence. |
4649 @end defopt | 4850 @end defopt |
4650 | 4851 |
4651 @defopt reftex-use-external-file-finders | 4852 @defopt reftex-use-external-file-finders |
4652 Non-@code{nil} means, use external programs to find files. Normally, | 4853 Non-@code{nil} means, use external programs to find files. Normally, |
4653 @b{Ref@TeX{}} searches the paths given in the environment variables | 4854 @b{Ref@TeX{}} searches the paths given in the environment variables |
4665 @var{type} is either @code{"tex"} or @code{"bib"}. @var{program} is a | 4866 @var{type} is either @code{"tex"} or @code{"bib"}. @var{program} is a |
4666 string containing the external program to use with any arguments. | 4867 string containing the external program to use with any arguments. |
4667 @code{%f} will be replaced by the name of the file to be found. Note | 4868 @code{%f} will be replaced by the name of the file to be found. Note |
4668 that these commands will be executed directly, not via a shell. Only | 4869 that these commands will be executed directly, not via a shell. Only |
4669 relevant when @code{reftex-use-external-file-finders} is | 4870 relevant when @code{reftex-use-external-file-finders} is |
4670 non-@code{nil}.@refill | 4871 non-@code{nil}. |
4671 @end defopt | 4872 @end defopt |
4672 | 4873 |
4673 @page | 4874 @page |
4674 @node Options (Optimizations), Options (Fontification), Options (Finding Files), Options | 4875 @node Options (Optimizations), Options (Fontification), Options (Finding Files), Options |
4675 @section Optimizations | 4876 @section Optimizations |
4677 @cindex Optimizations, options | 4878 @cindex Optimizations, options |
4678 | 4879 |
4679 @defopt reftex-keep-temporary-buffers | 4880 @defopt reftex-keep-temporary-buffers |
4680 Non-@code{nil} means, keep buffers created for parsing and lookup. | 4881 Non-@code{nil} means, keep buffers created for parsing and lookup. |
4681 @b{Ref@TeX{}} sometimes needs to visit files related to the current | 4882 @b{Ref@TeX{}} sometimes needs to visit files related to the current |
4682 document. We distinguish files visited for@refill | 4883 document. We distinguish files visited for |
4683 @table @asis | 4884 @table @asis |
4684 @item PARSING | 4885 @item PARSING |
4685 Parts of a multifile document loaded when (re)-parsing the | 4886 Parts of a multifile document loaded when (re)-parsing the |
4686 document.@refill | 4887 document. |
4687 @item LOOKUP | 4888 @item LOOKUP |
4688 BibTeX database files and TeX files loaded to find a reference, to | 4889 BibTeX database files and TeX files loaded to find a reference, to |
4689 display label context, etc.@refill | 4890 display label context, etc. |
4690 @end table | 4891 @end table |
4691 The created buffers can be kept for later use, or be thrown away | 4892 The created buffers can be kept for later use, or be thrown away |
4692 immediately after use, depending on the value of this variable:@refill | 4893 immediately after use, depending on the value of this variable: |
4693 | 4894 |
4694 @table @code | 4895 @table @code |
4695 @item nil | 4896 @item nil |
4696 Throw away as much as possible. | 4897 Throw away as much as possible. |
4697 @item t | 4898 @item t |
4698 Keep everything. | 4899 Keep everything. |
4699 @item 1 | 4900 @item 1 |
4700 Throw away buffers created for parsing, but keep the ones created for | 4901 Throw away buffers created for parsing, but keep the ones created for |
4701 lookup.@refill | 4902 lookup. |
4702 @end table | 4903 @end table |
4703 | 4904 |
4704 If a buffer is to be kept, the file is visited normally (which is | 4905 If a buffer is to be kept, the file is visited normally (which is |
4705 potentially slow but will happen only once). If a buffer is to be thrown | 4906 potentially slow but will happen only once). If a buffer is to be thrown |
4706 away, the initialization of the buffer depends upon the variable | 4907 away, the initialization of the buffer depends upon the variable |
4707 @code{reftex-initialize-temporary-buffers}.@refill | 4908 @code{reftex-initialize-temporary-buffers}. |
4708 @end defopt | 4909 @end defopt |
4709 | 4910 |
4710 @defopt reftex-initialize-temporary-buffers | 4911 @defopt reftex-initialize-temporary-buffers |
4711 Non-@code{nil} means do initializations even when visiting file | 4912 Non-@code{nil} means do initializations even when visiting file |
4712 temporarily. When @code{nil}, @b{Ref@TeX{}} may turn off find-file hooks and | 4913 temporarily. When @code{nil}, @b{Ref@TeX{}} may turn off find-file hooks and |
4713 other stuff to briefly visit a file. When @code{t}, the full default | 4914 other stuff to briefly visit a file. When @code{t}, the full default |
4714 initializations are done (@code{find-file-hook} etc.). Instead of | 4915 initializations are done (@code{find-file-hook} etc.). Instead of |
4715 @code{t} or @code{nil}, this variable may also be a list of hook | 4916 @code{t} or @code{nil}, this variable may also be a list of hook |
4716 functions to do a minimal initialization.@refill | 4917 functions to do a minimal initialization. |
4717 @end defopt | 4918 @end defopt |
4718 | 4919 |
4719 @defopt reftex-no-include-regexps | 4920 @defopt reftex-no-include-regexps |
4720 List of regular expressions to exclude certain input files from parsing. | 4921 List of regular expressions to exclude certain input files from parsing. |
4721 If the name of a file included via @code{\include} or @code{\input} is | 4922 If the name of a file included via @code{\include} or @code{\input} is |
4729 commands, or with the @kbd{r} key in menus. When this option is | 4930 commands, or with the @kbd{r} key in menus. When this option is |
4730 @code{t} in a multifile document, we will only parse the current buffer, | 4931 @code{t} in a multifile document, we will only parse the current buffer, |
4731 or the file associated with the label or section heading near point in a | 4932 or the file associated with the label or section heading near point in a |
4732 menu. Requesting re-parsing of an entire multifile document then | 4933 menu. Requesting re-parsing of an entire multifile document then |
4733 requires a @kbd{C-u C-u} prefix or the capital @kbd{R} key in | 4934 requires a @kbd{C-u C-u} prefix or the capital @kbd{R} key in |
4734 menus.@refill | 4935 menus. |
4735 @end defopt | 4936 @end defopt |
4736 | 4937 |
4737 @defopt reftex-save-parse-info | 4938 @defopt reftex-save-parse-info |
4738 Non-@code{nil} means, save information gathered with parsing in files. | 4939 Non-@code{nil} means, save information gathered with parsing in files. |
4739 The file @file{MASTER.rel} in the same directory as @file{MASTER.tex} is | 4940 The file @file{MASTER.rel} in the same directory as @file{MASTER.tex} is |
4740 used to save the information. When this variable is @code{t}, | 4941 used to save the information. When this variable is @code{t}, |
4741 @itemize @minus | 4942 @itemize @minus |
4742 @item | 4943 @item |
4743 accessing the parsing information for the first time in an editing | 4944 accessing the parsing information for the first time in an editing |
4744 session will read that file (if available) instead of parsing the | 4945 session will read that file (if available) instead of parsing the |
4745 document.@refill | 4946 document. |
4746 @item | 4947 @item |
4747 exiting Emacs or killing a buffer in reftex-mode will cause a new | 4948 exiting Emacs or killing a buffer in reftex-mode will cause a new |
4748 version of the file to be written.@refill | 4949 version of the file to be written. |
4749 @end itemize | 4950 @end itemize |
4750 @end defopt | 4951 @end defopt |
4751 | 4952 |
4752 @defopt reftex-parse-file-extension | 4953 @defopt reftex-parse-file-extension |
4753 File extension for the file in which parser information is stored. | 4954 File extension for the file in which parser information is stored. |
4764 Non-@code{nil} means use a separate selection buffer for each label | 4965 Non-@code{nil} means use a separate selection buffer for each label |
4765 type. These buffers are kept from one selection to the next and need | 4966 type. These buffers are kept from one selection to the next and need |
4766 not to be created for each use - so the menu generally comes up faster. | 4967 not to be created for each use - so the menu generally comes up faster. |
4767 The selection buffers will be erased (and therefore updated) | 4968 The selection buffers will be erased (and therefore updated) |
4768 automatically when new labels in its category are added. See the | 4969 automatically when new labels in its category are added. See the |
4769 variable @code{reftex-auto-update-selection-buffers}.@refill | 4970 variable @code{reftex-auto-update-selection-buffers}. |
4770 @end defopt | 4971 @end defopt |
4771 | 4972 |
4772 @defopt reftex-auto-update-selection-buffers | 4973 @defopt reftex-auto-update-selection-buffers |
4773 Non-@code{nil} means, selection buffers will be updated automatically. | 4974 Non-@code{nil} means, selection buffers will be updated automatically. |
4774 When a new label is defined with @code{reftex-label}, all selection | 4975 When a new label is defined with @code{reftex-label}, all selection |
4775 buffers associated with that label category are emptied, in order to | 4976 buffers associated with that label category are emptied, in order to |
4776 force an update upon next use. When @code{nil}, the buffers are left | 4977 force an update upon next use. When @code{nil}, the buffers are left |
4777 alone and have to be updated by hand, with the @kbd{g} key from the | 4978 alone and have to be updated by hand, with the @kbd{g} key from the |
4778 label selection process. The value of this variable will only have any | 4979 label selection process. The value of this variable will only have any |
4779 effect when @code{reftex-use-multiple-selection-buffers} is | 4980 effect when @code{reftex-use-multiple-selection-buffers} is |
4780 non-@code{nil}.@refill | 4981 non-@code{nil}. |
4781 @end defopt | 4982 @end defopt |
4782 | 4983 |
4783 @node Options (Fontification), Options (Misc), Options (Optimizations), Options | 4984 @node Options (Fontification), Options (Misc), Options (Optimizations), Options |
4784 @section Fontification | 4985 @section Fontification |
4785 @cindex Options, fontification | 4986 @cindex Options, fontification |
4787 | 4988 |
4788 @defopt reftex-use-fonts | 4989 @defopt reftex-use-fonts |
4789 Non-@code{nil} means, use fonts in label menu and on-the-fly help. | 4990 Non-@code{nil} means, use fonts in label menu and on-the-fly help. |
4790 Font-lock must be loaded as well to actually get fontified | 4991 Font-lock must be loaded as well to actually get fontified |
4791 display. After changing this option, a rescan may be necessary to | 4992 display. After changing this option, a rescan may be necessary to |
4792 activate it.@refill | 4993 activate it. |
4793 @end defopt | 4994 @end defopt |
4794 | 4995 |
4795 @defopt reftex-refontify-context | 4996 @defopt reftex-refontify-context |
4796 Non-@code{nil} means, re-fontify the context in the label menu with | 4997 Non-@code{nil} means, re-fontify the context in the label menu with |
4797 font-lock. This slightly slows down the creation of the label menu. It | 4998 font-lock. This slightly slows down the creation of the label menu. It |
4798 is only necessary when you definitely want the context fontified.@refill | 4999 is only necessary when you definitely want the context fontified. |
4799 | 5000 |
4800 This option may have 3 different values: | 5001 This option may have 3 different values: |
4801 @table @code | 5002 @table @code |
4802 @item nil | 5003 @item nil |
4803 Never refontify. | 5004 Never refontify. |
4804 @item t | 5005 @item t |
4805 Always refontify. | 5006 Always refontify. |
4806 @item 1 | 5007 @item 1 |
4807 Refontify when necessary, e.g. with old versions of the x-symbol | 5008 Refontify when necessary, e.g. with old versions of the x-symbol |
4808 package.@refill | 5009 package. |
4809 @end table | 5010 @end table |
4810 The option is ignored when @code{reftex-use-fonts} is @code{nil}.@refill | 5011 The option is ignored when @code{reftex-use-fonts} is @code{nil}. |
4811 @end defopt | 5012 @end defopt |
4812 | 5013 |
4813 @defopt reftex-highlight-selection | 5014 @defopt reftex-highlight-selection |
4814 Non-@code{nil} means, highlight selected text in selection and | 5015 Non-@code{nil} means, highlight selected text in selection and |
4815 @file{*toc*} buffers. Normally, the text near the cursor is the | 5016 @file{*toc*} buffers. Normally, the text near the cursor is the |
4816 @emph{selected} text, and it is highlighted. This is the entry most | 5017 @emph{selected} text, and it is highlighted. This is the entry most |
4817 keys in the selection and @file{*toc*} buffers act on. However, if you | 5018 keys in the selection and @file{*toc*} buffers act on. However, if you |
4818 mainly use the mouse to select an item, you may find it nice to have | 5019 mainly use the mouse to select an item, you may find it nice to have |
4819 mouse-triggered highlighting @emph{instead} or @emph{as well}. The | 5020 mouse-triggered highlighting @emph{instead} or @emph{as well}. The |
4820 variable may have one of these values:@refill | 5021 variable may have one of these values: |
4821 | 5022 |
4822 @example | 5023 @example |
4823 nil @r{No highlighting.} | 5024 nil @r{No highlighting.} |
4824 cursor @r{Highlighting is cursor driven.} | 5025 cursor @r{Highlighting is cursor driven.} |
4825 mouse @r{Highlighting is mouse driven.} | 5026 mouse @r{Highlighting is mouse driven.} |
4826 both @r{Both cursor and mouse trigger highlighting.} | 5027 both @r{Both cursor and mouse trigger highlighting.} |
4827 @end example | 5028 @end example |
4828 | 5029 |
4829 Changing this variable requires to rebuild the selection and *toc* | 5030 Changing this variable requires to rebuild the selection and *toc* |
4830 buffers to become effective (keys @kbd{g} or @kbd{r}).@refill | 5031 buffers to become effective (keys @kbd{g} or @kbd{r}). |
4831 @end defopt | 5032 @end defopt |
4832 | 5033 |
4833 @defopt reftex-cursor-selected-face | 5034 @defopt reftex-cursor-selected-face |
4834 Face name to highlight cursor selected item in toc and selection buffers. | 5035 Face name to highlight cursor selected item in toc and selection buffers. |
4835 See also the variable @code{reftex-highlight-selection}.@refill | 5036 See also the variable @code{reftex-highlight-selection}. |
4836 @end defopt | 5037 @end defopt |
4837 @defopt reftex-mouse-selected-face | 5038 @defopt reftex-mouse-selected-face |
4838 Face name to highlight mouse selected item in toc and selection buffers. | 5039 Face name to highlight mouse selected item in toc and selection buffers. |
4839 See also the variable @code{reftex-highlight-selection}.@refill | 5040 See also the variable @code{reftex-highlight-selection}. |
4840 @end defopt | 5041 @end defopt |
4841 @defopt reftex-file-boundary-face | 5042 @defopt reftex-file-boundary-face |
4842 Face name for file boundaries in selection buffer. | 5043 Face name for file boundaries in selection buffer. |
4843 @end defopt | 5044 @end defopt |
4844 @defopt reftex-label-face | 5045 @defopt reftex-label-face |
4883 @cindex Options, misc | 5084 @cindex Options, misc |
4884 | 5085 |
4885 @defopt reftex-extra-bindings | 5086 @defopt reftex-extra-bindings |
4886 Non-@code{nil} means, make additional key bindings on startup. These | 5087 Non-@code{nil} means, make additional key bindings on startup. These |
4887 extra bindings are located in the users @samp{C-c letter} | 5088 extra bindings are located in the users @samp{C-c letter} |
4888 map. @xref{Key Bindings}.@refill | 5089 map. @xref{Key Bindings}. |
4889 @end defopt | 5090 @end defopt |
4890 | 5091 |
4891 @defopt reftex-plug-into-AUCTeX | 5092 @defopt reftex-plug-into-AUCTeX |
4892 Plug-in flags for AUCTeX interface. This variable is a list of | 5093 Plug-in flags for AUCTeX interface. This variable is a list of |
4893 5 boolean flags. When a flag is non-@code{nil}, @b{Ref@TeX{}} | 5094 5 boolean flags. When a flag is non-@code{nil}, @b{Ref@TeX{}} |
4894 will@refill | 5095 will |
4895 | 5096 |
4896 @example | 5097 @example |
4897 - supply labels in new sections and environments (flag 1) | 5098 - supply labels in new sections and environments (flag 1) |
4898 - supply arguments for macros like @code{\label} (flag 2) | 5099 - supply arguments for macros like @code{\label} (flag 2) |
4899 - supply arguments for macros like @code{\ref} (flag 3) | 5100 - supply arguments for macros like @code{\ref} (flag 3) |
4918 @defopt reftex-allow-detached-macro-args | 5119 @defopt reftex-allow-detached-macro-args |
4919 Non-@code{nil} means, allow arguments of macros to be detached by | 5120 Non-@code{nil} means, allow arguments of macros to be detached by |
4920 whitespace. When this is @code{t}, the @samp{aaa} in @w{@samp{\bbb | 5121 whitespace. When this is @code{t}, the @samp{aaa} in @w{@samp{\bbb |
4921 [xxx] @{aaa@}}} will be considered an argument of @code{\bb}. Note that | 5122 [xxx] @{aaa@}}} will be considered an argument of @code{\bb}. Note that |
4922 this will be the case even if @code{\bb} is defined with zero or one | 5123 this will be the case even if @code{\bb} is defined with zero or one |
4923 argument.@refill | 5124 argument. |
4924 @end defopt | 5125 @end defopt |
4925 | 5126 |
4926 @node Keymaps and Hooks, Changes, Options, Top | 5127 @node Keymaps and Hooks, Changes, Options, Top |
4927 @section Keymaps and Hooks | 5128 @section Keymaps and Hooks |
4928 @cindex Keymaps | 5129 @cindex Keymaps |
4936 @deffn {Normal Hook} reftex-load-hook | 5137 @deffn {Normal Hook} reftex-load-hook |
4937 Normal hook which is being run when loading @file{reftex.el}. | 5138 Normal hook which is being run when loading @file{reftex.el}. |
4938 @end deffn | 5139 @end deffn |
4939 | 5140 |
4940 @deffn {Normal Hook} reftex-mode-hook | 5141 @deffn {Normal Hook} reftex-mode-hook |
4941 Normal hook which is being run when turning on @b{Ref@TeX{}} mode.@refill | 5142 Normal hook which is being run when turning on @b{Ref@TeX{}} mode. |
4942 @end deffn | 5143 @end deffn |
4943 | 5144 |
4944 Furthermore, the 4 modes used for referencing labels, creating | 5145 Furthermore, the 4 modes used for referencing labels, creating |
4945 citations, the table of contents buffer and the phrases buffer have | 5146 citations, the table of contents buffer and the phrases buffer have |
4946 their own keymaps and mode hooks. See the respective sections. There | 5147 their own keymaps and mode hooks. See the respective sections. There |
4947 are many more hooks which are described in the relevant sections about | 5148 are many more hooks which are described in the relevant sections about |
4948 options for a specific part of @b{Ref@TeX{}}.@refill | 5149 options for a specific part of @b{Ref@TeX{}}. |
4949 | 5150 |
4950 @node Changes, , Keymaps and Hooks, Top | 5151 @node Changes, , Keymaps and Hooks, Top |
4951 @chapter Changes | 5152 @chapter Changes |
4952 @cindex Changes | 5153 @cindex Changes |
4953 | 5154 |
4954 Here is a list of recent changes to @b{Ref@TeX{}}. | 5155 Here is a list of recent changes to @b{Ref@TeX{}}. |
4955 | 5156 |
5157 @noindent @b{Version 4.28} | |
5158 @itemize @bullet | |
5159 @item Support for the Jurabib package. | |
5160 @item Improvements when selecting several items in a selection buffer. | |
5161 @end itemize | |
5162 | |
5163 @noindent @b{Version 4.26} | |
5164 @itemize @bullet | |
5165 @item | |
5166 Support for global incremental search. | |
5167 @item | |
5168 Some improvements for XEmacs compatibility. | |
5169 @end itemize | |
5170 | |
5171 @noindent @b{Version 4.25} | |
5172 @itemize @bullet | |
5173 @item | |
5174 Fixed bug with @samp{%F} in a label prefix. Added new escapes | |
5175 @samp{%m} and @samp{%M} for mater file name and master directory. | |
5176 @end itemize | |
5177 | |
5178 @noindent @b{Version 4.24} | |
5179 @itemize @bullet | |
5180 @item | |
5181 Inserting citation commands now prompts for optional arguments | |
5182 when called with a prefix argument. Related new options are | |
5183 @code{reftex-cite-prompt-optional-args} and | |
5184 @code{reftex-cite-cleanup-optional-args}. | |
5185 @item | |
5186 New option @code{reftex-trust-label-prefix}. Configure this variable | |
5187 if you'd like RefTeX to base its classification of labels on prefixes. | |
5188 This can speed-up document parsing, but may in some cases reduce the | |
5189 quality of the context used by RefTeX to describe a label. | |
5190 @item | |
5191 Fixed bug in @code{reftex-create-bibtex-file} when @code{reftex-comment-citations} | |
5192 is non-nil. | |
5193 @item | |
5194 Fixed bugs in indexing: Case-sensitive search, quotes before and/or | |
5195 after words. Disabbled indexing in comment lines. | |
5196 @end itemize | |
5197 | |
5198 @noindent @b{Version 4.22} | |
5199 @itemize @bullet | |
5200 @item | |
5201 New command @code{reftex-create-bibtex-file} to create a new database | |
5202 with all entries referenced in the current document. | |
5203 @item | |
5204 New keys @kbd{e} and @kbd{E} allow to produce a BibTeX database file | |
5205 from entries marked in a citation selection buffer. | |
5206 @end itemize | |
5207 | |
5208 @noindent @b{Version 4.21} | |
5209 @itemize @bullet | |
5210 @item | |
5211 Renaming labels from the toc buffer with key @kbd{M-%}. | |
5212 @end itemize | |
5213 | |
5214 @noindent @b{Version 4.20} | |
5215 @itemize @bullet | |
5216 @item | |
5217 Structure editing capabilities. The command keys @kbd{<} and @kbd{>} in | |
5218 the TOC buffer promote/demote the section at point or all sections in | |
5219 the current region. | |
5220 @item | |
5221 New option @code{reftex-toc-split-windows-fraction} to set the size of | |
5222 the window used by the TOC. This makes the old variable | |
5223 @code{reftex-toc-split-windows-horizontally-fraction} obsolete. | |
5224 @item | |
5225 A dedicated frame can show the TOC with the current section | |
5226 always automatically highlighted. The frame is created and | |
5227 deleted from the toc buffer with the @kbd{d} key. | |
5228 @end itemize | |
5229 | |
5230 @noindent @b{Version 4.19} | |
5231 @itemize @bullet | |
5232 @item | |
5233 New command `reftex-toc-recenter' (@kbd{C-c -}) which shows the current | |
5234 section in the TOC buffer without selecting the TOC window. | |
5235 @item | |
5236 Recentering happens automatically in idle time when the option | |
5237 @code{reftex-auto-recenter-toc} is turned on. | |
5238 @item | |
5239 Fixed several bugs related to automatic cursor positioning in the TOC | |
5240 buffer. | |
5241 @item | |
5242 The highlight in the TOC buffer stays when the focus moves to a | |
5243 different window. | |
5244 @item | |
5245 New command `reftex-goto-label'. | |
5246 @item | |
5247 Part numbers are no longer included in chapter numbers, and a new | |
5248 part does not reset the chapter counter. See new option | |
5249 @code{reftex-part-resets-chapter}. | |
5250 @end itemize | |
5251 | |
5252 @noindent @b{Version 4.18} | |
5253 @itemize @bullet | |
5254 @item | |
5255 @code{reftex-citation} uses the word before the cursor as a default | |
5256 search string. | |
5257 @item | |
5258 Simplified several regular expressions for speed. | |
5259 @item | |
5260 Better support for chapterbib. | |
5261 @end itemize | |
5262 | |
5263 @noindent @b{Version 4.17} | |
5264 @itemize @bullet | |
5265 @item | |
5266 The toc window can be split off horizontally. See new options | |
5267 @code{reftex-toc-split-windows-horizontally}, | |
5268 @code{reftex-toc-split-windows-horizontally-fraction}. | |
5269 @item | |
5270 It is possible to specify a function which verifies an index match | |
5271 during global indexing. See new option @code{reftex-index-verify-function}. | |
5272 @item | |
5273 The macros which input a file in LaTeX (like \input, \include) can | |
5274 be configured. See new option @code{reftex-include-file-commands}. | |
5275 @item | |
5276 The macros which specify the bibliography file (like \bibliography) can | |
5277 be configured. See new option @code{reftex-bibliography-commands}. | |
5278 @item | |
5279 The regular expression used to search for the \bibliography macro has | |
5280 been relaxed to allow for @samp{@{\bibliography@{...@}@}} needed by | |
5281 chapterbib. | |
5282 @item | |
5283 Small bug fixes. | |
5284 @end itemize | |
5285 | |
5286 @noindent @b{Version 4.15} | |
5287 @itemize @bullet | |
5288 @item | |
5289 Fixed bug with parsing of BibTeX files, when fields contain quotes or | |
5290 unmatched parenthesis. | |
5291 @item | |
5292 Small bug fixes. | |
5293 @item | |
5294 Improved interaction with Emacs LaTeX mode. | |
5295 @end itemize | |
5296 | |
5297 @noindent @b{Version 4.12} | |
5298 @itemize @bullet | |
5299 @item | |
5300 Support for @file{bibentry} citation style. | |
5301 @end itemize | |
5302 | |
5303 @noindent @b{Version 4.11} | |
5304 @itemize @bullet | |
5305 @item | |
5306 Fixed bug which would parse @samp{\Section} just like @samp{\section}. | |
5307 @end itemize | |
5308 | |
5309 @noindent @b{Version 4.10} | |
5310 @itemize @bullet | |
5311 @item | |
5312 Renamed @file{reftex-vcr.el} to @file{reftex-dcr.el} because of conflict | |
5313 with @file{reftex-vars.el} on DOS machines. | |
5314 @item | |
5315 New options @code{reftex-parse-file-extension} and | |
5316 @code{reftex-index-phrase-file-extension}. | |
5317 @end itemize | |
5318 | |
5319 @noindent [.....] | |
4956 @ignore | 5320 @ignore |
4957 @noindent @b{Version 1.00} | 5321 @noindent @b{Version 4.09} |
4958 @itemize @bullet | 5322 @itemize @bullet |
4959 @item | 5323 @item |
4960 released on 7 Jan 1997. | 5324 New option @code{reftex-toc-max-level} to limit the depth of the toc. |
4961 @end itemize | 5325 New key binding @kbd{t} in the @file{*toc*} buffer to change this |
4962 | 5326 setting. |
4963 @noindent @b{Version 1.04} | 5327 @item |
4964 @itemize @bullet | 5328 RefTeX maintains an @file{Index Phrases} file in which phrases can be |
4965 @item | 5329 collected. When the document is ready, RefTeX can search all |
4966 Macros as wrappers, AMSTeX support, delayed context parsing for | 5330 these phrases and assist indexing all matches. |
4967 new labels.@refill | 5331 @item |
4968 @end itemize | 5332 The variables @code{reftex-index-macros} and |
4969 | 5333 @code{reftex-index-default-macro} have changed their syntax slightly. |
4970 @noindent @b{Version 1.05} | 5334 The @var{repeat} parameter has move from the latter to the former. |
4971 @itemize @bullet | 5335 Also calls to @code{reftex-add-index-macros} from AUCTeX style files |
4972 @item | 5336 need to be adapted. |
4973 XEmacs port. | 5337 @item |
4974 @end itemize | 5338 The variable @code{reftex-section-levels} no longer contains the |
4975 | 5339 default stuff which has been moved to a constant. |
4976 @noindent @b{Version 1.07} | 5340 @item |
4977 @itemize @bullet | 5341 Environments like theorems can be placed into the TOC by putting |
4978 @item | 5342 entries for @samp{"begin@{theorem@}"} in |
4979 @b{Ref@TeX{}} gets its own menu. | 5343 @code{reftex-setion-levels}. |
4980 @end itemize | 5344 @end itemize |
4981 | 5345 |
4982 @noindent @b{Version 1.09} | 5346 @noindent @b{Version 4.06} |
4983 @itemize @bullet | 5347 @itemize @bullet |
4984 @item | 5348 @item |
4985 Support for @code{tex-main-file}, an analogue for | 5349 @code{reftex-section-levels} can contain a function to compute the level |
4986 @code{TeX-master}.@refill | 5350 of a sectioning command. |
4987 @item | 5351 @item |
4988 MS-DOS support. | 5352 Multiple @code{thebibliography} environments recognized. |
4989 @end itemize | 5353 @end itemize |
4990 | 5354 |
4991 @noindent @b{Version 2.00} | 5355 @noindent @b{Version 4.04} |
4992 @itemize @bullet | 5356 @itemize @bullet |
4993 @item | 5357 @item |
4994 Labels can be derived from context (default for sections). | 5358 New option @code{reftex-index-default-tag} implements a default for queries. |
4995 @item | 5359 @end itemize |
4996 Configuration of label insertion and label referencing revised. | 5360 |
4997 @item | 5361 @noindent @b{Version 4.02} |
4998 Crossref fields in BibTeX database entries. | 5362 @itemize @bullet |
4999 @item | 5363 @item |
5000 @code{reftex-toc} introduced (thanks to Stephen Eglen). | 5364 macros ending in @samp{refrange} are considered to contain references. |
5001 @end itemize | 5365 @item |
5002 | 5366 Index entries made with @code{reftex-index-selection-or-word} in TeX |
5003 @noindent @b{Version 2.03} | 5367 math mode automatically get enclosing @samp{$} to preserve math mode. See |
5004 @itemize @bullet | 5368 new option @code{reftex-index-math-format}. Requires AUCTeX. |
5005 @item | 5369 @end itemize |
5006 @code{figure*}, @code{table*}, @code{sidewaysfigure/table} added to | 5370 |
5007 default environments.@refill | 5371 @noindent @b{Version 4.01} |
5008 @item | 5372 @itemize @bullet |
5009 @code{reftex-bibfile-ignore-list} introduced (thanks to Rory Molinari). | 5373 @item |
5010 @item | 5374 New command @code{reftex-index-globally} to index a word in many |
5011 New functions @code{reftex-arg-label}, @code{reftex-arg-ref}, | 5375 places in the document. Also available from the index buffer with |
5012 @code{reftex-arg-cite}.@refill | 5376 @kbd{&}. |
5013 @item | 5377 @item |
5014 Emacs/XEmacs compatibility reworked. XEmacs 19.15 now is | 5378 The first item in a @code{reftex-label-alist} entry may now also be a parser |
5015 required.@refill | 5379 function to do non-standard parsing. |
5016 @item | 5380 @item |
5017 @code{reftex-add-to-label-alist} (to be called from AUCTeX style | 5381 @code{reftex-auto-view-crossref} no longer interferes with |
5018 files).@refill | 5382 @code{pop-up-frames} (patch from Stefan Monnier). |
5019 @item | 5383 @end itemize |
5020 Finding context with a hook function. | 5384 |
5021 @item | 5385 @noindent @b{Version 4.00} |
5022 Sorting BibTeX entries (new variable: | 5386 @itemize @bullet |
5023 @code{reftex-sort-bibtex-matches}). | 5387 @item |
5024 @end itemize | 5388 RefTeX has been split into several smaller files which are autoloaded on |
5025 | 5389 demand. |
5026 @noindent @b{Version 2.05} | 5390 @item |
5027 @itemize @bullet | 5391 Index support, along with many new options. |
5028 @item | 5392 @item |
5029 Support for @file{custom.el}. | 5393 The selection of keys for @code{\ref} and @code{\cite} now allows to |
5030 @item | 5394 select multiple items by marking entries with the @kbd{m} key. |
5031 New function @code{reftex-grep-document} (thanks to Stephen Eglen). | 5395 @item |
5032 @end itemize | 5396 Fancyref support. |
5033 | 5397 @end itemize |
5034 @noindent @b{Version 2.07} | 5398 |
5035 @itemize @bullet | 5399 @noindent @b{Version 3.43} |
5036 @item | 5400 @itemize @bullet |
5037 New functions @code{reftex-search-document}, | 5401 @item |
5038 @code{reftex-query-replace-document}. | 5402 Viewing cross-references generalized. Now works on @code{\label}, |
5039 @end itemize | 5403 @code{\ref}, @code{\cite}, @code{\bibitem}, @code{\index}, variations of |
5040 | 5404 these, and from BibTeX buffers. |
5041 @noindent @b{Version 2.11} | 5405 @item |
5042 @itemize @bullet | 5406 New option @code{reftex-view-crossref-extra}. |
5043 @item | 5407 @item |
5044 Submitted for inclusion to Emacs and XEmacs. | 5408 Support for the additional sectioning commands @code{\addchap} and |
5045 @end itemize | 5409 @code{\addsec} which are defined in the LaTeX KOMA-Script classes. |
5046 | 5410 @item |
5047 @noindent @b{Version 2.14} | 5411 Files in @code{reftex-default-bibliography} will be searched along |
5048 @itemize @bullet | 5412 @code{BIBINPUTS} path. |
5049 @item | 5413 @item |
5050 Variable @code{reftex-plug-into-AUCTeX} simplifies cooperation with | 5414 Reading a parse file now checks consistency. |
5051 AUCTeX.@refill | 5415 @end itemize |
5052 @end itemize | 5416 |
5053 | 5417 @noindent @b{Version 3.42} |
5054 @noindent @b{Version 2.17} | 5418 @itemize @bullet |
5055 @itemize @bullet | 5419 @item |
5056 @item | 5420 File search further refined. New option @code{reftex-file-extensions}. |
5057 Label prefix expands % escapes with current file name and other stuff. | 5421 @item |
5058 @item | 5422 @file{*toc*} buffer can show the file boundaries of a multifile |
5059 Citation format now with % escapes. This is not backward | 5423 document, all labels and associated context. New keys @kbd{i}, @kbd{l}, |
5060 compatible!@refill | 5424 and @kbd{c}. New options @code{reftex-toc-include-labels}, |
5061 @item | 5425 @code{reftex-toc-include-context}, |
5062 TEXINPUTS variable recognized when looking for input files. | 5426 @code{reftex-toc-include-file-boundaries}. |
5063 @item | 5427 @end itemize |
5064 Context can be the nth argument of a macro.@refill | 5428 |
5065 @item | |
5066 Searching in the select buffer is now possible (@kbd{C-s} and | |
5067 @kbd{C-r}).@refill | |
5068 @item | |
5069 Display and derive-label can use two different context methods. | |
5070 @item | |
5071 AMSmath @code{xalignat} and @code{xxalignat} added. | |
5072 @end itemize | |
5073 | |
5074 @noindent @b{Version 3.00} | |
5075 @itemize @bullet | |
5076 @item | |
5077 @b{Ref@TeX{}} should work better for very large projects: | |
5078 @item | |
5079 The new parser works without creating a master buffer. | |
5080 @item | |
5081 Rescanning can be limited to a part of a multifile document. | |
5082 @item | |
5083 Information from the parser can be stored in a file. | |
5084 @item | |
5085 @b{Ref@TeX{}} can deal with macros having a naked label as an argument. | |
5086 @item | |
5087 Macros may have white space and newlines between arguments. | |
5088 @item | |
5089 Multiple identical section headings no longer confuse | |
5090 @code{reftex-toc}.@refill | |
5091 @item | |
5092 @b{Ref@TeX{}} should work correctly in combination with buffer-altering | |
5093 packages like outline, folding, x-symbol, iso-cvt, isotex, etc.@refill | |
5094 @item | |
5095 All labeled environments discussed in @emph{The LaTeX Companion} by | |
5096 Goossens, Mittelbach & Samarin, Addison-Wesley 1994) are part of | |
5097 @b{Ref@TeX{}}'s defaults.@refill | |
5098 @end itemize | |
5099 | |
5100 @noindent @b{Version 3.03} | |
5101 @itemize @bullet | |
5102 @item | |
5103 Support for the LaTeX package @code{xr}, for inter-document | |
5104 references.@refill | |
5105 @item | |
5106 A few (minor) Mule-related changes. | |
5107 @item | |
5108 Fixed bug which could cause @emph{huge} @file{.rel} files. | |
5109 @item | |
5110 Search for input and @file{.bib} files with recursive path definitions. | |
5111 @end itemize | |
5112 | |
5113 @noindent @b{Version 3.04} | |
5114 @itemize @bullet | |
5115 @item | |
5116 Fixed BUG in the @emph{xr} support. | |
5117 @end itemize | |
5118 | |
5119 @noindent @b{Version 3.05} | |
5120 @itemize @bullet | |
5121 @item | |
5122 Compatibility code now first checks for XEmacs feature. | |
5123 @end itemize | |
5124 | |
5125 @noindent @b{Version 3.07} | |
5126 @itemize @bullet | |
5127 @item | |
5128 @code{Ref} menu improved. | |
5129 @end itemize | |
5130 | |
5131 @noindent @b{Version 3.10} | |
5132 @itemize @bullet | |
5133 @item | |
5134 Fixed a bug which made reftex 3.07 fail on [X]Emacs version 19. | |
5135 @item | |
5136 Removed unimportant code which caused OS/2 Emacs to crash. | |
5137 @item | |
5138 All customization variables now accessible from menu. | |
5139 @end itemize | |
5140 | |
5141 @noindent @b{Version 3.11} | |
5142 @itemize @bullet | |
5143 @item | |
5144 Fixed bug which led to naked label in (e.g.) footnotes. | |
5145 @item | |
5146 Added scroll-other-window functions to RefTeX-Select. | |
5147 @end itemize | |
5148 | |
5149 @noindent @b{Version 3.12} | |
5150 @itemize @bullet | |
5151 @item | |
5152 There are 3 new keymaps for customization: @code{reftex-toc-map}, | |
5153 @code{reftex-select-label-map}, @code{reftex-select-bib-map}. | |
5154 @item | |
5155 Refontification uses more standard font-lock stuff. | |
5156 @item | |
5157 When no BibTeX database files are specified, citations can also use | |
5158 @code{\bibitem} entries from a @code{thebibliography} environment.@refill | |
5159 @end itemize | |
5160 | |
5161 @noindent @b{Version 3.14} | |
5162 @itemize @bullet | |
5163 @item | |
5164 Selection buffers can be kept between selections: this is faster. | |
5165 See new variable @code{reftex-use-multiple-selection-buffers}.@refill | |
5166 @item | |
5167 Prefix interpretation of reftex-view-crossref changed. | |
5168 @item | |
5169 Support for the @code{varioref} package (@kbd{v} key in selection | |
5170 buffer).@refill | |
5171 @end itemize | |
5172 | |
5173 @noindent @b{Version 3.16} | |
5174 @itemize @bullet | |
5175 @item | |
5176 New hooks @code{reftex-format-label-function}, | |
5177 @code{reftex-format-ref-function}, @code{reftex-format-cite-function}.@refill | |
5178 @item | |
5179 TeXInfo documentation completed. | |
5180 @item | |
5181 Some restrictions in Label inserting and referencing removed. | |
5182 @item | |
5183 New variable @code{reftex-default-bibliography}. | |
5184 @end itemize | |
5185 | |
5186 @noindent @b{Version 3.17} | |
5187 @itemize @bullet | |
5188 @item | |
5189 Additional bindings in selection and @file{*toc*} buffers. @kbd{g} | |
5190 redefined. | |
5191 @item | |
5192 New command @code{reftex-save-all-document-buffers}. | |
5193 @item | |
5194 Magic word matching made more intelligent. | |
5195 @item | |
5196 Selection process can switch to completion (with @key{TAB}). | |
5197 @item | |
5198 @code{\appendix} is now recognized and influences section numbering. | |
5199 @item | |
5200 File commentary shortened considerably (use Info documentation). | |
5201 @item | |
5202 New option @code{reftex-no-include-regexps} to skip some include files. | |
5203 @item | |
5204 New option @code{reftex-revisit-to-follow}. | |
5205 @end itemize | |
5206 | |
5207 @noindent @b{Version 3.18} | |
5208 @itemize @bullet | |
5209 @item | |
5210 The selection now uses a recursive edit, much like minibuffer input. | |
5211 This removes all restrictions during selection. E.g. you can now | |
5212 switch buffers at will, use the mouse etc.@refill | |
5213 @item | |
5214 New option @code{reftex-highlight-selection}. | |
5215 @item | |
5216 @kbd{mouse-2} can be used to select in selection and @file{*toc*} | |
5217 buffers.@refill | |
5218 @item | |
5219 Fixed some problems regarding the interaction with VIPER mode. | |
5220 @item | |
5221 Follow-mode is now only used after point motion. | |
5222 @item | |
5223 @b{Ref@TeX{}} now finally does not fontify temporary files anymore. | |
5224 @end itemize | |
5225 | |
5226 @noindent @b{Version 3.19} | |
5227 @itemize @bullet | |
5228 @item | |
5229 Fixed bug with AUCTeX @code{TeX-master}. | |
5230 @end itemize | |
5231 | |
5232 @noindent @b{Version 3.21} | |
5233 @itemize @bullet | |
5234 @item | |
5235 New options for all faces used by @b{Ref@TeX{}}. They're in the | |
5236 customization group @code{reftex-fontification-configurations}.@refill | |
5237 @end itemize | |
5238 | |
5239 @noindent @b{Version 3.22} | |
5240 @itemize @bullet | |
5241 @item | |
5242 Fixed bug with empty context strings. | |
5243 @item | |
5244 @code{reftex-mouse-view-crossref} is now bound by default at | |
5245 @kbd{S-mouse-2}.@refill | |
5246 @end itemize | |
5247 | |
5248 @noindent @b{Version 3.23} | |
5249 @itemize @bullet | |
5250 @item | |
5251 Parse files @file{MASTER.rel} made compatible between Emacs and XEmacs. | |
5252 @item | |
5253 @code{kill-emacs-hook} and @code{kill-buffer-hook} now write the parse | |
5254 file. | |
5255 @item | |
5256 The cursor inside a @code{\ref} or @code{\cite} macro can now trigger | |
5257 automatic display of crossref information in the echo area. See | |
5258 variable @code{reftex-auto-view-crossref}. | |
5259 @item | |
5260 AUCTeX interface updates: | |
5261 @itemize @minus | |
5262 @item | |
5263 AUCTeX 9.9c and later notifies @b{Ref@TeX{}} about new sections. | |
5264 @item | |
5265 @b{Ref@TeX{}} notifies AUCTeX about new labels. | |
5266 @item | |
5267 @code{TeX-arg-ref} no longer used (introduction was unnecessary). | |
5268 @item | |
5269 @code{reftex-arg-label} and @code{reftex-arg-cite} fixed up. | |
5270 @item | |
5271 Settings added to @b{Ref@TeX{}} via style files remain local. | |
5272 @end itemize | |
5273 @item | |
5274 Fixed bug with @code{reftex-citation} in non-latex buffers. | |
5275 @item | |
5276 Fixed bug with syntax table and context refontification. | |
5277 @item | |
5278 Safety-net for name change of @code{font-lock-reference-face}. | |
5279 @end itemize | |
5280 | |
5281 @noindent @b{Version 3.24} | |
5282 @itemize @bullet | |
5283 @item | |
5284 New option @code{reftex-revisit-to-echo}. | |
5285 @item | |
5286 Interface with X-Symbol (>=2.6) is now complete and stable. | |
5287 @item | |
5288 Adapted to new outline, which uses overlays. | |
5289 @item | |
5290 File names in @code{\bibliography} may now have the @code{.bib} | |
5291 extension.@refill | |
5292 @item | |
5293 Fixed Bug with parsing "single file" from master file buffer. | |
5294 @end itemize | |
5295 | |
5296 @noindent @b{Version 3.25} | |
5297 @itemize @bullet | |
5298 @item | |
5299 Echoing of citation info caches the info for displayed entries. | |
5300 New option @code{reftex-cache-cite-echo}.@refill | |
5301 @item | |
5302 @kbd{M-x reftex-reset-mode} now also removes the file with parsing | |
5303 info.@refill | |
5304 @item | |
5305 Default of @code{reftex-revisit-to-follow} changed to nil. | |
5306 @end itemize | |
5307 | |
5308 @noindent @b{Version 3.26} | |
5309 @itemize @bullet | |
5310 @item | |
5311 [X]Emacs 19 no longer supported. Use 3.22 for Emacs 19. | |
5312 @item | |
5313 New hooks @code{reftex-translate-to-ascii-function}, | |
5314 @code{reftex-string-to-label-function}.@refill | |
5315 @item | |
5316 Made sure automatic crossref display will not visit/scan files. | |
5317 @end itemize | |
5318 | |
5319 @noindent @b{Version 3.27} | |
5320 @itemize @bullet | |
5321 @item | |
5322 Macros can define @emph{neutral} labels, just like @code{\label} | |
5323 itself.@refill | |
5324 @item | |
5325 New option @code{reftex-allow-detached-macro-args}, default @code{nil}! | |
5326 @end itemize | |
5327 | |
5328 @noindent @b{Version 3.28} | |
5329 @itemize @bullet | |
5330 @item | |
5331 Auto view crossref for XEmacs uses @code{post-command-hook} to restart the | |
5332 timer, since itimer restart is not reliable.@refill | |
5333 @item | |
5334 Option @code{reftex-bibfile-ignore-list} renamed to @code{-regexps}. | |
5335 @item | |
5336 Expansion of recursive tex and bib path rewritten. | |
5337 @item | |
5338 Fixed problem where @b{Ref@TeX{}} did not scan unsaved buffers. | |
5339 @item | |
5340 Fixed bug with section numbering after *-red sections. | |
5341 @end itemize | |
5342 | |
5343 @noindent @b{Version 3.30} | |
5344 @itemize @bullet | |
5345 @item | |
5346 In @code{reftex-citation}, the regular expression used to scan BibTeX | |
5347 files can be specified using completion on known citation keys. | |
5348 @item | |
5349 New keys @kbd{a} and @kbd{A} in BibTeX selection process to cite @emph{all} | |
5350 entries. | |
5351 @item | |
5352 New command @code{reftex-renumber-simple-labels} to renumber simple | |
5353 labels like @samp{eq:13} sequentially through a document. | |
5354 @end itemize | |
5355 @noindent @b{Version 3.33} | |
5356 @itemize @bullet | |
5357 @item | |
5358 Multiple selection buffers are now hidden buffers (they start with a | |
5359 SPACE). | |
5360 @item | |
5361 Fixed bug with file search when TEXINPUTS environment variable is empty. | |
5362 @end itemize | |
5363 @noindent @b{Version 3.34} | |
5364 @itemize @bullet | |
5365 @item | |
5366 Additional flag in @code{reftex-derive-label-parameters} do make only | |
5367 lowercase labels (default @code{t}). | |
5368 @item | |
5369 All @file{.rel} files have a final newline to avoid queries. | |
5370 @item | |
5371 Single byte representations of accented European letters (ISO-8859-1) | |
5372 are now legal in labels. | |
5373 @end itemize | |
5374 @noindent @b{Version 3.35} | |
5375 @itemize @bullet | |
5376 @item | |
5377 ISO 8859 Latin-1 chars are converted to ASCII to derive better labels. | |
5378 This takes back the related changes in 3.34 for safety reasons.@refill | |
5379 @end itemize | |
5380 @noindent @b{Version 3.36} | |
5381 @itemize @bullet | |
5382 @item | |
5383 New value @code{window} for option @code{reftex-auto-view-crossref}. | |
5384 @end itemize | |
5385 @noindent @b{Version 3.38} | |
5386 @itemize @bullet | |
5387 @item | |
5388 @code{reftex-view-crossref} no longer moves to find a macro. Point has | |
5389 to be on the macro argument. | |
5390 @end itemize | |
5391 @noindent @b{Version 3.41} | 5429 @noindent @b{Version 3.41} |
5392 @itemize @bullet | 5430 @itemize @bullet |
5393 @item | 5431 @item |
5394 New options @code{reftex-texpath-environment-variables}, | 5432 New options @code{reftex-texpath-environment-variables}, |
5395 @code{reftex-use-external-file-finders}, | 5433 @code{reftex-use-external-file-finders}, |
5397 @code{reftex-search-unrecursed-path-first}. | 5435 @code{reftex-search-unrecursed-path-first}. |
5398 @item | 5436 @item |
5399 @emph{kpathsearch} support. See new options and | 5437 @emph{kpathsearch} support. See new options and |
5400 @code{reftex-bibpath-environment-variables}. | 5438 @code{reftex-bibpath-environment-variables}. |
5401 @end itemize | 5439 @end itemize |
5402 @noindent @b{Version 3.42} | 5440 |
5403 @itemize @bullet | 5441 @noindent @b{Version 3.38} |
5404 @item | 5442 @itemize @bullet |
5405 File search further refined. New option @code{reftex-file-extensions}. | 5443 @item |
5406 @item | 5444 @code{reftex-view-crossref} no longer moves to find a macro. Point has |
5407 @file{*toc*} buffer can show the file boundaries of a multifile | 5445 to be on the macro argument. |
5408 document, all labels and associated context. New keys @kbd{i}, @kbd{l}, | 5446 @end itemize |
5409 and @kbd{c}. New options @code{reftex-toc-include-labels}, | 5447 |
5410 @code{reftex-toc-include-context}, | 5448 @noindent @b{Version 3.36} |
5411 @code{reftex-toc-include-file-boundaries}. @refill | 5449 @itemize @bullet |
5412 @end itemize | 5450 @item |
5413 @noindent @b{Version 3.43} | 5451 New value @code{window} for option @code{reftex-auto-view-crossref}. |
5414 @itemize @bullet | 5452 @end itemize |
5415 @item | 5453 |
5416 Viewing cross-references generalized. Now works on @code{\label}, | 5454 @noindent @b{Version 3.35} |
5417 @code{\ref}, @code{\cite}, @code{\bibitem}, @code{\index}, variations of | 5455 @itemize @bullet |
5418 these, and from BibTeX buffers.@refill | 5456 @item |
5419 @item | 5457 ISO 8859 Latin-1 chars are converted to ASCII to derive better labels. |
5420 New option @code{reftex-view-crossref-extra}.@refill | 5458 This takes back the related changes in 3.34 for safety reasons. |
5421 @item | 5459 @end itemize |
5422 Support for the additional sectioning commands @code{\addchap} and | 5460 |
5423 @code{\addsec} which are defined in the LaTeX KOMA-Script classes.@refill | 5461 @noindent @b{Version 3.34} |
5424 @item | 5462 @itemize @bullet |
5425 Files in @code{reftex-default-bibliography} will be searched along | 5463 @item |
5426 @code{BIBINPUTS} path.@refill | 5464 Additional flag in @code{reftex-derive-label-parameters} do make only |
5427 @item | 5465 lowercase labels (default @code{t}). |
5428 Reading a parse file now checks consistency. | 5466 @item |
5429 @end itemize | 5467 All @file{.rel} files have a final newline to avoid queries. |
5430 @noindent @b{Version 4.00} | 5468 @item |
5431 @itemize @bullet | 5469 Single byte representations of accented European letters (ISO-8859-1) |
5432 @item | 5470 are now valid in labels. |
5433 RefTeX has been split into several smaller files which are autoloaded on | 5471 @end itemize |
5434 demand. | 5472 |
5435 @item | 5473 @noindent @b{Version 3.33} |
5436 Index support, along with many new options. | 5474 @itemize @bullet |
5437 @item | 5475 @item |
5438 The selection of keys for @code{\ref} and @code{\cite} now allows to | 5476 Multiple selection buffers are now hidden buffers (they start with a |
5439 select multiple items by marking entries with the @kbd{m} key. | 5477 SPACE). |
5440 @item | 5478 @item |
5441 Fancyref support. | 5479 Fixed bug with file search when TEXINPUTS environment variable is empty. |
5442 @end itemize | 5480 @end itemize |
5443 @noindent @b{Version 4.01} | 5481 |
5444 @itemize @bullet | 5482 @noindent @b{Version 3.30} |
5445 @item | 5483 @itemize @bullet |
5446 New command @code{reftex-index-globally} to index a word in many | 5484 @item |
5447 places in the document. Also available from the index buffer with | 5485 In @code{reftex-citation}, the regular expression used to scan BibTeX |
5448 @kbd{&}. | 5486 files can be specified using completion on known citation keys. |
5449 @item | 5487 @item |
5450 The first item in a @code{reftex-label-alist} entry may now also be a parser | 5488 New keys @kbd{a} and @kbd{A} in BibTeX selection process to cite @emph{all} |
5451 function to do non-standard parsing. | 5489 entries. |
5452 @item | 5490 @item |
5453 @code{reftex-auto-view-crossref} no longer interferes with | 5491 New command @code{reftex-renumber-simple-labels} to renumber simple |
5454 @code{pop-up-frames} (patch from Stefan Monnier). | 5492 labels like @samp{eq:13} sequentially through a document. |
5455 @end itemize | 5493 @end itemize |
5456 @noindent @b{Version 4.02} | 5494 |
5457 @itemize @bullet | 5495 @noindent @b{Version 3.28} |
5458 @item | 5496 @itemize @bullet |
5459 macros ending in @samp{refrange} are considered to contain references. | 5497 @item |
5460 @item | 5498 Auto view crossref for XEmacs uses @code{post-command-hook} to restart the |
5461 Index entries made with @code{reftex-index-selection-or-word} in TeX | 5499 timer, since itimer restart is not reliable. |
5462 math mode automatically get enclosing @samp{$} to preserve math mode. See | 5500 @item |
5463 new option @code{reftex-index-math-format}. Requires AUCTeX. | 5501 Option @code{reftex-bibfile-ignore-list} renamed to @code{-regexps}. |
5464 @end itemize | 5502 @item |
5465 @noindent @b{Version 4.04} | 5503 Expansion of recursive tex and bib path rewritten. |
5466 @itemize @bullet | 5504 @item |
5467 @item | 5505 Fixed problem where @b{Ref@TeX{}} did not scan unsaved buffers. |
5468 New option @code{reftex-index-default-tag} implements a default for queries. | 5506 @item |
5469 @end itemize | 5507 Fixed bug with section numbering after *-red sections. |
5470 @noindent @b{Version 4.06} | 5508 @end itemize |
5471 @itemize @bullet | 5509 |
5472 @item | 5510 @noindent @b{Version 3.27} |
5473 @code{reftex-section-levels} can contain a function to compute the level | 5511 @itemize @bullet |
5474 of a sectioning command. | 5512 @item |
5475 @item | 5513 Macros can define @emph{neutral} labels, just like @code{\label} |
5476 Multiple @code{thebibliography} environments recognized. | 5514 itself. |
5477 @end itemize | 5515 @item |
5478 @noindent @b{Version 4.09} | 5516 New option @code{reftex-allow-detached-macro-args}, default @code{nil}! |
5479 @itemize @bullet | 5517 @end itemize |
5480 @item | 5518 |
5481 New option @code{reftex-toc-max-level} to limit the depth of the toc. | 5519 @noindent @b{Version 3.26} |
5482 New key binding @kbd{t} in the @file{*toc*} buffer to change this | 5520 @itemize @bullet |
5483 setting.@refill | 5521 @item |
5484 @item | 5522 [X]Emacs 19 no longer supported. Use 3.22 for Emacs 19. |
5485 RefTeX maintains an @file{Index Phrases} file in which phrases can be | 5523 @item |
5486 collected. When the document is ready, RefTeX can search all | 5524 New hooks @code{reftex-translate-to-ascii-function}, |
5487 these phrases and assist indexing all matches.@refill | 5525 @code{reftex-string-to-label-function}. |
5488 @item | 5526 @item |
5489 The variables @code{reftex-index-macros} and | 5527 Made sure automatic crossref display will not visit/scan files. |
5490 @code{reftex-index-default-macro} have changed their syntax slightly. | 5528 @end itemize |
5491 The @var{repeat} parameter has move from the latter to the former. | 5529 |
5492 Also calls to @code{reftex-add-index-macros} from AUCTeX style files | 5530 @noindent @b{Version 3.25} |
5493 need to be adapted.@refill | 5531 @itemize @bullet |
5494 @item | 5532 @item |
5495 The variable @code{reftex-section-levels} no longer contains the | 5533 Echoing of citation info caches the info for displayed entries. |
5496 default stuff which has been moved to a constant.@refill | 5534 New option @code{reftex-cache-cite-echo}. |
5497 @item | 5535 @item |
5498 Environments like theorems can be placed into the TOC by putting | 5536 @kbd{M-x reftex-reset-mode} now also removes the file with parsing |
5499 entries for @samp{"begin@{theorem@}"} in | 5537 info. |
5500 @code{reftex-setion-levels}.@refill | 5538 @item |
5501 @end itemize | 5539 Default of @code{reftex-revisit-to-follow} changed to nil. |
5502 @noindent @b{Version 4.10} | 5540 @end itemize |
5503 @itemize @bullet | 5541 |
5504 @item | 5542 @noindent @b{Version 3.24} |
5505 Renamed @file{reftex-vcr.el} to @file{reftex-dcr.el} because of conflict | 5543 @itemize @bullet |
5506 with @file{reftex-vars.el} on DOS machines. | 5544 @item |
5507 @item | 5545 New option @code{reftex-revisit-to-echo}. |
5508 New options @code{reftex-parse-file-extension} and | 5546 @item |
5509 @code{reftex-index-phrase-file-extension}. | 5547 Interface with X-Symbol (>=2.6) is now complete and stable. |
5510 @end itemize | 5548 @item |
5511 @noindent @b{Version 4.11} | 5549 Adapted to new outline, which uses overlays. |
5512 @itemize @bullet | 5550 @item |
5513 @item | 5551 File names in @code{\bibliography} may now have the @code{.bib} |
5514 Fixed bug which would parse @samp{\Section} just like @samp{\section}. | 5552 extension. |
5515 @end itemize | 5553 @item |
5516 @noindent @b{Version 4.12} | 5554 Fixed Bug with parsing "single file" from master file buffer. |
5517 @itemize @bullet | 5555 @end itemize |
5518 @item | 5556 |
5519 Support for @file{bibentry} citation style. | 5557 @noindent @b{Version 3.23} |
5520 @end itemize | 5558 @itemize @bullet |
5521 @noindent @b{Version 4.15} | 5559 @item |
5522 @itemize @bullet | 5560 Parse files @file{MASTER.rel} made compatible between Emacs and XEmacs. |
5523 @item | 5561 @item |
5524 Fixed bug with parsing of BibTeX files, when fields contain quotes or | 5562 @code{kill-emacs-hook} and @code{kill-buffer-hook} now write the parse |
5525 unmatched parenthesis. | 5563 file. |
5526 @item | 5564 @item |
5527 Small bug fixes. | 5565 The cursor inside a @code{\ref} or @code{\cite} macro can now trigger |
5528 @item | 5566 automatic display of crossref information in the echo area. See |
5529 Improved interaction with Emacs LaTeX mode. | 5567 variable @code{reftex-auto-view-crossref}. |
5568 @item | |
5569 AUCTeX interface updates: | |
5570 @itemize @minus | |
5571 @item | |
5572 AUCTeX 9.9c and later notifies @b{Ref@TeX{}} about new sections. | |
5573 @item | |
5574 @b{Ref@TeX{}} notifies AUCTeX about new labels. | |
5575 @item | |
5576 @code{TeX-arg-ref} no longer used (introduction was unnecessary). | |
5577 @item | |
5578 @code{reftex-arg-label} and @code{reftex-arg-cite} fixed up. | |
5579 @item | |
5580 Settings added to @b{Ref@TeX{}} via style files remain local. | |
5581 @end itemize | |
5582 @item | |
5583 Fixed bug with @code{reftex-citation} in non-latex buffers. | |
5584 @item | |
5585 Fixed bug with syntax table and context refontification. | |
5586 @item | |
5587 Safety-net for name change of @code{font-lock-reference-face}. | |
5588 @end itemize | |
5589 | |
5590 @noindent @b{Version 3.22} | |
5591 @itemize @bullet | |
5592 @item | |
5593 Fixed bug with empty context strings. | |
5594 @item | |
5595 @code{reftex-mouse-view-crossref} is now bound by default at | |
5596 @kbd{S-mouse-2}. | |
5597 @end itemize | |
5598 | |
5599 @noindent @b{Version 3.21} | |
5600 @itemize @bullet | |
5601 @item | |
5602 New options for all faces used by @b{Ref@TeX{}}. They're in the | |
5603 customization group @code{reftex-fontification-configurations}. | |
5604 @end itemize | |
5605 | |
5606 @noindent @b{Version 3.19} | |
5607 @itemize @bullet | |
5608 @item | |
5609 Fixed bug with AUCTeX @code{TeX-master}. | |
5610 @end itemize | |
5611 | |
5612 @noindent @b{Version 3.18} | |
5613 @itemize @bullet | |
5614 @item | |
5615 The selection now uses a recursive edit, much like minibuffer input. | |
5616 This removes all restrictions during selection. E.g. you can now | |
5617 switch buffers at will, use the mouse etc. | |
5618 @item | |
5619 New option @code{reftex-highlight-selection}. | |
5620 @item | |
5621 @kbd{mouse-2} can be used to select in selection and @file{*toc*} | |
5622 buffers. | |
5623 @item | |
5624 Fixed some problems regarding the interaction with VIPER mode. | |
5625 @item | |
5626 Follow-mode is now only used after point motion. | |
5627 @item | |
5628 @b{Ref@TeX{}} now finally does not fontify temporary files anymore. | |
5629 @end itemize | |
5630 | |
5631 @noindent @b{Version 3.17} | |
5632 @itemize @bullet | |
5633 @item | |
5634 Additional bindings in selection and @file{*toc*} buffers. @kbd{g} | |
5635 redefined. | |
5636 @item | |
5637 New command @code{reftex-save-all-document-buffers}. | |
5638 @item | |
5639 Magic word matching made more intelligent. | |
5640 @item | |
5641 Selection process can switch to completion (with @key{TAB}). | |
5642 @item | |
5643 @code{\appendix} is now recognized and influences section numbering. | |
5644 @item | |
5645 File commentary shortened considerably (use Info documentation). | |
5646 @item | |
5647 New option @code{reftex-no-include-regexps} to skip some include files. | |
5648 @item | |
5649 New option @code{reftex-revisit-to-follow}. | |
5650 @end itemize | |
5651 | |
5652 @noindent @b{Version 3.16} | |
5653 @itemize @bullet | |
5654 @item | |
5655 New hooks @code{reftex-format-label-function}, | |
5656 @code{reftex-format-ref-function}, @code{reftex-format-cite-function}. | |
5657 @item | |
5658 TeXInfo documentation completed. | |
5659 @item | |
5660 Some restrictions in Label inserting and referencing removed. | |
5661 @item | |
5662 New variable @code{reftex-default-bibliography}. | |
5663 @end itemize | |
5664 | |
5665 @noindent @b{Version 3.14} | |
5666 @itemize @bullet | |
5667 @item | |
5668 Selection buffers can be kept between selections: this is faster. | |
5669 See new variable @code{reftex-use-multiple-selection-buffers}. | |
5670 @item | |
5671 Prefix interpretation of reftex-view-crossref changed. | |
5672 @item | |
5673 Support for the @code{varioref} package (@kbd{v} key in selection | |
5674 buffer). | |
5675 @end itemize | |
5676 | |
5677 @noindent @b{Version 3.12} | |
5678 @itemize @bullet | |
5679 @item | |
5680 There are 3 new keymaps for customization: @code{reftex-toc-map}, | |
5681 @code{reftex-select-label-map}, @code{reftex-select-bib-map}. | |
5682 @item | |
5683 Refontification uses more standard font-lock stuff. | |
5684 @item | |
5685 When no BibTeX database files are specified, citations can also use | |
5686 @code{\bibitem} entries from a @code{thebibliography} environment. | |
5687 @end itemize | |
5688 | |
5689 @noindent @b{Version 3.11} | |
5690 @itemize @bullet | |
5691 @item | |
5692 Fixed bug which led to naked label in (e.g.) footnotes. | |
5693 @item | |
5694 Added scroll-other-window functions to RefTeX-Select. | |
5695 @end itemize | |
5696 | |
5697 @noindent @b{Version 3.10} | |
5698 @itemize @bullet | |
5699 @item | |
5700 Fixed a bug which made reftex 3.07 fail on [X]Emacs version 19. | |
5701 @item | |
5702 Removed unimportant code which caused OS/2 Emacs to crash. | |
5703 @item | |
5704 All customization variables now accessible from menu. | |
5705 @end itemize | |
5706 | |
5707 @noindent @b{Version 3.07} | |
5708 @itemize @bullet | |
5709 @item | |
5710 @code{Ref} menu improved. | |
5711 @end itemize | |
5712 | |
5713 @noindent @b{Version 3.05} | |
5714 @itemize @bullet | |
5715 @item | |
5716 Compatibility code now first checks for XEmacs feature. | |
5717 @end itemize | |
5718 | |
5719 @noindent @b{Version 3.04} | |
5720 @itemize @bullet | |
5721 @item | |
5722 Fixed BUG in the @emph{xr} support. | |
5723 @end itemize | |
5724 | |
5725 @noindent @b{Version 3.03} | |
5726 @itemize @bullet | |
5727 @item | |
5728 Support for the LaTeX package @code{xr}, for inter-document | |
5729 references. | |
5730 @item | |
5731 A few (minor) Mule-related changes. | |
5732 @item | |
5733 Fixed bug which could cause @emph{huge} @file{.rel} files. | |
5734 @item | |
5735 Search for input and @file{.bib} files with recursive path definitions. | |
5736 @end itemize | |
5737 | |
5738 @noindent @b{Version 3.00} | |
5739 @itemize @bullet | |
5740 @item | |
5741 @b{Ref@TeX{}} should work better for very large projects: | |
5742 @item | |
5743 The new parser works without creating a master buffer. | |
5744 @item | |
5745 Rescanning can be limited to a part of a multifile document. | |
5746 @item | |
5747 Information from the parser can be stored in a file. | |
5748 @item | |
5749 @b{Ref@TeX{}} can deal with macros having a naked label as an argument. | |
5750 @item | |
5751 Macros may have white space and newlines between arguments. | |
5752 @item | |
5753 Multiple identical section headings no longer confuse | |
5754 @code{reftex-toc}. | |
5755 @item | |
5756 @b{Ref@TeX{}} should work correctly in combination with buffer-altering | |
5757 packages like outline, folding, x-symbol, iso-cvt, isotex, etc. | |
5758 @item | |
5759 All labeled environments discussed in @emph{The LaTeX Companion} by | |
5760 Goossens, Mittelbach & Samarin, Addison-Wesley 1994) are part of | |
5761 @b{Ref@TeX{}}'s defaults. | |
5762 @end itemize | |
5763 | |
5764 @noindent @b{Version 2.17} | |
5765 @itemize @bullet | |
5766 @item | |
5767 Label prefix expands % escapes with current file name and other stuff. | |
5768 @item | |
5769 Citation format now with % escapes. This is not backward | |
5770 compatible! | |
5771 @item | |
5772 TEXINPUTS variable recognized when looking for input files. | |
5773 @item | |
5774 Context can be the nth argument of a macro. | |
5775 @item | |
5776 Searching in the select buffer is now possible (@kbd{C-s} and | |
5777 @kbd{C-r}). | |
5778 @item | |
5779 Display and derive-label can use two different context methods. | |
5780 @item | |
5781 AMSmath @code{xalignat} and @code{xxalignat} added. | |
5782 @end itemize | |
5783 | |
5784 @noindent @b{Version 2.14} | |
5785 @itemize @bullet | |
5786 @item | |
5787 Variable @code{reftex-plug-into-AUCTeX} simplifies cooperation with | |
5788 AUCTeX. | |
5789 @end itemize | |
5790 | |
5791 @noindent @b{Version 2.11} | |
5792 @itemize @bullet | |
5793 @item | |
5794 Submitted for inclusion to Emacs and XEmacs. | |
5795 @end itemize | |
5796 | |
5797 @noindent @b{Version 2.07} | |
5798 @itemize @bullet | |
5799 @item | |
5800 New functions @code{reftex-search-document}, | |
5801 @code{reftex-query-replace-document}. | |
5802 @end itemize | |
5803 | |
5804 @noindent @b{Version 2.05} | |
5805 @itemize @bullet | |
5806 @item | |
5807 Support for @file{custom.el}. | |
5808 @item | |
5809 New function @code{reftex-grep-document} (thanks to Stephen Eglen). | |
5810 @end itemize | |
5811 | |
5812 @noindent @b{Version 2.03} | |
5813 @itemize @bullet | |
5814 @item | |
5815 @code{figure*}, @code{table*}, @code{sidewaysfigure/table} added to | |
5816 default environments. | |
5817 @item | |
5818 @code{reftex-bibfile-ignore-list} introduced (thanks to Rory Molinari). | |
5819 @item | |
5820 New functions @code{reftex-arg-label}, @code{reftex-arg-ref}, | |
5821 @code{reftex-arg-cite}. | |
5822 @item | |
5823 Emacs/XEmacs compatibility reworked. XEmacs 19.15 now is | |
5824 required. | |
5825 @item | |
5826 @code{reftex-add-to-label-alist} (to be called from AUCTeX style | |
5827 files). | |
5828 @item | |
5829 Finding context with a hook function. | |
5830 @item | |
5831 Sorting BibTeX entries (new variable: | |
5832 @code{reftex-sort-bibtex-matches}). | |
5833 @end itemize | |
5834 | |
5835 @noindent @b{Version 2.00} | |
5836 @itemize @bullet | |
5837 @item | |
5838 Labels can be derived from context (default for sections). | |
5839 @item | |
5840 Configuration of label insertion and label referencing revised. | |
5841 @item | |
5842 Crossref fields in BibTeX database entries. | |
5843 @item | |
5844 @code{reftex-toc} introduced (thanks to Stephen Eglen). | |
5845 @end itemize | |
5846 | |
5847 @noindent @b{Version 1.09} | |
5848 @itemize @bullet | |
5849 @item | |
5850 Support for @code{tex-main-file}, an analogue for | |
5851 @code{TeX-master}. | |
5852 @item | |
5853 MS-DOS support. | |
5854 @end itemize | |
5855 | |
5856 @noindent @b{Version 1.07} | |
5857 @itemize @bullet | |
5858 @item | |
5859 @b{Ref@TeX{}} gets its own menu. | |
5860 @end itemize | |
5861 | |
5862 @noindent @b{Version 1.05} | |
5863 @itemize @bullet | |
5864 @item | |
5865 XEmacs port. | |
5866 @end itemize | |
5867 | |
5868 @noindent @b{Version 1.04} | |
5869 @itemize @bullet | |
5870 @item | |
5871 Macros as wrappers, AMSTeX support, delayed context parsing for | |
5872 new labels. | |
5530 @end itemize | 5873 @end itemize |
5531 @end ignore | 5874 @end ignore |
5532 @noindent @b{Version 4.17} | 5875 |
5533 @itemize @bullet | 5876 @noindent @b{Version 1.00} |
5534 @item | 5877 @itemize @bullet |
5535 The toc window can be split off horizontally. See new options | 5878 @item |
5536 @code{reftex-toc-split-windows-horizontally}, | 5879 released on 7 Jan 1997. |
5537 @code{reftex-toc-split-windows-horizontally-fraction}. | 5880 @end itemize |
5538 @item | 5881 |
5539 It is possible to specify a function which verifies an index match | 5882 |
5540 during global indexing. See new option @code{reftex-index-verify-function}. | 5883 |
5541 @item | 5884 |
5542 The macros which input a file in LaTeX (like \input, \include) can | |
5543 be configured. See new option @code{reftex-include-file-commands}. | |
5544 @item | |
5545 The macros which specify the bibliography file (like \bibliography) can | |
5546 be configured. See new option @code{reftex-bibliography-commands}. | |
5547 @item | |
5548 The regular expression used to search for the \bibliography macro has | |
5549 been relaxed to allow for @samp{@{\bibliography@{...@}@}} needed by | |
5550 chapterbib. | |
5551 @item | |
5552 Small bug fixes. | |
5553 @end itemize | |
5554 @noindent @b{Version 4.18} | |
5555 @itemize @bullet | |
5556 @item | |
5557 @code{reftex-citation} uses the word before the cursor as a default | |
5558 search string. | |
5559 @item | |
5560 Simplified several regular expressions for speed. | |
5561 @item | |
5562 Better support for chapterbib. | |
5563 @end itemize | |
5564 @noindent @b{Version 4.19} | |
5565 @itemize @bullet | |
5566 @item | |
5567 New command `reftex-toc-recenter' (@kbd{C-c -}) which shows the current | |
5568 section in the TOC buffer without selecting the TOC window. | |
5569 @item | |
5570 Recentering happens automatically in idle time when the option | |
5571 @code{reftex-auto-recenter-toc} is turned on. | |
5572 @item | |
5573 Fixed several bugs related to automatic cursor positioning in the TOC | |
5574 buffer. | |
5575 @item | |
5576 The highlight in the TOC buffer stays when the focus moves to a | |
5577 different window. | |
5578 @item | |
5579 New command `reftex-goto-label'. | |
5580 @item | |
5581 Part numbers are no longer included in chapter numbers, and a new | |
5582 part does not reset the chapter counter. See new option | |
5583 @code{reftex-part-resets-chapter}. | |
5584 @end itemize | |
5585 | 5885 |
5586 @node Index, , , Top | 5886 @node Index, , , Top |
5587 @unnumbered Index | 5887 @unnumbered Index |
5588 @printindex cp | 5888 @printindex cp |
5589 | 5889 |
5590 @summarycontents | 5890 @summarycontents |
5591 @contents | 5891 @contents |
5592 @bye | 5892 @bye |
5593 | 5893 |
5894 @ignore | |
5895 arch-tag: 1e055774-0576-4b1b-b47f-550d0961fd43 | |
5896 @end ignore |