Man Pages

reftex - phpMan reftex - phpMan

Command: man perldoc info search(apropos)  


File: reftex,  Node: Top,  Up: (dir)

   RefTeX is a package for managing Labels, References, Citations and
index entries with GNU Emacs.

   Don't be discouraged by the size of this manual, which covers RefTeX
in great depth.  All you need to know to use RefTeX can be summarized
on two pages (*note RefTeX in a Nutshell::).  You can go back later to
other parts of this document when needed.

   This file documents RefTeX, a package to do labels, references,
citations and indices for LaTeX documents with Emacs.

   This is edition 4.31 of the RefTeX User Manual for RefTeX 4.31

   Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009  Free Software Foundation, Inc.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License,
     Version 1.3 or any later version published by the Free Software
     Foundation; with no Invariant Sections, with the Front-Cover texts
     being "A GNU Manual", and with the Back-Cover Texts as in (a)
     below.  A copy of the license is included in the section entitled
     "GNU Free Documentation License".

     (a) The FSF's Back-Cover Text is: "You have the freedom to copy and
     modify this GNU manual.  Buying copies from the FSF supports it in
     developing GNU and promoting software freedom."

* Menu:

* Introduction::                     Quick-Start information.

* Table of Contents::                A Tool to move around quickly.
* Labels and References::            Creating and referencing labels.
* Citations::                        Creating Citations.
* Index Support::                    Creating and Checking Index Entries.
* Viewing Cross-References::         Who references or cites what?

* RefTeXs Menu::                     The Ref menu in the menubar.
* Key Bindings::                      The default key bindings.
* Faces::                            Fontification of RefTeX's buffers.
* Multifile Documents::              Document spread over many files.
* Language Support::                 How to support other languages.
* Finding Files::                    Included TeX files and BibTeX .bib files.
* AUCTeX::                           Cooperation with AUCTeX.
* Optimizations::                    When RefTeX is too slow.
* Problems and Work-Arounds::        First Aid.
* Imprint::                          Author, Web-site, Thanks

* Commands::                         Which are the available commands.
* Options::                          How to extend and configure RefTeX.
* Keymaps and Hooks::                For customization.
* Changes::                          A List of recent changes to RefTeX.
* GNU Free Documentation License::   The license for this documentation.

The Index

* Index::                            The full index.


Introduction

* Installation::                     How to install and activate RefTeX.
* RefTeX in a Nutshell::             A brief summary and quick guide.

Labels and References

* Creating Labels::
* Referencing Labels::
* Builtin Label Environments::       The environments RefTeX knows about.
* Defining Label Environments::        ... and environments it doesn't.
* Reference Info::                   View the label corresponding to a \ref.
* xr (LaTeX package)::               References to external documents.
* varioref (LaTeX package)::         How to create \vref instead of \ref.
* fancyref (LaTeX package)::         How to create \fref instead of \ref.

Defining Label Environments

* Theorem and Axiom::                Defined with `\newenvironment'.
* Quick Equation::                   When a macro sets the label type.
* Figure Wrapper::                   When a macro argument is a label.
* Adding Magic Words::               Other words for other languages.
* Using \eqref::                     How to switch to this AMS-LaTeX macro.
* Non-Standard Environments::        Environments without \begin and \end
* Putting it Together::              How to combine many entries.

Citations

* Creating Citations::               How to create them.
* Citation Styles::                  Natbib, Harvard, Chicago and Co.
* Citation Info::                    View the corresponding database entry.
* Chapterbib and Bibunits::          Multiple bibliographies in a Document.
* Citations Outside LaTeX::          How to make citations in Emails etc.
* BibTeX Database Subsets::          Extract parts of a big database.

Index Support

* Creating Index Entries::           Macros and completion of entries.
* The Index Phrases File::           A special file for global indexing.
* Displaying and Editing the Index:: The index editor.
* Builtin Index Macros::             The index macros RefTeX knows about.
* Defining Index Macros::                ... and macros it  doesn't.

The Index Phrases File

* Collecting Phrases::               Collecting from document or external.
* Consistency Checks::               Check for duplicates etc.
* Global Indexing::                  The interactive indexing process.

AUCTeX

* AUCTeX-RefTeX Interface::          How both packages work together
* Style Files::                      AUCTeX's style files can support RefTeX
* Bib-Cite::                         Hypertext reading of a document

Options, Keymaps, Hooks

* Options (Table of Contents)::
* Options (Defining Label Environments)::
* Options (Creating Labels)::
* Options (Referencing Labels)::
* Options (Creating Citations)::
* Options (Index Support)::
* Options (Viewing Cross-References)::
* Options (Finding Files)::
* Options (Optimizations)::
* Options (Fontification)::
* Options (Misc)::

File: reftex,  Node: Introduction,  Next: Table of Contents,  Up: Top

1 Introduction
**************

RefTeX is a specialized package for support of labels, references,
citations, and the index in LaTeX.  RefTeX wraps itself round 4 LaTeX
macros: `\label', `\ref', `\cite', and `\index'.  Using these macros
usually requires looking up different parts of the document and
searching through BibTeX database files.  RefTeX automates these
time-consuming tasks almost entirely.  It also provides functions to
display the structure of a document and to move around in this
structure quickly.

   *Note Imprint::, for information about who to contact for help, bug
reports or suggestions.

* Menu:

* Installation::                     How to install and activate RefTeX.
* RefTeX in a Nutshell::             A brief summary and quick guide.

File: reftex,  Node: Installation,  Next: RefTeX in a Nutshell,  Up: Introduction

1.1 Installation
================

RefTeX is bundled and pre-installed with Emacs since version 20.2.  It
was also bundled and pre-installed with XEmacs 19.16-20.x.  XEmacs 21.x
users want to install the corresponding plug-in package which is
available from the XEmacs ftp site
(ftp://ftp.xemacs.org/pub/xemacs/packages/).  See the XEmacs 21.x
documentation on package installation for details.

   Users of earlier Emacs distributions (including Emacs 19) can get a
copy of the RefTeX distribution from the maintainers web-page.  *Note
Imprint::, for more information.

1.2 Environment
===============

RefTeX needs to access all files which are part of a multifile
document, and the BibTeX database files requested by the
`\bibliography' command.  To find these files, RefTeX will require a
search path, i.e. a list of directories to check.  Normally this list
is stored in the environment variables `TEXINPUTS' and `BIBINPUTS'
which are also used by RefTeX.  However, on some systems these
variables do not contain the full search path.  If RefTeX does not work
for you because it cannot find some files, read *note Finding Files::.

1.3 Entering RefTeX Mode
========================

To turn RefTeX Mode on and off in a particular buffer, use `M-x
reftex-mode'.  To turn on RefTeX Mode for all LaTeX files, add the
following lines to your `.emacs' file:

     (add-hook 'LaTeX-mode-hook 'turn-on-reftex)   ; with AUCTeX LaTeX mode
     (add-hook 'latex-mode-hook 'turn-on-reftex)   ; with Emacs latex mode

File: reftex,  Node: RefTeX in a Nutshell,  Prev: Installation,  Up: Introduction

1.4 RefTeX in a Nutshell
========================

  1. Table of Contents
     Typing `C-c =' (`reftex-toc') will show a table of contents of the
     document.  This buffer can display sections, labels and index
     entries defined in the document.  From the buffer, you can jump
     quickly to every part of your document.  Press `?' to get help.

  2. Labels and References
     RefTeX helps to create unique labels and to find the correct key
     for references quickly.  It distinguishes labels for different
     environments, knows about all standard environments (and many
     others), and can be configured to recognize any additional labeled
     environments you have defined yourself (variable
     `reftex-label-alist').

        * Creating Labels
          Type `C-c (' (`reftex-label') to insert a label at point.
          RefTeX will either
             - derive a label from context (default for section labels)

             - prompt for a label string (default for figures and
               tables) or

             - insert a simple label made of a prefix and a number (all
               other environments)
          Which labels are created how is configurable with the variable
          `reftex-insert-label-flags'.

        * Referencing Labels
          To make a reference, type `C-c )' (`reftex-reference').  This
          shows an outline of the document with all labels of a certain
          type (figure, equation,...) and some label context.
          Selecting a label inserts a `\ref{LABEL}' macro into the
          original buffer.

  3. Citations
     Typing `C-c [' (`reftex-citation') will let you specify a regular
     expression to search in current BibTeX database files (as
     specified in the `\bibliography' command) and pull out a list of
     matches for you to choose from.  The list is _formatted_ and
     sorted.  The selected article is referenced as `\cite{KEY}' (see
     the variable `reftex-cite-format' if you want to insert different
     macros).

  4. Index Support
     RefTeX helps to enter index entries.  It also compiles all entries
     into an alphabetically sorted `*Index*' buffer which you can use
     to check and edit the entries.  RefTeX knows about the standard
     index macros and can be configured to recognize any additional
     macros you have defined (`reftex-index-macros').  Multiple indices
     are supported.

        * Creating Index Entries
          To index the current selection or the word at point, type
          `C-c /' (`reftex-index-selection-or-word').  The default macro
          `reftex-index-default-macro' will be used.  For a more
          complex entry type `C-c <' (`reftex-index'), select any of
          the index macros and enter the arguments with completion.

        * The Index Phrases File (Delayed Indexing)
          Type `C-c \' (`reftex-index-phrase-selection-or-word') to add
          the current word or selection to a special _index phrase
          file_.  RefTeX can later search the document for occurrences
          of these phrases and let you interactively index the matches.

        * Displaying and Editing the Index
          To display the compiled index in a special buffer, type `C-c
          >' (`reftex-display-index').  From that buffer you can check
          and edit all entries.

  5. Viewing Cross-References
     When point is on the KEY argument of a cross-referencing macro
     (`\label', `\ref', `\cite', `\bibitem', `\index', and variations)
     or inside a BibTeX database entry, you can press `C-c &'
     (`reftex-view-crossref') to display corresponding locations in the
     document and associated BibTeX database files.
     When the enclosing macro is `\cite' or `\ref' and no other message
     occupies the echo area, information about the citation or label
     will automatically be displayed in the echo area.

  6. Multifile Documents
     Multifile Documents are fully supported.  The included files must
     have a file variable `TeX-master' or `tex-main-file' pointing to
     the master file.  RefTeX provides cross-referencing information
     from all parts of the document, and across document borders
     (`xr.sty').

  7. Document Parsing
     RefTeX needs to parse the document in order to find labels and
     other information.  It does it automatically once and updates its
     list internally when `reftex-label' and `reftex-index' are used.
     To enforce reparsing, call any of the commands described above
     with a raw `C-u' prefix, or press the `r' key in the label
     selection buffer, the table of contents buffer, or the index
     buffer.

  8. AUCTeX
     If your major LaTeX mode is AUCTeX, RefTeX can cooperate with it
     (see variable `reftex-plug-into-AUCTeX').  AUCTeX contains style
     files which trigger appropriate settings in RefTeX, so that for
     many of the popular LaTeX packages no additional customizations
     will be necessary.

  9. Useful Settings
     To integrate RefTeX with AUCTeX, use
          (setq reftex-plug-into-AUCTeX t)

     To make your own LaTeX macro definitions known to RefTeX,
     customize the variables
          `reftex-label-alist'          (for label macros/environments)
          `reftex-section-levels'       (for sectioning commands)
          `reftex-cite-format'          (for `\cite'-like macros)
          `reftex-index-macros'         (for `\index'-like macros)
          `reftex-index-default-macro'  (to set the default macro)
     If you have a large number of macros defined, you may want to write
     an AUCTeX style file to support them with both AUCTeX and RefTeX.

 10. Where Next?
     Go ahead and use RefTeX.  Use its menus until you have picked up
     the key bindings.  For an overview of what you can do in each of
     the different special buffers, press `?'.  Read the manual if you
     get stuck, of if you are curious what else might be available.
     The first part of the manual explains in a tutorial way how to use
     and customize RefTeX.  The second part is a command and variable
     reference.

File: reftex,  Node: Table of Contents,  Next: Labels and References,  Prev: Introduction,  Up: Top

2 Table of Contents
*******************

Pressing the keys `C-c =' pops up a buffer showing the table of
contents of the document.  By default, this `*toc*' buffer shows only
the sections of a document.  Using the `l' and `i' keys you can display
all labels and index entries defined in the document as well.

   With the cursor in any of the lines denoting a location in the
document, simple key strokes will display the corresponding part in
another window, jump to that location, or perform other actions.

   Here is a list of special commands in the `*toc*' buffer.  A summary
of this information is always available by pressing `?'.

General
.......

`?'
     Display a summary of commands.

`0-9, -'
     Prefix argument.

Moving around
.............

`n'
     Goto next entry in the table of context.

`p'
     Goto previous entry in the table of context.

`C-c C-n'
     Goto next section heading.  Useful when many labels and index
     entries separate section headings.

`C-c C-p'
     Goto previous section heading.

`N z'
     Jump to section N, using the prefix arg.  For example, `3 z' jumps
     to section 3.

Access to document locations
............................

`<SPC>'
     Show the corresponding location in another window.  This command
     does _not_ select that other window.

`<TAB>'
     Goto the location in another window.

`<RET>'
     Go to the location and hide the `*toc*' buffer.  This will restore
     the window configuration before `reftex-toc' (`C-c =') was called.

`mouse-2'
     Clicking with mouse button 2 on a line has the same effect as
     <RET>.  See also variable `reftex-highlight-selection', *note
     Options (Fontification)::.

`f'
     Toggle follow mode.  When follow mode is active, the other window
     will always show the location corresponding to the line at point
     in the `*toc*' buffer.  This is similar to pressing <SPC> after
     each cursor motion.  The default for this flag can be set with the
     variable `reftex-toc-follow-mode'.  Note that only context in
     files already visited is shown.  RefTeX will not visit a file just
     for follow mode.  See, however, the variable
     `reftex-revisit-to-follow'.

`.'
     Show calling point in another window.  This is the point from where
     `reftex-toc' was last called.

Promotion and Demotion
......................

`<'
     Promote the current section.  This will convert `\section' to
     `\chapter', `\subsection' to `\section' etc. If there is an active
     region, all sections in the region will be promoted, including the
     one at point.  To avoid mistakes, RefTeX requires a fresh document
     scan before executing this command - if necessary, it will
     automatically do this scan and ask the user to repeat the promotion
     command.

`>'
     Demote the current section.  This is the opposite of promotion.
     It will convert `\chapter' to `\section' etc.  If there is an
     active region, all sections in the region will be demoted,
     including the one at point.

`M-%'
     Rename the label at point.  While generally not recommended, this
     can be useful when a package like `fancyref' is used where the
     label prefix determines the wording of a reference.  After a
     promotion/demotion it may be necessary to change a few labels from
     `sec:xyz' to `cha:xyz' or vice versa.  This command can be used to
     do this - it launches a query replace to rename the definition and
     all references of a label.

Exiting
.......

`q'
     Hide the `*toc*' buffer, return to the position where `reftex-toc'
     was last called.

`k'
     Kill the `*toc*' buffer, return to the position where `reftex-toc'
     was last called.

`C-c >'
     Switch to the `*Index*' buffer of this document.  With prefix `2',
     restrict the index to the section at point in the `*toc*' buffer.

Controlling what gets displayed
...............................

`t'
     Change the maximum level of toc entries displayed in the `*toc*'
     buffer.  Without prefix arg, all levels will be included.  With
     prefix arg (e.g `3 t'), ignore all toc entries with level greater
     than ARG (3 in this case).  Chapters are level 1, sections are
     level 2.  The mode line `T<>' indicator shows the current value.
     The default depth can be configured with the variable
     `reftex-toc-max-level'.

`F'
     Toggle the display of the file borders of a multifile document in
     the `*toc*' buffer.  The default for this flag can be set with the
     variable `reftex-toc-include-file-boundaries'.

`l'
     Toggle the display of labels in the `*toc*' buffer.  The default
     for this flag can be set with the variable
     `reftex-toc-include-labels'.  When called with a prefix argument,
     RefTeX will prompt for a label type and include only labels of the
     selected type in the `*toc*' buffer.  The mode line `L<>'
     indicator shows which labels are included.

`i'
     Toggle the display of index entries in the `*toc*' buffer.  The
     default for this flag can be set with the variable
     `reftex-toc-include-index-entries'.  When called with a prefix
     argument, RefTeX will prompt for a specific index and include only
     entries in the selected index in the `*toc*' buffer.  The mode
     line `I<>' indicator shows which index is used.

`c'
     Toggle the display of label and index context in the `*toc*'
     buffer.  The default for this flag can be set with the variable
     `reftex-toc-include-context'.

Updating the buffer
...................

`g'
     Rebuild the `*toc*' buffer.  This does _not_ rescan the document.

`r'
     Reparse the LaTeX document and rebuild the `*toc*' buffer.  When
     `reftex-enable-partial-scans' is non-`nil', rescan only the file
     this location is defined in, not the entire document.

`C-u r'
     Reparse the _entire_ LaTeX document and rebuild the `*toc*' buffer.

`x'
     Switch to the `*toc*' buffer of an external document.  When the
     current document is using the `xr' package (*note xr (LaTeX
     package)::), RefTeX will switch to one of the external documents.

Automatic recentering
.....................

`d'
     Toggle the display of a dedicated frame displaying just the `*toc*'
     buffer.  Follow mode and visiting locations will not work that
     frame, but automatic recentering will make this frame always show
     your current editing location in the document (see below).

`a'
     Toggle the automatic recentering of the `*toc*' buffer.  When this
     option is on, moving around in the document will cause the `*toc*'
     to always highlight the current section.  By default, this option
     is active while the dedicated `*TOC*' frame exists.  See also the
     variable `reftex-auto-recenter-toc'.


   In order to define additional commands for the `*toc*' buffer, the
keymap `reftex-toc-map' may be used.

   If you call `reftex-toc' while the `*toc*' buffer already exists,
the cursor will immediately jump to the right place, i.e. the section
from which `reftex-toc' was called will be highlighted.  The command
`C-c -' (`reftex-toc-recenter') will only redisplay the `*toc*' buffer
and highlight the correct line without actually selecting the `*toc*'
window.  This can be useful to quickly find out where in the document
you currently are.  You can also automate this by asking RefTeX to keep
track of your current editing position in the TOC.  The TOC window will
then be updated whenever you stop typing for more than
`reftex-idle-time' seconds.  By default this works only with the
dedicated `*TOC*' frame.  But you can also force automatic recentering
of the TOC window on the current frame with
     (setq reftex-auto-recenter-toc t)

   The section macros recognized by RefTeX are all LaTeX section macros
(from `\part' to `\subsubparagraph') and the commands `\addchap' and
`\addsec' from the KOMA-Script classes.  Additional macros can be
configured with the variable `reftex-section-levels'.  It is also
possible to add certain LaTeX environments to the table of contents.
This is probably only useful for theorem-like environments. *Note
Defining Label Environments::, for an example.

File: reftex,  Node: Labels and References,  Next: Citations,  Prev: Table of Contents,  Up: Top

3 Labels and References
***********************

LaTeX provides a powerful mechanism to deal with cross-references in a
document.  When writing a document, any part of it can be marked with a
label, like `\label{mark}'.  LaTeX records the current value of a
certain counter when a label is defined.  Later references to this label
(like `\ref{mark}') will produce the recorded value of the counter.

   Labels can be used to mark sections, figures, tables, equations,
footnotes, items in enumerate lists etc.  LaTeX is context sensitive in
doing this: A label defined in a figure environment automatically
records the figure counter, not the section counter.

   Several different environments can share a common counter and
therefore a common label category.  E.g.  labels in both `equation' and
`eqnarray' environments record the value of the same counter - the
equation counter.

* Menu:

* Creating Labels::
* Referencing Labels::
* Builtin Label Environments::       The environments RefTeX knows about.
* Defining Label Environments::        ... and environments it doesn't.
* Reference Info::                   View the label corresponding to a \ref.
* xr (LaTeX package)::               References to external documents.
* varioref (LaTeX package)::         How to create \vref instead of \ref.
* fancyref (LaTeX package)::         How to create \fref instead of \ref.

File: reftex,  Node: Creating Labels,  Next: Referencing Labels,  Up: Labels and References

3.1 Creating Labels
===================

In order to create a label in a LaTeX document, press `C-c ('
(`reftex-label').  Just like LaTeX, RefTeX is context sensitive and
will figure out the environment it currently is in and adapt the label
to that environment.  A label usually consists of a short prefix
indicating the type of the label and a unique mark.  RefTeX has 3
different modes to create this mark.

  1. A label can be derived from context.  This means, RefTeX takes the
     context of the label definition and constructs a label from
     that(1).  This works best for section labels, where the section
     heading is used to construct a label.  In fact, RefTeX's default
     settings use this method only for section labels.  You will be
     asked to confirm the derived label, or edit it.

  2. We may also use a simple unique number to identify a label.  This
     is mostly useful for labels where it is difficult to come up with
     a very good descriptive name.  RefTeX's default settings use this
     method for equations, enumerate items and footnotes.  The author
     of RefTeX tends to write documents with many equations and finds
     it impossible to come up with good names for each of them.  These
     simple labels are inserted without query, and are therefore very
     fast.  Good descriptive names are not really necessary as RefTeX
     will provide context to reference a label (*note Referencing
     Labels::).

  3. The third method is to ask the user for a label.  This is most
     useful for things which are easy to describe briefly and do not
     turn up too frequently in a document.  RefTeX uses this for
     figures and tables.  Of course, one can enter the label directly
     by typing the full `\label{mark}'.  The advantage of using
     `reftex-label' anyway is that RefTeX will know that a new label
     has been defined.  It will then not be necessary to rescan the
     document in order to access this label later.

   If you want to change the way certain labels are created, check out
the variable `reftex-insert-label-flags' (*note Options (Creating
Labels)::).

   If you are using AUCTeX to write your LaTeX documents, you can set
it up to delegate the creation of labels to RefTeX. *Note AUCTeX::, for
more information.

   ---------- Footnotes ----------

   (1) Note that the context may contain constructs which are invalid
in labels.  RefTeX will therefore strip the accent from accented
Latin-1 characters and remove everything else which is not valid in
labels.  This mechanism is safe, but may not be satisfactory for
non-western languages.  Check the following variables if you need to
change things: `reftex-translate-to-ascii-function',
`reftex-derive-label-parameters', `reftex-label-illegal-re',
`reftex-abbrev-parameters'.

File: reftex,  Node: Referencing Labels,  Next: Builtin Label Environments,  Prev: Creating Labels,  Up: Labels and References

3.2 Referencing Labels
======================

RefTeX scans the document in order to find all labels.  To make
referencing labels easier, it assigns to each label a category, the
_label type_ (for example section, table, figure, equation, etc.).  In
order to determine the label type, RefTeX parses around each label to
see in what kind of environments it is located.  You can speed up the
parsing by using type-specific prefixes for labels and configuring the
variable `reftex-trust-label-prefix'.

   Referencing Labels is really at the heart of RefTeX.  Press `C-c )'
in order to reference a label (reftex-reference).  This will start a
selection process and finally insert the complete `\ref{label}' into
the buffer.

   First, RefTeX will determine the label category which is required.
Often that can be figured out from context.  For example, if you write
`As shown in eq.' and the press `C-c )', RefTeX knows that an equation
label is going to be referenced.  If it cannot figure out what label
category is needed, it will query for one.

   You will then be presented with a label selection menu.  This is a
special buffer which contains an outline of the document along with all
labels of the given label category.  In addition, next to the label
there will be one line of context of the label definition, which is some
text in the buffer near the label definition.  Usually this is
sufficient to identify the label.  If you are unsure about a certain
label, pressing <SPC> will show the label definition point in another
window.

   In order to reference a label, move to cursor to the correct label
and press <RET>.  You can also reference several labels with a single
call to `reftex-reference' by marking entries with the `m' key (see
below).

   Here is a list of special commands in the selection buffer.  A
summary of this information is always available from the selection
process by pressing `?'.

General
.......

`?'
     Show a summary of available commands.

`0-9,-'
     Prefix argument.

Moving around
.............

`n'
     Go to next label.

`p'
     Go to previous label.

`b'
     Jump back to the position where you last left the selection buffer.
     Normally this should get you back to the last referenced label.

`C-c C-n'
     Goto next section heading.

`C-c C-p'
     Goto previous section heading.

`N z'
     Jump to section N, using the prefix arg.  For example `3 z' jumps
     to section 3.

Displaying Context
..................

`<SPC>'
     Show the surroundings of the definition of the current label in
     another window.  See also the `f' key.

`f'
     Toggle follow mode.  When follow mode is active, the other window
     will always display the full context of the current label.  This
     is similar to pressing <SPC> after each cursor motion.  Note that
     only context in files already visited is shown.  RefTeX will not
     visit a file just for follow mode.  See, however, the variable
     `reftex-revisit-to-follow'.

`.'
     Show insertion point in another window.  This is the point from
     where you called `reftex-reference'.

Selecting a label and creating the reference
............................................

`<RET>'
     Insert a reference to the label at point into the buffer from
     which the selection process was started.  When entries have been
     marked, <RET> references all marked labels.

`mouse-2'
     Clicking with mouse button 2 on a label will accept it like <RET>
     would. See also variable `reftex-highlight-selection', *note
     Options (Misc)::.

`m - + ,'
     Mark the current entry.  When several entries have been marked,
     pressing `RET' will accept all of them and place them into several
     `\ref' macros.  The special markers `,-+' also store a separator
     to be inserted before the corresponding reference.  So marking six
     entries with the keys `m , , - , +' will give a reference list
     like this (see the variable `reftex-multiref-punctuation')
          In eqs. (1), (2), (3)--(4), (5) and (6)

`u'
     Unmark a marked entry.

`a'
     Accept the marked entries and put all labels as a comma-separated
     list into one _single_ `\ref' macro.  Some packages like
     `saferef.sty' support multiple references in this way.

`l'
     Use the last referenced label(s) again.  This is equivalent to
     moving to that label and pressing <RET>.

`<TAB>'
     Enter a label with completion.  This may also be a label which
     does not yet exist in the document.

`v'
     Toggle between `\ref' and `\vref' macro for references.  The
     `\vref' macro is defined in the `varioref' LaTeX package.  With
     this key you can force RefTeX to insert a `\vref' macro.  The
     current state of this flag is displayed by the `S<>' indicator in
     the mode line of the selection buffer.

`V'
     Cycle between `\ref', `\fref' and `\Fref'.  The `\fref' and
     `\Fref' macros are defined in the `fancyref' LaTeX package.  With
     this key you can force RefTeX to insert a `\fref' or `\Fref'
     macro.  The current state of this flag is displayed by the `S<>'
     indicator in the mode line of the selection buffer.

Exiting
.......

`q'
     Exit the selection process without inserting any reference into the
     buffer.

Controlling what gets displayed
...............................

     The defaults for the following flags can be configured with the
     variable `reftex-label-menu-flags' (*note Options (Referencing
     Labels)::).

`c'
     Toggle the display of the one-line label definition context in the
     selection buffer.

`F'
     Toggle the display of the file borders of a multifile document in
     the selection buffer.

`t'
     Toggle the display of the table of contents in the selection
     buffer.  With prefix ARG, change the maximum level of toc entries
     displayed to ARG.  Chapters are level 1, section are level 2.

`#'
     Toggle the display of a label counter in the selection buffer.

`%'
     Toggle the display of labels hidden in comments in the selection
     buffers.  Sometimes, you may have commented out parts of your
     document.  If these parts contain label definitions, RefTeX can
     still display and reference these labels.

Updating the buffer
...................

`g'
     Update the menu.  This will rebuilt the menu from the internal
     label list, but not reparse the document (see `r').

`r'
     Reparse the document to update the information on all labels and
     rebuild the menu.  If the variable `reftex-enable-partial-scans' is
     non-`nil' and your document is a multifile document, this will
     reparse only a part of the document (the file in which the label at
     point was defined).

`C-u r'
     Reparse the _entire_ document.

`s'
     Switch the label category.  After prompting for another label
     category, a menu for that category will be shown.

`x'
     Reference a label from an external document.  With the LaTeX
     package `xr' it is possible to reference labels defined in another
     document.  This key will switch to the label menu of an external
     document and let you select a label from there (*note xr: xr
     (LaTeX package).).


   In order to define additional commands for the selection process, the
keymap `reftex-select-label-map' may be used.

