This is ../info/reftex, produced by makeinfo version 4.6 from
reftex.texi.

INFO-DIR-SECTION The Emacs editor and associated tools
START-INFO-DIR-ENTRY
* reftex: (reftex).		Support for LaTeX labels, references,
				 and citations with Emacs.
END-INFO-DIR-ENTRY

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

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

   Copyright (c) 1997, 1998 Free Software Foundation, Inc.

   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derive work is distributed under the terms of a
permission notice identical to this one.

   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.


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

   RefTeX is a package for managing Labels, References and Citations
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 a single page (*note RefTeX in a Nutshell::).  You can go back later
to other parts of this document when needed.

* Menu:

* Introduction::                     Quick-Start information.

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

* RefTeXs Menu::                     The Ref menu in the menubar.
* Keybindings::                      The default keybindings.
* 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.

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.

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.
* 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.

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 (Viewing Cross-References)::
* Options (Finding Files)::
* Options (Optimizations)::
* Options (Fontification)::
* Options (Misc)::


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

Introduction
************

RefTeX is a specialized package for support of labels, references, and
citations in LaTeX.  RefTeX wraps itself round 3 LaTeX macros:
`\label', `\ref', and `\cite'.  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

Installation
============

RefTeX is bundled and pre-installed with Emacs since version 20.2.

   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.

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::.

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

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

  1. Table of Contents
     Typing `C-c =' (`reftex-toc') will show a table of contents of the
     document.  From that buffer, you can jump quickly to every part of
     your document.  Press `?' to get help.

  2. Labels and References
     RefTeX distinguishes labels for different environments.  It 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)

     This 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
     variable `reftex-cite-format').

  4. 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.

  5. Multifile Documents
     Multifile Documents are fully supported.  RefTeX provides
     cross-referencing information from all parts of the document, and
     across document borders (`xr.sty').

  6. 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' is 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
     or the table of contents buffer.

  7. Useful Settings
     To make RefTeX faster for large documents, and to integrate with
     AUCTeX, try these:
          (setq reftex-enable-partial-scans t)
          (setq reftex-save-parse-info t)
          (setq reftex-use-multiple-selection-buffers t)
          (setq reftex-plug-into-AUCTeX t)


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

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 `c' keys you can have
all labels defined in the document and some context of the label
definition displayed 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 `?'.

`0-9, -'
     Prefix argument.

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

`f'
     Toggle follow mode.  When follow mode is active, the other window
     will always show the location corresponding to the line in the
     `*toc*' 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-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'.

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

`i'
     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 `*toc*' buffer.  The default for this
     flag can be set with the variable `reftex-toc-include-labels'.

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

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

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

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

`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.

`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.

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

`<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)::.


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

   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'.


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

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.


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

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 illegal
in labels.  RefTeX will therefore strip the accent from accented
Latin-1 characters and remove everything else which is not legal 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

Referencing Labels
==================

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>.
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 `?'.

`0-9,-'
     Prefix argument.

`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'
     Toggle the display of the one-line label definition context in the
     selection buffer.

`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'.

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

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

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

`n'
     Go to next label.

`p'
     Go to previous label.

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

`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).

`R'
     Reparse the _entire_ document.

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

`t'
     Toggle the display of the table of contents in the selection
     buffer.

`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 in the mode line of the
     selection buffer.

`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).).

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

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

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

`<RET>'
     Insert a reference to the label at point into the buffer from
     which the selection process was started.

`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)::.

`#'
     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.

`?'
     Show a summary of the available keys.

`C-c C-n'
     Goto next section heading (like outline mode).

`C-c C-p'
     Goto previous section heading (like outline mode).


   Several of these keys toggle certain settings.  The default value for
these flags can be preset by configuring the variable
`reftex-label-menu-flags' (*note Options (Referencing Labels)::).  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

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

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 should 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.
* Putting it Together::              How to combine many entries.


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

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."))
          ("theorem" ?h "thr:" "~\\ref{%s}" t   ("theorem" "theor." "th."))))

   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.

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 strings at the end of each entry are 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.

   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]
     [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]

   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

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]


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

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]


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

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: Putting it Together,  Prev: Adding Magic Words,  Up: Defining Label Environments

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: Putting it Together,  Prev: Using \eqref,  Up: Defining Label Environments

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."))
         ("theorem" ?h "thr:" "~\\ref{%s}" t   ("theorem" "theor." "th."))
         ("\\quickeq{}" ?e nil nil 1 nil)
         AMSTeX
         ("\\myfig[]{}{}{*}{}" ?f nil nil 3)))


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

Reference Info
==============

When point is idle 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

`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),  Prev: xr (LaTeX package),  Up: Labels and References

`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 the `\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'.


File: reftex,  Node: Citations,  Next: Viewing Cross-References,  Prev: Labels and References,  Up: Top

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.


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

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 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 `?'.

`0-9,-'
     Prefix argument.

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

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

`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.

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

`n'
     Go to next article.

`p'
     Go to previous article.

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

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

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

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

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

`<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)::.

`?'
     Show a summary of the available keys.

   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

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') 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}

   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

