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