File: reftex,  Node: Builtin Label Environments,  Next: Defining Label Environments,  Prev: Referencing Labels,  Up: Labels and References

3.3 Builtin Label Environments
==============================

RefTeX needs to be aware of the environments which can be referenced
with a label (i.e. which carry their own counters).  By default, RefTeX
recognizes all labeled environments and macros discussed in `The LaTeX
Companion by Goossens, Mittelbach & Samarin, Addison-Wesley 1994.'.
These are:

   - `figure', `figure*', `table', `table*', `equation', `eqnarray',
     `enumerate', the `\footnote' macro (this is the LaTeX core stuff)

   - `align', `gather', `multline', `flalign', `alignat', `xalignat',
     `xxalignat', `subequations' (from AMS-LaTeX's `amsmath.sty'
     package)

   - the `\endnote' macro (from `endnotes.sty')

   - `Beqnarray' (`fancybox.sty')

   - `floatingfig' (`floatfig.sty')

   - `longtable' (`longtable.sty')

   - `figwindow', `tabwindow' (`picinpar.sty')

   - `SCfigure', `SCtable' (`sidecap.sty')

   - `sidewaysfigure', `sidewaystable' (`rotating.sty')

   - `subfigure', `subfigure*', the `\subfigure' macro (`subfigure.sty')

   - `supertabular' (`supertab.sty')

   - `wrapfigure' (`wrapfig.sty')

   If you want to use other labeled environments, defined with
`\newtheorem', RefTeX needs to be configured to recognize them (*note
Defining Label Environments::).

File: reftex,  Node: Defining Label Environments,  Next: Reference Info,  Prev: Builtin Label Environments,  Up: Labels and References

3.4 Defining Label Environments
===============================

RefTeX can be configured to recognize additional labeled environments
and macros.  This is done with the variable `reftex-label-alist' (*note
Options (Defining Label Environments)::).  If you are not familiar with
Lisp, you can use the `custom' library to configure this rather complex
variable.  To do this, use

     M-x customize-variable <RET> reftex-label-alist <RET>

   Here we will discuss a few examples, in order to make things clearer.
It can also be instructive to look at the constant
`reftex-label-alist-builtin' which contains the entries for all the
builtin environments and macros (*note Builtin Label Environments::).

* Menu:

* Theorem and Axiom::                Defined with `\newenvironment'.
* Quick Equation::                   When a macro sets the label type.
* Figure Wrapper::                   When a macro argument is a label.
* Adding Magic Words::               Other words for other languages.
* Using \eqref::                     How to switch to this AMS-LaTeX macro.
* Non-Standard Environments::        Environments without \begin and \end
* Putting it Together::              How to combine many entries.

File: reftex,  Node: Theorem and Axiom,  Next: Quick Equation,  Up: Defining Label Environments

3.4.1 Theorem and Axiom Environments
------------------------------------

Suppose you are using `\newtheorem' in LaTeX in order to define two new
environments, `theorem' and `axiom'

     \newtheorem{axiom}{Axiom}
     \newtheorem{theorem}{Theorem}

to be used like this:

     \begin{axiom}
     \label{ax:first}
       ....
     \end{axiom}

   So we need to tell RefTeX that `theorem' and `axiom' are new labeled
environments which define their own label categories.  We can either
use Lisp to do this (e.g. in `.emacs') or use the custom library.  With
Lisp it would look like this

     (setq reftex-label-alist
        '(("axiom"   ?a "ax:"  "~\\ref{%s}" nil ("axiom"   "ax.") -2)
          ("theorem" ?h "thr:" "~\\ref{%s}" t   ("theorem" "th.") -3)))

   The type indicator characters `?a' and `?h' are used for prompts
when RefTeX queries for a label type.  `?h' was chosen for `theorem'
since `?t' is already taken by `table'.  Note that also `?s', `?f',
`?e', `?i', `?n' are already used for standard environments.

The labels for Axioms and Theorems will have the prefixes `ax:' and
`thr:', respectively.  *Note AUCTeX::, for information on how AUCTeX
can use RefTeX to automatically create labels when a new environment is
inserted into a buffer.  Additionally, the following needs to be added
to one's .emacs file before AUCTeX will automatically create labels for
the new environments.

     (add-hook 'LaTeX-mode-hook
        (lambda ()
          (LaTeX-add-environments
            '("axiom" LaTeX-env-label)
            '("theorem" LaTeX-env-label))))

The `~\ref{%s}' is a format string indicating how to insert references
to these labels.

The next item indicates how to grab context of the label definition.
   - `t' means to get it from a default location (from the beginning of
     a `\macro' or after the `\begin' statement).  `t' is _not_ a good
     choice for eqnarray and similar environments.

   - `nil' means to use the text right after the label definition.

   - For more complex ways of getting context, see the variable
     `reftex-label-alist' (*note Options (Defining Label
     Environments)::).

   The following list of strings is used to guess the correct label type
from the word before point when creating a reference.  E.g. if you
write: `As we have shown in Theorem' and then press `C-c )', RefTeX
will know that you are looking for a theorem label and restrict the
menu to only these labels without even asking.

   The final item in each entry is the level at which the environment