Citation Info
=============

When point is idle 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::, for more information.


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

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,  Prev: Chapterbib and Bibunits,  Up: Citations

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)
            (require 'reftex)
            (let ((reftex-cite-format 'locally))
              (reftex-citation))))))


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

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 estabishing 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, unless you break this link with a prefix
     argument to `C-c &'.

`\index'
     Display other locations in the document which are marked by the
     same index entry.  The standard `\index' macro as well as many
     variants(3) will be recognized.

   While the display of cross reference information for citations and
labels is hard-coded within RefTeX, the `\index' stuff is configured in
the variable `reftex-view-crossref-macros'.  You can customize this
variable to add other sets of macros for which the display of
cross-referencing information can be useful.

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

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

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

   (3) all macros which contain either `index' or `idx' in their name


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

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: Keybindings,  Next: Faces,  Prev: RefTeXs Menu,  Up: Top

Default Keybindings
===================

Here is a summary of the available keybindings.

     C-c =      `reftex-toc'
     C-c (      `reftex-label'
     C-c )      `reftex-reference'
     C-c [      `reftex-citation'
     C-c &      `reftex-view-crossref'
     S-mouse-2  `reftex-mouse-view-crossref'

   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'.

   The above keys were chosen to avoid interfering with AUCTeX's
settings.  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'

If you want to copy these as well, set in your `.emacs' file:

     (setq reftex-extra-bindings t)

   Changing and adding to RefTeX's keybindings 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: Keybindings,  Up: Top

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

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 have a File
     Variable (`TeX-master' for AUCTeX or `tex-main-file' for the
     standard Emacs LaTeX mode) set to the name of the master file.
     See the documentation of your (La)TeX mode and *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

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 legal
     label.  If you are using a special version of TeX which allows
     extended characters _in labels_, then you should 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::.


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

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")))


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

Optimizations
=============

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)

   * 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: AUCTeX,  Next: Multifile Documents,  Prev: Faces,  Up: Top

AUC TeX
=======

AUCTeX is without doubt the best major mode for editing TeX and LaTeX
files with Emacs.  AUCTeX is part of the XEmacs distribution.  It is
also available from the AUCTeX distribution site
(http://www.sunsite.auc.dk/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


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

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, customize this variable 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' and `TeX-arg-cite' to prompt for
     arguments which are labels and citation keys.  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 and citations keys
     RefTeX will add all newly created labels to AUCTeX's completion
     list.

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

   (1) RefTeX 3.23 and AUCTeX 9.9c 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

Style Files
-----------

Style files are Emacs Lisp files which are evaluated by AUCTeX in
association with the `\documentclass' and `\usepackage' commands of a
document. Support for RefTeX in such a style file is useful when the
LaTeX style defines macros or environments connected with labels and
citations.  Some 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.")))))))

   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))))

   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

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 some
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: Problems and Work-Arounds,  Next: Imprint,  Prev: Optimizations,  Up: Top

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

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

   * Command abbreviations
     Some people define abbreviations for environments, like `\be' for
     `\begin{equation}', and `\ee' for `\end{equation}'.  RefTeX cannot
     be configured to see these--you will have to used the full
     `\begin' and `\end' statements.

   * 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', and `reftex-add-section-levels'.
     Settings made with these functions remain local to the current
     document. *Note AUCTeX::, for more information.

   * 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

Imprint
=======

RefTeX was written by Carsten Dominik <dominik@strw.leidenuniv.nl>,
with contributions by Stephen Eglen.  RefTeX is currently maintained by

Carsten Dominik <dominik@strw.leidenuniv.nl>

   If you have questions about RefTeX, there are several Usenet groups
which have competent readers: `comp.emacs', `gnu.emacs.help',
`comp.emacs.xemacs', `comp.text.tex'.  You can also write directly to
the maintainer.

   If you find a bug in RefTeX or its documentation, or if you want to
