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