should produce entries in the table of context buffer.  If the number is
positive, the environment will produce numbered entries (like
`\section'), if it is negative the entries will be unnumbered (like
`\section*').  Use this only for environments which structure the
document similar to sectioning commands.  For everything else, omit the
item.

   To do the same configuration with `customize', you need to click on
the `[INS]' button twice to create two templates and fill them in like
this:

     Reftex Label Alist: [Hide]
     [INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
                 Environment or \macro : [Value Menu] String: axiom
                 Type specification    : [Value Menu] Char  : a
                 Label prefix string   : [Value Menu] String: ax:
                 Label reference format: [Value Menu] String: ~\ref{%s}
                 Context method        : [Value Menu] After label
                 Magic words:
                   [INS] [DEL] String: axiom
                   [INS] [DEL] String: ax.
                   [INS]
                 [X] Make TOC entry    : [Value Menu] Level: -2
     [INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
                 Environment or \macro : [Value Menu] String: theorem
                 Type specification    : [Value Menu] Char  : h
                 Label prefix string   : [Value Menu] String: thr:
                 Label reference format: [Value Menu] String: ~\ref{%s}
                 Context method        : [Value Menu] Default position
                 Magic words:
                   [INS] [DEL] String: theorem
                   [INS] [DEL] String: theor.
                   [INS] [DEL] String: th.
                   [INS]
                 [X] Make TOC entry    : [Value Menu] Level: -3

   Depending on how you would like the label insertion and selection for
the new environments to work, you might want to add the letters `a' and
`h' to some of the flags in the variables `reftex-insert-label-flags'
(*note Options (Creating Labels)::) and `reftex-label-menu-flags'
(*note Options (Referencing Labels)::).

File: reftex,  Node: Quick Equation,  Next: Figure Wrapper,  Prev: Theorem and Axiom,  Up: Defining Label Environments

3.4.2 Quick Equation Macro
--------------------------

Suppose you would like to have a macro for quick equations.  It could
be defined like this:

     \newcommand{\quickeq}[1]{\begin{equation} #1 \end{equation}}

and used like this:

     Einstein's equation is \quickeq{E=mc^2 \label{eq:einstein}}.

   We need to tell RefTeX that any label defined in the argument of the
`\quickeq' is an equation label.  Here is how to do this with lisp:

     (setq reftex-label-alist '(("\\quickeq{}" ?e nil nil 1 nil)))

   The first element in this list is now the macro with empty braces as
an _image_ of the macro arguments.  `?e' indicates that this is an
equation label, the different `nil' elements indicate to use the
default values for equations.  The `1' as the fifth element indicates
that the context of the label definition should be the 1st argument of
the macro.

   Here is again how this would look in the customization buffer:

     Reftex Label Alist: [Hide]
     [INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
                 Environment or \macro : [Value Menu] String: \quickeq{}
                 Type specification    : [Value Menu] Char  : e
                 Label prefix string   : [Value Menu] Default
                 Label reference format: [Value Menu] Default
                 Context method        : [Value Menu] Macro arg nr: 1
                 Magic words:
                   [INS]
                 [ ] Make TOC entry    : [Value Menu] No entry

File: reftex,  Node: Figure Wrapper,  Next: Adding Magic Words,  Prev: Quick Equation,  Up: Defining Label Environments

3.4.3 Figure Wrapping Macro
---------------------------

Suppose you want to make figures not directly with the figure
environment, but with a macro like

     \newcommand{\myfig}[5][tbp]{%
       \begin{figure}[#1]
         \epsimp[#5]{#2}
         \caption{#3}
         \label{#4}
       \end{figure}}

which would be called like

     \myfig[htp]{filename}{caption text}{label}{1}

   Now we need to tell RefTeX that the 4th argument of the `\myfig'
macro _is itself_ a figure label, and where to find the context.

     (setq reftex-label-alist
           '(("\\myfig[]{}{}{*}{}" ?f nil nil 3)))

   The empty pairs of brackets indicate the different arguments of the
`\myfig' macro. The `*' marks the label argument.  `?f' indicates that
this is a figure label which will be listed together with labels from
normal figure environments.  The `nil' entries for prefix and reference
format mean to use the defaults for figure labels.  The `3' for the
context method means to grab the 3rd macro argument - the caption.

   As a side effect of this configuration, `reftex-label' will now
insert the required naked label (without the `\label' macro) when point
is directly after the opening parenthesis of a `\myfig' macro argument.

   Again, here the configuration in the customization buffer:

     [INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
                 Environment or \macro : [Value Menu] String: \myfig[]{}{}{*}{}
                 Type specification    : [Value Menu] Char  : f
                 Label prefix string   : [Value Menu] Default
                 Label reference format: [Value Menu] Default
                 Context method        : [Value Menu] Macro arg nr: 3
                 Magic words:
                   [INS]
                 [ ] Make TOC entry    : [Value Menu] No entry

File: reftex,  Node: Adding Magic Words,  Next: Using \eqref,  Prev: Figure Wrapper,  Up: Defining Label Environments

3.4.4 Adding Magic Words
------------------------

Sometimes you don't want to define a new label environment or macro, but
just change the information associated with a label category.  Maybe you
want to add some magic words, for another language.  Changing only the
information associated with a label category is done by giving `nil'
for the environment name and then specify the items you want to define.
Here is an example which adds German magic words to all predefined
label categories.

     (setq reftex-label-alist
       '((nil ?s nil nil nil ("Kapitel" "Kap." "Abschnitt" "Teil"))
         (nil ?e nil nil nil ("Gleichung" "Gl."))
         (nil ?t nil nil nil ("Tabelle"))
         (nil ?f nil nil nil ("Figur" "Abbildung" "Abb."))
         (nil ?n nil nil nil ("Anmerkung" "Anm."))
         (nil ?i nil nil nil ("Punkt"))))

File: reftex,  Node: Using \eqref,  Next: Non-Standard Environments,  Prev: Adding Magic Words,  Up: Defining Label Environments

3.4.5 Using `\eqref'
--------------------

Another case where one only wants to change the information associated
with the label category is to change the macro which is used for
referencing the label.  When working with the AMS-LaTeX stuff, you might
prefer `\eqref' for doing equation references.  Here is how to do this:

     (setq reftex-label-alist '((nil ?e nil "~\\eqref{%s}" nil nil)))

   RefTeX has also a predefined symbol for this special purpose.  The
following is equivalent to the line above.

     (setq reftex-label-alist '(AMSTeX))

   Note that this is automatically done by the `amsmath.el' style file
of AUCTeX (*note Style Files::) - so if you use AUCTeX, this
configuration will not be necessary.

File: reftex,  Node: Non-Standard Environments,  Next: Putting it Together,  Prev: Using \eqref,  Up: Defining Label Environments

3.4.6 Non-standard Environments
-------------------------------

Some LaTeX packages define environment-like structures without using the
standard `\begin..\end' structure.  RefTeX cannot parse these directly,
but you can write your own special-purpose parser and use it instead of
the name of an environment in an entry for `reftex-label-alist'.  The
function should check if point is currently in the special environment
it was written to detect.  If so, it must return a buffer position
indicating the start of this environment.  The return value must be
`nil' on failure to detect the environment.  The function is called
with one argument BOUND.  If non-`nil', BOUND is a boundary for
backwards searches which should be observed.  We will discuss two
examples.

   Some people define abbreviations for environments, like `\be' for
`\begin{equation}', and `\ee' for `\end{equation}'.  The parser
function would have to search backward for these macros.  When the
first match is `\ee', point is not in this environment.  When the first
match is `\be', point is in this environment and the function must
return the beginning of the match.  To avoid scanning too far, we can
also look for empty lines which cannot occur inside an equation
environment.  Here is the setup:

     ;; Setup entry in reftex-label-alist, using all defaults for equations
     (setq reftex-label-alist '((detect-be-ee ?e nil nil nil nil)))

     (defun detect-be-ee (bound)
       ;; Search backward for the macros or an empty line
       (if (re-search-backward
            "\\(^[ \t]*\n\\|\\\\ee\\>\\)\\|\\(\\\\be\\>\\)" bound t)
           (if (match-beginning 2)
               (match-beginning 2)  ; Return start of environment
             nil)                   ; Return nil because env is closed
         nil))                      ; Return nil for not found

   A more complex example is the `linguex.sty' package which defines
list macros `\ex.', `\a.', `\b.' etc. for lists which are terminated by
`\z.' or by an empty line.

     \ex.  \label{ex:12} Some text in an exotic language ...
           \a. \label{ex:13} more stuff
           \b. \label{ex:14} still more stuff
               \a. List on a deeper level
               \b. Another item
               \b. and the third one
           \z.
           \b. Third item on this level.

     ... text after the empty line terminating all lists

   The difficulty is that the `\a.' lists can nest and that an empty
line terminates all list levels in one go.  So we have to count nesting
levels between `\a.' and `\z.'.  Here is the implementation for RefTeX.

     (setq reftex-label-alist
           '((detect-linguex ?x "ex:" "~\\ref{%s}" nil ("Example" "Ex."))))

     (defun detect-linguex (bound)
       (let ((cnt 0))
         (catch 'exit
           (while
               ;; Search backward for all possible delimiters
               (re-search-backward
                (concat "\\(^[ \t]*\n\\)\\|\\(\\\\z\\.\\)\\|"
                        "\\(\\ex[ig]?\\.\\)\\|\\(\\\\a\\.\\)")
                nil t)
             ;; Check which delimiter was matched.
             (cond
              ((match-beginning 1)
               ;; empty line terminates all - return nil
               (throw 'exit nil))
              ((match-beginning 2)
               ;; \z. terminates one list level - decrease nesting count
               (decf cnt))
              ((match-beginning 3)
               ;; \ex. : return match unless there was a \z. on this level
               (throw 'exit (if (>= cnt 0) (match-beginning 3) nil)))
              ((match-beginning 4)
               ;; \a. : return match when on level 0, otherwise
               ;;       increment nesting count
               (if (>= cnt 0)
                   (throw 'exit (match-beginning 4))
                 (incf cnt))))))))

File: reftex,  Node: Putting it Together,  Prev: Non-Standard Environments,  Up: Defining Label Environments

3.4.7 Putting it all together
-----------------------------

When you have to put several entries into `reftex-label-alist', just
put them after each other in a list, or create that many templates in
the customization buffer.  Here is a lisp example which uses several of
the entries described above:

     (setq reftex-label-alist
       '(("axiom"   ?a "ax:"  "~\\ref{%s}" nil ("axiom"   "ax.") -2)
         ("theorem" ?h "thr:" "~\\ref{%s}" t   ("theorem" "theor." "th.") -3)
         ("\\quickeq{}" ?e nil nil 1 nil)
         AMSTeX
         ("\\myfig[]{}{}{*}{}" ?f nil nil 3)
         (detect-linguex ?x "ex:" "~\\ref{%s}" nil ("Example" "Ex."))))

File: reftex,  Node: Reference Info,  Next: xr (LaTeX package),  Prev: Defining Label Environments,  Up: Labels and References

3.5 Reference Info
==================

When point is idle for more than `reftex-idle-time' seconds on the
argument of a `\ref' macro, the echo area will display some information
about the label referenced there.  Note that the information is only
displayed if the echo area is not occupied by a different message.

   RefTeX can also display the label definition corresponding to a
`\ref' macro, or all reference locations corresponding to a `\label'
macro.  *Note Viewing Cross-References::, for more information.

File: reftex,  Node: xr (LaTeX package),  Next: varioref (LaTeX package),  Prev: Reference Info,  Up: Labels and References

3.6 `xr': Cross-Document References
===================================

The LaTeX package `xr' makes it possible to create references to labels
defined in external documents.  The preamble of a document using `xr'
will contain something like this:

     \usepackage{xr}
     \externaldocument[V1-]{volume1}
     \externaldocument[V3-]{volume3}

and we can make references to any labels defined in these external
documents by using the prefixes `V1-' and `V3-', respectively.

   RefTeX can be used to create such references as well.  Start the
referencing process normally, by pressing `C-c )'.  Select a label type
if necessary.  When you see the label selection buffer, pressing `x'
will switch to the label selection buffer of one of the external
documents.  You may then select a label as before and RefTeX will
insert it along with the required prefix.

   For this kind of inter-document cross-references, saving of parsing
information and the use of multiple selection buffers can mean a large
speed-up (*note Optimizations::).

File: reftex,  Node: varioref (LaTeX package),  Next: fancyref (LaTeX package),  Prev: xr (LaTeX package),  Up: Labels and References

3.7 `varioref': Variable Page References
========================================

`varioref' is a frequently used LaTeX package to create
cross-references with page information.  When you want to make a
reference with the `\vref' macro, just press the `v' key in the
selection buffer to toggle between `\ref' and `\vref' (*note
Referencing Labels::).  The mode line of the selection buffer shows the
current status of this switch.  If you find that you almost always use
`\vref', you may want to make it the default by customizing the
variable `reftex-vref-is-default'.  If this toggling seems too
inconvenient, you can also use the command `reftex-varioref-vref'(1).
Or use AUCTeX to create your macros (*note AUCTeX::).

   ---------- Footnotes ----------

   (1) bind it to `C-c v'.

File: reftex,  Node: fancyref (LaTeX package),  Prev: varioref (LaTeX package),  Up: Labels and References

3.8 `fancyref': Fancy Cross References
======================================

`fancyref' is a LaTeX package where a macro call like
`\fref{FIG:MAP-OF-GERMANY}' creates not only the number of the
referenced counter but also the complete text around it, like `Figure 3
on the preceding page'.  In order to make it work you need to use label
prefixes like `fig:' consistently - something RefTeX does
automatically.  When you want to make a reference with the `\fref'
macro, just press the `V' key in the selection buffer to cycle between
`\ref', `\fref' and `\Fref' (*note Referencing Labels::).  The mode
line of the selection buffer shows the current status of this switch.
If this cycling seems inconvenient, you can also use the commands
`reftex-fancyref-fref' and `reftex-fancyref-Fref'(1).  Or use AUCTeX to
create your macros (*note AUCTeX::).

   ---------- Footnotes ----------

   (1) bind them to `C-c f' and `C-c F'.

File: reftex,  Node: Citations,  Next: Index Support,  Prev: Labels and References,  Up: Top

4 Citations
***********

Citations in LaTeX are done with the `\cite' macro or variations of it.
The argument of the macro is a citation key which identifies an article
or book in either a BibTeX database file or in an explicit
`thebibliography' environment in the document.  RefTeX's support for
citations helps to select the correct key quickly.

* Menu:

* Creating Citations::               How to create them.
* Citation Styles::                  Natbib, Harvard, Chicago and Co.
* Citation Info::                    View the corresponding database entry.
* Chapterbib and Bibunits::          Multiple bibliographies in a Document.
* Citations Outside LaTeX::          How to make citations in Emails etc.
* BibTeX Database Subsets::          Extract parts of a big database.

File: reftex,  Node: Creating Citations,  Next: Citation Styles,  Up: Citations

4.1 Creating Citations
======================

In order to create a citation, press `C-c ['.  RefTeX then prompts for
a regular expression which will be used to search through the database
and present the list of matches to choose from in a selection process
similar to that for selecting labels (*note Referencing Labels::).

   The regular expression uses an extended syntax: `&&' defines a logic
`and' for regular expressions. For example `Einstein&&Bose' will match
all articles which mention Bose-Einstein condensation, or which are
co-authored by Bose and Einstein.  When entering the regular
expression, you can complete on known citation keys.  RefTeX also
offers a default when prompting for a regular expression.  This default
is the word before the cursor or the word before the current `\cite'
command.  Sometimes this may be a good search key.

   RefTeX prefers to use BibTeX database files specified with a
`\bibliography' macro to collect its information.  Just like BibTeX, it
will search for the specified files in the current directory and along
the path given in the environment variable `BIBINPUTS'.  If you do not
use BibTeX, but the document contains an explicit `thebibliography'
environment, RefTeX will collect its information from there.  Note that
in this case the information presented in the selection buffer will
just be a copy of relevant `\bibitem' entries, not the structured
listing available with BibTeX database files.

   In the selection buffer, the following keys provide special
commands.  A summary of this information is always available from the
selection process by pressing `?'.

General
.......

`?'
     Show a summary of available commands.

`0-9,-'
     Prefix argument.

Moving around
.............

`n'
     Go to next article.

`p'
     Go to previous article.

Access to full database entries
...............................

`<SPC>'
     Show the database entry corresponding to the article at point, in
     another window.  See also the `f' key.

`f'
     Toggle follow mode.  When follow mode is active, the other window
     will always display the full database entry of the current
     article.  This is equivalent to pressing <SPC> after each cursor
     motion.  With BibTeX entries, follow mode can be rather slow.

Selecting entries and creating the citation
...........................................

`<RET>'
     Insert a citation referencing the article at point into the buffer
     from which the selection process was started.

`mouse-2'
     Clicking with mouse button 2 on a citation will accept it like
     <RET> would.  See also variable `reftex-highlight-selection',
     *note Options (Misc)::.

`m'
     Mark the current entry.  When one or several entries are marked,
     pressing `a' or `A' accepts all marked entries.  Also, <RET>
     behaves like the `a' key.

`u'
     Unmark a marked entry.

`a'
     Accept all (marked) entries in the selection buffer and create a
     single `\cite' macro referring to them.

`A'
     Accept all (marked) entries in the selection buffer and create a
     separate `\cite' macro for each of it.

`e'
     Create a new BibTeX database file which contains all marked entries
     in the selection buffer.  If no entries are marked, all entries are
     selected.

`E'
     Create a new BibTeX database file which contains all unmarked
     entries in the selection buffer.  If no entries are marked, all
     entries are selected.

`<TAB>'
     Enter a citation key with completion.  This may also be a key
     which does not yet exist.

`.'
     Show insertion point in another window.  This is the point from
     where you called `reftex-citation'.

Exiting
.......

`q'
     Exit the selection process without inserting a citation into the
     buffer.

Updating the buffer
...................

`g'
     Start over with a new regular expression.  The full database will
     be rescanned with the new expression (see also `r').

`r'
     Refine the current selection with another regular expression.
     This will _not_ rescan the entire database, but just the already
     selected entries.


   In order to define additional commands for this selection process,
the keymap `reftex-select-bib-map' may be used.

File: reftex,  Node: Citation Styles,  Next: Citation Info,  Prev: Creating Citations,  Up: Citations

4.2 Citation Styles
===================

The standard LaTeX macro `\cite' works well with numeric or simple key
citations.  To deal with the more complex task of author-year citations
as used in many natural sciences, a variety of packages has been
developed which define derived forms of the `\cite' macro.  RefTeX can
be configured to produce these citation macros as well by setting the
variable `reftex-cite-format'.  For the most commonly used packages
(`natbib', `harvard', `chicago', `jurabib') this may be done from the
menu, under `Ref->Citation Styles'.  Since there are usually several
macros to create the citations, executing `reftex-citation' (`C-c [')
starts by prompting for the correct macro.  For the Natbib style, this
looks like this:

     SELECT A CITATION FORMAT

     [^M]   \cite{%l}
     [t]    \citet{%l}
     [T]    \citet*{%l}
     [p]    \citep{%l}
     [P]    \citep*{%l}
     [e]    \citep[e.g.][]{%l}
     [s]    \citep[see][]{%l}
     [a]    \citeauthor{%l}
     [A]    \citeauthor*{%l}
     [y]    \citeyear{%l}

   If cite formats contain empty paris of square brackets, RefTeX can
will prompt for values of these optional arguments if you call the
`reftex-citation' command with a `C-u' prefix.  Following the most
generic of these packages, `natbib', the builtin citation packages
always accept the `t' key for a _textual_ citation (like: `Jones et al.
(1997) have shown...')  as well as the `p' key for a parenthetical
citation (like: `As shown earlier (Jones et al, 1997)').

   To make one of these styles the default, customize the variable
`reftex-cite-format' or put into `.emacs':

     (setq reftex-cite-format 'natbib)

   You can also use AUCTeX style files to automatically set the
citation style based on the `usepackage' commands in a given document.
*Note Style Files::, for information on how to set up the style files
correctly.

File: reftex,  Node: Citation Info,  Next: Chapterbib and Bibunits,  Prev: Citation Styles,  Up: Citations

   Top

4.3 Citation Info
=================

When point is idle for more than `reftex-idle-time' seconds on the
argument of a `\cite' macro, the echo area will display some
information about the article cited there.  Note that the information is
only displayed if the echo area is not occupied by a different message.

   RefTeX can also display the `\bibitem' or BibTeX database entry
corresponding to a `\cite' macro, or all citation locations
corresponding to a `\bibitem' or BibTeX database entry.  *Note Viewing
Cross-References::.

File: reftex,  Node: Chapterbib and Bibunits,  Next: Citations Outside LaTeX,  Prev: Citation Info,  Up: Citations

4.4 Chapterbib and Bibunits
===========================

`chapterbib' and `bibunits' are two LaTeX packages which produce
multiple bibliographies in a document.  This is no problem for RefTeX
as long as all bibliographies use the same BibTeX database files.  If
they do not, it is best to have each document part in a separate file
(as it is required for `chapterbib' anyway).  Then RefTeX will still
scan the locally relevant databases correctly.  If you have multiple
bibliographies within a _single file_, this may or may not be the case.

File: reftex,  Node: Citations Outside LaTeX,  Next: BibTeX Database Subsets,  Prev: Chapterbib and Bibunits,  Up: Citations

4.5 Citations outside LaTeX
===========================

The command `reftex-citation' can also be executed outside a LaTeX
buffer.  This can be useful to reference articles in the mail buffer and
other documents.  You should _not_ enter `reftex-mode' for this, just
execute the command.  The list of BibTeX files will in this case be
taken from the variable `reftex-default-bibliography'.  Setting the
variable `reftex-cite-format' to the symbol `locally' does a decent job
of putting all relevant information about a citation directly into the
buffer.  Here is the lisp code to add the `C-c [' binding to the mail
buffer.  It also provides a local binding for `reftex-cite-format'.

     (add-hook 'mail-setup-hook
               (lambda () (define-key mail-mode-map "\C-c["
                            (lambda ()
                              (interactive)
                              (let ((reftex-cite-format 'locally))
                                (reftex-citation))))))

File: reftex,  Node: BibTeX Database Subsets,  Prev: Citations Outside LaTeX,  Up: Citations

4.6 Database Subsets
====================

RefTeX offers two ways to create a new BibTeX database file.

   The first option produces a file which contains only the entries
actually referenced in the current document.  This can be useful if the
database in only meant for a single document and you want to clean it
of old and unused ballast.  It can also be useful while writing a
document together with collaborators, in order to avoid sending around
the entire (possibly very large) database.  To create the file, use
`M-x reftex-create-bibtex-file', also available from the menu under
`Ref->Global Actions->Create Bibtex File'.  The command will prompt for
a BibTeX file name and write the extracted entries to that file.

   The second option makes use of the selection process started by the
command `C-c [' (*note Creating Citations::).  This command uses a
regular expression to select entries, and lists them in a formatted
selection buffer.  After pressing the `e' key (mnemonics: Export), the
command will prompt for the name of a new BibTeX file and write the
selected entries to that file.  You can also first mark some entries in
the selection buffer with the `m' key and then export either the marked
entries (with the `e' key) or the unmarked entries (with the `E' key).

File: reftex,  Node: Index Support,  Next: Viewing Cross-References,  Prev: Citations,  Up: Top

5 Index Support
***************

LaTeX has builtin support for creating an Index.  The LaTeX core
supports two different indices, the standard index and a glossary.  With
the help of special LaTeX packages (`multind.sty' or `index.sty'), any
number of indices can be supported.

   Index entries are created with the `\index{ENTRY}' macro.  All
entries defined in a document are written out to the `.aux' file.  A
separate tool must be used to convert this information into a nicely
formatted index.  Tools used with LaTeX include `MakeIndex' and `xindy'.

   Indexing is a very difficult task.  It must follow strict
conventions to make the index consistent and complete.  There are
basically two approaches one can follow, and both have their merits.

  1. Part of the indexing should already be done with the markup.  The
     document structure should be reflected in the index, so when
     starting new sections, the basic topics of the section should be
     indexed.  If the document contains definitions, theorems or the
     like, these should all correspond to appropriate index entries.
     This part of the index can very well be developed along with the
     document.  Often it is worthwhile to define special purpose macros
     which define an item and at the same time make an index entry,
     possibly with special formatting to make the reference page in the
     index bold or underlined.  To make RefTeX support for indexing
     possible, these special macros must be added to RefTeX's
     configuration (*note Defining Index Macros::).

  2. The rest of the index is often just a collection of where in the
     document certain words or phrases are being used.  This part is
     difficult to develop along with the document, because consistent
     entries for each occurrence are needed and are best selected when
     the document is ready.  RefTeX supports this with an _index
     phrases file_ which collects phrases and helps indexing the
     phrases globally.

   Before you start, you need to make sure that RefTeX knows about the
index style being used in the current document.  RefTeX has builtin
support for the default `\index' and `\glossary' macros.  Other LaTeX
packages, like the `multind' or `index' package, redefine the `\index'
macro to have an additional argument, and RefTeX needs to be configured
for those.  A sufficiently new version of AUCTeX (9.10c or later) will
do this automatically.  If you really don't use AUCTeX (you should!),
this configuration needs to be done by hand with the menu (`Ref->Index
Style'), or globally for all your documents with

     (setq reftex-index-macros '(multind))     or
     (setq reftex-index-macros '(index))

* Menu:

* Creating Index Entries::           Macros and completion of entries.
* The Index Phrases File::           A special file for global indexing.
* Displaying and Editing the Index:: The index editor.
* Builtin Index Macros::             The index macros RefTeX knows about.
* Defining Index Macros::                ... and macros it  doesn't.

File: reftex,  Node: Viewing Cross-References,  Next: RefTeXs Menu,  Prev: Index Support,  Up: Top

6 Viewing Cross-References
**************************

RefTeX can display cross-referencing information.  This means, if two
document locations are linked, RefTeX can display the matching
location(s) in another window.  The `\label' and `\ref' macros are one
way of establishing such a link.  Also, a `\cite' macro is linked to
the corresponding `\bibitem' macro or a BibTeX database entry.

   The feature is invoked by pressing `C-c &' (`reftex-view-crossref')
while point is on the KEY argument of a macro involved in
cross-referencing.  You can also click with `S-mouse-2' on the macro
argument.  Here is what will happen for individual classes of macros:

`\ref'
     Display the corresponding label definition.  All usual variants(1)
     of the `\ref' macro are active for cross-reference display.  This
     works also for labels defined in an external document when the
     current document refers to them through the `xr' interface (*note
     xr (LaTeX package)::).

`\label'
     Display a document location which references this label.  Pressing
     `C-c &' several times moves through the entire document and finds
     all locations.  Not only the `\label' macro but also other macros
     with label arguments (as configured with `reftex-label-alist') are
     active for cross-reference display.

`\cite'
     Display the corresponding BibTeX database entry or `\bibitem'.
     All usual variants(2) of the `\cite' macro are active for
     cross-reference display.

`\bibitem'
     Display a document location which cites this article. Pressing
     `C-c &' several times moves through the entire document and finds
     all locations.

BibTeX
     `C-c &' is also active in BibTeX buffers.  All locations in a
     document where the database entry at point is cited will be
     displayed.  On first use, RefTeX will prompt for a buffer which
     belongs to the document you want to search.  Subsequent calls will
     use the same document, until you break this link with a prefix
     argument to `C-c &'.

`\index'
     Display other locations in the document which are marked by an
     index macro with the same key argument.  Along with the standard
     `\index' and `\glossary' macros, all macros configured in
     `reftex-index-macros' will be recognized.

   While the display of cross referencing information for the above
mentioned macros is hard-coded, you can configure additional relations
in the variable `reftex-view-crossref-extra'.

   ---------- Footnotes ----------

   (1) all macros that start with `ref' or end with `ref' or `refrange'

   (2) all macros that either start or end with `cite'

File: reftex,  Node: RefTeXs Menu,  Next: Key Bindings,  Prev: Viewing Cross-References,  Up: Top

6.1 RefTeX's Menu
=================

RefTeX installs a `Ref' menu in the menu bar on systems which support
this.  From this menu you can access all of RefTeX's commands and a few
of its options.  There is also a `Customize' submenu which can be used
to access RefTeX's entire set of options.

File: reftex,  Node: Key Bindings,  Next: Faces,  Prev: RefTeXs Menu,  Up: Top

6.2 Default Key Bindings
========================

Here is a summary of the available key bindings.

     C-c =      `reftex-toc'
     C-c -      `reftex-toc-recenter'
     C-c (      `reftex-label'
     C-c )      `reftex-reference'
     C-c [      `reftex-citation'
     C-c &      `reftex-view-crossref'
     S-mouse-2  `reftex-mouse-view-crossref'
     C-c /      `reftex-index-selection-or-word'
     C-c \      `reftex-index-phrase-selection-or-word'
     C-c |      `reftex-index-visit-phrases-buffer'
     C-c <      `reftex-index'
     C-c >      `reftex-display-index'

   Note that the `S-mouse-2' binding is only provided if this key is
not already used by some other package.  RefTeX will not override an
existing binding to `S-mouse-2'.

   Personally, I also bind some functions in the users `C-c' map for
easier access.

     C-c t    `reftex-toc'
     C-c l    `reftex-label'
     C-c r    `reftex-reference'
     C-c c    `reftex-citation'
     C-c v    `reftex-view-crossref'
     C-c s    `reftex-search-document'
     C-c g    `reftex-grep-document'

These keys are reserved for the user, so I cannot bind them by default.
If you want to have these key bindings available, set in your `.emacs'
file:

     (setq reftex-extra-bindings t)

   Changing and adding to RefTeX's key bindings is best done in the hook
`reftex-load-hook'.  For information on the keymaps which should be
used to add keys, see *note Keymaps and Hooks::.

File: reftex,  Node: Faces,  Next: AUCTeX,  Prev: Key Bindings,  Up: Top

6.3 Faces
=========

RefTeX uses faces when available to structure the selection and table
of contents buffers.  It does not create its own faces, but uses the
ones defined in `font-lock.el'.  Therefore, RefTeX will use faces only
when `font-lock' is loaded.  This seems to be reasonable because people
who like faces will very likely have it loaded.  If you wish to turn
off fontification or change the involved faces, see *note Options
(Fontification)::.

File: reftex,  Node: Multifile Documents,  Next: Language Support,  Prev: AUCTeX,  Up: Top

6.4 Multifile Documents
=======================

The following is relevant when working with documents spread over many
files:

   * RefTeX has full support for multifile documents.  You can edit
     parts of several (multifile) documents at the same time without
     conflicts.  RefTeX provides functions to run `grep', `search' and
     `query-replace' on all files which are part of a multifile
     document.

   * All files belonging to a multifile document should define a File
     Variable (`TeX-master' for AUCTeX or `tex-main-file' for the
     standard Emacs LaTeX mode) containing the name of the master file.
     For example, to set the file variable `TeX-master', include
     something like the following at the end of each TeX file:

          %%% Local Variables: ***
          %%% mode:latex ***
          %%% TeX-master: "thesis.tex"  ***
          %%% End: ***

     AUCTeX with the setting

          (setq-default TeX-master nil)

     will actually ask you for each new file about the master file and
     insert this comment automatically.  For more details see the
     documentation of the AUCTeX (*note Multifile: (auctex)Multifile.),
     the documentation about the Emacs (La)TeX mode (*note TeX Print:
     (emacs)TeX Print.) and the Emacs documentation on File Variables
     (*note File Variables: (emacs)File Variables.).

   * The context of a label definition must be found in the same file
     as the label itself in order to be processed correctly by RefTeX.
     The only exception is that section labels referring to a section
     statement outside the current file can still use that section
     title as context.

File: reftex,  Node: Language Support,  Next: Finding Files,  Prev: Multifile Documents,  Up: Top

6.5 Language Support
====================

Some parts of RefTeX are language dependent.  The default settings work
well for English.  If you are writing in a different language, the
following hints may be useful:

   * The mechanism to derive a label from context includes the
     abbreviation of words and omission of unimportant words.  These
     mechanisms may have to be changed for other languages.  See the
     variables `reftex-derive-label-parameters' and
     `reftex-abbrev-parameters'.

   * Also, when a label is derived from context, RefTeX clears the
     context string from non-ASCII characters in order to make a valid
     label.  If there should ever be a version of TeX which allows
     extended characters _in labels_, then we will have to look at the
     variables `reftex-translate-to-ascii-function' and
     `reftex-label-illegal-re'.

   * When a label is referenced, RefTeX looks at the word before point
     to guess which label type is required.  These _magic words_ are
     different in every language.  For an example of how to add magic
     words, see *note Adding Magic Words::.

   * RefTeX inserts "punctuation" for multiple references and for the
     author list in citations.  Some of this may be language dependent.
     See the variables `reftex-multiref-punctuation' and
     `reftex-cite-punctuation'.

File: reftex,  Node: Finding Files,  Next: Optimizations,  Prev: Language Support,  Up: Top

6.6 Finding Files
=================

In order to find files included in a document via `\input' or
`\include', RefTeX searches all directories specified in the
environment variable `TEXINPUTS'.  Similarly, it will search the path
specified in the variables `BIBINPUTS' and `TEXBIB' for BibTeX database
files.

   When searching, RefTeX will also expand recursive path definitions
(directories ending in `//' or `!!').  But it will only search and
expand directories _explicitly_ given in these variables. This may
cause problems under the following circumstances:

   * Most TeX system have a default search path for both TeX files and
     BibTeX files which is defined in some setup file.  Usually this
     default path is for system files which RefTeX does not need to
     see.  But if your document needs TeX files or BibTeX database
     files in a directory only given in the default search path, RefTeX
     will fail to find them.

   * Some TeX systems do not use environment variables at all in order
     to specify the search path.  Both default and user search path are
     then defined in setup files.

There are three ways to solve this problem:

   * Specify all relevant directories explicitly in the environment
     variables.  If for some reason you don't want to mess with the
     default variables `TEXINPUTS' and `BIBINPUTS', define your own
     variables and configure RefTeX to use them instead:

          (setq reftex-texpath-environment-variables '("MYTEXINPUTS"))
          (setq reftex-bibpath-environment-variables '("MYBIBINPUTS"))

   * Specify the full search path directly in RefTeX's variables.

          (setq reftex-texpath-environment-variables
                '("./inp:/home/cd/tex//:/usr/local/tex//"))
          (setq reftex-bibpath-environment-variables
                '("/home/cd/tex/lit/"))

   * Some TeX systems provide stand-alone programs to do the file
     search just like TeX and BibTeX.  E.g. Thomas Esser's `teTeX' uses
     the `kpathsearch' library which provides the command `kpsewhich'
     to search for files.  RefTeX can be configured to use this
     program.  Note that the exact syntax of the `kpsewhich' command
     depends upon the version of that program.

          (setq reftex-use-external-file-finders t)
          (setq reftex-external-file-finders
                '(("tex" . "kpsewhich -format=.tex %f")
                  ("bib" . "kpsewhich -format=.bib %f")))

   Some people like to use RefTeX with noweb files, which usually have
the extension `.nw'.  In order to deal with such files, the new
extension must be added to the list of valid extensions in the variable
`reftex-file-extensions'.  When working with AUCTeX as major mode, the
new extension must also be known to AUCTeX via the variable
`TeX-file-extension'.  For example:

     (setq reftex-file-extensions
           '(("nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
     (setq TeX-file-extensions
           '( "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))

File: reftex,  Node: AUCTeX,  Next: Multifile Documents,  Prev: Faces,  Up: Top

6.8 AUCTeX
==========

AUCTeX is without doubt the best major mode for editing TeX and LaTeX
files with Emacs (*note AUCTeX: (auctex)Top.).  If AUCTeX is not part
of your Emacs distribution, you can get it(1) by ftp from the AUCTeX
distribution site (http://www.gnu.org/software/auctex/).

* Menu:

* AUCTeX-RefTeX Interface::          How both packages work together
* Style Files::                      AUCTeX's style files can support RefTeX
* Bib-Cite::                         Hypertext reading of a document

   ---------- Footnotes ----------

   (1) XEmacs 21.x users may want to install the corresponding XEmacs
package.

File: reftex,  Node: AUCTeX-RefTeX Interface,  Next: Style Files,  Up: AUCTeX

6.8.1 The AUCTeX-RefTeX Interface
---------------------------------

RefTeX contains code to interface with AUCTeX.  When this interface is
turned on, both packages will interact closely.  Instead of using
RefTeX's commands directly, you can then also use them indirectly as
part of the AUCTeX environment(1).  The interface is turned on with

     (setq reftex-plug-into-AUCTeX t)

   If you need finer control about which parts of the interface are used
and which not, read the docstring of the variable
`reftex-plug-into-AUCTeX' or customize it with `M-x customize-variable
<RET> reftex-plug-into-AUCTeX <RET>'.

   The following list describes the individual parts of the interface.

   * AUCTeX calls `reftex-label' to insert labels
     When a new section is created with `C-c C-s', or a new environment
     is inserted with `C-c C-e', AUCTeX normally prompts for a label to
     go with it.  With the interface, `reftex-label' is called instead.
     For example, if you type `C-c C-e equation <RET>', AUCTeX and
     RefTeX will insert

          \begin{equation}
          \label{eq:1}

          \end{equation}

     without further prompts.

     Similarly, when you type `C-c C-s section <RET>', RefTeX will
     offer its default label which is derived from the section title.

   * AUCTeX tells RefTeX about new sections
     When creating a new section with `C-c C-s', RefTeX will not have
     to rescan the buffer in order to see it.

   * RefTeX supplies macro arguments
     When you insert a macro interactively with `C-c <RET>', AUCTeX
     normally prompts for macro arguments.  Internally, it uses the
     functions `TeX-arg-label', `TeX-arg-cite', and `TeX-arg-index' to
     prompt for arguments which are labels, citation keys and index
     entries.  The interface takes over these functions(2) and supplies
     the macro arguments with RefTeX's mechanisms.  For example, when
     you type `C-c <RET> ref <RET>', RefTeX will supply its label
     selection process (*note Referencing Labels::).

   * RefTeX tells AUCTeX about new labels, citation- and index keys
     RefTeX will add all newly created labels to AUCTeX's completion
     list.

   ---------- Footnotes ----------

   (1) RefTeX 4.0 and AUCTeX 9.10c will be needed for all of this to
work.  Parts of it work also with earlier versions.

   (2) `fset' is used to do this, which is not reversible.  However,
RefTeX implements the old functionality when you later decide to turn
off the interface.

File: reftex,  Node: Style Files,  Next: Bib-Cite,  Prev: AUCTeX-RefTeX Interface,  Up: AUCTeX

6.8.2 Style Files
-----------------

Style files are Emacs Lisp files which are evaluated by AUCTeX in
association with the `\documentclass' and `\usepackage' commands of a
document (*note Style Files: (auctex)Style Files.). Support for RefTeX
in such a style file is useful when the LaTeX style defines macros or
environments connected with labels, citations, or the index.  Many
style files (e.g. `amsmath.el' or `natbib.el') distributed with AUCTeX
already support RefTeX in this way.

   Before calling a RefTeX function, the style hook should always test
for the availability of the function, so that the style file will also
work for people who do not use RefTeX.

   Additions made with style files in the way described below remain
local to the current document.  For example, if one package uses
AMSTeX, the style file will make RefTeX switch over to `\eqref', but
this will not affect other documents.

   A style hook may contain calls to `reftex-add-label-environments'(1)
which defines additions to `reftex-label-alist'.  The argument taken by
this function must have the same format as `reftex-label-alist'.  The
`amsmath.el' style file of AUCTeX for example contains the following:

     (TeX-add-style-hook "amsmath"
        (lambda ()
          (if (fboundp 'reftex-add-label-environments)
              (reftex-add-label-environments '(AMSTeX)))))

while a package `myprop' defining a `proposition' environment with
`\newtheorem' might use

     (TeX-add-style-hook "myprop"
        (lambda ()
          (LaTeX-add-environments '("proposition" LaTeX-env-label))
          (if (fboundp 'reftex-add-label-environments)
              (reftex-add-label-environments
               '(("proposition" ?p "prop:" "~\\ref{%s}" t
                                ("Proposition" "Prop.") -3))))))

   Similarly, a style hook may contain a call to
`reftex-set-cite-format' to set the citation format.  The style file
`natbib.el' for the Natbib citation style does switch RefTeX's citation
format like this:

     (TeX-add-style-hook "natbib"
        (lambda ()
          (if (fboundp 'reftex-set-cite-format)
              (reftex-set-cite-format 'natbib))))

   The hook may contain a call to `reftex-add-index-macros' to define
additional `\index'-like macros.  The argument must have the same
format as `reftex-index-macros'.  It may be a symbol, to trigger
support for one of the builtin index packages.  For example, the style
`multind.el' contains

     (TeX-add-style-hook "multind"
       (lambda ()
         (and (fboundp 'reftex-add-index-macros)
     	 (reftex-add-index-macros '(multind)))))

   If you have your own package `myindex' which defines the following
macros to be used with the LaTeX `index.sty' file
     \newcommand{\molec}[1]{#1\index{Molecules!#1}}
     \newcommand{\aindex}[1]{#1\index[author]{#1}

   you could write this in the style file `myindex.el':

     (TeX-add-style-hook "myindex"
        (lambda ()
          (TeX-add-symbols
           '("molec" TeX-arg-index)
           '("aindex" TeX-arg-index))
          (if (fboundp 'reftex-add-index-macros)
              (reftex-add-index-macros
               '(("molec{*}" "idx" ?m "Molecules!" nil nil)
                 ("aindex{*}" "author" ?a "" nil nil))))))

   Finally the hook may contain a call to `reftex-add-section-levels'
to define additional section statements.  For example, the FoilTeX class
has just two headers, `\foilhead' and `\rotatefoilhead'.  Here is a
style file `foils.el' that will inform RefTeX about these:

     (TeX-add-style-hook "foils"
        (lambda ()
          (if (fboundp 'reftex-add-section-levels)
              (reftex-add-section-levels '(("foilhead" . 3)
                                           ("rotatefoilhead" . 3))))))

   ---------- Footnotes ----------

   (1) This used to be the function `reftex-add-to-label-alist' which
is still available as an alias for compatibility.

File: reftex,  Node: Bib-Cite,  Prev: Style Files,  Up: AUCTeX

6.8.3 Bib-Cite
--------------

Once you have written a document with labels, references and citations,
it can be nice to read it like a hypertext document.  RefTeX has
support for that: `reftex-view-crossref' (bound to `C-c &'),
`reftex-mouse-view-crossref' (bound to `S-mouse-2'), and
`reftex-search-document'.  A somewhat fancier interface with mouse
highlighting is provided (among other things) by Peter S. Galbraith's
`bib-cite.el'.  There is some overlap in the functionalities of
Bib-cite and RefTeX.  Bib-cite.el comes bundled with AUCTeX.

   Bib-cite version 3.06 and later can be configured so that bib-cite's
mouse functions use RefTeX for displaying references and citations.
This can be useful in particular when working with the LaTeX `xr'
package or with an explicit `thebibliography' environment (rather than
BibTeX).  Bib-cite cannot handle those, but RefTeX does.  To make use
of this feature, try

     (setq bib-cite-use-reftex-view-crossref t)

File: reftex,  Node: Optimizations,  Next: Problems and Work-Arounds,  Prev: Finding Files,  Up: Top

6.7 Optimizations
=================

Note added 2002.  Computers have gotten a lot faster, so most of the
optimizations discussed below will not be necessary on new machines.  I
am leaving this stuff in the manual for people who want to write thick
books, where some of it still might be useful.

   Implementing the principle of least surprises, the default settings
of RefTeX ensure a safe ride for beginners and casual users.  However,
when using RefTeX for a large project and/or on a small computer, there
are ways to improve speed or memory usage.

   * Removing Lookup Buffers
     RefTeX will load other parts of a multifile document as well as
     BibTeX database files for lookup purposes.  These buffers are
     kept, so that subsequent use of the same files is fast.  If you
     can't afford keeping these buffers around, and if you can live
     with a speed penalty, try

          (setq reftex-keep-temporary-buffers nil)

   * Partial Document Scans
     A `C-u' prefix on the major RefTeX commands `reftex-label' (`C-u
     C-c ('), `reftex-reference' (`C-u C-c )'), `reftex-citation' (`C-u
     C-c ['), `reftex-toc' (`C-u C-c ='), and `reftex-view-crossref'
     (`C-u C-c &') initiates re-parsing of the entire document in order
     to update the parsing information.  For a large document this can
     be unnecessary, in particular if only one file has changed.
     RefTeX can be configured to do partial scans instead of full ones.
     `C-u' re-parsing then does apply only to the current buffer and
     files included from it.  Likewise, the `r' key in both the label
     selection buffer and the table-of-contents buffer will only prompt
     scanning of the file in which the label or section macro near the
     cursor was defined.  Re-parsing of the entire document is still
     available by using `C-u C-u' as a prefix, or the capital `R' key
     in the menus.  To use this feature, try

          (setq reftex-enable-partial-scans t)

   * Saving Parser Information
     Even with partial scans enabled, RefTeX still has to make one full
     scan, when you start working with a document.  To avoid this,
     parsing information can be stored in a file.  The file
     `MASTER.rel' is used for storing information about a document with
     master file `MASTER.tex'.  It is written automatically when you
     kill a buffer in `reftex-mode' or when you exit Emacs.  The
     information is restored when you begin working with a document in
     a new editing session.  To use this feature, put into `.emacs':

          (setq reftex-save-parse-info t)

   * Identifying label types by prefix
     RefTeX normally parses around each label to check in which
     environment this label is located, in order to assign a label type
     to the label.  If your document contains thousands of labels,
     document parsing will take considerable time.  If you have been
     using label prefixes like tab: and fn: consistently, you can tell
     RefTeX to get the label type directly from the prefix, without
     additional parsing.  This will be faster and also allow labels to
     end up in the correct category if for some reason it is not
     possible to derive the correct type from context.  For example, to
     enable this feature for footnote and equation labels, use

          (setq reftex-trust-label-prefix '("fn:" "eq:"))

   * Automatic Document Scans
     At rare occasions, RefTeX will automatically rescan a part of the
     document.  If this gets into your way, it can be turned off with

          (setq reftex-allow-automatic-rescan nil)

     RefTeX will then occasionally annotate new labels in the selection
     buffer, saying that their position in the label list in uncertain.
     A manual document scan will fix this.

   * Multiple Selection Buffers
     Normally, the selection buffer `*RefTeX Select*' is re-created for
     every selection process.  In documents with very many labels this
     can take several seconds.  RefTeX provides an option to create a
     separate selection buffer for each label type and to keep this
     buffer from one selection to the next.  These buffers are updated
     automatically only when a new label has been added in the buffers
     category with `reftex-label'.  Updating the buffer takes as long
     as recreating it - so the time saving is limited to cases where no
     new labels of that category have been added.  To turn on this
     feature, use

          (setq reftex-use-multiple-selection-buffers t)

     You can also inhibit the automatic updating entirely.  Then the
     selection buffer will always pop up very fast, but may not contain
     the most recently defined labels.  You can always update the
     buffer by hand, with the `g' key.  To get this behavior, use
     instead

          (setq reftex-use-multiple-selection-buffers t
                reftex-auto-update-selection-buffers nil)

As a summary, here are the settings I recommend for heavy use of RefTeX
with large documents:

     (setq reftex-enable-partial-scans t
           reftex-save-parse-info t
           reftex-use-multiple-selection-buffers t)

File: reftex,  Node: Problems and Work-Arounds,  Next: Imprint,  Prev: Optimizations,  Up: Top

6.9 Problems and Work-arounds
=============================

   * LaTeX commands
     `\input', `\include', and `\section' (etc.) statements have to be
     first on a line (except for white space).

   * Commented regions
     RefTeX sees also labels in regions commented out and will refuse to
     make duplicates of such labels.  This is considered to be a
     feature.

   * Wrong section numbers
     When using partial scans (`reftex-enable-partial-scans'), the
     section numbers in the table of contents may eventually become
     wrong.  A full scan will fix this.

   * Local settings
     The label environment definitions in `reftex-label-alist' are
     global and apply to all documents.  If you need to make definitions
     local to a document, because they would interfere with settings in
     other documents, you should use AUCTeX and set up style files with
     calls to `reftex-add-label-environments', `reftex-set-cite-format',
     `reftex-add-index-macros', and `reftex-add-section-levels'.
     Settings made with these functions remain local to the current
     document. *Note AUCTeX::.

   * Funny display in selection buffer
     When using packages which make the buffer representation of a file
     different from its disk representation (e.g. x-symbol, isotex,
     iso-cvt) you may find that RefTeX's parsing information sometimes
     reflects the disk state of a file.  This happens only in
     _unvisited_ parts of a multifile document, because RefTeX visits
     these files literally for speed reasons.  Then both short context
     and section headings may look different from what you usually see
     on your screen.  In rare cases `reftex-toc' may have problems to
     jump to an affected section heading.  There are three possible
     ways to deal with this:
        - `(setq reftex-keep-temporary-buffers t)'
          This implies that RefTeX will load all parts of a multifile
          document into Emacs (i.e. there won't be any temporary
          buffers).

        - `(setq reftex-initialize-temporary-buffers t)'
          This means full initialization of temporary buffers.  It
          involves a penalty when the same unvisited file is used for
          lookup often.

        - Set `reftex-initialize-temporary-buffers' to a list of hook
          functions doing a minimal initialization.
     See also the variable `reftex-refontify-context'.

   * Labels as arguments to \begin
     Some packages use an additional argument to a `\begin' macro to
     specify a label.  E.g. Lamport's `pf.sty' uses both
          \step{LABEL}{CLAIM}   and      \begin{step+}{LABEL}
                                            CLAIM
                                         \end{step+}

     We need to trick RefTeX into swallowing this:

          ;; Configuration for Lamport's pf.sty
          (setq reftex-label-alist
            '(("\\step{*}{}"       ?p "st:" "~\\stepref{%s}" 2 ("Step" "St."))
              ("\\begin{step+}{*}" ?p "st:" "~\\stepref{%s}" 1000)))

     The first line is just a normal configuration for a macro.  For the
     `step+' environment we actually tell RefTeX to look for the
     _macro_ `\begin{step+}' and interpret the _first_ argument (which
     really is a second argument to the macro `\begin') as a label of
     type `?p'.  Argument count for this macro starts only after the
     `{step+}', also when specifying how to get context.

   * Idle timers in XEmacs
     In XEmacs, idle timer restart does not work reliably after fast
     keystrokes.  Therefore RefTeX currently uses the post command hook
     to start the timer used for automatic crossref information.  When
     this bug gets fixed, a real idle timer can be requested with
          (setq reftex-use-itimer-in-xemacs t)

   * Viper mode
     With Viper mode prior to Vipers version 3.01, you need to protect
     RefTeX's keymaps with

          (viper-harness-minor-mode "reftex")


File: reftex,  Node: Imprint,  Next: Commands,  Prev: Problems and Work-Arounds,  Up: Top

6.10 Imprint
============

RefTeX was written by Carsten Dominik <dominikATscience.nl>, with
contributions by Stephen Eglen.  RefTeX is currently maintained by
the AUCTeX project, see the RefTeX web page
(http://www.gnu.org/software/auctex/reftex.html) for detailed
information.

   If you have questions about RefTeX, you can send email to the
AUCTeX user mailing list (<auctexATgnu.org>).  If you want to contribute
code or ideas, write to the AUCTeX developer mailing list
(<auctex-develATgnu.org>).  And in the rare case of finding a bug,
please use `M-x reftex-report-bug <RET>' which will prepare a bug
report with useful information about your setup.  Remember to add
essential information like a recipe for reproducing the bug, what you
expected to happen, and what actually happened.  Send the bug report to
the AUCTeX bug mailing list (<bug-auctexATgnu.org>).

   There are also several Usenet groups which have competent readers who
might be able to help: `comp.emacs', `gnu.emacs.help',
`comp.emacs.xemacs', and `comp.text.tex'.

   RefTeX is bundled and pre-installed with Emacs since version 20.2.
It was also bundled and pre-installed with XEmacs 19.16-20.x.  XEmacs
21.x users want to install the corresponding plugin package which is
available from the XEmacs ftp site
(ftp://ftp.xemacs.org/pub/xemacs/packages/).  See the XEmacs 21.x
documentation on package installation for details.

   Users of earlier Emacs distributions (including Emacs 19) can get a
RefTeX distribution from the RefTeX web page
(http://www.gnu.org/software/auctex/reftex.html).  Note that the Emacs
19 version supports many but not all features described in this manual.

   Thanks to the people on the Net who have used RefTeX and helped
developing it with their reports.  In particular thanks to Ralf Angeli,
Fran Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen
Eglen, Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai Grossjohann,
Frank Harrell, Till A. Heilmann, Peter Heslin, Stephan Heuel, Alan Ho,
Lute Kamstra, Dieter Kraft, David Kastrup, Adrian Lanz, Juri Linkov,
Rory Molinari, Stefan Monnier, Laurent Mugnier, Dan Nicolaescu, Sudeep
Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha, Richard Stanton,
Allan Strand, Jan Vroonhof, Christoph Wedler, Alan Williams, Roland
Winkler, Hans-Christoph Wirth, Eli Zaretskii.

   The `view-crossref' feature was inspired by Peter Galbraith's
`bib-cite.el'.

   Finally thanks to Uwe Bolick who first got me interested in
supporting LaTeX labels and references with an editor (which was
MicroEmacs at the time).

File: reftex,  Node: Commands,  Next: Options,  Prev: Imprint,  Up: Top

7 Commands
**********

Here is a summary of RefTeX's commands which can be executed from LaTeX
files.  Command which are executed from the special buffers are not
described here.  All commands are available from the `Ref' menu.  See
*Note Key Bindings::.

 -- Command: reftex-toc
     Show the table of contents for the current document.  When called
     with one ore two `C-u' prefixes, rescan the document first.

 -- Command: reftex-label
     Insert a unique label.  With one or two `C-u' prefixes, enforce
     document rescan first.

 -- Command: reftex-reference
     Start a selection process to select a label, and insert a
     reference to it.  With one or two `C-u' prefixes, enforce document
     rescan first.

 -- Command: reftex-citation
     Make a citation using BibTeX database files.  After prompting for
     a regular expression, scans the buffers with BibTeX entries (taken
     from the `\bibliography' command or a `thebibliography'
     environment) and offers the matching entries for selection.  The
     selected entry is formatted according to `reftex-cite-format' and
     inserted into the buffer.
     When called with a `C-u' prefix, prompt for optional arguments in
     cite macros.  When called with a numeric prefix, make that many
     citations.  When called with point inside the braces of a `\cite'
     command, it will add another key, ignoring the value of
     `reftex-cite-format'.
     The regular expression uses an expanded syntax: `&&' is interpreted
     as `and'.  Thus, `aaaa&&bbb' matches entries which contain both
     `aaaa' and `bbb'.  While entering the regexp, completion on knows
     citation keys is possible.  `=' is a good regular expression to
     match all entries in all files.

 -- Command: reftex-index
     Query for an index macro and insert it along with its arguments.
     The index macros available are those defined in
     `reftex-index-macro' or by a call to `reftex-add-index-macros',
     typically from an AUCTeX style file.  RefTeX provides completion
     for the index tag and the index key, and will prompt for other
     arguments.

 -- Command: reftex-index-selection-or-word
     Put current selection or the word near point into the default index
     macro.  This uses the information in `reftex-index-default-macro'
     to make an index entry.  The phrase indexed is the current
     selection or the word near point.  When called with one `C-u'
     prefix, let the user have a chance to edit the index entry.  When
     called with 2 `C-u' as prefix, also ask for the index macro and
     other stuff.  When called inside TeX math mode as determined by
     the `texmathp.el' library which is part of AUCTeX, the string is
     first processed with the `reftex-index-math-format', which see.

 -- Command: reftex-index-phrase-selection-or-word
     Add current selection or the word at point to the phrases buffer.
     When you are in transient-mark-mode and the region is active, the
     selection will be used - otherwise the word at point.  You get a
     chance to edit the entry in the phrases buffer - to save the
     buffer and return to the LaTeX document, finish with `C-c C-c'.

 -- Command: reftex-index-visit-phrases-buffer
     Switch to the phrases buffer, initialize if empty.

 -- Command: reftex-index-phrases-apply-to-region
     Index all index phrases in the current region.  This works exactly
     like global indexing from the index phrases buffer, but operation
     is restricted to the current region.

 -- Command: reftex-display-index
     Display a buffer with an index compiled from the current document.
     When the document has multiple indices, first prompts for the
     correct one.  When index support is turned off, offer to turn it
     on.  With one or two `C-u' prefixes, rescan document first.  With
     prefix 2, restrict index to current document section.  With prefix
     3, restrict index to active region.

 -- Command: reftex-view-crossref
     View cross reference of macro at point.  Point must be on the KEY
     argument.  Works with the macros `\label', `\ref', `\cite',
     `\bibitem', `\index' and many derivatives of these.  Where it
     makes sense, subsequent calls show additional locations.  See also
     the variable `reftex-view-crossref-extra' and the command
     `reftex-view-crossref-from-bibtex'.  With one or two `C-u'
     prefixes, enforce rescanning of the document.  With argument 2,
     select the window showing the cross reference.

 -- Command: reftex-view-crossref-from-bibtex
     View location in a LaTeX document which cites the BibTeX entry at
     point.  Since BibTeX files can be used by many LaTeX documents,
     this function prompts upon first use for a buffer in RefTeX mode.
     To reset this link to a document, call the function with a prefix
     arg.  Calling this function several times find successive citation
     locations.

 -- Command: reftex-create-tags-file
     Create TAGS file by running `etags' on the current document.  The
     TAGS file is also immediately visited with `visit-tags-table'.

 -- Command: reftex-grep-document
     Run grep query through all files related to this document.  With
     prefix arg, force to rescan document.  No active TAGS table is
     required.

 -- Command: reftex-search-document
     Regexp search through all files of the current document.  Starts
     always in the master file.  Stops when a match is found.  No
     active TAGS table is required.

 -- Command: reftex-query-replace-document
     Run a query-replace-regexp of FROM with TO over the entire
     document.  With prefix arg, replace only word-delimited matches.
     No active TAGS table is required.

 -- Command: reftex-isearch-minor-mode
     Toggle a minor mode which enables incremental search to work
     globally on the entire multifile document.  Files will be searched
     in th sequence they appear in the document.

 -- Command: reftex-goto-label
     Prompt for a label (with completion) and jump to the location of
     this label.  Optional prefix argument OTHER-WINDOW goes to the
     label in another window.

 -- Command: reftex-change-label
     Query replace FROM with TO in all `\label' and `\ref' commands.
     Works on the entire multifile document.  No active TAGS table is
     required.

 -- Command: reftex-renumber-simple-labels
     Renumber all simple labels in the document to make them
     sequentially.  Simple labels are the ones created by RefTeX,
     consisting only of the prefix and a number.  After the command
     completes, all these labels will have sequential numbers
     throughout the document.  Any references to the labels will be
     changed as well.  For this, RefTeX looks at the arguments of any
     macros which either start or end with the string `ref'.  This
     command should be used with care, in particular in multifile
     documents.  You should not use it if another document refers to
     this one with the `xr' package.

 -- Command: reftex-find-duplicate-labels
     Produce a list of all duplicate labels in the document.

 -- Command: reftex-create-bibtex-file
     Create a new BibTeX database file with all entries referenced in
     document.  The command prompts for a filename and writes the
     collected entries to that file.  Only entries referenced in the
     current document with any `\cite'-like macros are used.  The
     sequence in the new file is the same as it was in the old database.

 -- Command: reftex-customize
     Run the customize browser on the RefTeX group.

 -- Command: reftex-show-commentary
     Show the commentary section from `reftex.el'.

 -- Command: reftex-info
     Run info on the top RefTeX node.

 -- Command: reftex-parse-document
     Parse the entire document in order to update the parsing
     information.

 -- Command: reftex-reset-mode
     Enforce rebuilding of several internal lists and variables.  Also
     removes the parse file associated with the current document.

File: reftex,  Node: Options,  Next: Keymaps and Hooks,  Prev: Commands,  Up: Top

8 Options, Keymaps, Hooks
*************************

Here is a complete list of RefTeX's configuration variables.  All
variables have customize support - so if you are not familiar with Emacs
Lisp (and even if you are) you might find it more comfortable to use
`customize' to look at and change these variables. `M-x
reftex-customize' will get you there.

* Menu:

* Options (Table of Contents)::
* Options (Defining Label Environments)::
* Options (Creating Labels)::
* Options (Referencing Labels)::
* Options (Creating Citations)::
* Options (Index Support)::
* Options (Viewing Cross-References)::
* Options (Finding Files)::
* Options (Optimizations)::
* Options (Fontification)::
* Options (Misc)::

File: reftex,  Node: Options (Table of Contents),  Next: Options (Defining Label Environments),  Up: Options

8.1 Table of Contents
=====================

 -- User Option: reftex-include-file-commands
     List of LaTeX commands which input another file.  The file name is
     expected after the command, either in braces or separated by
     whitespace.

 -- User Option: reftex-max-section-depth
     Maximum depth of section levels in document structure.  Standard
     LaTeX needs 7, default is 12.

 -- User Option: reftex-section-levels
     Commands and levels used for defining sections in the document.
     The `car' of each cons cell is the name of the section macro.  The
     `cdr' is a number indicating its level.  A negative level means the
     same as the positive value, but the section will never get a
     number.  The `cdr' may also be a function which then has to return
     the level.  This list is also used for promotion and demotion of
     sectioning commands.  If you are using a document class which has
     several sets of sectioning commands, promotion only works
     correctly if this list is sorted first by set, then within each
     set by level.  The promotion commands always select the nearest
     entry with the correct new level.


 -- User Option: reftex-toc-max-level
     The maximum level of toc entries which will be included in the TOC.
     Section headings with a bigger level will be ignored.  In RefTeX,
     chapters are level 1, sections level 2 etc.  This variable can be
     changed from within the `*toc*' buffer with the `t' key.

 -- User Option: reftex-part-resets-chapter
     Non-`nil' means, `\part' is like any other sectioning command.
     This means, part numbers will be included in the numbering of
     chapters, and chapter counters will be reset for each part.  When
     `nil' (the default), parts are special, do not reset the chapter
     counter and also do not show up in chapter numbers.

 -- User Option: reftex-auto-recenter-toc
     Non-`nil' means, turn automatic recentering of `*TOC*' window on.
     When active, the `*TOC*' window will always show the section you
     are currently working in.  Recentering happens whenever Emacs is
     idle for more than `reftex-idle-time' seconds.

     Value `t' means, turn on immediately when RefTeX gets started.
     Then, recentering will work for any toc window created during the
     session.

     Value `frame' (the default) means, turn automatic recentering on
     only while the dedicated TOC frame does exist, and do the
     recentering only in that frame.  So when creating that frame (with
     `d' key in an ordinary TOC window), the automatic recentering is
     turned on.  When the frame gets destroyed, automatic recentering
     is turned off again.

     This feature can be turned on and off from the menu (Ref->Options).

 -- User Option: reftex-toc-split-windows-horizontally
     Non-`nil' means, create TOC window by splitting window
     horizontally.  The default is to split vertically.

 -- User Option: reftex-toc-split-windows-fraction
     Fraction of the width or height of the frame to be used for TOC
     window.

 -- User Option: reftex-toc-keep-other-windows
     Non-`nil' means, split the selected window to display the `*toc*'
     buffer.  This helps to keep the window configuration, but makes
     the `*toc*' small.  When `nil', all other windows except the
     selected one will be deleted, so that the `*toc*' window fills
     half the frame.

 -- User Option: reftex-toc-include-file-boundaries
     Non-`nil' means, include file boundaries in `*toc*' buffer.  This
     flag can be toggled from within the `*toc*' buffer with the `i'
     key.

 -- User Option: reftex-toc-include-labels
     Non-`nil' means, include labels in `*toc*' buffer.  This flag can
     be toggled from within the `*toc*' buffer with the `l' key.

 -- User Option: reftex-toc-include-index-entries
     Non-`nil' means, include index entries in `*toc*' buffer.  This
     flag can be toggled from within the `*toc*' buffer with the `i'
     key.

 -- User Option: reftex-toc-include-context
     Non-`nil' means, include context with labels in the `*toc*'
     buffer.  Context will only be shown if the labels are visible as
     well.  This flag can be toggled from within the `*toc*' buffer
     with the `c' key.

 -- User Option: reftex-toc-follow-mode
     Non-`nil' means, point in `*toc*' buffer (the table-of-contents
     buffer) will cause other window to follow.  The other window will
     show the corresponding part of the document.  This flag can be
     toggled from within the `*toc*' buffer with the `f' key.

 -- Normal Hook: reftex-toc-mode-hook
     Normal hook which is run when a `*toc*' buffer is created.

 -- Keymap: reftex-toc-map
     The keymap which is active in the `*toc*' buffer.  (*note Table of
     Contents::).

File: reftex,  Node: Options (Defining Label Environments),  Next: Options (Creating Labels),  Prev: Options (Table of Contents),  Up: Options

8.2 Defining Label Environments
===============================

 -- User Option: reftex-default-label-alist-entries
     Default label alist specifications.  It is a list of symbols with
     associations in the constant `reftex-label-alist-builtin'.
     `LaTeX' should always be the last entry.

 -- User Option: reftex-label-alist
     Set this variable to define additions and changes to the defaults
     in `reftex-default-label-alist-entries'.  The only things you
     _must not_ change is that `?s' is the type indicator for section
     labels, and <SPC> for the `any' label type.  These are hard-coded
     at other places in the code.

     The value of the variable must be a list of items.  Each item is a
     list itself and has the following structure:

           (ENV-OR-MACRO  TYPE-KEY  LABEL-PREFIX  REFERENCE-FORMAT
              CONTEXT-METHOD  (MAGIC-WORD ... )  TOC-LEVEL)

     Each list entry describes either an environment carrying a counter
     for use with `\label' and `\ref', or a LaTeX macro defining a
     label as (or inside) one of its arguments.  The elements of each
     list entry are:

    ENV-OR-MACRO
          Name of the environment (like `table') or macro (like
          `\myfig').  For macros, indicate the arguments, as in
          `\myfig[]{}{}{*}{}'.  Use square brackets for optional
          arguments, a star to mark the label argument, if any.  The
          macro does not have to have a label argument - you could also
          use `\label{...}' inside one of its arguments.

          Special names: `section' for section labels, `any' to define a
          group which contains all labels.

          This may also be a function to do local parsing and identify
          point to be in a non-standard label environment.  The
          function must take an argument BOUND and limit backward
          searches to this value.  It should return either nil or a
          cons cell `(FUNCTION . POSITION)' with the function symbol
          and the position where the special environment starts.  See
          the Info documentation for an example.

          Finally this may also be `nil' if the entry is only meant to
          change some settings associated with the type indicator
          character (see below).

    TYPE-KEY
          Type indicator character, like `?t', must be a printable ASCII
          character.  The type indicator is a single character which
          defines a label type.  Any label inside the environment or
          macro is assumed to belong to this type.  The same character
          may occur several times in this list, to cover cases in which
          different environments carry the same label type (like
          `equation' and `eqnarray').  If the type indicator is `nil'
          and the macro has a label argument `{*}', the macro defines
          neutral labels just like `\label'.  In this case the reminder
          of this entry is ignored.

    LABEL-PREFIX
          Label prefix string, like `tab:'.  The prefix is a short
          string used as the start of a label.  It may be the empty
          string.  The prefix may contain the following `%' escapes:

               %f Current file name, directory and extension stripped.
               %F Current file name relative to master file directory.
               %m Master file name, directory and extension stripped.
               %M Directory name (without path) where master file is located.
               %u User login name, on systems which support this.
               %S A section prefix derived with variable `reftex-section-prefixes'.

          Example: In a file `intro.tex', `eq:%f:' will become
          `eq:intro:'.

    REFERENCE-FORMAT
          Format string for reference insert in buffer.  `%s' will be
          replaced by the label.  When the format starts with `~', this
          `~' will only be inserted when the character before point is
          _not_ a whitespace.

    CONTEXT-METHOD
          Indication on how to find the short context.
             - If `nil', use the text following the `\label{...}' macro.

             - If `t', use
                  - the section heading for section labels.

                  - text following the `\begin{...}' statement of
                    environments (not a good choice for environments
                    like eqnarray or enumerate, where one has several
                    labels in a single environment).

                  - text after the macro name (starting with the first
                    arg) for macros.

             - If an integer, use the nth argument of the macro.  As a
               special case, 1000 means to get text after the last
               macro argument.

             - If a string, use as regexp to search _backward_ from the
               label.  Context is then the text following the end of
               the match.  E.g. putting this to `\\caption[[{]' will
               use the caption in a figure or table environment.
               `\\begin{eqnarray}\|\\\\' works for eqnarrays.

             - If any of `caption', `item', `eqnarray-like',
               `alignat-like', this symbol will internally be
               translated into an appropriate regexp (see also the
               variable `reftex-default-context-regexps').

             - If a function, call this function with the name of the
               environment/macro as argument.  On call, point will be
               just after the `\label' macro.  The function is expected
               to return a suitable context string.  It should throw an
               exception (error) when failing to find context.  As an
               example, here is a function returning the 10 chars
               following the label macro as context:

                    (defun my-context-function (env-or-mac)
                       (if (> (point-max) (+ 10 (point)))
                           (buffer-substring (point) (+ 10 (point)))
                         (error "Buffer too small")))

          Label context is used in two ways by RefTeX: For display in
          the label menu, and to derive a label string.  If you want to
          use a different method for each of these, specify them as a
          dotted pair.  E.g. `(nil . t)' uses the text after the label
          (`nil') for display, and text from the default position (`t')
          to derive a label string.  This is actually used for section
          labels.

    MAGIC-WORD-LIST
          List of magic words which identify a reference to be of this
          type.  If the word before point is equal to one of these
          words when calling `reftex-reference', the label list offered
          will be automatically restricted to labels of the correct
          type.  If the first element of this word-list is the symbol
          `regexp', the strings are interpreted as regular expressions.

    TOC-LEVEL
          The integer level at which this environment should be added
          to the table of contents.  See also `reftex-section-levels'.
          A positive value will number the entries mixed with the
          sectioning commands of the same level.  A negative value will
          make unnumbered entries.  Useful only for theorem-like
          environments which structure the document.  Will be ignored
          for macros.  When omitted or `nil', no TOC entries will be
          made.

     If the type indicator characters of two or more entries are the
     same, RefTeX will use
        - the first non-`nil' format and prefix

        - the magic words of all involved entries.

     Any list entry may also be a symbol.  If that has an association in
     `reftex-label-alist-builtin', the `cddr' of that association is
     spliced into the list.  However, builtin defaults should normally
     be set with the variable `reftex-default-label-alist-entries'.

 -- User Option: reftex-section-prefixes
     Prefixes for section labels.  When the label prefix given in an
     entry in `reftex-label-alist' contains `%S', this list is used to
     determine the correct prefix string depending on the current
     section level.  The list is an alist, with each entry of the form
     `(KEY . PREFIX)'. Possible keys are sectioning macro names like
     `chapter', integer section levels (as given in
     `reftex-section-levels'), and `t' for the default.

 -- User Option: reftex-default-context-regexps
     Alist with default regular expressions for finding context.  The
     emacs lisp form `(format regexp (regexp-quote environment))' is
     used to calculate the final regular expression - so `%s' will be
     replaced with the environment or macro.

 -- User Option: reftex-trust-label-prefix
     Non-`nil' means, trust the label prefix when determining label
     type.  It is customary to use special label prefixes to
     distinguish different label types.  The label prefixes have no
     syntactic meaning in LaTeX (unless special packages like fancyref)
     are being used.  RefTeX can and by default does parse around each
     label to detect the correct label type, but this process can be
     slow when a document contains thousands of labels.  If you use
     label prefixes consistently, you may speed up document parsing by
     setting this variable to a non-nil value.  RefTeX will then
     compare the label prefix with the prefixes found in
     `reftex-label-alist' and derive the correct label type in this way.
     Possible values for this option are:

          t       This means to trust any label prefixes found.
          regexp  If a regexp, only prefixes matched by the regexp are trusted.
          list    List of accepted prefixes, as strings.  The colon is part of
                  the prefix, e.g. ("fn:" "eqn:" "item:").
          nil     Never trust a label prefix.
     The only disadvantage of using this feature is that the label
     context displayed in the label selection buffer along with each
     label is simply some text after the label definition.  This is no
     problem if you place labels keeping this in mind (e.g. before the
     equation, at the beginning of a fig/tab caption ...).  Anyway, it
     is probably best to use the regexp or the list value types to
     fine-tune this feature.  For example, if your document contains
     thousands of footnotes with labels fn:xxx, you may want to set
     this variable to the value "^fn:$" or ("fn:").  Then RefTeX will
     still do extensive parsing for any non-footnote labels.

File: reftex,  Node: Options (Creating Labels),  Next: Options (Referencing Labels),  Prev: Options (Defining Label Environments),  Up: Options

8.3 Creating Labels
===================

 -- User Option: reftex-insert-label-flags
     Flags governing label insertion.  The value has the form

          (DERIVE PROMPT)

     If DERIVEis `t', RefTeX will try to derive a sensible label from
     context.  A section label for example will be derived from the
     section heading.  The conversion of the context to a valid label is
     governed by the specifications given in
     `reftex-derive-label-parameters'.  If DERIVE is `nil', the default
     label will consist of the prefix and a unique number, like `eq:23'.

     If PROMPT is `t', the user will be prompted for a label string.
     When PROMPT is `nil', the default label will be inserted without
     query.

     So the combination of DERIVE and PROMPT controls label insertion.
     Here is a table describing all four possibilities:

          DERIVE PROMPT ACTION
          -----------------------------------------------------------
          nil    nil    Insert simple label, like `eq:22' or `sec:13'. No query.
          nil    t      Prompt for label.
          t      nil    Derive a label from context and insert. No query.
          t      t      Derive a label from context, prompt for confirmation.

     Each flag may be set to `t', `nil', or a string of label type
     letters indicating the label types for which it should be true.
     Thus, the combination may be set differently for each label type.
     The default settings `"s"' and `"sft"' mean: Derive section labels
     from headings (with confirmation).  Prompt for figure and table
     labels.  Use simple labels without confirmation for everything
     else.

     The available label types are: `s' (section), `f' (figure), `t'
     (table), `i' (item), `e' (equation), `n' (footnote), `N' (endnote)
     plus any definitions in `reftex-label-alist'.

 -- Hook: reftex-format-label-function
     If non-`nil', should be a function which produces the string to
     insert as a label definition.  The function will be called with two
     arguments, the LABEL and the DEFAULT-FORMAT (usually
     `\label{%s}').  It should return the string to insert into the
     buffer.

 -- Hook: reftex-string-to-label-function
     Function to turn an arbitrary string into a valid label.  RefTeX's
     default function uses the variable
     `reftex-derive-label-parameters'.

 -- Hook: reftex-translate-to-ascii-function
     Filter function which will process a context string before it is
     used to derive a label from it.  The intended application is to
     convert ISO or Mule characters into something valid in labels.
     The default function `reftex-latin1-to-ascii' removes the accents
     from Latin-1 characters.  X-Symbol (>=2.6) sets this variable to
     the much more general `x-symbol-translate-to-ascii'.

 -- User Option: reftex-derive-label-parameters
     Parameters for converting a string into a label.  This variable is
     a list of the following items:
    NWORDS
          Number of words to use.

    MAXCHAR
          Maximum number of characters in a label string.

    INVALID
          `nil': Throw away any words containing characters invalid in
          labels.
          `t':   Throw away only the invalid characters, not the whole
          word.

    ABBREV
          `nil': Never abbreviate words.
          `t':   Always abbreviate words (see
          `reftex-abbrev-parameters').
          `1':   Abbreviate words if necessary to shorten label string.

    SEPARATOR
          String separating different words in the label.

    IGNOREWORDS
          List of words which should not be part of labels.

    DOWNCASE
          `t':   Downcase words before putting them into the label.

 -- User Option: reftex-label-illegal-re
     Regexp matching characters not valid in labels.

 -- User Option: reftex-abbrev-parameters
     Parameters for abbreviation of words.  A list of four parameters.
    MIN-CHARS
          Minimum number of characters remaining after abbreviation.

    MIN-KILL
          Minimum number of characters to remove when abbreviating
          words.

    BEFORE
          Character class before abbrev point in word.

    AFTER
          Character class after  abbrev point in word.

File: reftex,  Node: Options (Referencing Labels),  Next: Options (Creating Citations),  Prev: Options (Creating Labels),  Up: Options

8.4 Referencing Labels
======================

 -- User Option: reftex-label-menu-flags
     List of flags governing the label menu makeup. The flags are:
    TABLE-OF-CONTENTS
          Show the labels embedded in a table of context.

    SECTION-NUMBERS
          Include section numbers (like 4.1.3) in table of contents.

    COUNTERS
          Show counters.  This just numbers the labels in the menu.

    NO-CONTEXT
          Non-`nil' means do _not_ show the short context.

    FOLLOW
          Follow full context in other window.

    SHOW-COMMENTED
          Show labels from regions which are commented out.

    MATCH-EVERYWHERE
          Obsolete flag.

    SHOW-FILES
          Show begin and end of included files.

     Each of these flags can be set to `t' or `nil', or to a string of
     type letters indicating the label types for which it should be
     true.  These strings work like character classes in regular
     expressions.  Thus, setting one of the flags to `"sf"' makes the
     flag true for section and figure labels, `nil' for everything
     else.  Setting it to `"^sf"' makes it the other way round.

     The available label types are: `s' (section), `f' (figure), `t'
     (table), `i' (item), `e' (equation), `n' (footnote), plus any
     definitions in `reftex-label-alist'.

     Most options can also be switched from the label menu itself - so
     if you decide here to not have a table of contents in the label
     menu, you can still get one interactively during selection from
     the label menu.

 -- User Option: reftex-multiref-punctuation
     Punctuation strings for multiple references.  When marking is used
     in the selection buffer to select several references, this variable
     associates the 3 marking characters `,-+' with prefix strings to be
     inserted into the buffer before the corresponding `\ref' macro.
     This is used to string together whole reference sets, like `eqs.
     1,2,3-5,6 and 7' in a single call to `reftex-reference'.

 -- User Option: reftex-vref-is-default
     Non-`nil' means, the varioref macro `\vref' is used as default.
     In the selection buffer, the `v' key toggles the reference macro
     between `\ref' and `\vref'.  The value of this variable determines
     the default which is active when entering the selection process.
     Instead of `nil' or `t', this may also be a string of type letters
     indicating the label types for which it should be true.

 -- User Option: reftex-fref-is-default
     Non-`nil' means, the fancyref macro `\fref' is used as default.
     In the selection buffer, the `V' key toggles the reference macro
     between `\ref', `\fref' and `\Fref'.  The value of this variable
     determines the default which is active when entering the selection
     process.  Instead of `nil' or `t', this may also be a string of
     type letters indicating the label types for which it should be
     true.

 -- Hook: reftex-format-ref-function
     If non-`nil', should be a function which produces the string to
     insert as a reference.  Note that the insertion format can also be
     changed with `reftex-label-alist'.  This hook also is used by the
     special commands to insert `\vref' and `\fref' references, so even
     if you set this, your setting will be ignored by the special
     commands.  The function will be called with two arguments, the
     LABEL and the DEFAULT-FORMAT (usually `~\ref{%s}').  It should
     return the string to insert into the buffer.

 -- User Option: reftex-level-indent
     Number of spaces to be used for indentation per section level.

 -- User Option: reftex-guess-label-type
     Non-`nil' means, `reftex-reference' will try to guess the label
     type.  To do that, RefTeX will look at the word before the cursor
     and compare it with the magic words given in `reftex-label-alist'.
     When it finds a match, RefTeX will immediately offer the correct
     label menu - otherwise it will prompt you for a label type.  If
     you set this variable to `nil', RefTeX will always prompt for a
     label type.

 -- Normal Hook: reftex-display-copied-context-hook
     Normal Hook which is run before context is displayed anywhere.
     Designed for `X-Symbol', but may have other uses as well.

 -- Hook: reftex-pre-refontification-functions
     `X-Symbol' specific hook.  Probably not useful for other purposes.
     The functions get two arguments, the buffer from where the command
     started and a symbol indicating in what context the hook is called.

 -- Normal Hook: reftex-select-label-mode-hook
     Normal hook which is run when a selection buffer enters
     `reftex-select-label-mode'.

 -- Keymap: reftex-select-label-map
     The keymap which is active in the labels selection process (*note
     Referencing Labels::).

File: reftex,  Node: Options (Creating Citations),  Next: Options (Index Support),  Prev: Options (Referencing Labels),  Up: Options

8.5 Creating Citations
======================

 -- User Option: reftex-bibliography-commands
     LaTeX commands which specify the BibTeX databases to use with the
     document.

 -- User Option: reftex-bibfile-ignore-regexps
     List of regular expressions to exclude files in
     `\\bibliography{..}'.  File names matched by any of these regexps
     will not be parsed.  Intended for files which contain only
     `@string' macro definitions and the like, which are ignored by
     RefTeX anyway.

 -- User Option: reftex-default-bibliography
     List of BibTeX database files which should be used if none are
     specified.  When `reftex-citation' is called from a document with
     neither a `\bibliography{...}' statement nor a `thebibliography'
     environment, RefTeX will scan these files instead.  Intended for
     using `reftex-citation' in non-LaTeX files.  The files will be
     searched along the BIBINPUTS or TEXBIB path.

 -- User Option: reftex-sort-bibtex-matches
     Sorting of the entries found in BibTeX databases by
     reftex-citation.  Possible values:
          nil          Do not sort entries.
          author       Sort entries by author name.
          year         Sort entries by increasing year.
          reverse-year Sort entries by decreasing year.

 -- User Option: reftex-cite-format
     The format of citations to be inserted into the buffer.  It can be
     a string, an alist or a symbol.  In the simplest case this is just
     the string `\cite{%l}', which is also the default.  See the
     definition of `reftex-cite-format-builtin' for more complex
     examples.

     If `reftex-cite-format' is a string, it will be used as the format.
     In the format, the following percent escapes will be expanded.

    `%l'
          The BibTeX label of the citation.

    `%a'
          List of author names, see also `reftex-cite-punctuation'.

    `%2a'
          Like %a, but abbreviate more than 2 authors like Jones et al.

    `%A'
          First author name only.

    `%e'
          Works like `%a', but on list of editor names. (`%2e' and `%E'
          work a well).

     It is also possible to access all other BibTeX database fields:

          %b booktitle     %c chapter        %d edition    %h howpublished
          %i institution   %j journal        %k key        %m month
          %n number        %o organization   %p pages      %P first page
          %r address       %s school         %u publisher  %t title
          %v volume        %y year
          %B booktitle, abbreviated          %T title, abbreviated

     Usually, only `%l' is needed.  The other stuff is mainly for the
     echo area display, and for `(setq reftex-comment-citations t)'.

     `%<' as a special operator kills punctuation and space around it
     after the string has been formatted.

     A pair of square brackets indicates an optional argument, and
     RefTeX will prompt for the values of these arguments.

     Beware that all this only works with BibTeX database files.  When
     citations are made from the `\bibitems' in an explicit
     `thebibliography' environment, only `%l' is available.

     If `reftex-cite-format' is an alist of characters and strings, the
     user will be prompted for a character to select one of the possible
     format strings.

     In order to configure this variable, you can either set
     `reftex-cite-format' directly yourself or set it to the _symbol_
     of one of the predefined styles.  The predefined symbols are those
     which have an association in the constant
     `reftex-cite-format-builtin')  E.g.: `(setq reftex-cite-format
     'natbib)'.

 -- Hook: reftex-format-cite-function
     If non-`nil', should be a function which produces the string to
     insert as a citation.  Note that the citation format can also be
     changed with the variable `reftex-cite-format'.  The function will
     be called with two arguments, the CITATION-KEY and the
     DEFAULT-FORMAT (taken from `reftex-cite-format').  It should
     return the string to insert into the buffer.

 -- User Option: reftex-cite-prompt-optional-args
     Non-`nil' means, prompt for empty optional arguments in cite
     macros.  When an entry in `reftex-cite-format' ist given with
     square brackets to indicate optional arguments (for example
     `\\cite[][]{%l}'), RefTeX can prompt for values.  Possible values
     are:
          nil     Never prompt for optional arguments
          t       Always prompt
          maybe   Prompt only if `reftex-citation' was called with C-u prefix arg
     Unnecessary empty optional arguments are removed before insertion
     into the buffer.  See `reftex-cite-cleanup-optional-args'.

 -- User Option: reftex-cite-cleanup-optional-args
     Non-`nil' means, remove empty optional arguments from cite macros
     if possible.

 -- User Option: reftex-comment-citations
     Non-`nil' means add a comment for each citation describing the full
     entry.  The comment is formatted according to
     `reftex-cite-comment-format'.

 -- User Option: reftex-cite-comment-format
     Citation format used for commented citations.  Must _not_ contain
     `%l'.  See the variable `reftex-cite-format' for possible percent
     escapes.

 -- User Option: reftex-cite-punctuation
     Punctuation for formatting of name lists in citations.  This is a
     list of 3 strings.
       1. normal names separator, like `, ' in Jones, Brown and Miller

       2. final names separator, like ` and '  in Jones, Brown and
          Miller

       3. The `et al.' string, like ` {\it et al.}' in Jones {\it et
          al.}

 -- Normal Hook: reftex-select-bib-mode-hook
     Normal hook which is run when a selection buffer enters
     `reftex-select-bib-mode'.

 -- Keymap: reftex-select-bib-map
     The keymap which is active in the citation-key selection process
     (*note Creating Citations::).

File: reftex,  Node: Options (Index Support),  Next: Options (Viewing Cross-References),  Prev: Options (Creating Citations),  Up: Options

8.6 Index Support
=================

 -- User Option: reftex-support-index
     Non-`nil' means, index entries are parsed as well.  Index support
     is resource intensive and the internal structure holding the parsed
     information can become quite big.  Therefore it can be turned off.
     When this is `nil' and you execute a command which requires index
     support, you will be asked for confirmation to turn it on and
     rescan the document.

 -- User Option: reftex-index-special-chars
     List of special characters in index entries, given as strings.
     These correspond to the `MakeIndex' keywords `(LEVEL ENCAP ACTUAL
     QUOTE ESCAPE)'.

 -- User Option: reftex-index-macros
     List of macros which define index entries.  The structure of each
     entry is
          (MACRO INDEX-TAG KEY PREFIX EXCLUDE REPEAT)

     MACRO is the macro.  Arguments should be denoted by empty braces,
     as for example in `\index[]{*}'.  Use square brackets to denote
     optional arguments.  The star marks where the index key is.

     INDEX-TAG is a short name of the index.  `idx' and `glo' are
     reserved for the default index and the glossary.  Other indices can
     be defined as well.  If this is an integer, the Nth argument of the
     macro holds the index tag.

     KEY is a character which is used to identify the macro for input
     with `reftex-index'.  `?i', `?I', and `?g' are reserved for
     default index and glossary.

     PREFIX can be a prefix which is added to the KEY part of the index
     entry.  If you have a macro
     `\newcommand{\molec}[1]{#1\index{Molecules!#1}', this prefix
     should be `Molecules!'.

     EXCLUDE can be a function.  If this function exists and returns a
     non-`nil' value, the index entry at point is ignored.  This was
     implemented to support the (deprecated) `^' and `_' shortcuts in
     the LaTeX2e `index' package.

     REPEAT, if non-`nil', means the index macro does not typeset the
     entry in the text, so that the text has to be repeated outside the
     index macro.  Needed for `reftex-index-selection-or-word' and for
     indexing from the phrase buffer.

     The final entry may also be a symbol.  It must have an association
     in the variable `reftex-index-macros-builtin' to specify the main
     indexing package you are using.  Valid values are currently
          default         The LaTeX default - unnecessary to specify this one
          multind         The multind.sty package
          index           The index.sty package
          index-shortcut  The index.sty packages with the ^ and _ shortcuts.
                          Should not be used - only for old documents
     Note that AUCTeX sets these things internally for RefTeX as well,
     so with a sufficiently new version of AUCTeX, you should not set
     the package here.

 -- User Option: reftex-index-default-macro
     The default index macro for `reftex-index-selection-or-word'.
     This is a list with `(MACRO-KEY DEFAULT-TAG)'.

     MACRO-KEY is a character identifying an index macro - see
     `reftex-index-macros'.

     DEFAULT-TAG is the tag to be used if the macro requires a TAG
     argument.  When this is `nil' and a TAG is needed, RefTeX will ask
     for it.  When this is the empty string and the TAG argument of the
     index macro is optional, the TAG argument will be omitted.

 -- User Option: reftex-index-default-tag
     Default index tag.  When working with multiple indexes, RefTeX
     queries for an index tag when creating index entries or displaying
     a specific index.  This variable controls the default offered for
     these queries.  The default can be selected with <RET> during
     selection or completion.  Valid values of this variable are:
          nil        Do not provide a default index
          "tag"      The default index tag given as a string, e.g. "idx"
          last       The last used index tag will be offered as default

 -- User Option: reftex-index-math-format
     Format of index entries when copied from inside math mode.  When
     `reftex-index-selection-or-word' is executed inside TeX math mode,
     the index key copied from the buffer is processed with this format
     string through the `format' function.  This can be used to add the
     math delimiters (e.g. `$') to the string.  Requires the
     `texmathp.el' library which is part of AUCTeX.

 -- User Option: reftex-index-phrase-file-extension
     File extension for the index phrase file.  This extension will be
     added to the base name of the master file.

 -- User Option: reftex-index-phrases-logical-and-regexp
     Regexp matching the `and' operator for index arguments in phrases
     file.  When several index arguments in a phrase line are separated
     by this operator, each part will generate an index macro.  So each
     match of the search phrase will produce _several_ different index
     entries.  Make sure this does no match things which are not
     separators.  This logical `and' has higher priority than the
     logical `or' specified in `reftex-index-phrases-logical-or-regexp'.

 -- User Option: reftex-index-phrases-logical-or-regexp
     Regexp matching the `or' operator for index arguments in phrases
     file.  When several index arguments in a phrase line are separated
     by this operator, the user will be asked to select one of them at
     each match of the search phrase.  The first index arg will be the
     default.  A number key `1'-`9' must be pressed to switch to
     another.  Make sure this does no match things which are not
     separators.  The logical `and' specified in
     `reftex-index-phrases-logical-or-regexp' has higher priority than
     this logical `or'.

 -- User Option: reftex-index-phrases-search-whole-words
     Non-`nil' means phrases search will look for whole words, not
     subwords.  This works by requiring word boundaries at the
     beginning and end of the search string.  When the search phrase
     already has a non-word-char at one of these points, no word
     boundary is required there.

 -- User Option: reftex-index-phrases-case-fold-search
     Non-`nil' means, searching for index phrases will ignore case.

 -- User Option: reftex-index-verify-function
     A function which is called at each match during global indexing.
     If the function returns nil, the current match is skipped.

 -- User Option: reftex-index-phrases-skip-indexed-matches
     Non-`nil' means, skip matches which appear to be indexed already.
     When doing global indexing from the phrases buffer, searches for
     some phrases may match at places where that phrase was already
     indexed.  In particular when indexing an already processed
     document again, this will even be the norm.  When this variable is
     non-`nil', RefTeX checks if the match is an index macro argument,
     or if an index macro is directly before or after the phrase.  If
     that is the case, that match will be ignored.

 -- User Option: reftex-index-phrases-wrap-long-lines
     Non-`nil' means, when indexing from the phrases buffer, wrap lines.
     Inserting indexing commands in a line makes the line longer - often
     so long that it does not fit onto the screen.  When this variable
     is non-`nil', newlines will be added as necessary before and/or
     after the indexing command to keep lines short.  However, the
     matched text phrase and its index command will always end up on a
     single line.

 -- User Option: reftex-index-phrases-sort-prefers-entry
     Non-`nil' means when sorting phrase lines, the explicit index entry
     is used. Phrase lines in the phrases buffer contain a search
     phrase, and sorting is normally based on these.  Some phrase lines
     also have an explicit index argument specified.  When this
     variable is non-`nil', the index argument will be used for sorting.

 -- User Option: reftex-index-phrases-sort-in-blocks
     Non-`nil' means, empty and comment lines separate phrase buffer
     into blocks.  Sorting will then preserve blocks, so that lines are
     re-arranged only within blocks.

 -- User Option: reftex-index-phrases-map
     Keymap for the Index Phrases buffer.

 -- User Option: reftex-index-phrases-mode-hook
     Normal hook which is run when a buffer is put into
     `reftex-index-phrases-mode'.

 -- User Option: reftex-index-section-letters
     The letters which denote sections in the index.  Usually these are
     all capital letters.  Don't use any downcase letters.  Order is not
     significant, the index will be sorted by whatever the sort function
     thinks is correct.  In addition to these letters, RefTeX will
     create a group `!' which contains all entries sorted below the
     lowest specified letter.  In the `*Index*' buffer, pressing any of
     these capital letters or `!' will jump to that section.

 -- User Option: reftex-index-include-context
     Non-`nil' means, display the index definition context in the
     `*Index*' buffer.  This flag may also be toggled from the
     `*Index*' buffer with the `c' key.

 -- User Option: reftex-index-follow-mode
     Non-`nil' means, point in `*Index*' buffer will cause other window
     to follow.  The other window will show the corresponding part of
     the document.  This flag can be toggled from within the `*Index*'
     buffer with the `f' key.

 -- Keymap: reftex-index-map
     The keymap which is active in the `*Index*' buffer (*note Index
     Support::).

File: reftex,  Node: Options (Viewing Cross-References),  Next: Options (Finding Files),  Prev: Options (Index Support),  Up: Options

8.7 Viewing Cross-References
============================

 -- User Option: reftex-view-crossref-extra
     Macros which can be used for the display of cross references.
     This is used when `reftex-view-crossref' is called with point in an
     argument of a macro.  Note that crossref viewing for citations,
     references (both ways) and index entries is hard-coded.  This
     variable is only to configure additional structures for which
     crossreference viewing can be useful.  Each entry has the structure
          (MACRO-RE SEARCH-RE HIGHLIGHT).
     MACRO-RE is matched against the macro.  SEARCH-RE is the regexp
     used to search for cross references.  `%s' in this regexp is
     replaced with the macro argument at point.  HIGHLIGHT is an
     integer indicating which subgroup of the match should be
     highlighted.

 -- User Option: reftex-auto-view-crossref
     Non-`nil' means, initially turn automatic viewing of crossref info
     on.  Automatic viewing of crossref info normally uses the echo
     area.  Whenever point is idle for more than `reftex-idle-time'
     seconds on the argument of a `\ref' or `\cite' macro, and no other
     message is being displayed, the echo area will display information
     about that cross reference.  You can also set the variable to the
     symbol `window'.  In this case a small temporary window is used
     for the display.  This feature can be turned on and off from the
     menu (Ref->Options).

 -- User Option: reftex-idle-time
     Time (secs) Emacs has to be idle before automatic crossref display
     or toc recentering is done.

 -- User Option: reftex-cite-view-format
     Citation format used to display citation info in the message area.
     See the variable `reftex-cite-format' for possible percent escapes.

 -- User Option: reftex-revisit-to-echo
     Non-`nil' means, automatic citation display will revisit files if
     necessary.  When nil, citation display in echo area will only be
     active for cached echo strings (see `reftex-cache-cite-echo'), or
     for BibTeX database files which are already visited by a live
     associated buffers.

 -- User Option: reftex-cache-cite-echo
     Non-`nil' means, the information displayed in the echo area for
     cite macros (see variable `reftex-auto-view-crossref') is cached
     and saved along with the parsing information.  The cache survives
     document scans.  In order to clear it, use `M-x reftex-reset-mode'.

File: reftex,  Node: Options (Finding Files),  Next: Options (Optimizations),  Prev: Options (Viewing Cross-References),  Up: Options

8.8 Finding Files
=================

 -- User Option: reftex-texpath-environment-variables
     List of specifications how to retrieve the search path for TeX
     files.  Several entries are possible.
        - If an element is the name of an environment variable, its
          content is used.

        - If an element starts with an exclamation mark, it is used as
          a command to retrieve the path.  A typical command with the
          kpathsearch library would be `"!kpsewhich -show-path=.tex"'.

        - Otherwise the element itself is interpreted as a path.
     Multiple directories can be separated by the system dependent
     `path-separator'.  Directories ending in `//' or `!!' will be
     expanded recursively.  See also `reftex-use-external-file-finders'.

 -- User Option: reftex-bibpath-environment-variables
     List of specifications how to retrieve the search path for BibTeX
     files.  Several entries are possible.
        - If an element is the name of an environment variable, its
          content is used.

        - If an element starts with an exclamation mark, it is used as
          a command to retrieve the path.  A typical command with the
          kpathsearch library would be `"!kpsewhich -show-path=.bib"'.

        - Otherwise the element itself is interpreted as a path.
     Multiple directories can be separated by the system dependent
     `path-separator'.  Directories ending in `//' or `!!' will be
     expanded recursively.  See also `reftex-use-external-file-finders'.

 -- User Option: reftex-file-extensions
     Association list with file extensions for different file types.
     This is a list of items, each item is like: `(TYPE . (DEF-EXT
     OTHER-EXT ...))'
          TYPE:       File type like `"bib"' or `"tex"'.
          DEF-EXT:    The default extension for that file type, like `".tex"' or `".bib"'.
          OTHER-EXT:  Any number of other valid extensions for this file type.
     When a files is searched and it does not have any of the valid
     extensions, we try the default extension first, and then the naked
     file name.

 -- User Option: reftex-search-unrecursed-path-first
     Non-`nil' means, search all specified directories before trying
     recursion.  Thus, in a path `.//:/tex/', search first `./', then
     `/tex/', and then all subdirectories of `./'.  If this option is
     `nil', the subdirectories of `./' are searched before `/tex/'.
     This is mainly for speed - most of the time the recursive path is
     for the system files and not for the user files.  Set this to
     `nil' if the default makes RefTeX finding files with equal names
     in wrong sequence.

 -- User Option: reftex-use-external-file-finders
     Non-`nil' means, use external programs to find files.  Normally,
     RefTeX searches the paths given in the environment variables
     `TEXINPUTS' and `BIBINPUTS' to find TeX files and BibTeX database
     files.  With this option turned on, it calls an external program
     specified in the option `reftex-external-file-finders' instead.
     As a side effect, the variables
     `reftex-texpath-environment-variables' and
     `reftex-bibpath-environment-variables' will be ignored.

 -- User Option: reftex-external-file-finders
     Association list with external programs to call for finding files.
     Each entry is a cons cell `(TYPE . PROGRAM)'.  TYPE is either
     `"tex"' or `"bib"'.  PROGRAM is a string containing the external
     program to use with any arguments.  `%f' will be replaced by the
     name of the file to be found.  Note that these commands will be
     executed directly, not via a shell.  Only relevant when
     `reftex-use-external-file-finders' is non-`nil'.

File: reftex,  Node: Options (Optimizations),  Next: Options (Fontification),  Prev: Options (Finding Files),  Up: Options

8.9 Optimizations
=================

 -- User Option: reftex-keep-temporary-buffers
     Non-`nil' means, keep buffers created for parsing and lookup.
     RefTeX sometimes needs to visit files related to the current
     document.  We distinguish files visited for
    PARSING
          Parts of a multifile document loaded when (re)-parsing the
          document.

    LOOKUP
          BibTeX database files and TeX files loaded to find a
          reference, to display label context, etc.
     The created buffers can be kept for later use, or be thrown away
     immediately after use, depending on the value of this variable:

    `nil'
          Throw away as much as possible.

    `t'
          Keep everything.

    `1'
          Throw away buffers created for parsing, but keep the ones
          created for lookup.

     If a buffer is to be kept, the file is visited normally (which is
     potentially slow but will happen only once). If a buffer is to be
     thrown away, the initialization of the buffer depends upon the
     variable `reftex-initialize-temporary-buffers'.

 -- User Option: reftex-initialize-temporary-buffers
     Non-`nil' means do initializations even when visiting file
     temporarily.  When `nil', RefTeX may turn off find-file hooks and
     other stuff to briefly visit a file. When `t', the full default
     initializations are done (`find-file-hook' etc.).  Instead of `t'
     or `nil', this variable may also be a list of hook functions to do
     a minimal initialization.

 -- User Option: reftex-no-include-regexps
     List of regular expressions to exclude certain input files from
     parsing.  If the name of a file included via `\include' or
     `\input' is matched by any of the regular expressions in this
     list, that file is not parsed by RefTeX.

 -- User Option: reftex-enable-partial-scans
     Non-`nil' means, re-parse only 1 file when asked to re-parse.
     Re-parsing is normally requested with a `C-u' prefix to many RefTeX
     commands, or with the `r' key in menus.  When this option is `t'
     in a multifile document, we will only parse the current buffer, or
     the file associated with the label or section heading near point
     in a menu.  Requesting re-parsing of an entire multifile document
     then requires a `C-u C-u' prefix or the capital `R' key in menus.

 -- User Option: reftex-save-parse-info
     Non-`nil' means, save information gathered with parsing in files.
     The file `MASTER.rel' in the same directory as `MASTER.tex' is
     used to save the information.  When this variable is `t',
        - accessing the parsing information for the first time in an
          editing session will read that file (if available) instead of
          parsing the document.

        - exiting Emacs or killing a buffer in reftex-mode will cause a
          new version of the file to be written.

 -- User Option: reftex-parse-file-extension
     File extension for the file in which parser information is stored.
     This extension is added to the base name of the master file.

 -- User Option: reftex-allow-automatic-rescan
     Non-`nil' means, RefTeX may rescan the document when this seems
     necessary.  Applies (currently) only in rare cases, when a new
     label cannot be placed with certainty into the internal label list.

 -- User Option: reftex-use-multiple-selection-buffers
     Non-`nil' means use a separate selection buffer for each label
     type.  These buffers are kept from one selection to the next and
     need not to be created for each use - so the menu generally comes
     up faster.  The selection buffers will be erased (and therefore
     updated) automatically when new labels in its category are added.
     See the variable `reftex-auto-update-selection-buffers'.

 -- User Option: reftex-auto-update-selection-buffers
     Non-`nil' means, selection buffers will be updated automatically.
     When a new label is defined with `reftex-label', all selection
     buffers associated with that label category are emptied, in order
     to force an update upon next use.  When `nil', the buffers are left
     alone and have to be updated by hand, with the `g' key from the
     label selection process.  The value of this variable will only
     have any effect when `reftex-use-multiple-selection-buffers' is
     non-`nil'.

File: reftex,  Node: Options (Fontification),  Next: Options (Misc),  Prev: Options (Optimizations),  Up: Options

8.10 Fontification
==================

 -- User Option: reftex-use-fonts
     Non-`nil' means, use fonts in label menu and on-the-fly help.
     Font-lock must be loaded as well to actually get fontified
     display.  After changing this option, a rescan may be necessary to
     activate it.

 -- User Option: reftex-refontify-context
     Non-`nil' means, re-fontify the context in the label menu with
     font-lock.  This slightly slows down the creation of the label
     menu.  It is only necessary when you definitely want the context
     fontified.

     This option may have 3 different values:
    `nil'
          Never refontify.

    `t'
          Always refontify.

    `1'
          Refontify when necessary, e.g. with old versions of the
          x-symbol package.
     The option is ignored when `reftex-use-fonts' is `nil'.

 -- User Option: reftex-highlight-selection
     Non-`nil' means, highlight selected text in selection and `*toc*'
     buffers.  Normally, the text near the cursor is the _selected_
     text, and it is highlighted.  This is the entry most keys in the
     selection and `*toc*' buffers act on.  However, if you mainly use
     the mouse to select an item, you may find it nice to have
     mouse-triggered highlighting _instead_ or _as well_. The variable
     may have one of these values:

          nil      No highlighting.
          cursor   Highlighting is cursor driven.
          mouse    Highlighting is mouse driven.
          both     Both cursor and mouse trigger highlighting.

     Changing this variable requires to rebuild the selection and *toc*
     buffers to become effective (keys `g' or `r').

 -- User Option: reftex-cursor-selected-face
     Face name to highlight cursor selected item in toc and selection
     buffers.  See also the variable `reftex-highlight-selection'.

 -- User Option: reftex-mouse-selected-face
     Face name to highlight mouse selected item in toc and selection
     buffers.  See also the variable `reftex-highlight-selection'.

 -- User Option: reftex-file-boundary-face
     Face name for file boundaries in selection buffer.

 -- User Option: reftex-label-face
     Face name for labels in selection buffer.

 -- User Option: reftex-section-heading-face
     Face name for section headings in toc and selection buffers.

 -- User Option: reftex-toc-header-face
     Face name for the header of a toc buffer.

 -- User Option: reftex-bib-author-face
     Face name for author names in bib selection buffer.

 -- User Option: reftex-bib-year-face
     Face name for year in bib selection buffer.

 -- User Option: reftex-bib-title-face
     Face name for article title in bib selection buffer.

 -- User Option: reftex-bib-extra-face
     Face name for bibliographic information in bib selection buffer.

 -- User Option: reftex-select-mark-face
     Face name for marked entries in the selection buffers.

 -- User Option: reftex-index-header-face
     Face name for the header of an index buffer.

 -- User Option: reftex-index-section-face
     Face name for the start of a new letter section in the index.

 -- User Option: reftex-index-tag-face
     Face name for index names (for multiple indices).

 -- User Option: reftex-index-face
     Face name for index entries.

File: reftex,  Node: Options (Misc),  Prev: Options (Fontification),  Up: Options

8.11 Miscellaneous
==================

 -- User Option: reftex-extra-bindings
     Non-`nil' means, make additional key bindings on startup.  These
     extra bindings are located in the users `C-c letter' map.  *Note
     Key Bindings::.

 -- User Option: reftex-plug-into-AUCTeX
     Plug-in flags for AUCTeX interface.  This variable is a list of 5
     boolean flags.  When a flag is non-`nil', RefTeX will

          - supply labels in new sections and environments  (flag 1)
          - supply arguments for macros like `\label'         (flag 2)
          - supply arguments for macros like `\ref'           (flag 3)
          - supply arguments for macros like `\cite'          (flag 4)
          - supply arguments for macros like `\index'         (flag 5)

     You may also set the variable itself to t or nil in order to turn
     all options on or off, respectively.
     Supplying labels in new sections and environments applies when
     creating sections with `C-c C-s' and environments with `C-c C-e'.
     Supplying macro arguments applies when you insert such a macro
     interactively with `C-c <RET>'.
     See the AUCTeX documentation for more information.

 -- User Option: reftex-revisit-to-follow
     Non-`nil' means, follow-mode will revisit files if necessary.
     When nil, follow-mode will be suspended for stuff in unvisited
     files.

 -- User Option: reftex-allow-detached-macro-args
     Non-`nil' means, allow arguments of macros to be detached by
     whitespace.  When this is `t', the `aaa' in `\bbb [xxx] {aaa}'
     will be considered an argument of `\bb'.  Note that this will be
     the case even if `\bb' is defined with zero or one argument.

File: reftex,  Node: Keymaps and Hooks,  Next: Changes,  Prev: Options,  Up: Top

8.12 Keymaps and Hooks
======================

RefTeX has the usual general keymap and load- and mode-hook.

 -- Keymap: reftex-mode-map
     The keymap for RefTeX mode.

 -- Normal Hook: reftex-load-hook
     Normal hook which is being run when loading `reftex.el'.

 -- Normal Hook: reftex-mode-hook
     Normal hook which is being run when turning on RefTeX mode.

   Furthermore, the 4 modes used for referencing labels, creating
citations, the table of contents buffer and the phrases buffer have
their own keymaps and mode hooks.  See the respective sections.  There
are many more hooks which are described in the relevant sections about
options for a specific part of RefTeX.

File: reftex,  Node: Changes,  Next: GNU Free Documentation License,  Prev: Keymaps and Hooks,  Up: Top

9 Changes
*********

Here is a list of recent changes to RefTeX.

Version 4.28
   * Support for the Jurabib package.

   * Improvements when selecting several items in a selection buffer.

Version 4.26
   * Support for global incremental search.

   * Some improvements for XEmacs compatibility.

Version 4.25
   * Fixed bug with `%F' in a label prefix.  Added new escapes `%m' and
     `%M' for mater file name and master directory.

Version 4.24
   * Inserting citation commands now prompts for optional arguments
     when called with a prefix argument.  Related new options are
     `reftex-cite-prompt-optional-args' and
     `reftex-cite-cleanup-optional-args'.

   * New option `reftex-trust-label-prefix'.  Configure this variable
     if you'd like RefTeX to base its classification of labels on
     prefixes.  This can speed-up document parsing, but may in some
     cases reduce the quality of the context used by RefTeX to describe
     a label.

   * Fixed bug in `reftex-create-bibtex-file' when
     `reftex-comment-citations' is non-nil.

   * Fixed bugs in indexing: Case-sensitive search, quotes before and/or
     after words.  Disabled indexing in comment lines.

Version 4.22
   * New command `reftex-create-bibtex-file' to create a new database
     with all entries referenced in the current document.

   * New keys `e' and `E' allow to produce a BibTeX database file from
     entries marked in a citation selection buffer.

Version 4.21
   * Renaming labels from the toc buffer with key `M-%'.

Version 4.20
   * Structure editing capabilities.  The command keys `<' and `>' in
     the TOC buffer promote/demote the section at point or all sections
     in the current region.

   * New option `reftex-toc-split-windows-fraction' to set the size of
     the window used by the TOC.  This makes the old variable
     `reftex-toc-split-windows-horizontally-fraction' obsolete.

   * A dedicated frame can show the TOC with the current section always
     automatically highlighted.  The frame is created and deleted from
     the toc buffer with the `d' key.

Version 4.19
   * New command `reftex-toc-recenter' (`C-c -') which shows the current
     section in the TOC buffer without selecting the TOC window.

   * Recentering happens automatically in idle time when the option
     `reftex-auto-recenter-toc' is turned on.

   * Fixed several bugs related to automatic cursor positioning in the
     TOC buffer.

   * The highlight in the TOC buffer stays when the focus moves to a
     different window.

   * New command `reftex-goto-label'.

   * Part numbers are no longer included in chapter numbers, and a new
     part does not reset the chapter counter.  See new option
     `reftex-part-resets-chapter'.

Version 4.18
   * `reftex-citation' uses the word before the cursor as a default
     search string.

   * Simplified several regular expressions for speed.

   * Better support for chapterbib.

Version 4.17
   * The toc window can be split off horizontally.  See new options
     `reftex-toc-split-windows-horizontally',
     `reftex-toc-split-windows-horizontally-fraction'.

   * It is possible to specify a function which verifies an index match
     during global indexing.  See new option
     `reftex-index-verify-function'.

   * The macros which input a file in LaTeX (like \input, \include) can
     be configured.  See new option `reftex-include-file-commands'.

   * The macros which specify the bibliography file (like
     \bibliography) can be configured.  See new option
     `reftex-bibliography-commands'.

   * The regular expression used to search for the \bibliography macro
     has been relaxed to allow for `{\bibliography{...}}' needed by
     chapterbib.

   * Small bug fixes.

Version 4.15
   * Fixed bug with parsing of BibTeX files, when fields contain quotes
     or unmatched parenthesis.

   * Small bug fixes.

   * Improved interaction with Emacs LaTeX mode.

Version 4.12
   * Support for `bibentry' citation style.

Version 4.11
   * Fixed bug which would parse `\Section' just like `\section'.

Version 4.10
   * Renamed `reftex-vcr.el' to `reftex-dcr.el' because of conflict
     with `reftex-vars.el' on DOS machines.

   * New options `reftex-parse-file-extension' and
     `reftex-index-phrase-file-extension'.

[.....]

Version 1.00
   * released on 7 Jan 1997.

File: reftex,  Node: GNU Free Documentation License,  Next: Index,  Prev: Changes,  Up: Top

Appendix A GNU Free Documentation License
*****************************************

                     Version 1.3, 3 November 2008

     Copyright (C) 2000, 2001, 2002, 2007, 2008, 2009 Free Software Foundation, Inc.
     `http://fsf.org/'

     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.

  0. PREAMBLE

     The purpose of this License is to make a manual, textbook, or other
     functional and useful document "free" in the sense of freedom: to
     assure everyone the effective freedom to copy and redistribute it,
     with or without modifying it, either commercially or
     noncommercially.  Secondarily, this License preserves for the
     author and publisher a way to get credit for their work, while not
     being considered responsible for modifications made by others.

     This License is a kind of "copyleft", which means that derivative
     works of the document must themselves be free in the same sense.
     It complements the GNU General Public License, which is a copyleft
     license designed for free software.

     We have designed this License in order to use it for manuals for
     free software, because free software needs free documentation: a
     free program should come with manuals providing the same freedoms
     that the software does.  But this License is not limited to
     software manuals; it can be used for any textual work, regardless
     of subject matter or whether it is published as a printed book.
     We recommend this License principally for works whose purpose is
     instruction or reference.

  1. APPLICABILITY AND DEFINITIONS

     This License applies to any manual or other work, in any medium,
     that contains a notice placed by the copyright holder saying it
     can be distributed under the terms of this License.  Such a notice
     grants a world-wide, royalty-free license, unlimited in duration,
     to use that work under the conditions stated herein.  The
     "Document", below, refers to any such manual or work.  Any member
     of the public is a licensee, and is addressed as "you".  You
     accept the license if you copy, modify or distribute the work in a
     way requiring permission under copyright law.

     A "Modified Version" of the Document means any work containing the
     Document or a portion of it, either copied verbatim, or with
     modifications and/or translated into another language.

     A "Secondary Section" is a named appendix or a front-matter section
     of the Document that deals exclusively with the relationship of the
     publishers or authors of the Document to the Document's overall
     subject (or to related matters) and contains nothing that could
     fall directly within that overall subject.  (Thus, if the Document
     is in part a textbook of mathematics, a Secondary Section may not
     explain any mathematics.)  The relationship could be a matter of
     historical connection with the subject or with related matters, or
     of legal, commercial, philosophical, ethical or political position
     regarding them.

     The "Invariant Sections" are certain Secondary Sections whose
     titles are designated, as being those of Invariant Sections, in
     the notice that says that the Document is released under this
     License.  If a section does not fit the above definition of
     Secondary then it is not allowed to be designated as Invariant.
     The Document may contain zero Invariant Sections.  If the Document
     does not identify any Invariant Sections then there are none.

     The "Cover Texts" are certain short passages of text that are
     listed, as Front-Cover Texts or Back-Cover Texts, in the notice
     that says that the Document is released under this License.  A
     Front-Cover Text may be at most 5 words, and a Back-Cover Text may
     be at most 25 words.

     A "Transparent" copy of the Document means a machine-readable copy,
     represented in a format whose specification is available to the
     general public, that is suitable for revising the document
     straightforwardly with generic text editors or (for images
     composed of pixels) generic paint programs or (for drawings) some
     widely available drawing editor, and that is suitable for input to
     text formatters or for automatic translation to a variety of
     formats suitable for input to text formatters.  A copy made in an
     otherwise Transparent file format whose markup, or absence of
     markup, has been arranged to thwart or discourage subsequent
     modification by readers is not Transparent.  An image format is
     not Transparent if used for any substantial amount of text.  A
     copy that is not "Transparent" is called "Opaque".

     Examples of suitable formats for Transparent copies include plain
     ASCII without markup, Texinfo input format, LaTeX input format,
     SGML or XML using a publicly available DTD, and
     standard-conforming simple HTML, PostScript or PDF designed for
     human modification.  Examples of transparent image formats include
     PNG, XCF and JPG.  Opaque formats include proprietary formats that
     can be read and edited only by proprietary word processors, SGML or
     XML for which the DTD and/or processing tools are not generally
     available, and the machine-generated HTML, PostScript or PDF
     produced by some word processors for output purposes only.

     The "Title Page" means, for a printed book, the title page itself,
     plus such following pages as are needed to hold, legibly, the
     material this License requires to appear in the title page.  For
     works in formats which do not have any title page as such, "Title
     Page" means the text near the most prominent appearance of the
     work's title, preceding the beginning of the body of the text.

     The "publisher" means any person or entity that distributes copies
     of the Document to the public.

     A section "Entitled XYZ" means a named subunit of the Document
     whose title either is precisely XYZ or contains XYZ in parentheses
     following text that translates XYZ in another language.  (Here XYZ
     stands for a specific section name mentioned below, such as
     "Acknowledgements", "Dedications", "Endorsements", or "History".)
     To "Preserve the Title" of such a section when you modify the
     Document means that it remains a section "Entitled XYZ" according
     to this definition.

     The Document may include Warranty Disclaimers next to the notice
     which states that this License applies to the Document.  These
     Warranty Disclaimers are considered to be included by reference in
     this License, but only as regards disclaiming warranties: any other
     implication that these Warranty Disclaimers may have is void and
     has no effect on the meaning of this License.

  2. VERBATIM COPYING

     You may copy and distribute the Document in any medium, either
     commercially or noncommercially, provided that this License, the
     copyright notices, and the license notice saying this License
     applies to the Document are reproduced in all copies, and that you
     add no other conditions whatsoever to those of this License.  You
     may not use technical measures to obstruct or control the reading
     or further copying of the copies you make or distribute.  However,
     you may accept compensation in exchange for copies.  If you
     distribute a large enough number of copies you must also follow
     the conditions in section 3.

     You may also lend copies, under the same conditions stated above,
     and you may publicly display copies.

  3. COPYING IN QUANTITY

     If you publish printed copies (or copies in media that commonly
     have printed covers) of the Document, numbering more than 100, and
     the Document's license notice requires Cover Texts, you must
     enclose the copies in covers that carry, clearly and legibly, all
     these Cover Texts: Front-Cover Texts on the front cover, and
     Back-Cover Texts on the back cover.  Both covers must also clearly
     and legibly identify you as the publisher of these copies.  The
     front cover must present the full title with all words of the
     title equally prominent and visible.  You may add other material
     on the covers in addition.  Copying with changes limited to the
     covers, as long as they preserve the title of the Document and
     satisfy these conditions, can be treated as verbatim copying in
     other respects.

     If the required texts for either cover are too voluminous to fit
     legibly, you should put the first ones listed (as many as fit
     reasonably) on the actual cover, and continue the rest onto
     adjacent pages.

     If you publish or distribute Opaque copies of the Document
     numbering more than 100, you must either include a
     machine-readable Transparent copy along with each Opaque copy, or
     state in or with each Opaque copy a computer-network location from
     which the general network-using public has access to download
     using public-standard network protocols a complete Transparent
     copy of the Document, free of added material.  If you use the
     latter option, you must take reasonably prudent steps, when you
     begin distribution of Opaque copies in quantity, to ensure that
     this Transparent copy will remain thus accessible at the stated
     location until at least one year after the last time you
     distribute an Opaque copy (directly or through your agents or
     retailers) of that edition to the public.

     It is requested, but not required, that you contact the authors of
     the Document well before redistributing any large number of
     copies, to give them a chance to provide you with an updated
     version of the Document.

  4. MODIFICATIONS

     You may copy and distribute a Modified Version of the Document
     under the conditions of sections 2 and 3 above, provided that you
     release the Modified Version under precisely this License, with
     the Modified Version filling the role of the Document, thus
     licensing distribution and modification of the Modified Version to
     whoever possesses a copy of it.  In addition, you must do these
     things in the Modified Version:

       A. Use in the Title Page (and on the covers, if any) a title
          distinct from that of the Document, and from those of
          previous versions (which should, if there were any, be listed
          in the History section of the Document).  You may use the
          same title as a previous version if the original publisher of
          that version gives permission.

       B. List on the Title Page, as authors, one or more persons or
          entities responsible for authorship of the modifications in
          the Modified Version, together with at least five of the
          principal authors of the Document (all of its principal
          authors, if it has fewer than five), unless they release you
          from this requirement.

       C. State on the Title page the name of the publisher of the
          Modified Version, as the publisher.

       D. Preserve all the copyright notices of the Document.

       E. Add an appropriate copyright notice for your modifications
          adjacent to the other copyright notices.

       F. Include, immediately after the copyright notices, a license
          notice giving the public permission to use the Modified
          Version under the terms of this License, in the form shown in
          the Addendum below.

       G. Preserve in that license notice the full lists of Invariant
          Sections and required Cover Texts given in the Document's
          license notice.

       H. Include an unaltered copy of this License.

       I. Preserve the section Entitled "History", Preserve its Title,
          and add to it an item stating at least the title, year, new
          authors, and publisher of the Modified Version as given on
          the Title Page.  If there is no section Entitled "History" in
          the Document, create one stating the title, year, authors,
          and publisher of the Document as given on its Title Page,
          then add an item describing the Modified Version as stated in
          the previous sentence.

       J. Preserve the network location, if any, given in the Document
          for public access to a Transparent copy of the Document, and
          likewise the network locations given in the Document for
          previous versions it was based on.  These may be placed in
          the "History" section.  You may omit a network location for a
          work that was published at least four years before the
          Document itself, or if the original publisher of the version
          it refers to gives permission.

       K. For any section Entitled "Acknowledgements" or "Dedications",
          Preserve the Title of the section, and preserve in the
          section all the substance and tone of each of the contributor
          acknowledgements and/or dedications given therein.

       L. Preserve all the Invariant Sections of the Document,
          unaltered in their text and in their titles.  Section numbers
          or the equivalent are not considered part of the section
          titles.

       M. Delete any section Entitled "Endorsements".  Such a section
          may not be included in the Modified Version.

       N. Do not retitle any existing section to be Entitled
          "Endorsements" or to conflict in title with any Invariant
          Section.

       O. Preserve any Warranty Disclaimers.

     If the Modified Version includes new front-matter sections or
     appendices that qualify as Secondary Sections and contain no
     material copied from the Document, you may at your option
     designate some or all of these sections as invariant.  To do this,
     add their titles to the list of Invariant Sections in the Modified
     Version's license notice.  These titles must be distinct from any
     other section titles.

     You may add a section Entitled "Endorsements", provided it contains
     nothing but endorsements of your Modified Version by various
     parties--for example, statements of peer review or that the text
     has been approved by an organization as the authoritative
     definition of a standard.

     You may add a passage of up to five words as a Front-Cover Text,
     and a passage of up to 25 words as a Back-Cover Text, to the end
     of the list of Cover Texts in the Modified Version.  Only one
     passage of Front-Cover Text and one of Back-Cover Text may be
     added by (or through arrangements made by) any one entity.  If the
     Document already includes a cover text for the same cover,
     previously added by you or by arrangement made by the same entity
     you are acting on behalf of, you may not add another; but you may
     replace the old one, on explicit permission from the previous
     publisher that added the old one.

     The author(s) and publisher(s) of the Document do not by this
     License give permission to use their names for publicity for or to
     assert or imply endorsement of any Modified Version.

  5. COMBINING DOCUMENTS

     You may combine the Document with other documents released under
     this License, under the terms defined in section 4 above for
     modified versions, provided that you include in the combination
     all of the Invariant Sections of all of the original documents,
     unmodified, and list them all as Invariant Sections of your
     combined work in its license notice, and that you preserve all
     their Warranty Disclaimers.

     The combined work need only contain one copy of this License, and
     multiple identical Invariant Sections may be replaced with a single
     copy.  If there are multiple Invariant Sections with the same name
     but different contents, make the title of each such section unique
     by adding at the end of it, in parentheses, the name of the
     original author or publisher of that section if known, or else a
     unique number.  Make the same adjustment to the section titles in
     the list of Invariant Sections in the license notice of the
     combined work.

     In the combination, you must combine any sections Entitled
     "History" in the various original documents, forming one section
     Entitled "History"; likewise combine any sections Entitled
     "Acknowledgements", and any sections Entitled "Dedications".  You
     must delete all sections Entitled "Endorsements."

  6. COLLECTIONS OF DOCUMENTS

     You may make a collection consisting of the Document and other
     documents released under this License, and replace the individual
     copies of this License in the various documents with a single copy
     that is included in the collection, provided that you follow the
     rules of this License for verbatim copying of each of the
     documents in all other respects.

     You may extract a single document from such a collection, and
     distribute it individually under this License, provided you insert
     a copy of this License into the extracted document, and follow
     this License in all other respects regarding verbatim copying of
     that document.

  7. AGGREGATION WITH INDEPENDENT WORKS

     A compilation of the Document or its derivatives with other
     separate and independent documents or works, in or on a volume of
     a storage or distribution medium, is called an "aggregate" if the
     copyright resulting from the compilation is not used to limit the
     legal rights of the compilation's users beyond what the individual
     works permit.  When the Document is included in an aggregate, this
     License does not apply to the other works in the aggregate which
     are not themselves derivative works of the Document.

     If the Cover Text requirement of section 3 is applicable to these
     copies of the Document, then if the Document is less than one half
     of the entire aggregate, the Document's Cover Texts may be placed
     on covers that bracket the Document within the aggregate, or the
     electronic equivalent of covers if the Document is in electronic
     form.  Otherwise they must appear on printed covers that bracket
     the whole aggregate.

  8. TRANSLATION

     Translation is considered a kind of modification, so you may
     distribute translations of the Document under the terms of section
     4.  Replacing Invariant Sections with translations requires special
     permission from their copyright holders, but you may include
     translations of some or all Invariant Sections in addition to the
     original versions of these Invariant Sections.  You may include a
     translation of this License, and all the license notices in the
     Document, and any Warranty Disclaimers, provided that you also
     include the original English version of this License and the
     original versions of those notices and disclaimers.  In case of a
     disagreement between the translation and the original version of
     this License or a notice or disclaimer, the original version will
     prevail.

     If a section in the Document is Entitled "Acknowledgements",
     "Dedications", or "History", the requirement (section 4) to
     Preserve its Title (section 1) will typically require changing the
     actual title.

  9. TERMINATION

     You may not copy, modify, sublicense, or distribute the Document
     except as expressly provided under this License.  Any attempt
     otherwise to copy, modify, sublicense, or distribute it is void,
     and will automatically terminate your rights under this License.

     However, if you cease all violation of this License, then your
     license from a particular copyright holder is reinstated (a)
     provisionally, unless and until the copyright holder explicitly
     and finally terminates your license, and (b) permanently, if the
     copyright holder fails to notify you of the violation by some
     reasonable means prior to 60 days after the cessation.

     Moreover, your license from a particular copyright holder is
     reinstated permanently if the copyright holder notifies you of the
     violation by some reasonable means, this is the first time you have
     received notice of violation of this License (for any work) from
     that copyright holder, and you cure the violation prior to 30 days
     after your receipt of the notice.

     Termination of your rights under this section does not terminate
     the licenses of parties who have received copies or rights from
     you under this License.  If your rights have been terminated and
     not permanently reinstated, receipt of a copy of some or all of
     the same material does not give you any rights to use it.

 10. FUTURE REVISIONS OF THIS LICENSE

     The Free Software Foundation may publish new, revised versions of
     the GNU Free Documentation License from time to time.  Such new
     versions will be similar in spirit to the present version, but may
     differ in detail to address new problems or concerns.  See
     `http://www.gnu.org/copyleft/'.

     Each version of the License is given a distinguishing version
     number.  If the Document specifies that a particular numbered
     version of this License "or any later version" applies to it, you
     have the option of following the terms and conditions either of
     that specified version or of any later version that has been
     published (not as a draft) by the Free Software Foundation.  If
     the Document does not specify a version number of this License,
     you may choose any version ever published (not as a draft) by the
     Free Software Foundation.  If the Document specifies that a proxy
     can decide which future versions of this License can be used, that
     proxy's public statement of acceptance of a version permanently
     authorizes you to choose that version for the Document.

 11. RELICENSING

     "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
     World Wide Web server that publishes copyrightable works and also
     provides prominent facilities for anybody to edit those works.  A
     public wiki that anybody can edit is an example of such a server.
     A "Massive Multiauthor Collaboration" (or "MMC") contained in the
     site means any set of copyrightable works thus published on the MMC
     site.

     "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
     license published by Creative Commons Corporation, a not-for-profit
     corporation with a principal place of business in San Francisco,
     California, as well as future copyleft versions of that license
     published by that same organization.

     "Incorporate" means to publish or republish a Document, in whole or
     in part, as part of another Document.

     An MMC is "eligible for relicensing" if it is licensed under this
     License, and if all works that were first published under this
     License somewhere other than this MMC, and subsequently
     incorporated in whole or in part into the MMC, (1) had no cover
     texts or invariant sections, and (2) were thus incorporated prior
     to November 1, 2008.

     The operator of an MMC Site may republish an MMC contained in the
     site under CC-BY-SA on the same site at any time before August 1,
     2009, provided the MMC is eligible for relicensing.


ADDENDUM: How to use this License for your documents
====================================================

To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:

       Copyright (C)  YEAR  YOUR NAME.
       Permission is granted to copy, distribute and/or modify this document
       under the terms of the GNU Free Documentation License, Version 1.3
       or any later version published by the Free Software Foundation;
       with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
       Texts.  A copy of the license is included in the section entitled ``GNU
       Free Documentation License''.

   If you have Invariant Sections, Front-Cover Texts and Back-Cover
Texts, replace the "with...Texts." line with this:

         with the Invariant Sections being LIST THEIR TITLES, with
         the Front-Cover Texts being LIST, and with the Back-Cover Texts
         being LIST.

   If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.

   If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License, to
permit their use in free software.

File: reftex,  Node: Index,  Prev: GNU Free Documentation License,  Up: Top

Index
*****

[index]
* Menu:

* *toc* buffer:                          Table of Contents.   (line   6)
* *toc* buffer, recentering:             Table of Contents.   (line 199)
* ? <1>:                                 Displaying and Editing the Index.
                                                              (line  29)
* ? <2>:                                 Creating Citations.  (line  30)
* ? <3>:                                 Referencing Labels.  (line  39)
* ?:                                     Table of Contents.   (line  15)
* \bibitem:                              Viewing Cross-References.
                                                              (line  37)
* \bibliography:                         Creating Citations.  (line  20)
* \cite <1>:                             Viewing Cross-References.
                                                              (line  32)
* \cite:                                 Citations.           (line   6)
* \endnote, LaTeX macro:                 Builtin Label Environments.
                                                              (line  19)
* \eqref, AMS-LaTeX macro:               Using \eqref.        (line   6)
* \externaldocument:                     xr (LaTeX package).  (line   6)
* \footnote, LaTeX macro:                Builtin Label Environments.
                                                              (line  12)
* \Fref:                                 fancyref (LaTeX package).
                                                              (line   6)
* \fref:                                 fancyref (LaTeX package).
                                                              (line   6)
* \Fref:                                 Referencing Labels.  (line 140)
* \fref:                                 Referencing Labels.  (line 140)
* \index <1>:                            Viewing Cross-References.
                                                              (line  50)
* \index:                                Index Support.       (line   6)
* \label <1>:                            Viewing Cross-References.
                                                              (line  25)
* \label:                                Labels and References.
                                                              (line   6)
* \newtheorem:                           Theorem and Axiom.   (line   6)
* \ref <1>:                              Viewing Cross-References.
                                                              (line  18)
* \ref:                                  Referencing Labels.  (line   6)
* \vref <1>:                             varioref (LaTeX package).
                                                              (line   6)
* \vref:                                 Referencing Labels.  (line 133)
* Acknowledgments:                       Imprint.             (line   6)
* align, AMS-LaTeX environment:          Builtin Label Environments.
                                                              (line  15)
* alignat, AMS-LaTeX environment:        Builtin Label Environments.
                                                              (line  15)
* AMS-LaTeX <1>:                         Using \eqref.        (line   6)
* AMS-LaTeX:                             Builtin Label Environments.
                                                              (line  15)
* amsmath, LaTeX package:                Builtin Label Environments.
                                                              (line  15)
* AUCTeX, Emacs package:                 AUCTeX.              (line   6)
* Automatic document scans:              Optimizations.       (line  70)
* axiom, newtheorem:                     Theorem and Axiom.   (line   6)
* Beqnarray, LaTeX environment:          Builtin Label Environments.
                                                              (line  21)
* bib-cite, Emacs package:               Bib-Cite.            (line   6)
* bib-cite-use-reftex-view-crossref:     Bib-Cite.            (line  22)
* BIBINPUTS, environment variable <1>:   Creating Citations.  (line  20)
* BIBINPUTS, environment variable:       Installation.        (line  20)
* Bibliographies, multiple:              Chapterbib and Bibunits.
                                                              (line   6)
* BibTeX buffer, viewing cite locations from: Viewing Cross-References.
                                                              (line  42)
* BibTeX database files, not found:      Installation.        (line  20)
* BibTeX database subsets:               BibTeX Database Subsets.
                                                              (line   6)
* bibunits, LaTeX package:               Chapterbib and Bibunits.
                                                              (line   6)
* Bug reports:                           Imprint.             (line   6)
* Builtin index macros:                  Builtin Index Macros.
                                                              (line   6)
* Builtin label environments:            Builtin Label Environments.
                                                              (line   6)
* C-c & <1>:                             Key Bindings.        (line   8)
* C-c & <2>:                             Viewing Cross-References.
                                                              (line   6)
* C-c & <3>:                             Citation Info.       (line   8)
* C-c &:                                 Reference Info.      (line   6)
* C-c ( <1>:                             Key Bindings.        (line   8)
* C-c (:                                 Creating Labels.     (line   6)
* C-c ) <1>:                             Key Bindings.        (line   8)
* C-c ):                                 Referencing Labels.  (line   6)
* C-c - <1>:                             Key Bindings.        (line   8)
* C-c -:                                 Table of Contents.   (line 199)
* C-c / <1>:                             Key Bindings.        (line   8)
* C-c /:                                 Creating Index Entries.
                                                              (line   6)
* C-c < <1>:                             Key Bindings.        (line   8)
* C-c <:                                 Creating Index Entries.
                                                              (line   6)
* C-c <RET>:                             AUCTeX-RefTeX Interface.
                                                              (line  41)
* C-c = <1>:                             Key Bindings.        (line   8)
* C-c =:                                 Table of Contents.   (line   6)
* C-c > <1>:                             Key Bindings.        (line   8)
* C-c >:                                 Displaying and Editing the Index.
                                                              (line   6)
* C-c [ <1>:                             Key Bindings.        (line   8)
* C-c [:                                 Creating Citations.  (line   6)
* C-c \:                                 Key Bindings.        (line   8)
* C-c c:                                 Key Bindings.        (line  28)
* C-c C-e:                               AUCTeX-RefTeX Interface.
                                                              (line  20)
* C-c C-i:                               Consistency Checks.  (line  15)
* C-c C-s <1>:                           AUCTeX-RefTeX Interface.
                                                              (line  20)
* C-c C-s:                               Consistency Checks.  (line   6)
* C-c C-t:                               Consistency Checks.  (line  20)
* C-c g:                                 Key Bindings.        (line  28)
* C-c l:                                 Key Bindings.        (line  28)
* C-c r:                                 Key Bindings.        (line  28)
* C-c s:                                 Key Bindings.        (line  28)
* C-c t:                                 Key Bindings.        (line  28)
* C-c v:                                 Key Bindings.        (line  28)
* C-c | <1>:                             Key Bindings.        (line   8)
* C-c |:                                 The Index Phrases File.
                                                              (line   6)
* Changes:                               Changes.             (line   6)
* chapterbib, LaTeX package:             Chapterbib and Bibunits.
                                                              (line   6)
* chicago, citation style:               Citation Styles.     (line   6)
* Citation info:                         Citation Info.       (line   8)
* Citation styles:                       Citation Styles.     (line   6)
* Citation styles, chicago:              Citation Styles.     (line   6)
* Citation styles, harvard:              Citation Styles.     (line   6)
* Citation styles, jurabib:              Citation Styles.     (line   6)
* Citation styles, natbib:               Citation Styles.     (line   6)
* Citations:                             Citations.           (line   6)
* Citations outside LaTeX:               Citations Outside LaTeX.
                                                              (line   6)
* Citations, creating:                   Creating Citations.  (line   6)
* Citations, displaying:                 Citation Info.       (line   8)
* Collecting index phrases:              Collecting Phrases.  (line   6)
* Commands, list of:                     Commands.            (line   6)
* Consistency check for index phrases:   Consistency Checks.  (line   6)
* Creating citations:                    Creating Citations.  (line   6)
* Creating citations, options:           Options (Creating Citations).
                                                              (line   6)
* Creating index entries:                Creating Index Entries.
                                                              (line   6)
* Creating labels:                       Creating Labels.     (line   6)
* Creating labels, options:              Options (Creating Labels).
                                                              (line   6)
* Cross-document references:             xr (LaTeX package).  (line   6)
* Cross-references, displaying:          Reference Info.      (line   6)
* Defining Index Macros:                 Defining Index Macros.
                                                              (line   6)
* Defining label environments, options:  Options (Defining Label Environments).
                                                              (line   6)
* Displaying citations:                  Citation Info.       (line   8)
* Displaying cross-references:           Reference Info.      (line   6)
* Displaying the Index:                  Displaying and Editing the Index.
                                                              (line   6)
* Document scanning, automatic:          Optimizations.       (line  70)
* Document scanning, partial:            Optimizations.       (line  26)
* Documents, spread over files:          Multifile Documents. (line   6)
* Editing the Index:                     Displaying and Editing the Index.
                                                              (line   6)
* Emacs packages, AUCTeX:                AUCTeX.              (line   6)
* Emacs packages, bib-cite:              Bib-Cite.            (line   6)
* Emacs packages, iso-cvt:               Problems and Work-Arounds.
                                                              (line  31)
* Emacs packages, isotex:                Problems and Work-Arounds.
                                                              (line  31)
* Emacs packages, x-symbol:              Problems and Work-Arounds.
                                                              (line  31)
* endnote, LaTeX package:                Builtin Label Environments.
                                                              (line  19)
* enumerate, LaTeX environment:          Builtin Label Environments.
                                                              (line  12)
* Environments without \begin:           Non-Standard Environments.
                                                              (line   6)
* Environments, builtin:                 Builtin Label Environments.
                                                              (line   6)
* eqnarray, LaTeX environment:           Builtin Label Environments.
                                                              (line  12)
* equation, LaTeX environment:           Builtin Label Environments.
                                                              (line  12)
* External documents:                    xr (LaTeX package).  (line   6)
* Faces:                                 Faces.               (line   6)
* fancybox, LaTeX package:               Builtin Label Environments.
                                                              (line  21)
* fancyref, LaTeX package <1>:           fancyref (LaTeX package).
                                                              (line   6)
* fancyref, LaTeX package:               Referencing Labels.  (line 140)
* Figure wrapping macro:                 Figure Wrapper.      (line   6)
* figure*, LaTeX environment:            Builtin Label Environments.
                                                              (line  12)
* figure, LaTeX environment:             Builtin Label Environments.
                                                              (line  12)
* figwindow, LaTeX environment:          Builtin Label Environments.
                                                              (line  27)
* Finding files <1>:                     Finding Files.       (line   6)
* Finding files:                         Installation.        (line  20)
* Finding files, options:                Options (Finding Files).
                                                              (line   6)
* flalign, AMS-LaTeX environment:        Builtin Label Environments.
                                                              (line  15)
* floatfig, LaTeX package:               Builtin Label Environments.
                                                              (line  23)
* floatingfig, LaTeX environment:        Builtin Label Environments.
                                                              (line  23)
* Fontification, options:                Options (Fontification).
                                                              (line   6)
* ftp, RefTeX site:                      Imprint.             (line   6)
* gather, AMS-LaTeX environment:         Builtin Label Environments.
                                                              (line  15)
* German magic words:                    Adding Magic Words.  (line   6)
* Getting Started:                       RefTeX in a Nutshell.
                                                              (line   6)
* Global indexing:                       Global Indexing.     (line   6)
* harvard, citation style:               Citation Styles.     (line   6)
* http, RefTeX home page:                Imprint.             (line   6)
* Idle timer restart:                    Problems and Work-Arounds.
                                                              (line  77)
* Imprint:                               Imprint.             (line   6)
* Index entries, creating <1>:           Displaying and Editing the Index.
                                                              (line   6)
* Index entries, creating:               Creating Index Entries.
                                                              (line   6)
* Index macros, builtin:                 Builtin Index Macros.
                                                              (line   6)
* Index macros, defining:                Defining Index Macros.
                                                              (line   6)
* Index phrase file:                     The Index Phrases File.
                                                              (line   6)
* Index phrases, collection:             Collecting Phrases.  (line   6)
* Index phrases, consistency checks:     Consistency Checks.  (line   6)
* Index Support:                         Index Support.       (line   6)
* Index support, options:                Options (Index Support).
                                                              (line   6)
* Index, displaying:                     Displaying and Editing the Index.
                                                              (line   6)
* Index, editing:                        Displaying and Editing the Index.
                                                              (line   6)
* index, LaTeX package:                  Builtin Index Macros.
                                                              (line   6)
* Indexing, from phrases buffer:         Global Indexing.     (line   6)
* Indexing, global:                      Global Indexing.     (line   6)
* Installation:                          Installation.        (line   6)
* Introduction:                          Introduction.        (line   6)
* iso-cvt, Emacs package:                Problems and Work-Arounds.
                                                              (line  31)
* isotex, Emacs package:                 Problems and Work-Arounds.
                                                              (line  31)
* jurabib, citation style:               Citation Styles.     (line   6)
* Key bindings, problems with Viper mode: Problems and Work-Arounds.
                                                              (line  84)
* Key Bindings, summary:                 Key Bindings.        (line   6)
* Keymaps:                               Keymaps and Hooks.   (line   6)
* KOMA-Script, LaTeX classes:            Table of Contents.   (line 213)
* Label category <1>:                    Using \eqref.        (line   6)
* Label category <2>:                    Adding Magic Words.  (line   6)
* Label category:                        Labels and References.
                                                              (line   6)
* Label environment:                     Labels and References.
                                                              (line   6)
* Label environments, builtin:           Builtin Label Environments.
                                                              (line   6)
* Label environments, defining:          Defining Label Environments.
                                                              (line   6)
* Labels in LaTeX:                       Labels and References.
                                                              (line   6)
* Labels, commented out:                 Problems and Work-Arounds.
                                                              (line  11)
* Labels, creating:                      Creating Labels.     (line   6)
* Labels, deriving from context:         Creating Labels.     (line   6)
* Labels, referencing:                   Referencing Labels.  (line   6)
* Language support:                      Language Support.    (line   6)
* LaTeX classes, KOMA-Script:            Table of Contents.   (line 213)
* LaTeX commands, abbreviated:           Non-Standard Environments.
                                                              (line  18)
* LaTeX commands, not found:             Problems and Work-Arounds.
                                                              (line   7)
* LaTeX core:                            Builtin Label Environments.
                                                              (line  12)
* LaTeX macro footnote:                  Builtin Label Environments.
                                                              (line  12)
* LaTeX packages, amsmath:               Builtin Label Environments.
                                                              (line  15)
* LaTeX packages, endnote:               Builtin Label Environments.
                                                              (line  19)
* LaTeX packages, fancybox:              Builtin Label Environments.
                                                              (line  21)
* LaTeX packages, fancyref <1>:          fancyref (LaTeX package).
                                                              (line   6)
* LaTeX packages, fancyref:              Referencing Labels.  (line 140)
* LaTeX packages, floatfig:              Builtin Label Environments.
                                                              (line  23)
* LaTeX packages, index:                 Builtin Index Macros.
                                                              (line   6)
* LaTeX packages, linguex:               Non-Standard Environments.
                                                              (line  39)
* LaTeX packages, longtable:             Builtin Label Environments.
                                                              (line  25)
* LaTeX packages, multind:               Builtin Index Macros.
                                                              (line   6)
* LaTeX packages, pf:                    Problems and Work-Arounds.
                                                              (line  56)
* LaTeX packages, picinpar:              Builtin Label Environments.
                                                              (line  27)
* LaTeX packages, rotating:              Builtin Label Environments.
                                                              (line  31)
* LaTeX packages, saferef:               Referencing Labels.  (line 119)
* LaTeX packages, sidecap:               Builtin Label Environments.
                                                              (line  29)
* LaTeX packages, subfigure:             Builtin Label Environments.
                                                              (line  33)
* LaTeX packages, supertab:              Builtin Label Environments.
                                                              (line  35)
* LaTeX packages, varioref <1>:          varioref (LaTeX package).
                                                              (line   6)
* LaTeX packages, varioref:              Referencing Labels.  (line 133)
* LaTeX packages, wrapfig:               Builtin Label Environments.
                                                              (line  37)
* LaTeX packages, xr:                    xr (LaTeX package).  (line   6)
* LaTeX-add-environments, AUCTeX:        Style Files.         (line  33)
* LaTeX-label-function, AUCTeX:          AUCTeX-RefTeX Interface.
                                                              (line  20)
* latex-mode-hook:                       Installation.        (line  32)
* LaTeX-mode-hook:                       Installation.        (line  32)
* LaTeX-section, AUCTeX:                 AUCTeX-RefTeX Interface.
                                                              (line  20)
* linguex, LaTeX package:                Non-Standard Environments.
                                                              (line  39)
* longtable, LaTeX environment:          Builtin Label Environments.
                                                              (line  25)
* longtable, LaTeX package:              Builtin Label Environments.
                                                              (line  25)
* Macro definition lines, in phrase buffer: The Index Phrases File.
                                                              (line   6)
* Macros as environment wrappers <1>:    Figure Wrapper.      (line   6)
* Macros as environment wrappers:        Quick Equation.      (line   6)
* Magic words:                           Adding Magic Words.  (line   6)
* Maintainer:                            Imprint.             (line   6)
* Menu, in the menu bar:                 RefTeXs Menu.        (line   6)
* Multifile documents:                   Multifile Documents. (line   6)
* multind, LaTeX package:                Builtin Index Macros.
                                                              (line   6)
* Multiple selection buffers:            Optimizations.       (line  80)
* multline, AMS-LaTeX environment:       Builtin Label Environments.
                                                              (line  15)
* natbib, citation style:                Citation Styles.     (line   6)
* Non-standard environments:             Non-Standard Environments.
                                                              (line   6)
* Noweb files:                           Finding Files.       (line  57)
* Nutshell, RefTeX in a:                 RefTeX in a Nutshell.
                                                              (line   6)
* Optimizations:                         Optimizations.       (line   6)
* Optimizations, options:                Options (Optimizations).
                                                              (line   6)
* Options, creating citations:           Options (Creating Citations).
                                                              (line   6)
* Options, creating labels:              Options (Creating Labels).
                                                              (line   6)
* Options, defining label environments:  Options (Defining Label Environments).
                                                              (line   6)
* Options, Finding Files:                Options (Finding Files).
                                                              (line   6)
* Options, fontification:                Options (Fontification).
                                                              (line   6)
* Options, Index support:                Options (Index Support).
                                                              (line   6)
* Options, list of:                      Options.             (line   6)
* Options, misc:                         Options (Misc).      (line   6)
* Options, optimizations:                Options (Optimizations).
                                                              (line   6)
* Options, referencing labels:           Options (Referencing Labels).
                                                              (line   6)
* Options, table of contents:            Options (Table of Contents).
                                                              (line   6)
* Options, viewing cross-references:     Options (Viewing Cross-References).
                                                              (line   6)
* Parse information, saving to a file:   Optimizations.       (line  44)
* Parser functions, for special environments: Non-Standard Environments.
                                                              (line   6)
* Partial documents scans:               Optimizations.       (line  26)
* pf, LaTeX package:                     Problems and Work-Arounds.
                                                              (line  56)
* Phrase file:                           The Index Phrases File.
                                                              (line   6)
* Phrases, collecting:                   Collecting Phrases.  (line   6)
* Phrases, consistency checks:           Consistency Checks.  (line   6)
* picinpar, LaTeX package:               Builtin Label Environments.
                                                              (line  27)
* Problems and work-arounds:             Problems and Work-Arounds.
                                                              (line   6)
* Quick equation macro:                  Quick Equation.      (line   6)
* Quick-Start:                           RefTeX in a Nutshell.
                                                              (line   6)
* Reference info:                        Reference Info.      (line   6)
* References in LaTeX:                   Labels and References.
                                                              (line   6)
* References to external documents:      xr (LaTeX package).  (line   6)
* Referencing labels:                    Referencing Labels.  (line   6)
* Referencing labels, options:           Options (Referencing Labels).
                                                              (line   6)
* RefTeX in a Nutshell:                  RefTeX in a Nutshell.
                                                              (line   6)
* reftex-abbrev-parameters <1>:          Options (Creating Labels).
                                                              (line  98)
* reftex-abbrev-parameters <2>:          Language Support.    (line  10)
* reftex-abbrev-parameters:              Creating Labels.     (line  13)
* reftex-add-index-macros:               Style Files.         (line  54)
* reftex-add-label-environments <1>:     Problems and Work-Arounds.
                                                              (line  21)
* reftex-add-label-environments:         Style Files.         (line  23)
* reftex-add-section-levels <1>:         Problems and Work-Arounds.
                                                              (line  21)
* reftex-add-section-levels:             Style Files.         (line  82)
* reftex-add-to-label-alist:             Style Files.         (line  23)
* reftex-allow-automatic-rescan <1>:     Options (Optimizations).
                                                              (line  74)
* reftex-allow-automatic-rescan:         Optimizations.       (line  73)
* reftex-allow-detached-macro-args:      Options (Misc).      (line  35)
* reftex-arg-cite:                       AUCTeX-RefTeX Interface.
                                                              (line  41)
* reftex-arg-index:                      AUCTeX-RefTeX Interface.
                                                              (line  41)
* reftex-arg-label:                      AUCTeX-RefTeX Interface.
                                                              (line  41)
* reftex-arg-ref:                        AUCTeX-RefTeX Interface.
                                                              (line  41)
* reftex-auto-recenter-toc <1>:          Options (Table of Contents).
                                                              (line  43)
* reftex-auto-recenter-toc:              Table of Contents.   (line 199)
* reftex-auto-update-selection-buffers <1>: Options (Optimizations).
                                                              (line  87)
* reftex-auto-update-selection-buffers:  Optimizations.       (line  99)
* reftex-auto-view-crossref:             Options (Viewing Cross-References).
                                                              (line  21)
* reftex-bib-author-face:                Options (Fontification).
                                                              (line  68)
* reftex-bib-extra-face:                 Options (Fontification).
                                                              (line  77)
* reftex-bib-title-face:                 Options (Fontification).
                                                              (line  74)
* reftex-bib-year-face:                  Options (Fontification).
                                                              (line  71)
* reftex-bibfile-ignore-regexps:         Options (Creating Citations).
                                                              (line  11)
* reftex-bibliography-commands:          Options (Creating Citations).
                                                              (line   7)
* reftex-bibpath-environment-variables:  Options (Finding Files).
                                                              (line  22)
* reftex-cache-cite-echo:                Options (Viewing Cross-References).
                                                              (line  47)
* reftex-change-label:                   Commands.            (line 132)
* reftex-citation <1>:                   Commands.            (line  25)
* reftex-citation:                       Creating Citations.  (line   6)
* reftex-cite-cleanup-optional-args:     Options (Creating Citations).
                                                              (line 113)
* reftex-cite-comment-format:            Options (Creating Citations).
                                                              (line 122)
* reftex-cite-format <1>:                Options (Creating Citations).
                                                              (line  34)
* reftex-cite-format:                    Citation Styles.     (line   6)
* reftex-cite-prompt-optional-args <1>:  Options (Creating Citations).
                                                              (line 101)
* reftex-cite-prompt-optional-args:      Citation Styles.     (line  31)
* reftex-cite-punctuation <1>:           Options (Creating Citations).
                                                              (line 127)
* reftex-cite-punctuation:               Language Support.    (line  28)
* reftex-cite-view-format:               Options (Viewing Cross-References).
                                                              (line  36)
* reftex-comment-citations:              Options (Creating Citations).
                                                              (line 117)
* reftex-create-bibtex-file <1>:         Commands.            (line 152)
* reftex-create-bibtex-file:             BibTeX Database Subsets.
                                                              (line   6)
* reftex-create-tags-file:               Commands.            (line 103)
* reftex-cursor-selected-face:           Options (Fontification).
                                                              (line  48)
* reftex-customize:                      Commands.            (line 159)
* reftex-default-bibliography <1>:       Options (Creating Citations).
                                                              (line  18)
* reftex-default-bibliography:           Citations Outside LaTeX.
                                                              (line   6)
* reftex-default-context-regexps:        Options (Defining Label Environments).
                                                              (line 175)
* reftex-default-label-alist-entries:    Options (Defining Label Environments).
                                                              (line   7)
* reftex-derive-label-parameters <1>:    Options (Creating Labels).
                                                              (line  65)
* reftex-derive-label-parameters <2>:    Language Support.    (line  10)
* reftex-derive-label-parameters:        Creating Labels.     (line  13)
* reftex-display-copied-context-hook:    Options (Referencing Labels).
                                                              (line  96)
* reftex-display-index <1>:              Commands.            (line  77)
* reftex-display-index:                  Displaying and Editing the Index.
                                                              (line   6)
* reftex-enable-partial-scans <1>:       Options (Optimizations).
                                                              (line  50)
* reftex-enable-partial-scans <2>:       Problems and Work-Arounds.
                                                              (line  16)
* reftex-enable-partial-scans <3>:       Optimizations.       (line  41)
* reftex-enable-partial-scans <4>:       Displaying and Editing the Index.
                                                              (line 168)
* reftex-enable-partial-scans <5>:       Referencing Labels.  (line 190)
* reftex-enable-partial-scans:           Table of Contents.   (line 167)
* reftex-external-file-finders:          Options (Finding Files).
                                                              (line  68)
* reftex-extra-bindings <1>:             Options (Misc).      (line   7)
* reftex-extra-bindings:                 Key Bindings.        (line  40)
* reftex-file-boundary-face:             Options (Fontification).
                                                              (line  56)
* reftex-file-extensions <1>:            Options (Finding Files).
                                                              (line  37)
* reftex-file-extensions:                Finding Files.       (line  57)
* reftex-find-duplicate-labels:          Commands.            (line 149)
* reftex-format-cite-function:           Options (Creating Citations).
                                                              (line  93)
* reftex-format-label-function:          Options (Creating Labels).
                                                              (line  45)
* reftex-format-ref-function:            Options (Referencing Labels).
                                                              (line  74)
* reftex-fref-is-default <1>:            Options (Referencing Labels).
                                                              (line  65)
* reftex-fref-is-default:                fancyref (LaTeX package).
                                                              (line   6)
* reftex-goto-label:                     Commands.            (line 127)
* reftex-grep-document:                  Commands.            (line 107)
* reftex-guess-label-type:               Options (Referencing Labels).
                                                              (line  87)
* reftex-highlight-selection <1>:        Options (Fontification).
                                                              (line  31)
* reftex-highlight-selection <2>:        Creating Citations.  (line  73)
* reftex-highlight-selection <3>:        Referencing Labels.  (line 103)
* reftex-highlight-selection:            Table of Contents.   (line  62)
* reftex-idle-time <1>:                  Options (Viewing Cross-References).
                                                              (line  32)
* reftex-idle-time:                      Table of Contents.   (line 199)
* reftex-include-file-commands:          Options (Table of Contents).
                                                              (line   7)
* reftex-index <1>:                      Commands.            (line  43)
* reftex-index:                          Creating Index Entries.
                                                              (line   6)
* reftex-index-default-macro:            Options (Index Support).
                                                              (line  65)
* reftex-index-default-tag:              Options (Index Support).
                                                              (line  77)
* reftex-index-face:                     Options (Fontification).
                                                              (line  92)
* reftex-index-follow-mode <1>:          Options (Index Support).
                                                              (line 185)
* reftex-index-follow-mode:              Displaying and Editing the Index.
                                                              (line  71)
* reftex-index-header-face:              Options (Fontification).
                                                              (line  83)
* reftex-index-include-context <1>:      Options (Index Support).
                                                              (line 180)
* reftex-index-include-context:          Displaying and Editing the Index.
                                                              (line 139)
* reftex-index-macros <1>:               Options (Index Support).
                                                              (line  20)
* reftex-index-macros <2>:               Defining Index Macros.
                                                              (line   6)
* reftex-index-macros:                   Builtin Index Macros.
                                                              (line   6)
* reftex-index-map:                      Options (Index Support).
                                                              (line 191)
* reftex-index-math-format:              Options (Index Support).
                                                              (line  87)
* reftex-index-phrase-file-extension:    Options (Index Support).
                                                              (line  95)
* reftex-index-phrase-selection-or-word: Commands.            (line  62)
* reftex-index-phrases-apply-to-region:  Commands.            (line  72)
* reftex-index-phrases-case-fold-search: Options (Index Support).
                                                              (line 126)
* reftex-index-phrases-logical-and-regexp: Options (Index Support).
                                                              (line  99)
* reftex-index-phrases-logical-or-regexp: Options (Index Support).
                                                              (line 108)
* reftex-index-phrases-map:              Options (Index Support).
                                                              (line 164)
* reftex-index-phrases-mode-hook:        Options (Index Support).
                                                              (line 167)
* reftex-index-phrases-search-whole-words: Options (Index Support).
                                                              (line 119)
* reftex-index-phrases-skip-indexed-matches: Options (Index Support).
                                                              (line 133)
* reftex-index-phrases-sort-in-blocks:   Options (Index Support).
                                                              (line 159)
* reftex-index-phrases-sort-prefers-entry: Options (Index Support).
                                                              (line 152)
* reftex-index-phrases-wrap-long-lines:  Options (Index Support).
                                                              (line 143)
* reftex-index-section-face:             Options (Fontification).
                                                              (line  86)
* reftex-index-section-letters:          Options (Index Support).
                                                              (line 171)
* reftex-index-selection-or-word <1>:    Commands.            (line  51)
* reftex-index-selection-or-word:        Creating Index Entries.
                                                              (line   6)
* reftex-index-special-chars:            Options (Index Support).
                                                              (line  15)
* reftex-index-tag-face:                 Options (Fontification).
                                                              (line  89)
* reftex-index-verify-function:          Options (Index Support).
                                                              (line 129)
* reftex-index-visit-phrases-buffer <1>: Commands.            (line  69)
* reftex-index-visit-phrases-buffer:     The Index Phrases File.
                                                              (line   6)
* reftex-info:                           Commands.            (line 165)
* reftex-initialize-temporary-buffers <1>: Options (Optimizations).
                                                              (line  36)
* reftex-initialize-temporary-buffers:   Problems and Work-Arounds.
                                                              (line  46)
* reftex-insert-label-flags <1>:         Options (Creating Labels).
                                                              (line   7)
* reftex-insert-label-flags <2>:         Theorem and Axiom.   (line 103)
* reftex-insert-label-flags:             Creating Labels.     (line  40)
* reftex-isearch-minor-mode:             Commands.            (line 122)
* reftex-keep-temporary-buffers <1>:     Options (Optimizations).
                                                              (line   7)
* reftex-keep-temporary-buffers <2>:     Problems and Work-Arounds.
                                                              (line  41)
* reftex-keep-temporary-buffers:         Optimizations.       (line  23)
* reftex-label <1>:                      Commands.            (line  16)
* reftex-label <2>:                      AUCTeX-RefTeX Interface.
                                                              (line  20)
* reftex-label:                          Creating Labels.     (line   6)
* reftex-label-alist <1>:                Options (Defining Label Environments).
                                                              (line  12)
* reftex-label-alist <2>:                Viewing Cross-References.
                                                              (line  25)
* reftex-label-alist <3>:                Defining Label Environments.
                                                              (line   6)
* reftex-label-alist:                    Builtin Label Environments.
                                                              (line   6)
* reftex-label-alist-builtin <1>:        Defining Label Environments.
                                                              (line  14)
* reftex-label-alist-builtin:            Builtin Label Environments.
                                                              (line   6)
* reftex-label-face:                     Options (Fontification).
                                                              (line  59)
* reftex-label-illegal-re <1>:           Options (Creating Labels).
                                                              (line  95)
* reftex-label-illegal-re <2>:           Language Support.    (line  16)
* reftex-label-illegal-re:               Creating Labels.     (line  13)
* reftex-label-menu-flags <1>:           Options (Referencing Labels).
                                                              (line   7)
* reftex-label-menu-flags <2>:           Theorem and Axiom.   (line 103)
* reftex-label-menu-flags:               Referencing Labels.  (line 156)
* reftex-level-indent:                   Options (Referencing Labels).
                                                              (line  84)
* reftex-load-hook <1>:                  Keymaps and Hooks.   (line  12)
* reftex-load-hook:                      Key Bindings.        (line  42)
* reftex-max-section-depth:              Options (Table of Contents).
                                                              (line  12)
* reftex-mode:                           Installation.        (line  32)
* reftex-mode-hook:                      Keymaps and Hooks.   (line  15)
* reftex-mode-map:                       Keymaps and Hooks.   (line   9)
* reftex-mouse-selected-face:            Options (Fontification).
                                                              (line  52)
* reftex-mouse-view-crossref <1>:        Viewing Cross-References.
                                                              (line   6)
* reftex-mouse-view-crossref <2>:        Citation Info.       (line   8)
* reftex-mouse-view-crossref:            Reference Info.      (line   6)
* reftex-multiref-punctuation <1>:       Options (Referencing Labels).
                                                              (line  49)
* reftex-multiref-punctuation <2>:       Language Support.    (line  28)
* reftex-multiref-punctuation:           Referencing Labels.  (line 107)
* reftex-no-include-regexps:             Options (Optimizations).
                                                              (line  44)
* reftex-parse-document:                 Commands.            (line 168)
* reftex-parse-file-extension <1>:       Options (Optimizations).
                                                              (line  70)
* reftex-parse-file-extension:           Optimizations.       (line  44)
* reftex-part-resets-chapter:            Options (Table of Contents).
                                                              (line  36)
* reftex-plug-into-AUCTeX:               Options (Misc).      (line  12)
* reftex-pre-refontification-functions:  Options (Referencing Labels).
                                                              (line 100)
* reftex-query-replace-document:         Commands.            (line 117)
* reftex-reference <1>:                  Commands.            (line  20)
* reftex-reference:                      Referencing Labels.  (line   6)
* reftex-refontify-context <1>:          Options (Fontification).
                                                              (line  13)
* reftex-refontify-context:              Problems and Work-Arounds.
                                                              (line  53)
* reftex-renumber-simple-labels:         Commands.            (line 137)
* reftex-reset-mode:                     Commands.            (line 172)
* reftex-revisit-to-echo:                Options (Viewing Cross-References).
                                                              (line  40)
* reftex-revisit-to-follow <1>:          Options (Misc).      (line  30)
* reftex-revisit-to-follow <2>:          Displaying and Editing the Index.
                                                              (line  71)
* reftex-revisit-to-follow <3>:          Referencing Labels.  (line  83)
* reftex-revisit-to-follow:              Table of Contents.   (line  67)
* reftex-save-parse-info <1>:            Options (Optimizations).
                                                              (line  59)
* reftex-save-parse-info:                Optimizations.       (line  53)
* reftex-search-document:                Commands.            (line 112)
* reftex-search-unrecursed-path-first:   Options (Finding Files).
                                                              (line  48)
* reftex-section-heading-face:           Options (Fontification).
                                                              (line  62)
* reftex-section-levels <1>:             Options (Table of Contents).
                                                              (line  16)
* reftex-section-levels:                 Table of Contents.   (line 213)
* reftex-section-prefixes:               Options (Defining Label Environments).
                                                              (line 166)
* reftex-select-bib-map <1>:             Options (Creating Citations).
                                                              (line 142)
* reftex-select-bib-map:                 Creating Citations.  (line 131)
* reftex-select-bib-mode-hook:           Options (Creating Citations).
                                                              (line 138)
* reftex-select-label-map <1>:           Options (Referencing Labels).
                                                              (line 109)
* reftex-select-label-map:               Referencing Labels.  (line 211)
* reftex-select-label-mode-hook:         Options (Referencing Labels).
                                                              (line 105)
* reftex-select-mark-face:               Options (Fontification).
                                                              (line  80)
* reftex-set-cite-format <1>:            Problems and Work-Arounds.
                                                              (line  21)
* reftex-set-cite-format:                Style Files.         (line  44)
* reftex-show-commentary:                Commands.            (line 162)
* reftex-sort-bibtex-matches:            Options (Creating Citations).
                                                              (line  26)
* reftex-string-to-label-function:       Options (Creating Labels).
                                                              (line  52)
* reftex-support-index:                  Options (Index Support).
                                                              (line   7)
* reftex-texpath-environment-variables:  Options (Finding Files).
                                                              (line   7)
* reftex-toc <1>:                        Commands.            (line  12)
* reftex-toc:                            Table of Contents.   (line   6)
* reftex-toc-follow-mode <1>:            Options (Table of Contents).
                                                              (line  97)
* reftex-toc-follow-mode:                Table of Contents.   (line  67)
* reftex-toc-header-face:                Options (Fontification).
                                                              (line  65)
* reftex-toc-include-context <1>:        Options (Table of Contents).
                                                              (line  91)
* reftex-toc-include-context:            Table of Contents.   (line 156)
* reftex-toc-include-file-boundaries <1>: Options (Table of Contents).
                                                              (line  77)
* reftex-toc-include-file-boundaries:    Table of Contents.   (line 135)
* reftex-toc-include-index-entries <1>:  Options (Table of Contents).
                                                              (line  86)
* reftex-toc-include-index-entries:      Table of Contents.   (line 148)
* reftex-toc-include-labels <1>:         Options (Table of Contents).
                                                              (line  82)
* reftex-toc-include-labels:             Table of Contents.   (line 140)
* reftex-toc-keep-other-windows:         Options (Table of Contents).
                                                              (line  70)
* reftex-toc-map <1>:                    Options (Table of Contents).
                                                              (line 106)
* reftex-toc-map:                        Table of Contents.   (line 196)
* reftex-toc-max-level <1>:              Options (Table of Contents).
                                                              (line  30)
* reftex-toc-max-level:                  Table of Contents.   (line 126)
* reftex-toc-mode-hook:                  Options (Table of Contents).
                                                              (line 103)
* reftex-toc-recenter:                   Table of Contents.   (line 199)
* reftex-toc-split-windows-fraction:     Options (Table of Contents).
                                                              (line  66)
* reftex-toc-split-windows-horizontally: Options (Table of Contents).
                                                              (line  62)
* reftex-translate-to-ascii-function <1>: Options (Creating Labels).
                                                              (line  57)
* reftex-translate-to-ascii-function <2>: Language Support.   (line  16)
* reftex-translate-to-ascii-function:    Creating Labels.     (line  13)
* reftex-trust-label-prefix <1>:         Options (Defining Label Environments).
                                                              (line 181)
* reftex-trust-label-prefix <2>:         Optimizations.       (line  56)
* reftex-trust-label-prefix:             Referencing Labels.  (line   6)
* reftex-use-external-file-finders:      Options (Finding Files).
                                                              (line  58)
* reftex-use-fonts:                      Options (Fontification).
                                                              (line   7)
* reftex-use-itimer-in-xemacs:           Problems and Work-Arounds.
                                                              (line  77)
* reftex-use-multiple-selection-buffers <1>: Options (Optimizations).
                                                              (line  79)
* reftex-use-multiple-selection-buffers: Optimizations.       (line  91)
* reftex-view-crossref <1>:              Commands.            (line  85)
* reftex-view-crossref <2>:              Viewing Cross-References.
                                                              (line   6)
* reftex-view-crossref <3>:              Citation Info.       (line   8)
* reftex-view-crossref:                  Reference Info.      (line   6)
* reftex-view-crossref-extra <1>:        Options (Viewing Cross-References).
                                                              (line   7)
* reftex-view-crossref-extra:            Viewing Cross-References.
                                                              (line  55)
* reftex-view-crossref-from-bibtex:      Commands.            (line  95)
* reftex-vref-is-default <1>:            Options (Referencing Labels).
                                                              (line  57)
* reftex-vref-is-default:                varioref (LaTeX package).
                                                              (line   6)
* RefTeXs Menu:                          RefTeXs Menu.        (line   6)
* Removing lookup buffers:               Optimizations.       (line  17)
* rotating, LaTeX package:               Builtin Label Environments.
                                                              (line  31)
* S-mouse-2 <1>:                         Key Bindings.        (line   8)
* S-mouse-2 <2>:                         Viewing Cross-References.
                                                              (line   6)
* S-mouse-2 <3>:                         Citation Info.       (line   8)
* S-mouse-2:                             Reference Info.      (line   6)
* saferef, LaTeX package:                Referencing Labels.  (line 119)
* Saving parser information:             Optimizations.       (line  44)
* SCfigure, LaTeX environment:           Builtin Label Environments.
                                                              (line  29)
* SCtable, LaTeX environment:            Builtin Label Environments.
                                                              (line  29)
* Section numbers, wrong:                Problems and Work-Arounds.
                                                              (line  16)
* Sectioning commands:                   Table of Contents.   (line 213)
* Selection buffer, citations:           Creating Citations.  (line   6)
* Selection buffer, labels:              Referencing Labels.  (line   6)
* Selection buffers, multiple:           Optimizations.       (line  80)
* Selection buffers, updating:           Optimizations.       (line  93)
* Selection process <1>:                 Creating Citations.  (line   6)
* Selection process:                     Referencing Labels.  (line   6)
* Settings, local:                       Problems and Work-Arounds.
                                                              (line  21)
* sidecap, LaTeX package:                Builtin Label Environments.
                                                              (line  29)
* sidewaysfigure, LaTeX environment:     Builtin Label Environments.
                                                              (line  31)
* sidewaystable, LaTeX environment:      Builtin Label Environments.
                                                              (line  31)
* Special parser functions:              Non-Standard Environments.
                                                              (line   6)
* Structure editing:                     Table of Contents.   (line   6)
* Style files, AUCTeX:                   Style Files.         (line   6)
* subequations, AMS-LaTeX environment:   Builtin Label Environments.
                                                              (line  15)
* subfig, LaTeX package:                 Builtin Label Environments.
                                                              (line  33)
* subfigure*, LaTeX environment:         Builtin Label Environments.
                                                              (line  33)
* subfigure, LaTeX environment:          Builtin Label Environments.
                                                              (line  33)
* supertab, LaTeX package:               Builtin Label Environments.
                                                              (line  35)
* supertabular, LaTeX environment:       Builtin Label Environments.
                                                              (line  35)
* Table of contents buffer:              Table of Contents.   (line   6)
* Table of contents buffer, recentering: Table of Contents.   (line 199)
* Table of contents, options:            Options (Table of Contents).
                                                              (line   6)
* table*, LaTeX environment:             Builtin Label Environments.
                                                              (line  12)
* table, LaTeX environment:              Builtin Label Environments.
                                                              (line  12)
* tabwindow, LaTeX environment:          Builtin Label Environments.
                                                              (line  27)
* TeX files, not found:                  Installation.        (line  20)
* TeX-add-style-hook, AUCTeX:            Style Files.         (line   6)
* TeX-arg-cite, AUCTeX function:         AUCTeX-RefTeX Interface.
                                                              (line  41)
* TeX-arg-index, AUCTeX function:        AUCTeX-RefTeX Interface.
                                                              (line  41)
* TeX-arg-label, AUCTeX function:        AUCTeX-RefTeX Interface.
                                                              (line  41)
* TeX-arg-ref, AUCTeX function:          AUCTeX-RefTeX Interface.
                                                              (line  41)
* TeX-file-extensions:                   Finding Files.       (line  57)
* TeX-insert-macro, AUCTeX:              AUCTeX-RefTeX Interface.
                                                              (line  20)
* TeX-insert-macro, AUCTeX function:     AUCTeX-RefTeX Interface.
                                                              (line  41)
* tex-main-file:                         Multifile Documents. (line  15)
* TeX-master:                            Multifile Documents. (line  15)
* TEXBIB, environment variable:          Creating Citations.  (line  20)
* TEXINPUTS, environment variable:       Installation.        (line  20)
* Thanks:                                Imprint.             (line   6)
* thebibliography, LaTeX environment:    Creating Citations.  (line  20)
* theorem, newtheorem:                   Theorem and Axiom.   (line   6)
* TOC entries for environments:          Table of Contents.   (line 213)
* turn-on-reftex:                        Installation.        (line  32)
* varioref, LaTeX package <1>:           varioref (LaTeX package).
                                                              (line   6)
* varioref, LaTeX package:               Referencing Labels.  (line 133)
* Viewing citations:                     Citation Info.       (line   8)
* Viewing cite locations from BibTeX buffer: Viewing Cross-References.
                                                              (line  42)
* Viewing cross-references:              Reference Info.      (line   6)
* Viewing cross-references, options:     Options (Viewing Cross-References).
                                                              (line   6)
* Viper mode:                            Problems and Work-Arounds.
                                                              (line  84)
* viper-harness-minor-mode:              Problems and Work-Arounds.
                                                              (line  84)
* wrapfig, LaTeX package:                Builtin Label Environments.
                                                              (line  37)
* wrapfigure, LaTeX environment:         Builtin Label Environments.
                                                              (line  37)
* x-symbol, Emacs package:               Problems and Work-Arounds.
                                                              (line  31)
* xalignat, AMS-LaTeX environment:       Builtin Label Environments.
                                                              (line  15)
* xr, LaTeX package:                     xr (LaTeX package).  (line   6)
* xxalignat, AMS-LaTeX environment:      Builtin Label Environments.
                                                              (line  15)


File: reftex,  Node: Creating Index Entries,  Next: The Index Phrases File,  Up: Index Support

5.1 Creating Index Entries
==========================

In order to index the current selection or the word at the cursor press
`C-c /' (`reftex-index-selection-or-word').  This causes the selection
or word `WORD' to be replaced with `\index{WORD}WORD'.  The macro which
is used (`\index' by default) can be configured with the variable
`reftex-index-default-macro'.  When the command is called with a prefix
argument (`C-u C-c /'), you get a chance to edit the generated index
entry.  Use this to change the case of the word or to make the entry a
subentry, for example by entering `main!sub!WORD'.  When called with
two raw `C-u' prefixes (`C-u C-u C-c /'), you will be asked for the
index macro as well.  When there is nothing selected and no word at
point, this command will just call `reftex-index', described below.

   In order to create a general index entry, press `C-c <'
(`reftex-index').  RefTeX will prompt for one of the available index
macros and for its arguments.  Completion will be available for the
index entry and, if applicable, the index tag.  The index tag is a
string identifying one of multiple indices.  With the `multind' and
`index' packages, this tag is the first argument to the redefined
`\index' macro.

File: reftex,  Node: The Index Phrases File,  Next: Displaying and Editing the Index,  Prev: Creating Index Entries,  Up: Index Support

5.2 The Index Phrases File
==========================

RefTeX maintains a file in which phrases can be collected for later
indexing.  The file is located in the same directory as the master file
of the document and has the extension `.rip' (Reftex Index Phrases).
You can create or visit the file with `C-c |'
(`reftex-index-visit-phrases-buffer').  If the file is empty it is
initialized by inserting a file header which contains the definition of
the available index macros.  This list is initialized from
`reftex-index-macros' (*note Defining Index Macros::).  You can edit
the header as needed, but if you define new LaTeX indexing macros,
don't forget to add them to `reftex-index-macros' as well.  Here is a
phrase file header example:

     % -*- mode: reftex-index-phrases -*-
     %                           Key   Macro Format       Repeat
     %----------------------------------------------------------
     >>>INDEX_MACRO_DEFINITION:   i    \index{%s}          t
     >>>INDEX_MACRO_DEFINITION:   I    \index*{%s}         nil
     >>>INDEX_MACRO_DEFINITION:   g    \glossary{%s}       t
     >>>INDEX_MACRO_DEFINITION:   n    \index*[name]{%s}   nil
     %----------------------------------------------------------

   The macro definition lines consist of a unique letter identifying a
macro, a format string and the REPEAT flag, all separated by <TAB>.
The format string shows how the macro is to be applied, the `%s' will
be replaced with the index entry.  The repeat flag indicates if WORD is
indexed by the macro as `\index{WORD}' (REPEAT = `nil') or as
`\index{WORD}WORD' (REPEAT = `t').  In the above example it is assumed
that the macro `\index*{WORD}' already typesets its argument in the
text, so that it is unnecessary to repeat WORD outside the macro.

* Menu:

* Collecting Phrases::               Collecting from document or external.
* Consistency Checks::               Check for duplicates etc.
* Global Indexing::                  The interactive indexing process.

File: reftex,  Node: Displaying and Editing the Index,  Next: Builtin Index Macros,  Prev: The Index Phrases File,  Up: Index Support

5.3 Displaying and Editing the Index
====================================

In order to compile and display the index, press `C-c >'.  If the
document uses multiple indices, RefTeX will ask you to select one.
Then, all index entries will be sorted alphabetically and displayed in
a special buffer, the `*Index*' buffer.  From that buffer you can check
and edit each entry.

   The index can be restricted to the current section or the region.
Then only entries in that part of the document will go into the compiled
index.  To restrict to the current section, use a numeric prefix `2',
thus press `C-u 2 C-c >'.  To restrict to the current region, make the
region active and use a numeric prefix `3' (press `C-u 3 C-c >').  From
within the `*Index*' buffer the restriction can be moved from one
section to the next by pressing the `<' and `>' keys.

   One caveat: RefTeX finds the definition point of an index entry by
searching near the buffer position where it had found to macro during
scanning.  If you have several identical index entries in the same
buffer and significant changes have shifted the entries around, you must
rescan the buffer to ensure the correspondence between the `*Index*'
buffer and the definition locations.  It is therefore advisable to
rescan the document (with `r' or `C-u r') frequently while editing the
index from the `*Index*' buffer.

   Here is a list of special commands available in the `*Index*'
buffer.  A summary of this information is always available by pressing
`?'.

General
.......

`?'
     Display a summary of commands.

`0-9, -'
     Prefix argument.

Moving around
.............

`! A..Z'
     Pressing any capital letter will jump to the corresponding section
     in the `*Index*' buffer.  The exclamation mark is special and
     jumps to the first entries alphabetically sorted below `A'.  These
     are usually non-alphanumeric characters.

`n'
     Go to next entry.

`p'
     Go to previous entry.

Access to document locations
............................

`<SPC>'
     Show the place in the document where this index entry is defined.

`<TAB>'
     Go to the definition of the current index entry in another window.

`<RET>'
     Go to the definition of the current index entry and hide the
     `*Index*' buffer window.

`f'
     Toggle follow mode.  When follow mode is active, the other window
     will always show the location corresponding to the line in the
     `*Index*' buffer at point.  This is similar to pressing <SPC>
     after each cursor motion.  The default for this flag can be set
     with the variable `reftex-index-follow-mode'.  Note that only
     context in files already visited is shown.  RefTeX will not visit
     a file just for follow mode.  See, however, the variable
     `reftex-revisit-to-follow'.

Entry editing
.............

`e'
     Edit the current index entry.  In the minibuffer, you can edit the
     index macro which defines this entry.

`C-k'
     Kill the index entry.  Currently not implemented because I don't
     know how to implement an `undo' function for this.

`*'
     Edit the KEY part of the entry.  This is the initial part of the
     entry which determines the location of the entry in the index.

`|'
     Edit the ATTRIBUTE part of the entry.  This is the part after the
     vertical bar.  With `MakeIndex', this part is an encapsulating
     macro.  With `xindy', it is called _attribute_ and is a property
     of the index entry that can lead to special formatting.  When
     called with `C-u' prefix, kill the entire ATTRIBUTE part.

`@'
     Edit the VISUAL part of the entry.  This is the part after the `@'
     which is used by `MakeIndex' to change the visual appearance of
     the entry in the index.  When called with `C-u' prefix, kill the
     entire VISUAL part.

`('
     Toggle the beginning of page range property `|(' of the entry.

`)'
     Toggle the end of page range property `|)' of the entry.

`_'
     Make the current entry a subentry.  This command will prompt for
     the superordinate entry and insert it.

`^'
     Remove the highest superordinate entry.  If the current entry is a
     subitem (`aaa!bbb!ccc'), this function moves it up the hierarchy
     (`bbb!ccc').

Exiting
.......

`q'
     Hide the `*Index*' buffer.

`k'
     Kill the `*Index*' buffer.

`C-c ='
     Switch to the Table of Contents buffer of this document.

Controlling what gets displayed
...............................

`c'
     Toggle the display of short context in the `*Index*' buffer.  The
     default for this flag can be set with the variable
     `reftex-index-include-context'.

`}'
     Restrict the index to a single document section.  The corresponding
     section number will be displayed in the `R<>' indicator in the
     mode line and in the header of the `*Index*' buffer.

`{'
     Widen the index to contain all entries of the document.

`<'
     When the index is currently restricted, move the restriction to the
     previous section.

`>'
     When the index is currently restricted, move the restriction to the
     next section.

Updating the buffer
...................

`g'
     Rebuild the `*Index*' buffer.  This does _not_ rescan the
     document.  However, it sorts the entries again, so that edited
     entries will move to the correct position.

`r'
     Reparse the LaTeX document and rebuild the `*Index*' buffer.  When
     `reftex-enable-partial-scans' is non-`nil', rescan only the file
     this location is defined in, not the entire document.

`C-u r'
     Reparse the _entire_ LaTeX document and rebuild the `*Index*'
     buffer.

`s'
     Switch to a different index (for documents with multiple indices).

File: reftex,  Node: Builtin Index Macros,  Next: Defining Index Macros,  Prev: Displaying and Editing the Index,  Up: Index Support

5.4 Builtin Index Macros
========================

RefTeX by default recognizes the `\index' and `\glossary' macros which
are defined in the LaTeX core.  It has also builtin support for the
re-implementations of `\index' in the `multind' and `index' packages.
However, since the different definitions of the `\index' macro are
incompatible, you will have to explicitly specify the index style used.
*Note Creating Index Entries::, for information on how to do that.

File: reftex,  Node: Defining Index Macros,  Prev: Builtin Index Macros,  Up: Index Support

5.5 Defining Index Macros
=========================

When writing a document with an index you will probably define
additional macros which make entries into the index.  Let's look at an
example.

     \newcommand{\ix}[1]{#1\index{#1}}
     \newcommand{\nindex}[1]{\textit{#1}\index[name]{#1}}
     \newcommand{\astobj}[1]{\index{Astronomical Objects!#1}}

   The first macro `\ix' typesets its argument in the text and places
it into the index.  The second macro `\nindex' typesets its argument in
the text and places it into a separate index with the tag `name'(1).
The last macro also places its argument into the index, but as subitems
under the main index entry `Astronomical Objects'.  Here is how to make
RefTeX recognize and correctly interpret these macros, first with Emacs
Lisp.

     (setq reftex-index-macros
           '(("\\ix{*}" "idx" ?x "" nil nil)
             ("\\nindex{*}" "name" ?n "" nil nil)
             ("\\astobj{*}" "idx" ?o "Astronomical Objects!" nil t)))

   Note that the index tag is `idx' for the main index, and `name' for
the name index.  `idx' and `glo' are reserved for the default index and
for the glossary.

   The character arguments `?x', `?n', and `?o' are for quick
identification of these macros when RefTeX inserts new index entries
with `reftex-index'.  These codes need to be unique. `?i', `?I', and
`?g' are reserved for the `\index', `\index*', and `\glossary' macros,
respectively.

   The following string is empty unless your macro adds a superordinate
entry to the index key - this is the case for the `\astobj' macro.

   The next entry can be a hook function to exclude certain matches, it
almost always can be `nil'.

   The final element in the list indicates if the text being indexed
needs to be repeated outside the macro.  For the normal index macros,
this should be `t'.  Only if the macro typesets the entry in the text
(like `\ix' and `\nindex' in the example do), this should be `nil'.

   To do the same thing with customize, you need to fill in the
templates like this:

     Repeat:
     [INS] [DEL] List:
                 Macro with args: \ix{*}
                 Index Tag      : [Value Menu] String: idx
                 Access Key     : x
                 Key Prefix     :
                 Exclusion hook : nil
                 Repeat Outside : [Toggle]  off (nil)
     [INS] [DEL] List:
                 Macro with args: \nindex{*}
                 Index Tag      : [Value Menu] String: name
                 Access Key     : n
                 Key Prefix     :
                 Exclusion hook : nil
                 Repeat Outside : [Toggle]  off (nil)
     [INS] [DEL] List:
                 Macro with args: \astobj{*}
                 Index Tag      : [Value Menu] String: idx
                 Access Key     : o
                 Key Prefix     : Astronomical Objects!
                 Exclusion hook : nil
                 Repeat Outside : [Toggle]  on (non-nil)
     [INS]

   With the macro `\ix' defined, you may want to change the default
macro used for indexing a text phrase (*note Creating Index Entries::).
This would be done like this

     (setq reftex-index-default-macro '(?x "idx"))

   which specifies that the macro identified with the character `?x'
(the `\ix' macro) should be used for indexing phrases and words already
in the buffer with `C-c /' (`reftex-index-selection-or-word').  The
index tag is "idx".

   ---------- Footnotes ----------

   (1) We are using the syntax of the `index' package here.

File: reftex,  Node: Collecting Phrases,  Next: Consistency Checks,  Up: The Index Phrases File

5.2.1 Collecting Phrases
------------------------

Phrases for indexing can be collected while writing the document.  The
command `C-c \' (`reftex-index-phrase-selection-or-word') copies the
current selection (if active) or the word near point into the phrases
buffer.  It then selects this buffer, so that the phrase line can be
edited.  To return to the LaTeX document, press `C-c C-c'
(`reftex-index-phrases-save-and-return').

   You can also prepare the list of index phrases in a different way and
copy it into the phrases file.  For example you might want to start from
a word list of the document and remove all words which should not be
indexed.

   The phrase lines in the phrase buffer must have a specific format.
RefTeX will use font-lock to indicate if a line has the proper format.
A phrase line looks like this:

     [KEY] <TABs> PHRASE [<TABs> ARG[&&ARG]... [ || ARG]...]

   `<TABs>' stands for white space containing at least one <TAB>.  KEY
must be at the start of the line and is the character identifying one
of the macros defined in the file header.  It is optional - when
omitted, the first macro definition line in the file will be used for
this phrase.  The PHRASE is the phrase to be searched for when
indexing.  It may contain several words separated by spaces.  By
default the search phrase is also the text entered as argument of the
index macro.  If you want the index entry to be different from the
search phrase, enter another <TAB> and the index argument ARG.  If you
want to have each match produce several index entries, separate the
different index arguments with ` && '(1).  If you want to be able to
choose at each match between several different index arguments,
separate them with ` || '(2).  Here is an example:

     %--------------------------------------------------------------------
     I     Sun
     i     Planet         Planets
     i     Vega           Stars!Vega
           Jupiter        Planets!Jupiter
     i     Mars           Planets!Mars || Gods!Mars || Chocolate Bars!Mars
     i     Pluto          Planets!Pluto && Kuiper Belt Objects!Pluto

   So `Sun' will be indexed directly as `\index*{Sun}', while `Planet'
will be indexed as `\index{Planets}Planet'.  `Vega' will be indexed as
a subitem of `Stars'.  The `Jupiter' line will also use the `i' macro
as it was the first macro definition in the file header (see above
example).  At each occurrence of `Mars' you will be able choose between
indexing it as a subitem of `Planets', `Gods' or `Chocolate Bars'.
Finally, every occurrence of `Pluto' will be indexed as
`\index{Planets!Pluto}\index{Kuiper Belt Objects!Pluto}Pluto' and will
therefore create two different index entries.

   ---------- Footnotes ----------

   (1) `&&' with optional spaces, see
`reftex-index-phrases-logical-and-regexp'.

   (2) `||' with optional spaces, see
`reftex-index-phrases-logical-or-regexp'.

File: reftex,  Node: Consistency Checks,  Next: Global Indexing,  Prev: Collecting Phrases,  Up: The Index Phrases File

5.2.2 Consistency Checks
------------------------

Before indexing the phrases in the phrases buffer, they should be
checked carefully for consistency.  A first step is to sort the phrases
alphabetically - this is done with the command `C-c C-s'
(`reftex-index-sort-phrases').  It will sort all phrases in the buffer
alphabetically by search phrase.  If you want to group certain phrases
and only sort within the groups, insert empty lines between the groups.
Sorting will only change the sequence of phrases within each group (see
the variable `reftex-index-phrases-sort-in-blocks').

   A useful command is `C-c C-i' (`reftex-index-phrases-info') which
lists information about the phrase at point, including an example of
how the index entry will look like and the number of expected matches
in the document.

   Another important check is to find out if there are double or
overlapping entries in the buffer.  For example if you are first
searching and indexing `Mars' and then `Planet Mars', the second phrase
will not match because of the index macro inserted before `Mars'
earlier.  The command `C-c C-t'
(`reftex-index-find-next-conflict-phrase') finds the next phrase in the
buffer which is either duplicate or a subphrase of another phrase.  In
order to check the whole buffer like this, start at the beginning and
execute this command repeatedly.

File: reftex,  Node: Global Indexing,  Prev: Consistency Checks,  Up: The Index Phrases File

5.2.3 Global Indexing
---------------------

Once the index phrases have been collected and organized, you are set
for global indexing.  I recommend to do this only on an otherwise
finished document.  Global indexing starts from the phrases buffer.
There are several commands which start indexing: `C-c C-x' acts on the
current phrase line, `C-c C-r' on all lines in the current region and
`C-c C-a' on all phrase lines in the buffer.  It is probably good to do
indexing in small chunks since your concentration may not last long
enough to do everything in one go.

   RefTeX will start at the first phrase line and search the phrase
globally in the whole document.  At each match it will stop, compute the
replacement string and offer you the following choices(1):

`y'
     Replace this match with the proposed string.

`n'
     Skip this match.

`!'
     Replace this and all further matches in this file.

`q'
     Skip this match, start with next file.

`Q'
     Skip this match, start with next phrase.

`o'
     Select a different indexing macro for this match.

`1-9'
     Select one of multiple index keys (those separated with `||').

`e'
     Edit the replacement text.

`C-r'
     Recursive edit.  Use `C-M-c' to return to the indexing process.

`s'
     Save this buffer and ask again about the current match.

`S'
     Save all document buffers and ask again about the current match.

`C-g'
     Abort the indexing process.

   The `Find and Index in Document' menu in the phrases buffer also
lists a few options for the indexing process.  The options have
associated customization variables to set the defaults (*note Options
(Index Support)::).  Here is a short explanation of what the options do:

Match Whole Words
     When searching for index phrases, make sure whole words are
     matched.  This should probably always be on.

Case Sensitive Search
     Search case sensitively for phrases.  I recommend to have this
     setting off, in order to match the capitalized words at the
     beginning of a sentence, and even typos.  You can always say _no_
     at a match you do not like.

Wrap Long Lines
     Inserting index macros increases the line length.  Turn this
     option on to allow RefTeX to wrap long lines.

Skip Indexed Matches
     When this is on, RefTeX will at each match try to figure out if
     this match is already indexed.  A match is considered indexed if
     it is either the argument of an index macro, or if an index macro
     is directly (without whitespace separation) before or after the
     match.  Index macros are those configured in
     `reftex-index-macros'.  Intended for re-indexing a documents after
     changes have been made.

   Even though indexing should be the last thing you do to a document,
you are bound to make changes afterwards.  Indexing then has to be
applied to the changed regions.  The command
`reftex-index-phrases-apply-to-region' is designed for this purpose.
When called from a LaTeX document with active region, it will apply
`reftex-index-all-phrases' to the current region.

   ---------- Footnotes ----------

   (1) Windows users: Restrict yourself to the described keys during
indexing.  Pressing <Help> at the indexing prompt can apparently hang
Emacs.