contribute code or ideas, please contact the maintainer
(mailto:dominik@strw.leidenuniv.nl).  Remember to provide all necessary
information such as version numbers of Emacs and RefTeX, and the
relevant part of your configuration in `.emacs'.  When reporting a bug
which throws an exception, please include a backtrace if you know how
to produce one.

   RefTeX is bundled and preinstalled with Emacs since version 20.2.
It was also bundled and preinstalled 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.  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 maintainers webpage
(http://www.strw.leidenuniv.nl/~dominik/Tools/).

   Thanks to the people on the Net who have used RefTeX and helped
developing it with their reports.  In particular thanks to Fran
Burstall, Alastair Burt, Soren Dayton, Stephen Eglen, Karl Eichwalder,
Peter Galbraith, Kai Grossjohann, Dieter Kraft, Adrian Lanz, Rory
Molinari, Laurent Mugnier, Sudeep Kumar Palat, Daniel Polani, Robin
Socha, Richard Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler,
Alan Williams.

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

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


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

Commands
********

Here is a summary of RefTeX's commands.  All commands are available
from the `Ref' menu.  For keybindings, *note Keybindings::.

 - 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 formated according to `reftex-cite-format' and
     inserted into the buffer.
     When called with one or two `C-u' prefixes, first rescans the
     document.  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-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 promps upon first use for a buffer in RefTeX mode.
     To reset this link to a document, call the function with 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-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-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

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 (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

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

 - 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-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-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-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-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

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 ... ))

     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 `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.
               %u User login name, on systems which support this.

          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(1).

     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-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.

 - 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.

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

   (1) Careful:  RefTeX will add stuff to the beginning and end of
these regular expressions.


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

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 legal 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), 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 legal 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 legal 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.

    ILLEGAL
          `nil': Throw away any words containing characters illegal in
          labels.
          `t':   Throw away only the illegal 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 legal 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

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.

 - 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'.  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-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-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 (Viewing Cross-References),  Prev: Options (Referencing Labels),  Up: Options

Creating Citations
==================

 - 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 which
     has 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 or an alist.  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.

     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 (see
     `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-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 (Viewing Cross-References),  Next: Options (Finding Files),  Prev: Options (Creating Citations),  Up: Options

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

 - User Option: reftex-view-crossref-macros
     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.  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 with the argument at point.
     HIGHLIGHT is an integer indicating which subgroup of the match
     should be highlighted.  `\ref' and `\\cite' macros (and their
     variations) are hard-coded and need no mentioning in this variable.

 - 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 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 of from the menu (Ref->Options).

 - User Option: reftex-idle-time
     Time (secs) Emacs has to be idle before automatic crossref display
     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

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 legal extensions for this file type.
     When a files is searched and it does not have any of the legal
     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

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 a file.
     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-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

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.


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

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
     Keybindings::.

 - User Option: reftex-plug-into-AUCTeX
     Plug-in flags for AUCTeX interface.  This variable is a list of 4
     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)

     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

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 3 modes used for referencing labels, creating
citations and for the table of contents 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,  Prev: Keymaps and Hooks,  Up: Top

Changes
*******

Here is a list of recent changes to RefTeX.

Version 3.35
   * ISO 8859 Latin-1 chars are converted to ASCII to derive better
     labels.  This takes back the related changes in 3.34 for safety
     reasons.
    Version 3.36
   * New value `window' for option `reftex-auto-view-crossref'.
 Version 3.38
   * `reftex-view-crossref' no longer moves to find a macro.  Point has
     to be on the macro argument.
 Version 3.41
   * New options `reftex-texpath-environment-variables',
     `reftex-use-external-file-finders', `reftex-external-file-finders',
     `reftex-search-unrecursed-path-first'.

   * _kpathsearch_ support.  See new options and
     `reftex-bibpath-environment-variables'.
 Version 3.42
   * File search further refined.  New option `reftex-file-extensions'.

   * `*toc*' buffer can show the file boundaries of a multifile
     document, all labels and associated context.  New keys `i', `l',
     and `c'.  New options `reftex-toc-include-labels',
     `reftex-toc-include-context',
     `reftex-toc-include-file-boundaries'.
 Version 3.43
   * Viewing cross-references generalized.  Now works on `\label',
     `\ref', `\cite', `\bibitem', `\index', variations of these, and
     from BibTeX buffers.

   * New option `reftex-view-crossref-extra'.

   * Support for the additional sectioning commands `\addchap' and
     `\addsec' which are dfined in the LaTeX KOMA-Script classes.

   * Files in `reftex-default-bibliography' will be searched along
     `BIBINPUTS' path.

   * Reading a parse file now checks consistency.


File: reftex,  Node: Index,  Up: Top

Index
*****

* Menu:

* *toc* buffer:                          Table of Contents.
* ? <1>:                                 Referencing Labels.
* ? <2>:                                 Table of Contents.
* ?:                                     Creating Citations.
* \bibitem:                              Viewing Cross-References.
* \bibliography:                         Creating Citations.
* \cite <1>:                             Citations.
* \cite:                                 Viewing Cross-References.
* \endnote, LaTeX macro:                 Builtin Label Environments.
* \eqref, AMS-LaTeX macro:               Using \eqref.
* \externaldocument:                     xr (LaTeX package).
* \footnote, LaTeX macro:                Builtin Label Environments.
* \index:                                Viewing Cross-References.
* \label <1>:                            Viewing Cross-References.
* \label:                                Labels and References.
* \newtheorem:                           Theorem and Axiom.
* \ref <1>:                              Viewing Cross-References.
* \ref:                                  Referencing Labels.
* \vref:                                 varioref (LaTeX package).
* Acknowledgments:                       Imprint.
* align, AMS-LaTeX environment:          Builtin Label Environments.
* alignat, AMS-LaTeX environment:        Builtin Label Environments.
* AMS-LaTeX <1>:                         Builtin Label Environments.
* AMS-LaTeX:                             Using \eqref.
* amsmath, LaTeX package:                Builtin Label Environments.
* AUCTeX, Emacs package:                 AUCTeX.
* Automatic document scans:              Optimizations.
* axiom, newtheorem:                     Theorem and Axiom.
* Beqnarray, LaTeX environment:          Builtin Label Environments.
* bib-cite, Emacs package:               Bib-Cite.
* bib-cite-use-reftex-view-crossref:     Bib-Cite.
* BIBINPUTS, environment variable <1>:   Creating Citations.
* BIBINPUTS, environment variable:       Installation.
* Bibliographies, multiple:              Chapterbib and Bibunits.
* BibTeX buffer, viewing cite locations from: Viewing Cross-References.
* BibTeX database files, not found:      Installation.
* bibunits, LaTeX package:               Chapterbib and Bibunits.
* Bug reports:                           Imprint.
* Builtin label environments:            Builtin Label Environments.
* C-c & <1>:                             Keybindings.
* C-c & <2>:                             Viewing Cross-References.
* C-c & <3>:                             Citation Info.
* C-c &:                                 Reference Info.
* C-c ( <1>:                             Keybindings.
* C-c (:                                 Creating Labels.
* C-c ) <1>:                             Referencing Labels.
* C-c ):                                 Keybindings.
* C-c <RET>:                             AUCTeX-RefTeX Interface.
* C-c = <1>:                             Keybindings.
* C-c =:                                 Table of Contents.
* C-c [ <1>:                             Creating Citations.
* C-c [:                                 Keybindings.
* C-c c:                                 Keybindings.
* C-c C-e:                               AUCTeX-RefTeX Interface.
* C-c C-s:                               AUCTeX-RefTeX Interface.
* C-c g:                                 Keybindings.
* C-c l:                                 Keybindings.
* C-c r:                                 Keybindings.
* C-c s:                                 Keybindings.
* C-c t:                                 Keybindings.
* C-c v:                                 Keybindings.
* Changes:                               Changes.
* chapterbib, LaTeX package:             Chapterbib and Bibunits.
* chicago, citation style:               Citation Styles.
* Citation info:                         Citation Info.
* Citation styles:                       Citation Styles.
* Citation styles, chicago:              Citation Styles.
* Citation styles, harvard:              Citation Styles.
* Citation styles, natbib:               Citation Styles.
* Citations:                             Citations.
* Citations outside LaTeX:               Citations Outside LaTeX.
* Citations, creating:                   Creating Citations.
* Citations, displaying:                 Citation Info.
* Commands, list of:                     Commands.
* Creating citations:                    Creating Citations.
* Creating citations, options:           Options (Creating Citations).
* Creating labels:                       Creating Labels.
* Creating labels, options:              Options (Creating Labels).
* Cross-document references:             xr (LaTeX package).
* Cross-references, displaying:          Reference Info.
* Defining label environments, options:  Options (Defining Label Environments).
* Displaying citations:                  Citation Info.
* Displaying cross-references:           Reference Info.
* Document scanning, automatic:          Optimizations.
* Document scanning, partial:            Optimizations.
* Documents, spread over files:          Multifile Documents.
* Emacs packages, AUCTeX:                AUCTeX.
* Emacs packages, bib-cite:              Bib-Cite.
* Emacs packages, iso-cvt:               Problems and Work-Arounds.
* Emacs packages, isotex:                Problems and Work-Arounds.
* Emacs packages, x-symbol:              Problems and Work-Arounds.
* endnote, LaTeX package:                Builtin Label Environments.
* enumerate, LaTeX environment:          Builtin Label Environments.
* Environments, builtin:                 Builtin Label Environments.
* eqnarray, LaTeX environment:           Builtin Label Environments.
* equation, LaTeX environment:           Builtin Label Environments.
* External documents:                    xr (LaTeX package).
* Faces:                                 Faces.
* fancybox, LaTeX package:               Builtin Label Environments.
* Figure wrapping macro:                 Figure Wrapper.
* figure*, LaTeX environment:            Builtin Label Environments.
* figure, LaTeX environment:             Builtin Label Environments.
* figwindow, LaTeX environment:          Builtin Label Environments.
* Finding files <1>:                     Installation.
* Finding files:                         Finding Files.
* Finding files, options:                Options (Finding Files).
* flalign, AMS-LaTeX environment:        Builtin Label Environments.
* floatfig, LaTeX package:               Builtin Label Environments.
* floatingfig, LaTeX environment:        Builtin Label Environments.
* Fontification, options:                Options (Fontification).
* ftp, RefTeX site:                      Imprint.
* gather, AMS-LaTeX environment:         Builtin Label Environments.
* German magic words:                    Adding Magic Words.
* Getting Started:                       RefTeX in a Nutshell.
* harvard, citation style:               Citation Styles.
* http, RefTeX home page:                Imprint.
* Idle timer restart:                    Problems and Work-Arounds.
* Imprint:                               Imprint.
* Installation:                          Installation.
* Introduction:                          Introduction.
* iso-cvt, Emacs package:                Problems and Work-Arounds.
* isotex, Emacs package:                 Problems and Work-Arounds.
* Keybindings, problems with Viper mode: Problems and Work-Arounds.
* Keybindings, summary:                  Keybindings.
* Keymaps:                               Keymaps and Hooks.
* KOMA-Script, LaTeX classes:            Table of Contents.
* Label category <1>:                    Labels and References.
* Label category <2>:                    Using \eqref.
* Label category:                        Adding Magic Words.
* Label environment:                     Labels and References.
* Label environments, builtin:           Builtin Label Environments.
* Label environments, defining:          Defining Label Environments.
* Labels in LaTeX:                       Labels and References.
* Labels, commented out:                 Problems and Work-Arounds.
* Labels, creating:                      Creating Labels.
* Labels, deriving from context:         Creating Labels.
* Labels, referencing:                   Referencing Labels.
* Language support:                      Language Support.
* LaTeX classes, KOMA-Script:            Table of Contents.
* LaTeX commands, abbreviated:           Problems and Work-Arounds.
* LaTeX commands, not found:             Problems and Work-Arounds.
* LaTeX core:                            Builtin Label Environments.
* LaTeX macro footnote:                  Builtin Label Environments.
* LaTeX packages, amsmath:               Builtin Label Environments.
* LaTeX packages, endnote:               Builtin Label Environments.
* LaTeX packages, fancybox:              Builtin Label Environments.
* LaTeX packages, floatfig:              Builtin Label Environments.
* LaTeX packages, longtable:             Builtin Label Environments.
* LaTeX packages, pf:                    Problems and Work-Arounds.
* LaTeX packages, picinpar:              Builtin Label Environments.
* LaTeX packages, rotating:              Builtin Label Environments.
* LaTeX packages, sidecap:               Builtin Label Environments.
* LaTeX packages, subfigure:             Builtin Label Environments.
* LaTeX packages, supertab:              Builtin Label Environments.
* LaTeX packages, varioref:              varioref (LaTeX package).
* LaTeX packages, wrapfig:               Builtin Label Environments.
* LaTeX packages, xr:                    xr (LaTeX package).
* LaTeX-add-environments, AUCTeX:        Style Files.
* LaTeX-label-function, AUCTeX:          AUCTeX-RefTeX Interface.
* latex-mode-hook:                       Installation.
* LaTeX-mode-hook:                       Installation.
* LaTeX-section, AUCTeX:                 AUCTeX-RefTeX Interface.
* longtable, LaTeX environment:          Builtin Label Environments.
* longtable, LaTeX package:              Builtin Label Environments.
* Macros as environment wrappers <1>:    Figure Wrapper.
* Macros as environment wrappers:        Quick Equation.
* Magic words:                           Adding Magic Words.
* Maintainer:                            Imprint.
* Menu, in the menu bar:                 RefTeXs Menu.
* Multifile documents:                   Multifile Documents.
* Multiple selection buffers:            Optimizations.
* multline, AMS-LaTeX environment:       Builtin Label Environments.
* natbib, citation style:                Citation Styles.
* Nutshell, RefTeX in a:                 RefTeX in a Nutshell.
* Optimizations:                         Optimizations.
* Optimizations, options:                Options (Optimizations).
* Options, creating citations:           Options (Creating Citations).
* Options, creating labels:              Options (Creating Labels).
* Options, defining label environments:  Options (Defining Label Environments).
* Options, Finding Files:                Options (Finding Files).
* Options, fontification:                Options (Fontification).
* Options, list of:                      Options.
* Options, misc:                         Options (Misc).
* Options, optimizations:                Options (Optimizations).
* Options, referencing labels:           Options (Referencing Labels).
* Options, table of contents:            Options (Table of Contents).
* Options, viewing cross-references:     Options (Viewing Cross-References).
* Parse information, saving to a file:   Optimizations.
* Partial documents scans:               Optimizations.
* pf, LaTeX package:                     Problems and Work-Arounds.
* picinpar, LaTeX package:               Builtin Label Environments.
* Problems and work-arounds:             Problems and Work-Arounds.
* Quick equation macro:                  Quick Equation.
* Quick-Start:                           RefTeX in a Nutshell.
* Reference info:                        Reference Info.
* References in LaTeX:                   Labels and References.
* References to external documents:      xr (LaTeX package).
* Referencing labels:                    Referencing Labels.
* Referencing labels, options:           Options (Referencing Labels).
* RefTeX in a Nutshell:                  RefTeX in a Nutshell.
* reftex-abbrev-parameters <1>:          Options (Creating Labels).
* reftex-abbrev-parameters <2>:          Creating Labels.
* reftex-abbrev-parameters:              Language Support.
* reftex-add-label-environments <1>:     Problems and Work-Arounds.
* reftex-add-label-environments:         Style Files.
* reftex-add-section-levels <1>:         Style Files.
* reftex-add-section-levels:             Problems and Work-Arounds.
* reftex-add-to-label-alist:             Style Files.
* reftex-allow-automatic-rescan <1>:     Optimizations.
* reftex-allow-automatic-rescan:         Options (Optimizations).
* reftex-allow-detached-macro-args:      Options (Misc).
* reftex-arg-cite:                       AUCTeX-RefTeX Interface.
* reftex-arg-label:                      AUCTeX-RefTeX Interface.
* reftex-arg-ref:                        AUCTeX-RefTeX Interface.
* reftex-auto-update-selection-buffers <1>: Optimizations.
* reftex-auto-update-selection-buffers:  Options (Optimizations).
* reftex-auto-view-crossref:             Options (Viewing Cross-References).
* reftex-bib-author-face:                Options (Fontification).
* reftex-bib-extra-face:                 Options (Fontification).
* reftex-bib-title-face:                 Options (Fontification).
* reftex-bib-year-face:                  Options (Fontification).
* reftex-bibfile-ignore-regexps:         Options (Creating Citations).
* reftex-bibpath-environment-variables:  Options (Finding Files).
* reftex-cache-cite-echo:                Options (Viewing Cross-References).
* reftex-change-label:                   Commands.
* reftex-citation <1>:                   Creating Citations.
* reftex-citation:                       Commands.
* reftex-cite-comment-format:            Options (Creating Citations).
* reftex-cite-format <1>:                Options (Creating Citations).
* reftex-cite-format:                    Citation Styles.
* reftex-cite-punctuation:               Options (Creating Citations).
* reftex-cite-view-format:               Options (Viewing Cross-References).
* reftex-comment-citations:              Options (Creating Citations).
* reftex-create-tags-file:               Commands.
* reftex-cursor-selected-face:           Options (Fontification).
* reftex-customize:                      Commands.
* reftex-default-bibliography <1>:       Options (Creating Citations).
* reftex-default-bibliography:           Citations Outside LaTeX.
* reftex-default-context-regexps:        Options (Defining Label Environments).
* reftex-default-label-alist-entries:    Options (Defining Label Environments).
* reftex-derive-label-parameters <1>:    Language Support.
* reftex-derive-label-parameters <2>:    Creating Labels.
* reftex-derive-label-parameters:        Options (Creating Labels).
* reftex-display-copied-context-hook:    Options (Referencing Labels).
* reftex-enable-partial-scans <1>:       Optimizations.
* reftex-enable-partial-scans <2>:       Problems and Work-Arounds.
* reftex-enable-partial-scans <3>:       Referencing Labels.
* reftex-enable-partial-scans <4>:       Table of Contents.
* reftex-enable-partial-scans:           Options (Optimizations).
* reftex-external-file-finders:          Options (Finding Files).
* reftex-extra-bindings <1>:             Options (Misc).
* reftex-extra-bindings:                 Keybindings.
* reftex-file-boundary-face:             Options (Fontification).
* reftex-file-extensions:                Options (Finding Files).
* reftex-find-duplicate-labels:          Commands.
* reftex-format-cite-function:           Options (Creating Citations).
* reftex-format-label-function:          Options (Creating Labels).
* reftex-format-ref-function:            Options (Referencing Labels).
* reftex-grep-document:                  Commands.
* reftex-guess-label-type:               Options (Referencing Labels).
* reftex-highlight-selection <1>:        Options (Fontification).
* reftex-highlight-selection <2>:        Creating Citations.
* reftex-highlight-selection <3>:        Table of Contents.
* reftex-highlight-selection:            Referencing Labels.
* reftex-idle-time:                      Options (Viewing Cross-References).
* reftex-info:                           Commands.
* reftex-initialize-temporary-buffers <1>: Options (Optimizations).
* reftex-initialize-temporary-buffers:   Problems and Work-Arounds.
* reftex-insert-label-flags <1>:         Creating Labels.
* reftex-insert-label-flags <2>:         Options (Creating Labels).
* reftex-insert-label-flags:             Theorem and Axiom.
* reftex-keep-temporary-buffers <1>:     Optimizations.
* reftex-keep-temporary-buffers <2>:     Options (Optimizations).
* reftex-keep-temporary-buffers:         Problems and Work-Arounds.
* reftex-label <1>:                      AUCTeX-RefTeX Interface.
* reftex-label <2>:                      Creating Labels.
* reftex-label:                          Commands.
* reftex-label-alist <1>:                Options (Defining Label Environments).
* reftex-label-alist <2>:                Viewing Cross-References.
* reftex-label-alist <3>:                Builtin Label Environments.
* reftex-label-alist:                    Defining Label Environments.
* reftex-label-alist-builtin <1>:        Builtin Label Environments.
* reftex-label-alist-builtin:            Defining Label Environments.
* reftex-label-face:                     Options (Fontification).
* reftex-label-illegal-re <1>:           Options (Creating Labels).
* reftex-label-illegal-re <2>:           Creating Labels.
* reftex-label-illegal-re:               Language Support.
* reftex-label-menu-flags <1>:           Referencing Labels.
* reftex-label-menu-flags <2>:           Theorem and Axiom.
* reftex-label-menu-flags:               Options (Referencing Labels).
* reftex-level-indent:                   Options (Referencing Labels).
* reftex-load-hook <1>:                  Keybindings.
* reftex-load-hook:                      Keymaps and Hooks.
* reftex-mode:                           Installation.
* reftex-mode-hook:                      Keymaps and Hooks.
* reftex-mode-map:                       Keymaps and Hooks.
* reftex-mouse-selected-face:            Options (Fontification).
* reftex-mouse-view-crossref <1>:        Viewing Cross-References.
* reftex-mouse-view-crossref <2>:        Citation Info.
* reftex-mouse-view-crossref:            Reference Info.
* reftex-no-include-regexps:             Options (Optimizations).
* reftex-parse-document:                 Commands.
* reftex-plug-into-AUCTeX:               Options (Misc).
* reftex-pre-refontification-functions:  Options (Referencing Labels).
* reftex-query-replace-document:         Commands.
* reftex-reference <1>:                  Referencing Labels.
* reftex-reference:                      Commands.
* reftex-refontify-context <1>:          Options (Fontification).
* reftex-refontify-context:              Problems and Work-Arounds.
* reftex-renumber-simple-labels:         Commands.
* reftex-reset-mode:                     Commands.
* reftex-revisit-to-echo:                Options (Viewing Cross-References).
* reftex-revisit-to-follow <1>:          Table of Contents.
* reftex-revisit-to-follow <2>:          Referencing Labels.
* reftex-revisit-to-follow:              Options (Misc).
* reftex-save-parse-info <1>:            Optimizations.
* reftex-save-parse-info:                Options (Optimizations).
* reftex-search-document:                Commands.
* reftex-search-unrecursed-path-first:   Options (Finding Files).
* reftex-section-heading-face:           Options (Fontification).
* reftex-section-levels <1>:             Options (Defining Label Environments).
* reftex-section-levels:                 Table of Contents.
* reftex-select-bib-map <1>:             Creating Citations.
* reftex-select-bib-map:                 Options (Creating Citations).
* reftex-select-bib-mode-hook:           Options (Creating Citations).
* reftex-select-label-map <1>:           Options (Referencing Labels).
* reftex-select-label-map:               Referencing Labels.
* reftex-select-label-mode-hook:         Options (Referencing Labels).
* reftex-set-cite-format <1>:            Problems and Work-Arounds.
* reftex-set-cite-format:                Style Files.
* reftex-show-commentary:                Commands.
* reftex-sort-bibtex-matches:            Options (Creating Citations).
* reftex-string-to-label-function:       Options (Creating Labels).
* reftex-texpath-environment-variables:  Options (Finding Files).
* reftex-toc <1>:                        Table of Contents.
* reftex-toc:                            Commands.
* reftex-toc-follow-mode <1>:            Options (Table of Contents).
* reftex-toc-follow-mode:                Table of Contents.
* reftex-toc-header-face:                Options (Fontification).
* reftex-toc-include-context <1>:        Table of Contents.
* reftex-toc-include-context:            Options (Table of Contents).
* reftex-toc-include-file-boundaries <1>: Options (Table of Contents).
* reftex-toc-include-file-boundaries:    Table of Contents.
* reftex-toc-include-labels <1>:         Table of Contents.
* reftex-toc-include-labels:             Options (Table of Contents).
* reftex-toc-keep-other-windows:         Options (Table of Contents).
* reftex-toc-map <1>:                    Options (Table of Contents).
* reftex-toc-map:                        Table of Contents.
* reftex-toc-mode-hook:                  Options (Table of Contents).
* reftex-translate-to-ascii-function <1>: Creating Labels.
* reftex-translate-to-ascii-function <2>: Language Support.
* reftex-translate-to-ascii-function:    Options (Creating Labels).
* reftex-use-external-file-finders:      Options (Finding Files).
* reftex-use-fonts:                      Options (Fontification).
* reftex-use-itimer-in-xemacs:           Problems and Work-Arounds.
* reftex-use-multiple-selection-buffers <1>: Options (Optimizations).
* reftex-use-multiple-selection-buffers: Optimizations.
* reftex-view-crossref <1>:              Reference Info.
* reftex-view-crossref <2>:              Viewing Cross-References.
* reftex-view-crossref <3>:              Citation Info.
* reftex-view-crossref:                  Commands.
* reftex-view-crossref-from-bibtex:      Commands.
* reftex-view-crossref-macros <1>:       Viewing Cross-References.
* reftex-view-crossref-macros:           Options (Viewing Cross-References).
* reftex-vref-is-default <1>:            varioref (LaTeX package).
* reftex-vref-is-default:                Options (Referencing Labels).
* RefTeXs Menu:                          RefTeXs Menu.
* Removing lookup buffers:               Optimizations.
* rotating, LaTeX package:               Builtin Label Environments.
* S-mouse-2 <1>:                         Keybindings.
* S-mouse-2 <2>:                         Reference Info.
* S-mouse-2 <3>:                         Citation Info.
* S-mouse-2:                             Viewing Cross-References.
* Saving parser information:             Optimizations.
* SCfigure, LaTeX environment:           Builtin Label Environments.
* SCtable, LaTeX environment:            Builtin Label Environments.
* Section numbers, wrong:                Problems and Work-Arounds.
* Sectioning commands:                   Table of Contents.
* Selection buffer, citations:           Creating Citations.
* Selection buffer, labels:              Referencing Labels.
* Selection buffers, multiple:           Optimizations.
* Selection buffers, updating:           Optimizations.
* Selection process <1>:                 Creating Citations.
* Selection process:                     Referencing Labels.
* Settings, local:                       Problems and Work-Arounds.
* sidecap, LaTeX package:                Builtin Label Environments.
* sidewaysfigure, LaTeX environment:     Builtin Label Environments.
* sidewaystable, LaTeX environment:      Builtin Label Environments.
* Style files, AUCTeX:                   Style Files.
* subequations, AMS-LaTeX environment:   Builtin Label Environments.
* subfig, LaTeX package:                 Builtin Label Environments.
* subfigure*, LaTeX environment:         Builtin Label Environments.
* subfigure, LaTeX environment:          Builtin Label Environments.
* supertab, LaTeX package:               Builtin Label Environments.
* supertabular, LaTeX environment:       Builtin Label Environments.
* Table of contents buffer:              Table of Contents.
* Table of contents, options:            Options (Table of Contents).
* table*, LaTeX environment:             Builtin Label Environments.
* table, LaTeX environment:              Builtin Label Environments.
* tabwindow, LaTeX environment:          Builtin Label Environments.
* TeX files, not found:                  Installation.
* TeX-add-style-hook, AUCTeX:            Style Files.
* TeX-arg-cite, AUCTeX function:         AUCTeX-RefTeX Interface.
* TeX-arg-label, AUCTeX function:        AUCTeX-RefTeX Interface.
* TeX-arg-ref, AUCTeX function:          AUCTeX-RefTeX Interface.
* TeX-insert-macro, AUCTeX:              AUCTeX-RefTeX Interface.
* TeX-insert-macro, AUCTeX function:     AUCTeX-RefTeX Interface.
* tex-main-file:                         Multifile Documents.
* TeX-master:                            Multifile Documents.
* TEXBIB, environment variable:          Creating Citations.
* TEXINPUTS, environment variable:       Installation.
* Thanks:                                Imprint.
* thebibliography, LaTeX environment:    Creating Citations.
* theorem, newtheorem:                   Theorem and Axiom.
* turn-on-reftex:                        Installation.
* varioref, LaTeX package:               varioref (LaTeX package).
* Viewing citations:                     Citation Info.
* Viewing cite locations from BibTeX buffer: Viewing Cross-References.
* Viewing cross-references:              Reference Info.
* Viewing cross-references, options:     Options (Viewing Cross-References).
* Viper mode:                            Problems and Work-Arounds.
* viper-harness-minor-mode:              Problems and Work-Arounds.
* wrapfig, LaTeX package:                Builtin Label Environments.
* wrapfigure, LaTeX environment:         Builtin Label Environments.
* x-symbol, Emacs package:               Problems and Work-Arounds.
* xalignat, AMS-LaTeX environment:       Builtin Label Environments.
* xr, LaTeX package:                     xr (LaTeX package).
* xxalignat, AMS-LaTeX environment:      Builtin Label Environments.



Tag Table:
Node: Top1175
Node: Introduction4862
Node: Installation5677
Node: RefTeX in a Nutshell6957
Node: Table of Contents10144
Node: Labels and References13820
Node: Creating Labels15219
Ref: Creating Labels-Footnote-117634
Node: Referencing Labels18114
Node: Builtin Label Environments23368
Node: Defining Label Environments24767
Node: Theorem and Axiom26035
Node: Quick Equation29931
Node: Figure Wrapper31460
Node: Adding Magic Words33325
Node: Using \eqref34272
Node: Putting it Together35107
Node: Reference Info35773
Node: xr (LaTeX package)36370
Node: varioref (LaTeX package)37526
Node: Citations38198
Node: Creating Citations39013
Node: Citation Styles42300
Node: Citation Info44093
Node: Chapterbib and Bibunits44714
Node: Citations Outside LaTeX45367
Node: Viewing Cross-References46401
Ref: Viewing Cross-References-Footnote-149065
Ref: Viewing Cross-References-Footnote-249120
Ref: Viewing Cross-References-Footnote-349176
Node: RefTeXs Menu49247
Node: Keybindings49632
Node: Faces50872
Node: Multifile Documents51397
Node: Language Support52506
Node: Finding Files53716
Node: Optimizations56244
Node: AUCTeX60452
Node: AUCTeX-RefTeX Interface61003
Ref: AUCTeX-RefTeX Interface-Footnote-163201
Ref: AUCTeX-RefTeX Interface-Footnote-263323
Node: Style Files63482
Ref: Style Files-Footnote-166219
Node: Bib-Cite66340
Node: Problems and Work-Arounds67366
Node: Imprint71692
Node: Commands73784
Node: Options78735
Node: Options (Table of Contents)79493
Node: Options (Defining Label Environments)81162
Ref: Options (Defining Label Environments)-Footnote-188695
Node: Options (Creating Labels)88790
Node: Options (Referencing Labels)93156
Node: Options (Creating Citations)96986
Node: Options (Viewing Cross-References)101914
Node: Options (Finding Files)104327
Node: Options (Optimizations)108181
Node: Options (Fontification)112470
Node: Options (Misc)115368
Node: Keymaps and Hooks117057
Node: Changes117796
Node: Index119429

End Tag Table
