emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to reftex.texi


From: Glenn Morris
Subject: [Emacs-diffs] Changes to reftex.texi
Date: Thu, 06 Sep 2007 05:01:53 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       07/09/06 05:01:53

Index: reftex.texi
===================================================================
RCS file: reftex.texi
diff -N reftex.texi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ reftex.texi 6 Sep 2007 05:01:53 -0000       1.1
@@ -0,0 +1,5898 @@
+\input texinfo  @c -*-texinfo-*-
address@hidden %**start of header
address@hidden ../info/reftex
address@hidden RefTeX User Manual
address@hidden ky cp
address@hidden vr cp
address@hidden fn cp
+
address@hidden Version and Contact Info
address@hidden VERSION 4.31
address@hidden EDITION 4.31
address@hidden DATE February 2006
address@hidden AUCTEXSITE @uref{http://www.gnu.org/software/auctex/,AUCTeX 
distribution site}
address@hidden MAINTAINERSITE 
@uref{http://www.gnu.org/software/auctex/reftex.html,address@hidden web page}
address@hidden MAINTAINERCONTACT @uref{mailto:auctex-devel@@gnu.org,contact the 
maintainers}
address@hidden MAINTAINER the address@hidden project
address@hidden SUPPORTADDRESS address@hidden user mailing list 
(@email{auctex@@gnu.org})
address@hidden DEVELADDRESS address@hidden developer mailing list 
(@email{auctex-devel@@gnu.org})
address@hidden BUGADDRESS address@hidden bug mailing list 
(@email{bug-auctex@@gnu.org})
address@hidden XEMACSFTP @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,XEmacs 
ftp site}
address@hidden %**end of header
+
address@hidden
+This file documents @address@hidden, a package to do labels, references,
+citations and indices for LaTeX documents with Emacs.
+
+This is edition @value{EDITION} of the @address@hidden User Manual for
address@hidden@TeX{}} @value{VERSION}
+
+Copyright @copyright{} 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+2005, 2006, 2007  Free Software Foundation, Inc.
+
address@hidden
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with the Front-Cover texts being ``A GNU
+Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
+license is included in the section entitled ``GNU Free Documentation
+License'' in the Emacs manual.
+
+(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
+this GNU Manual, like GNU software.  Copies published by the Free
+Software Foundation raise funds for GNU development.''
+
+This document is part of a collection distributed under the GNU Free
+Documentation License.  If you want to distribute this document
+separately from the collection, you can do so by adding a copy of the
+license to the document, as described in section 6 of the license.
address@hidden quotation
address@hidden copying
+
address@hidden Emacs
address@hidden
+* RefTeX: (reftex).    Emacs support for LaTeX cross-references and citations.
address@hidden direntry
+
address@hidden
+
address@hidden Macro definitions
+
address@hidden Subheadings inside a table.  Need a difference between info and 
the rest.
address@hidden tablesubheading{text}
address@hidden
address@hidden \text\
address@hidden ifinfo
address@hidden
address@hidden @b{\text\}
address@hidden ifnotinfo
address@hidden macro
+
address@hidden
address@hidden address@hidden User Manual
address@hidden Support for LaTeX labels, references, citations and index 
entries with GNU Emacs
address@hidden Edition @value{EDITION}, @value{DATE}
+
address@hidden by Carsten Dominik
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
+
address@hidden
address@hidden Top,,,(dir)
+
address@hidden@TeX{}} is a package for managing Labels, References,
+Citations and index entries with GNU Emacs.
+
+Don't be discouraged by the size of this manual, which covers
address@hidden@TeX{}} in great depth.  All you need to know to use
address@hidden@TeX{}} can be summarized on two pages (@pxref{RefTeX in a
+Nutshell}).  You can go back later to other parts of this document when
+needed.
+
address@hidden
+* Introduction::                     Quick-Start information.
+
+* Table of Contents::                A Tool to move around quickly.
+* Labels and References::            Creating and referencing labels.
+* Citations::                        Creating Citations.
+* Index Support::                    Creating and Checking Index Entries.
+* Viewing Cross-References::         Who references or cites what?
+
+* RefTeXs Menu::                     The Ref menu in the menubar.
+* Key Bindings::                      The default key bindings.
+* Faces::                            Fontification of RefTeX's buffers.
+* Multifile Documents::              Document spread over many files.
+* Language Support::                 How to support other languages.
+* Finding Files::                    Included TeX files and BibTeX .bib files.
+* AUCTeX::                           Cooperation with AUCTeX.
+* Optimizations::                    When RefTeX is too slow.
+* Problems and Work-Arounds::        First Aid.
+* Imprint::                          Author, Web-site, Thanks
+
+* Commands::                         Which are the available commands.
+* Options::                          How to extend and configure RefTeX.
+* Keymaps and Hooks::                For customization.
+* Changes::                          A List of recent changes to RefTeX.
+* GNU Free Documentation License::   The license for this documentation.
+
+The Index
+
+* Index::                            The full index.
+
address@hidden
+
+Introduction
+
+* Installation::                     How to install and activate RefTeX.
+* RefTeX in a Nutshell::             A brief summary and quick guide.
+
+Labels and References
+
+* Creating Labels::
+* Referencing Labels::
+* Builtin Label Environments::       The environments RefTeX knows about.
+* Defining Label Environments::        ... and environments it doesn't.
+* Reference Info::                   View the label corresponding to a \ref.
+* xr (LaTeX package)::               References to external documents.
+* varioref (LaTeX package)::         How to create \vref instead of \ref.
+* fancyref (LaTeX package)::         How to create \fref instead of \ref.
+
+Defining Label Environments
+
+* Theorem and Axiom::                Defined with @code{\newenvironment}.
+* Quick Equation::                   When a macro sets the label type.
+* Figure Wrapper::                   When a macro argument is a label.
+* Adding Magic Words::               Other words for other languages.
+* Using \eqref::                     How to switch to this AMS-LaTeX macro.
+* Non-Standard Environments::        Environments without \begin and \end
+* Putting it Together::              How to combine many entries.
+
+Citations
+
+* Creating Citations::               How to create them.
+* Citation Styles::                  Natbib, Harvard, Chicago and Co.
+* Citation Info::                    View the corresponding database entry.
+* Chapterbib and Bibunits::          Multiple bibliographies in a Document.
+* Citations Outside LaTeX::          How to make citations in Emails etc.
+* BibTeX Database Subsets::          Extract parts of a big database. 
+
+Index Support
+
+* Creating Index Entries::           Macros and completion of entries.
+* The Index Phrases File::           A special file for global indexing.
+* Displaying and Editing the Index:: The index editor.
+* Builtin Index Macros::             The index macros RefTeX knows about.
+* Defining Index Macros::                ... and macros it  doesn't.
+
+The Index Phrases File
+
+* Collecting Phrases::               Collecting from document or external.
+* Consistency Checks::               Check for duplicates etc.
+* Global Indexing::                  The interactive indexing process.
+
+AUCTeX
+
+* AUCTeX-RefTeX Interface::          How both packages work together
+* Style Files::                      AUCTeX's style files can support RefTeX
+* Bib-Cite::                         Hypertext reading of a document
+
+Options, Keymaps, Hooks
+
+* Options (Table of Contents)::
+* Options (Defining Label Environments)::
+* Options (Creating Labels)::
+* Options (Referencing Labels)::
+* Options (Creating Citations)::
+* Options (Index Support)::
+* Options (Viewing Cross-References)::
+* Options (Finding Files)::
+* Options (Optimizations)::
+* Options (Fontification)::
+* Options (Misc)::
+
address@hidden detailmenu
address@hidden menu
+
address@hidden ifnottex
+
address@hidden Introduction, Table of Contents, , Top
address@hidden Introduction
address@hidden Introduction
+
address@hidden@TeX{}} is a specialized package for support of labels,
+references, citations, and the index in LaTeX.  @address@hidden wraps
+itself round 4 LaTeX macros: @code{\label}, @code{\ref}, @code{\cite},
+and @code{\index}.  Using these macros usually requires looking up
+different parts of the document and searching through BibTeX database
+files.  @address@hidden 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.
+
address@hidden
+Don't be discouraged by the size of this manual, which covers @address@hidden
+in great depth.  All you need to know to use @address@hidden can be
+summarized on two pages (@pxref{RefTeX in a Nutshell}).  You can go
+back later to other parts of this document when needed.
address@hidden iftex
+
address@hidden, for information about who to contact for help, bug
+reports or suggestions.
+
address@hidden
+* Installation::                     How to install and activate RefTeX.
+* RefTeX in a Nutshell::             A brief summary and quick guide.
address@hidden menu
+
address@hidden Installation, RefTeX in a Nutshell, , Introduction
address@hidden Installation
address@hidden Installation
+
address@hidden@TeX{}} is bundled and pre--installed with Emacs since version
+20.2.  It was also bundled and pre--installed with XEmacs 19.16--20.x.
+XEmacs 21.x users want to install the corresponding plug-in package
+which is available from the @value{XEMACSFTP}.  See the XEmacs 21.x
+documentation on package installation for details.
+
+Users of earlier Emacs distributions (including Emacs 19) can get a copy
+of the @address@hidden distribution from the maintainers web-page.
address@hidden, for more information.
+
address@hidden Environment
address@hidden Finding files
address@hidden BibTeX database files, not found
address@hidden TeX files, not found
address@hidden @code{TEXINPUTS}, environment variable
address@hidden @code{BIBINPUTS}, environment variable
+
address@hidden@TeX{}} needs to access all files which are part of a multifile
+document, and the BibTeX database files requested by the
address@hidden command.  To find these files, @address@hidden will
+require a search path, i.e. a list of directories to check.  Normally
+this list is stored in the environment variables @code{TEXINPUTS} and
address@hidden which are also used by @address@hidden  However, on some
+systems these variables do not contain the full search path.  If
address@hidden@TeX{}} does not work for you because it cannot find some files,
+read @ref{Finding Files}.
+
address@hidden Entering @address@hidden Mode
+
address@hidden turn-on-reftex
address@hidden reftex-mode
address@hidden LaTeX-mode-hook
address@hidden latex-mode-hook
+To turn @address@hidden Mode on and off in a particular buffer, use
address@hidden reftex-mode}.  To turn on @address@hidden Mode for all LaTeX
+files, add the following lines to your @file{.emacs} file:
+
address@hidden
+(add-hook 'LaTeX-mode-hook 'turn-on-reftex)   ; with AUCTeX LaTeX mode
+(add-hook 'latex-mode-hook 'turn-on-reftex)   ; with Emacs latex mode
address@hidden example
+
address@hidden
address@hidden RefTeX in a Nutshell, , Installation, Introduction
address@hidden @address@hidden in a Nutshell
address@hidden Quick-Start
address@hidden Getting Started
address@hidden RefTeX in a Nutshell
address@hidden Nutshell, RefTeX in a
+
address@hidden
address@hidden
address@hidden of address@hidden Typing @kbd{C-c =} (@code{reftex-toc}) will 
show
+a table of contents of the document.  This buffer can display sections,
+labels and index entries defined in the document.  From the buffer, you
+can jump quickly to every part of your document.  Press @kbd{?} to get
+help.
+
address@hidden
address@hidden and address@hidden @address@hidden helps to create unique labels
+and to find the correct key for references quickly.  It distinguishes
+labels for different environments, knows about all standard
+environments (and many others), and can be configured to recognize any
+additional labeled environments you have defined yourself (variable
address@hidden).
+
address@hidden @bullet
address@hidden
address@hidden address@hidden
+Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point.
address@hidden@TeX{}} will either
address@hidden @minus
address@hidden
+derive a label from context (default for section labels)
address@hidden
+prompt for a label string (default for figures and tables) or
address@hidden
+insert a simple label made of a prefix and a number (all other
+environments)
address@hidden itemize
address@hidden
+Which labels are created how is configurable with the variable
address@hidden
+
address@hidden
address@hidden address@hidden To make a reference, type @kbd{C-c )}
+(@code{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 @address@hidden@address@hidden macro
+into the original buffer.
address@hidden itemize
+
address@hidden
address@hidden@*
+Typing @kbd{C-c [} (@code{reftex-citation}) will let you specify a
+regular expression to search in current BibTeX database files (as
+specified in the @code{\bibliography} command) and pull out a list of
+matches for you to choose from.  The list is @emph{formatted} and
+sorted.  The selected article is referenced as @address@hidden@address@hidden
+(see the variable @code{reftex-cite-format} if you want to insert
+different macros).
+
address@hidden
address@hidden address@hidden
address@hidden@TeX{}} helps to enter index entries.  It also compiles all
+entries into an alphabetically sorted @file{*Index*} buffer which you
+can use to check and edit the entries.  @address@hidden knows about the
+standard index macros and can be configured to recognize any additional
+macros you have defined (@code{reftex-index-macros}).  Multiple indices
+are supported.
+
address@hidden @bullet
address@hidden
address@hidden Index address@hidden
+To index the current selection or the word at point, type @kbd{C-c /}
+(@code{reftex-index-selection-or-word}).  The default macro
address@hidden will be used.  For a more complex entry
+type @kbd{C-c <} (@code{reftex-index}), select any of the index macros
+and enter the arguments with completion.
+
address@hidden
address@hidden Index Phrases File (Delayed Indexing)address@hidden
+Type @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word}) to add
+the current word or selection to a special @emph{index phrase file}.
address@hidden@TeX{}} can later search the document for occurrences of these
+phrases and let you interactively index the matches.
+
address@hidden
address@hidden and Editing the address@hidden
+To display the compiled index in a special buffer, type @kbd{C-c >}
+(@code{reftex-display-index}).  From that buffer you can check and edit
+all entries.
address@hidden itemize
+
address@hidden
address@hidden @b{Viewing address@hidden
+When point is on the @var{key} argument of a cross--referencing macro
+(@code{\label}, @code{\ref}, @code{\cite}, @code{\bibitem},
address@hidden, and variations) or inside a BibTeX database entry, you
+can press @kbd{C-c &} (@code{reftex-view-crossref}) to display
+corresponding locations in the document and associated BibTeX database
+files. @*
+When the enclosing macro is @code{\cite} or @code{\ref} and no other
+message occupies the echo area, information about the citation or label
+will automatically be displayed in the echo area.
+
address@hidden
address@hidden address@hidden
+Multifile Documents are fully supported.  The included files must have a
+file variable @code{TeX-master} or @code{tex-main-file} pointing to the
+master file.  @address@hidden provides cross-referencing information from
+all parts of the document, and across document borders
+(@file{xr.sty}).
+
address@hidden
address@hidden address@hidden @address@hidden needs to parse the document in
+order to find labels and other information.  It does it automatically
+once and updates its list internally when @code{reftex-label} and
address@hidden are used.  To enforce reparsing, call any of the
+commands described above with a raw @kbd{C-u} prefix, or press the
address@hidden key in the label selection buffer, the table of contents
+buffer, or the index buffer.
+
address@hidden
address@hidden @* If your major LaTeX mode is AUCTeX, @address@hidden can
+cooperate with it (see variable @code{reftex-plug-into-AUCTeX}).  AUCTeX
+contains style files which trigger appropriate settings in
address@hidden@TeX{}}, so that for many of the popular LaTeX packages no
+additional customizations will be necessary.
+
address@hidden
address@hidden address@hidden
+To integrate RefTeX with AUCTeX, use
address@hidden
+(setq reftex-plug-into-AUCTeX t)
address@hidden lisp
+
+To make your own LaTeX macro definitions known to @address@hidden,
+customize the variables
address@hidden
address@hidden          @r{(for label macros/environments)}
address@hidden       @r{(for sectioning commands)}
address@hidden          @r{(for @code{\cite}-like macros)}
address@hidden         @r{(for @code{\index}-like macros)}
address@hidden  @r{(to set the default macro)}
address@hidden example
+If you have a large number of macros defined, you may want to write
+an AUCTeX style file to support them with both AUCTeX and
address@hidden@TeX{}}.
+
address@hidden @b{Where address@hidden Go ahead and use @address@hidden  Use 
its menus
+until you have picked up the key bindings.  For an overview of what you
+can do in each of the different special buffers, press @kbd{?}.  Read
+the manual if you get stuck, of if you are curious what else might be
+available.  The first part of the manual explains in
+a tutorial way how to use and customize @address@hidden  The second
+part is a command and variable reference.
address@hidden enumerate
+
address@hidden Table of Contents, Labels and References, Introduction, Top
address@hidden Table of Contents
address@hidden @file{*toc*} buffer
address@hidden Structure editing
address@hidden Table of contents buffer
address@hidden reftex-toc
address@hidden C-c =
+
+Pressing the keys @kbd{C-c =} pops up a buffer showing the table of
+contents of the document.  By default, this @file{*toc*} buffer shows
+only the sections of a document.  Using the @kbd{l} and @kbd{i} keys you
+can display all labels and index entries defined in the document as
+well.
+
+With the cursor in any of the lines denoting a location in the
+document, simple key strokes will display the corresponding part in
+another window, jump to that location, or perform other actions.
+
address@hidden ?
+Here is a list of special commands in the @file{*toc*} buffer.  A
+summary of this information is always available by pressing
address@hidden
+
address@hidden @kbd
+
address@hidden
address@hidden ?
+Display a summary of commands.
+
address@hidden 0-9, -
+Prefix argument.
+
address@hidden around}
address@hidden n
+Goto next entry in the table of context.
+
address@hidden p
+Goto previous entry in the table of context.
+
address@hidden C-c C-n
+Goto next section heading.  Useful when many labels and index entries
+separate section headings.
+
address@hidden C-c C-p
+Goto previous section heading.
+
address@hidden N z
+Jump to section N, using the prefix arg.  For example, @kbd{3 z} jumps
+to section 3.
+
address@hidden to document locations}
address@hidden @key{SPC}
+Show the corresponding location in another window.  This command does
address@hidden select that other window.
+
address@hidden @key{TAB}
+Goto the location in another window.
+
address@hidden @key{RET}
+Go to the location and hide the @file{*toc*} buffer.  This will restore
+the window configuration before @code{reftex-toc} (@kbd{C-c =}) was
+called.
+
address@hidden mouse-2
address@hidden reftex-highlight-selection
+Clicking with mouse button 2 on a line has the same effect as @key{RET}.
+See also variable @code{reftex-highlight-selection}, @ref{Options
+(Fontification)}.
+
address@hidden f
address@hidden reftex-toc-follow-mode
address@hidden reftex-revisit-to-follow
+Toggle follow mode.  When follow mode is active, the other window will
+always show the location corresponding to the line at point in the
address@hidden buffer.  This is similar to pressing @key{SPC} after each
+cursor motion.  The default for this flag can be set with the variable
address@hidden  Note that only context in files already
+visited is shown.  @address@hidden will not visit a file just for follow
+mode.  See, however, the variable
address@hidden
+
address@hidden .
+Show calling point in another window.  This is the point from where
address@hidden was last called.
+
address@hidden
address@hidden and Demotion}
+
address@hidden <
+Promote the current section.  This will convert @code{\section} to
address@hidden, @code{\subsection} to @code{\section} etc. If there is
+an active region, all sections in the region will be promoted, including
+the one at point.  To avoid mistakes, @address@hidden requires a fresh
+document scan before executing this command - if necessary, it will
+automatically do this scan and ask the user to repeat the promotion
+command.
+
address@hidden >
+Demote the current section.  This is the opposite of promotion.  It will
+convert @code{\chapter} to @code{\section} etc.  If there is an active
+region, all sections in the region will be demoted, including the one at
+point.
+
address@hidden M-%
+Rename the label at point.  While generally not recommended, this can be
+useful when a package like @file{fancyref} is used where the label
+prefix determines the wording of a reference.  After a
+promotion/demotion it may be necessary to change a few labels from
address@hidden:xyz} to @samp{cha:xyz} or vice versa.  This command can be
+used to do this - it launches a query replace to rename the definition
+and all references of a label.
+
address@hidden
address@hidden q
+Hide the @file{*toc*} buffer, return to the position where
address@hidden was last called.
+
address@hidden k
+Kill the @file{*toc*} buffer, return to the position where
address@hidden was last called.
+
address@hidden C-c >
+Switch to the @file{*Index*} buffer of this document.  With prefix
address@hidden, restrict the index to the section at point in the @file{*toc*}
+buffer.
+
address@hidden what gets displayed}
+
address@hidden t
address@hidden reftex-toc-max-level
+Change the maximum level of toc entries displayed in the @file{*toc*}
+buffer.  Without prefix arg, all levels will be included.  With prefix
+arg (e.g @kbd{3 t}), ignore all toc entries with level greater than
address@hidden (3 in this case).  Chapters are level 1, sections are level 2.
+The mode line @samp{T<>} indicator shows the current value.  The default
+depth can be configured with the variable
address@hidden
+
address@hidden F
address@hidden reftex-toc-include-file-boundaries
+Toggle the display of the file borders of a multifile document in the
address@hidden buffer.  The default for this flag can be set with the
+variable @code{reftex-toc-include-file-boundaries}.
+
address@hidden l
address@hidden reftex-toc-include-labels
+Toggle the display of labels in the @file{*toc*} buffer.  The default
+for this flag can be set with the variable
address@hidden  When called with a prefix argument,
address@hidden@TeX{}} will prompt for a label type and include only labels of
+the selected type in the @file{*toc*} buffer.  The mode line @samp{L<>}
+indicator shows which labels are included.
+
address@hidden i
address@hidden reftex-toc-include-index-entries
+Toggle the display of index entries in the @file{*toc*} buffer.  The
+default for this flag can be set with the variable
address@hidden  When called with a prefix
+argument, @address@hidden will prompt for a specific index and include
+only entries in the selected index in the @file{*toc*} buffer.  The mode
+line @samp{I<>} indicator shows which index is used.
+
address@hidden c
address@hidden reftex-toc-include-context
+Toggle the display of label and index context in the @file{*toc*}
+buffer.  The default for this flag can be set with the variable
address@hidden
+
address@hidden the buffer}
+
address@hidden g
+Rebuild the @file{*toc*} buffer.  This does @emph{not} rescan the
+document.
+
address@hidden r
address@hidden reftex-enable-partial-scans
+Reparse the LaTeX document and rebuild the @file{*toc*} buffer.  When
address@hidden is address@hidden, rescan only the file this
+location is defined in, not the entire document.
+
address@hidden C-u r
+Reparse the @emph{entire} LaTeX document and rebuild the @file{*toc*}
+buffer.
+
address@hidden x
+Switch to the @file{*toc*} buffer of an external document.  When the
+current document is using the @code{xr} package (@pxref{xr (LaTeX
+package)}), @address@hidden will switch to one of the external
+documents.
+
+
address@hidden recentering}
+
address@hidden d
+Toggle the display of a dedicated frame displaying just the @file{*toc*}
+buffer.  Follow mode and visiting locations will not work that frame,
+but automatic recentering will make this frame always show your current
+editing location in the document (see below).
+
address@hidden a
+Toggle the automatic recentering of the @file{*toc*} buffer.  When this
+option is on, moving around in the document will cause the @file{*toc*}
+to always highlight the current section.  By default, this option is
+active while the dedicated @file{*TOC*} frame exists.  See also the
+variable @code{reftex-auto-recenter-toc}.
+
address@hidden table
+
address@hidden reftex-toc-map
+In order to define additional commands for the @file{*toc*} buffer, the
+keymap @code{reftex-toc-map} may be used.
+
address@hidden reftex-toc-recenter
address@hidden reftex-auto-recenter-toc
address@hidden reftex-idle-time
address@hidden @file{*toc*} buffer, recentering
address@hidden Table of contents buffer, recentering
address@hidden C-c -
+If you call @code{reftex-toc} while the @file{*toc*} buffer already
+exists, the cursor will immediately jump to the right place, i.e. the
+section from which @code{reftex-toc} was called will be highlighted.
+The command @kbd{C-c -} (@code{reftex-toc-recenter}) will only redisplay
+the @file{*toc*} buffer and highlight the correct line without actually
+selecting the @file{*toc*} window.  This can be useful to quickly find
+out where in the document you currently are.  You can also automate this
+by asking RefTeX to keep track of your current editing position in the
+TOC.  The TOC window will then be updated whenever you stop typing for
+more than @code{reftex-idle-time} seconds.  By default this works only
+with the dedicated @file{*TOC*} frame.  But you can also force automatic
+recentering of the TOC window on the current frame with
address@hidden
+(setq reftex-auto-recenter-toc t)
address@hidden lisp
+
+
address@hidden Sectioning commands
address@hidden KOMA-Script, LaTeX classes
address@hidden LaTeX classes, KOMA-Script
address@hidden TOC entries for environments
address@hidden reftex-section-levels
+The section macros recognized by @address@hidden are all LaTeX section
+macros (from @code{\part} to @code{\subsubparagraph}) and the commands
address@hidden and @code{\addsec} from the KOMA-Script classes.
+Additional macros can be configured with the variable
address@hidden  It is also possible to add certain LaTeX
+environments to the table of contents.  This is probably only useful for
+theorem-like environments. @xref{Defining Label Environments}, for an
+example.
+
address@hidden Labels and References, Citations, Table of Contents, Top
address@hidden Labels and References
address@hidden Labels in LaTeX
address@hidden References in LaTeX
address@hidden Label category
address@hidden Label environment
address@hidden @code{\label}
+
+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 @address@hidden@}}.  LaTeX records the current value of a
+certain counter when a label is defined.  Later references to this label
+(like @address@hidden@}}) 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 @code{equation} and
address@hidden environments record the value of the same counter - the
+equation counter.
+
address@hidden
+* Creating Labels::
+* Referencing Labels::
+* Builtin Label Environments::       The environments RefTeX knows about.
+* Defining Label Environments::        ... and environments it doesn't.
+* Reference Info::                   View the label corresponding to a \ref.
+* xr (LaTeX package)::               References to external documents.
+* varioref (LaTeX package)::         How to create \vref instead of \ref.
+* fancyref (LaTeX package)::         How to create \fref instead of \ref.
address@hidden menu
+
address@hidden Creating Labels, Referencing Labels, , Labels and References
address@hidden Creating Labels
address@hidden Creating labels
address@hidden Labels, creating
address@hidden Labels, deriving from context
address@hidden C-c (
address@hidden reftex-label
+
+In order to create a label in a LaTeX document, press @kbd{C-c (}
+(@code{reftex-label}).  Just like LaTeX, @address@hidden 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.  @address@hidden has
+3 different modes to create this mark.
+
address@hidden
address@hidden
address@hidden reftex-translate-to-ascii-function
address@hidden reftex-derive-label-parameters
address@hidden reftex-label-illegal-re
address@hidden reftex-abbrev-parameters
+A label can be derived from context.  This means, @address@hidden takes
+the context of the label definition and constructs a label from
address@hidden that the context may contain constructs which are
+invalid in labels.  @address@hidden will therefore strip the accent from
+accented Latin-1 characters and remove everything else which is not
+valid in labels.  This mechanism is safe, but may not be satisfactory
+for non-western languages.  Check the following variables if you need to
+change things: @code{reftex-translate-to-ascii-function},
address@hidden, @code{reftex-label-illegal-re},
address@hidden  This works best for section labels,
+where the section heading is used to construct a label.  In fact,
address@hidden@TeX{}}'s default settings use this method only for section
+labels.  You will be asked to confirm the derived label, or edit
+it.
+
address@hidden
+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.  @address@hidden's default settings use this method
+for equations, enumerate items and footnotes.  The author of @address@hidden
+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 @address@hidden will provide context to
+reference a label (@pxref{Referencing Labels}).
+
address@hidden
+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.  @address@hidden uses this for figures and
+tables.  Of course, one can enter the label directly by typing the full
address@hidden@address@hidden  The advantage of using @code{reftex-label}
+anyway is that @address@hidden 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.
address@hidden enumerate
+
address@hidden reftex-insert-label-flags
+If you want to change the way certain labels are created, check out the
+variable @code{reftex-insert-label-flags} (@pxref{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
address@hidden@TeX{}}. @xref{AUCTeX}, for more information.
+
address@hidden Referencing Labels, Builtin Label Environments, Creating Labels, 
Labels and References
address@hidden Referencing Labels
address@hidden Referencing labels
address@hidden Labels, referencing
address@hidden Selection buffer, labels
address@hidden Selection process
address@hidden @code{\ref}
address@hidden C-c )
address@hidden reftex-reference
+
address@hidden reftex-trust-label-prefix
address@hidden@TeX{}} scans the document in order to find all labels.  To make
+referencing labels easier, it assigns to each label a category, the
address@hidden type} (for example section, table, figure, equation, etc.).
+In order to determine the label type, RefTeX parses around each label
+to see in what kind of environments it is located.  You can speed up
+the parsing by using type-specific prefixes for labels and configuring
+the variable @code{reftex-trust-label-prefix}.
+
+Referencing Labels is really at the heart of @address@hidden  Press @kbd{C-c
+)} in order to reference a label (reftex-reference).  This will start a
+selection process and finally insert the complete @address@hidden@}}
+into the buffer.
+
+First, @address@hidden will determine the label category which is required.
+Often that can be figured out from context.  For example, if you
+write @samp{As shown in eq.} and the press @kbd{C-c )}, @address@hidden 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 @key{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 @key{RET}.  You can also reference several labels with a single
+call to @code{reftex-reference} by marking entries with the @kbd{m}
+key (see below).
+
address@hidden ?
+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 @kbd{?}.
+
+
+
address@hidden @kbd
address@hidden
address@hidden ?
+Show a summary of available commands.
+
address@hidden 0-9,-
+Prefix argument.
+
address@hidden around}
address@hidden n
+Go to next label.
+
address@hidden p
+Go to previous label.
+
address@hidden b
+Jump back to the position where you last left the selection buffer.
+Normally this should get you back to the last referenced label.
+
address@hidden C-c C-n
+Goto next section heading.
+
address@hidden C-c C-p
+Goto previous section heading.
+
address@hidden N z
+Jump to section N, using the prefix arg.  For example @kbd{3 z} jumps to
+section 3.
+
address@hidden Context}
address@hidden @key{SPC}
+Show the surroundings of the definition of the current label in another
+window.  See also the @kbd{f} key.
+
address@hidden f
address@hidden reftex-revisit-to-follow
+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 @key{SPC} after each cursor motion.  Note that only context
+in files already visited is shown.  @b{RefTeX} will not visit a file
+just for follow mode.  See, however, the variable
address@hidden
+
address@hidden .
+Show insertion point in another window.  This is the point from where you
+called @code{reftex-reference}.
+
address@hidden a label and creating the reference}
address@hidden @key{RET}
+Insert a reference to the label at point into the buffer from which the
+selection process was started.  When entries have been marked, @key{RET}
+references all marked labels.
+
address@hidden mouse-2
address@hidden reftex-highlight-selection
+Clicking with mouse button 2 on a label will accept it like @key{RET}
+would. See also variable @code{reftex-highlight-selection}, @ref{Options
+(Misc)}.
+
address@hidden reftex-multiref-punctuation
address@hidden m - + ,
+Mark the current entry.  When several entries have been marked, pressing
address@hidden will accept all of them and place them into several
address@hidden macros.  The special markers @samp{,-+} also store a
+separator to be inserted before the corresponding reference.  So marking
+six entries with the keys @samp{m , , - , +} will give a reference list
+like this (see the variable @code{reftex-multiref-punctuation})
address@hidden
+In eqs. (1), (2), (3)--(4), (5) and (6)
address@hidden example
+
address@hidden u
+Unmark a marked entry.
+
address@hidden FIXME: Do we need `A' as well for consistency?
address@hidden LaTeX packages, @code{saferef}
address@hidden @code{saferef}, LaTeX package
address@hidden a
+Accept the marked entries and put all labels as a comma-separated list
+into one @emph{single} @code{\ref} macro.  Some packages like
address@hidden support multiple references in this way.
+
address@hidden l
+Use the last referenced label(s) again.  This is equivalent to moving to
+that label and pressing @key{RET}.
+
address@hidden @key{TAB}
+Enter a label with completion.  This may also be a label which does not
+yet exist in the document.
+
address@hidden v
address@hidden @code{varioref}, LaTeX package
address@hidden @code{\vref}
address@hidden LaTeX packages, @code{varioref}
+Toggle between @code{\ref} and @code{\vref} macro for references.  The
address@hidden macro is defined in the @code{varioref} LaTeX package.
+With this key you can force @address@hidden to insert a @code{\vref}
+macro.  The current state of this flag is displayed by the @samp{S<>}
+indicator in the mode line of the selection buffer.
+
address@hidden V
address@hidden @code{fancyref}, LaTeX package
address@hidden @code{\fref}
address@hidden @code{\Fref}
address@hidden LaTeX packages, @code{fancyref}
+Cycle between @code{\ref}, @code{\fref} and @code{\Fref}.  The
address@hidden and @code{\Fref} macros are defined in the @code{fancyref}
+LaTeX package.  With this key you can force @address@hidden to insert a
address@hidden or @code{\Fref} macro.  The current state of this flag is
+displayed by the @samp{S<>} indicator in the mode line of the
+selection buffer.
+
address@hidden
+
address@hidden q
+Exit the selection process without inserting any reference into the
+buffer.
+
address@hidden what gets displayed}
address@hidden reftex-label-menu-flags
+The defaults for the following flags can be configured with the variable
address@hidden (@pxref{Options (Referencing Labels)}).
+
address@hidden c
+Toggle the display of the one-line label definition context in the
+selection buffer.
+
address@hidden F
+Toggle the display of the file borders of a multifile document in the
+selection buffer.
+
address@hidden t
+Toggle the display of the table of contents in the selection buffer.
+With prefix @var{arg}, change the maximum level of toc entries displayed
+to @var{arg}.  Chapters are level 1, section are level 2.
+
address@hidden #
+Toggle the display of a label counter in the selection buffer.
+
address@hidden %
+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, @address@hidden can still display
+and reference these labels.
+
address@hidden the buffer}
address@hidden g
+Update the menu.  This will rebuilt the menu from the internal label
+list, but not reparse the document (see @kbd{r}).
+
address@hidden r
address@hidden reftex-enable-partial-scans
+Reparse the document to update the information on all labels and rebuild
+the menu.  If the variable @code{reftex-enable-partial-scans} is
address@hidden 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).
+
address@hidden C-u r
+Reparse the @emph{entire} document.
+
address@hidden s
+Switch the label category.  After prompting for another label category,
+a menu for that category will be shown.
+
address@hidden x
+Reference a label from an external document.  With the LaTeX package
address@hidden 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 (@pxref{xr (LaTeX
+package),,xr}).
+
address@hidden table
+
address@hidden reftex-select-label-map
+In order to define additional commands for the selection process, the
+keymap @code{reftex-select-label-map} may be used.
+
address@hidden Builtin Label Environments, Defining Label Environments, 
Referencing Labels, Labels and References
address@hidden Builtin Label Environments
address@hidden Builtin label environments
address@hidden Label environments, builtin
address@hidden Environments, builtin
address@hidden reftex-label-alist
address@hidden reftex-label-alist-builtin
+
address@hidden@TeX{}} needs to be aware of the environments which can be 
referenced
+with a label (i.e. which carry their own counters).  By default, 
@address@hidden
+recognizes all labeled environments and macros discussed in @cite{The
+LaTeX Companion by Goossens, Mittelbach & Samarin, Addison-Wesley
+1994.}.  These are:
+
address@hidden @minus
address@hidden
address@hidden @code{figure}, LaTeX environment
address@hidden @code{figure*}, LaTeX environment
address@hidden @code{table}, LaTeX environment
address@hidden @code{table*}, LaTeX environment
address@hidden @code{equation}, LaTeX environment
address@hidden @code{eqnarray}, LaTeX environment
address@hidden @code{enumerate}, LaTeX environment
address@hidden @code{\footnote}, LaTeX macro
address@hidden LaTeX macro @code{footnote}
address@hidden LaTeX core
address@hidden, @code{figure*}, @code{table}, @code{table*}, @code{equation},
address@hidden, @code{enumerate}, the @code{\footnote} macro (this is
+the LaTeX core stuff)
address@hidden
address@hidden AMS-LaTeX
address@hidden @code{amsmath}, LaTeX package
address@hidden LaTeX packages, @code{amsmath}
address@hidden @code{align}, AMS-LaTeX environment
address@hidden @code{gather}, AMS-LaTeX environment
address@hidden @code{multline}, AMS-LaTeX environment
address@hidden @code{flalign}, AMS-LaTeX environment
address@hidden @code{alignat}, AMS-LaTeX environment
address@hidden @code{xalignat}, AMS-LaTeX environment
address@hidden @code{xxalignat}, AMS-LaTeX environment
address@hidden @code{subequations}, AMS-LaTeX environment
address@hidden, @code{gather}, @code{multline}, @code{flalign},
address@hidden, @code{xalignat}, @code{xxalignat}, @code{subequations}
+(from AMS-LaTeX's @file{amsmath.sty} package)
address@hidden
address@hidden @code{endnote}, LaTeX package
address@hidden LaTeX packages, @code{endnote}
address@hidden @code{\endnote}, LaTeX macro
+the @code{\endnote} macro (from @file{endnotes.sty})
address@hidden
address@hidden @code{fancybox}, LaTeX package
address@hidden LaTeX packages, @code{fancybox}
address@hidden @code{Beqnarray}, LaTeX environment
address@hidden (@file{fancybox.sty})
address@hidden
address@hidden @code{floatfig}, LaTeX package
address@hidden LaTeX packages, @code{floatfig}
address@hidden @code{floatingfig}, LaTeX environment
address@hidden (@file{floatfig.sty})
address@hidden
address@hidden @code{longtable}, LaTeX package
address@hidden LaTeX packages, @code{longtable}
address@hidden @code{longtable}, LaTeX environment
address@hidden (@file{longtable.sty})
address@hidden
address@hidden @code{picinpar}, LaTeX package
address@hidden LaTeX packages, @code{picinpar}
address@hidden @code{figwindow}, LaTeX environment
address@hidden @code{tabwindow}, LaTeX environment
address@hidden, @code{tabwindow} (@file{picinpar.sty})
address@hidden
address@hidden @code{sidecap}, LaTeX package
address@hidden LaTeX packages, @code{sidecap}
address@hidden @code{SCfigure}, LaTeX environment
address@hidden @code{SCtable}, LaTeX environment
address@hidden, @code{SCtable} (@file{sidecap.sty})
address@hidden
address@hidden @code{rotating}, LaTeX package
address@hidden LaTeX packages, @code{rotating}
address@hidden @code{sidewaysfigure}, LaTeX environment
address@hidden @code{sidewaystable}, LaTeX environment
address@hidden, @code{sidewaystable} (@file{rotating.sty})
address@hidden
address@hidden @code{subfig}, LaTeX package
address@hidden LaTeX packages, @code{subfigure}
address@hidden @code{subfigure}, LaTeX environment
address@hidden @code{subfigure*}, LaTeX environment
address@hidden, @code{subfigure*}, the @code{\subfigure} macro
+(@file{subfigure.sty})
address@hidden
address@hidden @code{supertab}, LaTeX package
address@hidden LaTeX packages, @code{supertab}
address@hidden @code{supertabular}, LaTeX environment
address@hidden (@file{supertab.sty})
address@hidden
address@hidden @code{wrapfig}, LaTeX package
address@hidden LaTeX packages, @code{wrapfig}
address@hidden @code{wrapfigure}, LaTeX environment
address@hidden (@file{wrapfig.sty})
address@hidden itemize
+
+If you want to use other labeled environments, defined with
address@hidden, @address@hidden needs to be configured to recognize
+them (@pxref{Defining Label Environments}).
+
address@hidden Defining Label Environments, Reference Info, Builtin Label 
Environments, Labels and References
address@hidden Defining Label Environments
address@hidden Label environments, defining
+
address@hidden reftex-label-alist
address@hidden@TeX{}} can be configured to recognize additional labeled
+environments and macros.  This is done with the variable
address@hidden (@pxref{Options (Defining Label
+Environments)}).  If you are not familiar with Lisp, you can use the
address@hidden library to configure this rather complex variable.  To do
+this, use
+
address@hidden
address@hidden customize-variable @key{RET} reftex-label-alist @key{RET}}
address@hidden example
+
address@hidden reftex-label-alist-builtin
+Here we will discuss a few examples, in order to make things clearer.
+It can also be instructive to look at the constant
address@hidden which contains the entries for
+all the builtin environments and macros (@pxref{Builtin Label
+Environments}).
+
address@hidden
+* Theorem and Axiom::                Defined with @code{\newenvironment}.
+* Quick Equation::                   When a macro sets the label type.
+* Figure Wrapper::                   When a macro argument is a label.
+* Adding Magic Words::               Other words for other languages.
+* Using \eqref::                     How to switch to this AMS-LaTeX macro.
+* Non-Standard Environments::        Environments without \begin and \end
+* Putting it Together::              How to combine many entries.
address@hidden menu
+
address@hidden Theorem and Axiom, Quick Equation, , Defining Label Environments
address@hidden Theorem and Axiom Environments
address@hidden @code{theorem}, newtheorem
address@hidden @code{axiom}, newtheorem
address@hidden @code{\newtheorem}
+
+Suppose you are using @code{\newtheorem} in LaTeX in order to define two
+new environments, @code{theorem} and @code{axiom}
+
address@hidden
address@hidden@address@hidden@}
address@hidden@address@hidden@}
address@hidden example
+
address@hidden
+to be used like this:
+
address@hidden
address@hidden@}
address@hidden:address@hidden
+  ....
address@hidden@}
address@hidden example
+
+So we need to tell @address@hidden that @code{theorem} and @code{axiom} are new
+labeled environments which define their own label categories.  We can
+either use Lisp to do this (e.g. in @file{.emacs}) or use the custom
+library.  With Lisp it would look like this
+
address@hidden
+(setq reftex-label-alist
+   '(("axiom"   ?a "ax:"  "address@hidden@}" nil ("axiom"   "ax.") -2)
+     ("theorem" ?h "thr:" "address@hidden@}" t   ("theorem" "th.") -3)))
address@hidden lisp
+
+The type indicator characters @code{?a} and @code{?h} are used for
+prompts when @address@hidden queries for a label type.  @code{?h}
+was chosen for @code{theorem} since @code{?t} is already taken by
address@hidden  Note that also @code{?s}, @code{?f}, @code{?e},
address@hidden, @code{?n} are already used for standard environments.
+
address@hidden
+The labels for Axioms and Theorems will have the prefixes @samp{ax:} and
address@hidden:}, respectively.  @xref{AUCTeX}, for information on how
+AUCTeX can use RefTeX to automatically create labels when a new environment
+is inserted into a buffer.  Additionally, the following needs to be
+added to one's .emacs file before AUCTeX will automatically create
+labels for the new environments.
+
address@hidden
+(add-hook 'LaTeX-mode-hook
+   (lambda ()
+     (LaTeX-add-environments
+       '("axiom" LaTeX-env-label)
+       '("theorem" LaTeX-env-label))))
address@hidden lisp
+
+
address@hidden
+The @address@hidden@}} is a format string indicating how to insert
+references to these labels.
+
address@hidden
+The next item indicates how to grab context of the label definition.
address@hidden @minus
address@hidden
address@hidden means to get it from a default location (from the beginning of
+a @code{\macro} or after the @code{\begin} statement).  @code{t} is
address@hidden a good choice for eqnarray and similar environments.
address@hidden
address@hidden means to use the text right after the label definition.
address@hidden
+For more complex ways of getting context, see the variable
address@hidden (@ref{Options (Defining Label
+Environments)}).
address@hidden itemize
+
+The following list of strings is used to guess the correct label type
+from the word before point when creating a reference.  E.g. if you
+write: @samp{As we have shown in Theorem} and then press @kbd{C-c )},
address@hidden@TeX{}} will know that you are looking for a theorem label and
+restrict the menu to only these labels without even asking.
+
+The final item in each entry is the level at which the environment
+should produce entries in the table of context buffer.  If the number is
+positive, the environment will produce numbered entries (like
address@hidden), if it is negative the entries will be unnumbered (like
address@hidden).  Use this only for environments which structure the
+document similar to sectioning commands.  For everything else, omit the
+item.
+
+To do the same configuration with @code{customize}, you need to click on
+the @code{[INS]} button twice to create two templates and fill them in
+like this:
+
address@hidden
+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: address@hidden@}
+            Context method        : [Value Menu] After label
+            Magic words:
+              [INS] [DEL] String: axiom
+              [INS] [DEL] String: ax.
+              [INS]
+            [X] Make TOC entry    : [Value Menu] Level: -2
+[INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
+            Environment or \macro : [Value Menu] String: theorem
+            Type specification    : [Value Menu] Char  : h
+            Label prefix string   : [Value Menu] String: thr:
+            Label reference format: [Value Menu] String: address@hidden@}
+            Context method        : [Value Menu] Default position
+            Magic words:
+              [INS] [DEL] String: theorem
+              [INS] [DEL] String: theor.
+              [INS] [DEL] String: th.
+              [INS]
+            [X] Make TOC entry    : [Value Menu] Level: -3
address@hidden example
+
address@hidden reftex-insert-label-flags
address@hidden reftex-label-menu-flags
+Depending on how you would like the label insertion and selection for
+the new environments to work, you might want to add the letters @samp{a}
+and @samp{h} to some of the flags in the variables
address@hidden (@pxref{Options (Creating Labels)})
+and @code{reftex-label-menu-flags} (@pxref{Options (Referencing
+Labels)}).
+
+
address@hidden Quick Equation, Figure Wrapper, Theorem and Axiom , Defining 
Label Environments
address@hidden Quick Equation Macro
address@hidden Quick equation macro
address@hidden Macros as environment wrappers
+
+Suppose you would like to have a macro for quick equations.  It
+could be defined like this:
+
address@hidden
address@hidden@address@hidden@address@hidden #1 address@hidden@address@hidden
address@hidden example
+
address@hidden
+and used like this:
+
address@hidden
+Einstein's equation is address@hidden address@hidden:address@hidden@}.
address@hidden example
+
+We need to tell @address@hidden that any label defined in the argument of the
address@hidden is an equation label.  Here is how to do this with lisp:
+
address@hidden
+(setq reftex-label-alist '(("address@hidden@}" ?e nil nil 1 nil)))
address@hidden lisp
+
+The first element in this list is now the macro with empty braces as an
address@hidden of the macro arguments.  @code{?e} indicates that this is
+an equation label, the different @code{nil} elements indicate to use the
+default values for equations.  The @samp{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:
+
address@hidden
+Reftex Label Alist: [Hide]
+[INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
+            Environment or \macro : [Value Menu] String: address@hidden@}
+            Type specification    : [Value Menu] Char  : e
+            Label prefix string   : [Value Menu] Default
+            Label reference format: [Value Menu] Default
+            Context method        : [Value Menu] Macro arg nr: 1
+            Magic words:
+              [INS]
+            [ ] Make TOC entry    : [Value Menu] No entry
address@hidden example
+
address@hidden Figure Wrapper, Adding Magic Words, Quick Equation, Defining 
Label Environments
address@hidden Figure Wrapping Macro
address@hidden Macros as environment wrappers
address@hidden Figure wrapping macro
+
+Suppose you want to make figures not directly with the figure
+environment, but with a macro like
+
address@hidden
address@hidden@address@hidden
+  address@hidden@}[#1]
+    address@hidden@}
+    address@hidden@}
+    address@hidden@}
+  address@hidden@address@hidden
address@hidden example
+
address@hidden
+which would be called like
+
address@hidden
address@hidden@address@hidden address@hidden@address@hidden@address@hidden
address@hidden example
+
+Now we need to tell @address@hidden that the 4th argument of the
address@hidden macro @emph{is itself} a figure label, and where to find
+the context.
+
address@hidden
+(setq reftex-label-alist
+      '(("address@hidden@address@hidden@address@hidden@address@hidden@}" ?f 
nil nil 3)))
address@hidden lisp
+
+The empty pairs of brackets indicate the different arguments of the
address@hidden macro. The @samp{*} marks the label argument.  @code{?f}
+indicates that this is a figure label which will be listed together with
+labels from normal figure environments.  The @code{nil} entries for
+prefix and reference format mean to use the defaults for figure labels.
+The @samp{3} for the context method means to grab the 3rd macro argument
+- the caption.
+
+As a side effect of this configuration, @code{reftex-label} will now
+insert the required naked label (without the @code{\label} macro) when
+point is directly after the opening parenthesis of a @code{\myfig} macro
+argument.
+
+Again, here the configuration in the customization buffer:
+
address@hidden
+[INS] [DEL] Package or Detailed   : [Value Menu] Detailed:
+            Environment or \macro : [Value Menu] String: 
address@hidden@address@hidden@address@hidden@address@hidden@}
+            Type specification    : [Value Menu] Char  : f
+            Label prefix string   : [Value Menu] Default
+            Label reference format: [Value Menu] Default
+            Context method        : [Value Menu] Macro arg nr: 3
+            Magic words:
+              [INS]
+            [ ] Make TOC entry    : [Value Menu] No entry
address@hidden example
+
address@hidden Adding Magic Words, Using \eqref, Figure Wrapper, Defining Label 
Environments
address@hidden Adding Magic Words
address@hidden Magic words
address@hidden German magic words
address@hidden Label category
+
+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
address@hidden 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.
+
address@hidden
+(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"))))
address@hidden lisp
+
address@hidden Using \eqref, Non-Standard Environments, Adding Magic Words, 
Defining Label Environments
address@hidden Using @code{\eqref}
address@hidden @code{\eqref}, AMS-LaTeX macro
address@hidden AMS-LaTeX
address@hidden Label category
+
+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 @code{\eqref} for doing equation references.  Here is how to
+do this:
+
address@hidden
+(setq reftex-label-alist '((nil ?e nil "address@hidden@}" nil nil)))
address@hidden lisp
+
address@hidden@TeX{}} has also a predefined symbol for this special purpose.  
The
+following is equivalent to the line above.
+
address@hidden
+(setq reftex-label-alist '(AMSTeX))
address@hidden lisp
+
+Note that this is automatically done by the @file{amsmath.el} style file
+of AUCTeX (@pxref{Style Files}) - so if you use AUCTeX,
+this configuration will not be necessary.
+
address@hidden Non-Standard Environments, Putting it Together, Using \eqref, 
Defining Label Environments
address@hidden Non-standard Environments
address@hidden Non-standard environments
address@hidden Environments without @code{\begin}
address@hidden Special parser functions
address@hidden Parser functions, for special environments
+
+Some LaTeX packages define environment-like structures without using the
+standard @samp{\begin..\end} structure.  @address@hidden cannot parse
+these directly, but you can write your own special-purpose parser and
+use it instead of the name of an environment in an entry for
address@hidden  The function should check if point is
+currently in the special environment it was written to detect.  If so,
+it must return a buffer position indicating the start of this
+environment.  The return value must be @code{nil} on failure to detect
+the environment.  The function is called with one argument @var{bound}.
+If address@hidden, @var{bound} is a boundary for backwards searches
+which should be observed.  We will discuss two examples.
+
address@hidden LaTeX commands, abbreviated
+
+Some people define abbreviations for
+environments, like @code{\be} for @address@hidden@}}, and
address@hidden for @address@hidden@}}.  The parser function would have
+to search backward for these macros.  When the first match is
address@hidden, point is not in this environment.  When the first match is
address@hidden, point is in this environment and the function must return
+the beginning of the match.  To avoid scanning too far, we can also look
+for empty lines which cannot occur inside an equation environment.
+Here is the setup:
+
address@hidden
+;; Setup entry in reftex-label-alist, using all defaults for equations
+(setq reftex-label-alist '((detect-be-ee ?e nil nil nil nil)))
+
+(defun detect-be-ee (bound)
+  ;; Search backward for the macros or an empty line
+  (if (re-search-backward
+       "\\(^[ \t]*\n\\|\\\\ee\\>\\)\\|\\(\\\\be\\>\\)" bound t)
+      (if (match-beginning 2)
+          (match-beginning 2)  ; Return start of environment
+        nil)                   ; Return nil because env is closed
+    nil))                      ; Return nil for not found
address@hidden lisp
+
address@hidden @code{linguex}, LaTeX package
address@hidden LaTeX packages, @code{linguex}
+A more complex example is the @file{linguex.sty} package which defines
+list macros @samp{\ex.}, @samp{\a.}, @samp{\b.} etc. for lists which are
+terminated by @samp{\z.} or by an empty line.
+
address@hidden
+\ex.  address@hidden:address@hidden Some text in an exotic language ...
+      \a. address@hidden:address@hidden more stuff
+      \b. address@hidden:address@hidden still more stuff
+          \a. List on a deeper level
+          \b. Another item
+          \b. and the third one
+      \z.
+      \b. Third item on this level.
+
+... text after the empty line terminating all lists
address@hidden example
+
+The difficulty is that the @samp{\a.} lists can nest and that an empty
+line terminates all list levels in one go.  So we have to count nesting
+levels between @samp{\a.} and @samp{\z.}.  Here is the implementation
+for @address@hidden
+
address@hidden
+(setq reftex-label-alist
+      '((detect-linguex ?x "ex:" "address@hidden@}" nil ("Example" "Ex."))))
+
+(defun detect-linguex (bound)
+  (let ((cnt 0))
+    (catch 'exit
+      (while
+          ;; Search backward for all possible delimiters
+          (re-search-backward
+           (concat "\\(^[ \t]*\n\\)\\|\\(\\\\z\\.\\)\\|"
+                   "\\(\\ex[ig]?\\.\\)\\|\\(\\\\a\\.\\)")
+           nil t)
+        ;; Check which delimiter was matched.
+        (cond
+         ((match-beginning 1)
+          ;; empty line terminates all - return nil
+          (throw 'exit nil))
+         ((match-beginning 2)
+          ;; \z. terminates one list level - decrease nesting count
+          (decf cnt))
+         ((match-beginning 3)
+          ;; \ex. : return match unless there was a \z. on this level
+          (throw 'exit (if (>= cnt 0) (match-beginning 3) nil)))
+         ((match-beginning 4)
+          ;; \a. : return match when on level 0, otherwise
+          ;;       increment nesting count
+          (if (>= cnt 0)
+              (throw 'exit (match-beginning 4))
+            (incf cnt))))))))
address@hidden lisp
+
address@hidden Putting it Together, , Non-Standard Environments, Defining Label 
Environments
address@hidden Putting it all together
+
+When you have to put several entries into @code{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:
+
address@hidden
+(setq reftex-label-alist
+  '(("axiom"   ?a "ax:"  "address@hidden@}" nil ("axiom"   "ax.") -2)
+    ("theorem" ?h "thr:" "address@hidden@}" t   ("theorem" "theor." "th.") -3)
+    ("address@hidden@}" ?e nil nil 1 nil)
+    AMSTeX
+    ("address@hidden@address@hidden@address@hidden@address@hidden@}" ?f nil 
nil 3)
+    (detect-linguex ?x "ex:" "address@hidden@}" nil ("Example" "Ex."))))
address@hidden lisp
+
address@hidden Reference Info, xr (LaTeX package), Defining Label Environments, 
Labels and References
address@hidden Reference Info
address@hidden reftex-view-crossref
address@hidden reftex-mouse-view-crossref
address@hidden Cross-references, displaying
address@hidden Reference info
address@hidden Displaying cross-references
address@hidden Viewing cross-references
address@hidden C-c &
address@hidden S-mouse-2
+
+When point is idle for more than @code{reftex-idle-time} seconds on the
+argument of a @code{\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.
+
address@hidden@TeX{}} can also display the label definition corresponding to a
address@hidden macro, or all reference locations corresponding to a
address@hidden macro.  @xref{Viewing Cross-References}, for more
+information.
+
address@hidden xr (LaTeX package), varioref (LaTeX package), Reference Info, 
Labels and References
address@hidden @code{xr}: Cross-Document References
address@hidden @code{xr}, LaTeX package
address@hidden LaTeX packages, @code{xr}
address@hidden @code{\externaldocument}
address@hidden External documents
address@hidden References to external documents
address@hidden Cross-document references
+
+The LaTeX package @code{xr} makes it possible to create references to
+labels defined in external documents.  The preamble of a document using
address@hidden will contain something like this:
+
address@hidden
address@hidden@}
address@hidden@}
address@hidden@}
address@hidden example
+
address@hidden
+and we can make references to any labels defined in these
+external documents by using the prefixes @samp{V1-} and @samp{V3-},
+respectively.
+
address@hidden@TeX{}} can be used to create such references as well.  Start the
+referencing process normally, by pressing @kbd{C-c )}.  Select a label
+type if necessary.  When you see the label selection buffer, pressing
address@hidden will switch to the label selection buffer of one of the external
+documents.  You may then select a label as before and @address@hidden 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 (@pxref{Optimizations}).
+
address@hidden varioref (LaTeX package), fancyref (LaTeX package), xr (LaTeX 
package), Labels and References
address@hidden @code{varioref}: Variable Page References
address@hidden @code{varioref}, LaTeX package
address@hidden @code{\vref}
address@hidden LaTeX packages, @code{varioref}
address@hidden reftex-vref-is-default
address@hidden is a frequently used LaTeX package to create
+cross--references with page information.  When you want to make a
+reference with the @code{\vref} macro, just press the @kbd{v} key in the
+selection buffer to toggle between @code{\ref} and @code{\vref}
+(@pxref{Referencing Labels}).  The mode line of the selection buffer
+shows the current status of this switch.  If you find that you almost
+always use @code{\vref}, you may want to make it the default by
+customizing the variable @code{reftex-vref-is-default}.  If this
+toggling seems too inconvenient, you can also use the command
address@hidden@footnote{bind it to @kbd{C-c v}.}.
+Or use AUCTeX to create your macros (@pxref{AUCTeX}).
+
address@hidden fancyref (LaTeX package), , varioref (LaTeX package), Labels and 
References
address@hidden @code{fancyref}: Fancy Cross References
address@hidden @code{fancyref}, LaTeX package
address@hidden @code{\fref}
address@hidden @code{\Fref}
address@hidden LaTeX packages, @code{fancyref}
address@hidden reftex-fref-is-default
address@hidden is a LaTeX package where a macro call like
address@hidden@address@hidden:address@hidden creates not only the number of
+the referenced counter but also the complete text around it, like
address@hidden 3 on the preceding page}.  In order to make it work you
+need to use label prefixes like @samp{fig:} consistently - something
address@hidden@TeX{}} does automatically.  When you want to make a reference
+with the @code{\fref} macro, just press the @kbd{V} key in the selection
+buffer to cycle between @code{\ref}, @code{\fref} and @code{\Fref}
+(@pxref{Referencing Labels}).  The mode line of the selection buffer
+shows the current status of this switch.  If this cycling seems
+inconvenient, you can also use the commands @code{reftex-fancyref-fref}
+and @address@hidden them to @kbd{C-c
+f} and @kbd{C-c F}.}.  Or use AUCTeX to create your macros
+(@pxref{AUCTeX}).
+
address@hidden Citations, Index Support, Labels and References, Top
address@hidden Citations
address@hidden Citations
address@hidden @code{\cite}
+
+Citations in LaTeX are done with the @code{\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
address@hidden environment in the document.  @address@hidden's
+support for citations helps to select the correct key quickly.
+
address@hidden
+* Creating Citations::               How to create them.
+* Citation Styles::                  Natbib, Harvard, Chicago and Co.
+* Citation Info::                    View the corresponding database entry.
+* Chapterbib and Bibunits::          Multiple bibliographies in a Document.
+* Citations Outside LaTeX::          How to make citations in Emails etc.
+* BibTeX Database Subsets::          Extract parts of a big database. 
address@hidden menu
+
address@hidden Creating Citations, Citation Styles, , Citations
address@hidden Creating Citations
address@hidden Creating citations
address@hidden Citations, creating
address@hidden reftex-citation
address@hidden C-c [
address@hidden Selection buffer, citations
address@hidden Selection process
+
+In order to create a citation, press @kbd{C-c [}.  @address@hidden 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
+(@pxref{Referencing Labels}).
+
+The regular expression uses an extended syntax: @samp{&&} defines a
+logic @code{and} for regular expressions. For example
address@hidden&&Bose} will match all articles which mention
+Bose-Einstein condensation, or which are co-authored by Bose and
+Einstein.  When entering the regular expression, you can complete on
+known citation keys.  RefTeX also offers a default when prompting for a
+regular expression.  This default is the word before the cursor or the
+word before the current @samp{\cite} command.  Sometimes this may be a
+good search key.
+
address@hidden @code{\bibliography}
address@hidden @code{thebibliography}, LaTeX environment
address@hidden @code{BIBINPUTS}, environment variable
address@hidden @code{TEXBIB}, environment variable
address@hidden@TeX{}} prefers to use BibTeX database files specified with a
address@hidden 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 @code{BIBINPUTS}.
+If you do not use BibTeX, but the document contains an explicit
address@hidden environment, @address@hidden 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
address@hidden entries, not the structured listing available with
+BibTeX database files.
+
address@hidden ?
+In the selection buffer, the following keys provide special commands.  A
+summary of this information is always available from the selection
+process by pressing @kbd{?}.
+
address@hidden @kbd
address@hidden
address@hidden ?
+Show a summary of available commands.
+
address@hidden 0-9,-
+Prefix argument.
+
address@hidden around}
address@hidden n
+Go to next article.
+
address@hidden p
+Go to previous article.
+
address@hidden to full database entries}
address@hidden @key{SPC}
+Show the database entry corresponding to the article at point, in
+another window.  See also the @kbd{f} key.
+
address@hidden 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 @key{SPC} after each cursor motion.  With BibTeX
+entries, follow mode can be rather slow.
+
address@hidden entries and creating the citation}
address@hidden @key{RET}
+Insert a citation referencing the article at point into the buffer from
+which the selection process was started.
+
address@hidden mouse-2
address@hidden reftex-highlight-selection
+Clicking with mouse button 2 on a citation will accept it like @key{RET}
+would.  See also variable @code{reftex-highlight-selection}, @ref{Options
+(Misc)}.
+
address@hidden m
+Mark the current entry.  When one or several entries are marked,
+pressing @kbd{a} or @kbd{A} accepts all marked entries.  Also,
address@hidden behaves like the @kbd{a} key.
+
address@hidden u
+Unmark a marked entry.
+
address@hidden a
+Accept all (marked) entries in the selection buffer and create a single
address@hidden macro referring to them.
+
address@hidden A
+Accept all (marked) entries in the selection buffer and create a
+separate @code{\cite} macro for each of it.
+
address@hidden e
+Create a new BibTeX database file which contains all @i{marked} entries
+in the selection buffer.  If no entries are marked, all entries are
+selected. 
+
address@hidden E
+Create a new BibTeX database file which contains all @i{unmarked}
+entries in the selection buffer.  If no entries are marked, all entries
+are selected. 
+
address@hidden @key{TAB}
+Enter a citation key with completion.  This may also be a key which does
+not yet exist.
+
address@hidden .
+Show insertion point in another window.  This is the point from where you
+called @code{reftex-citation}.
+
address@hidden
address@hidden q
+Exit the selection process without inserting a citation into the
+buffer.
+
address@hidden the buffer}
+
address@hidden g
+Start over with a new regular expression.  The full database will be
+rescanned with the new expression (see also @kbd{r}).
+
address@hidden FIXME: Should we use something else here? r is usually rescan!
address@hidden r
+Refine the current selection with another regular expression.  This will
address@hidden rescan the entire database, but just the already selected
+entries.
+
address@hidden table
+
address@hidden reftex-select-bib-map
+In order to define additional commands for this selection process, the
+keymap @code{reftex-select-bib-map} may be used.
+
address@hidden Citation Styles, Citation Info, Creating Citations, Citations
address@hidden Citation Styles
address@hidden Citation styles
address@hidden Citation styles, @code{natbib}
address@hidden Citation styles, @code{harvard}
address@hidden Citation styles, @code{chicago}
address@hidden Citation styles, @code{jurabib}
address@hidden @code{natbib}, citation style
address@hidden @code{harvard}, citation style
address@hidden @code{chicago}, citation style
address@hidden @code{jurabib}, citation style
+
address@hidden reftex-cite-format
+The standard LaTeX macro @code{\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 @code{\cite} macro.
address@hidden@TeX{}} can be configured to produce these citation macros as well
+by setting the variable @code{reftex-cite-format}.  For the most
+commonly used packages (@code{natbib}, @code{harvard}, @code{chicago},
address@hidden) this may be done from the menu, under
address@hidden>Citation Styles}.  Since there are usually several macros to
+create the citations, executing @code{reftex-citation} (@kbd{C-c [})
+starts by prompting for the correct macro.  For the Natbib style, this
+looks like this:
+
address@hidden
+SELECT A CITATION FORMAT
+
+[^M]   address@hidden@}
+[t]    address@hidden@}
+[T]    address@hidden@}
+[p]    address@hidden@}
+[P]    address@hidden@}
+[e]    address@hidden@}
+[s]    address@hidden@}
+[a]    address@hidden@}
+[A]    address@hidden@}
+[y]    address@hidden@}
address@hidden example
+
address@hidden reftex-cite-prompt-optional-args
+If cite formats contain empty paris of square brackets, RefTeX can
+will prompt for values of these optional arguments if you call the
address@hidden command with a @kbd{C-u} prefix.
+Following the most generic of these packages, @code{natbib}, the builtin
+citation packages always accept the @kbd{t} key for a @emph{textual}
+citation (like: @code{Jones et al. (1997) have shown...})  as well as
+the @kbd{p} key for a parenthetical citation (like: @code{As shown
+earlier (Jones et al, 1997)}).
+
+To make one of these styles the default, customize the variable
address@hidden or put into @file{.emacs}:
+
address@hidden
+(setq reftex-cite-format 'natbib)
address@hidden lisp
+
+You can also use AUCTeX style files to automatically set the
+citation style based on the @code{usepackage} commands in a given
+document.  @xref{Style Files}, for information on how to set up the style
+files correctly.
+
address@hidden Citation Info, Chapterbib and Bibunits, Citation Styles, 
Citations, Top
address@hidden Citation Info
address@hidden Displaying citations
address@hidden Citations, displaying
address@hidden Citation info
address@hidden Viewing citations
address@hidden C-c &
address@hidden S-mouse-2
address@hidden reftex-view-crossref
address@hidden reftex-mouse-view-crossref
+
+When point is idle for more than @code{reftex-idle-time} seconds on the
+argument of a @code{\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.
+
address@hidden@TeX{}} can also display the @code{\bibitem} or BibTeX database
+entry corresponding to a @code{\cite} macro, or all citation locations
+corresponding to a @code{\bibitem} or BibTeX database entry.
address@hidden Cross-References}.
+
address@hidden Chapterbib and Bibunits, Citations Outside LaTeX, Citation Info, 
Citations
address@hidden Chapterbib and Bibunits
address@hidden @code{chapterbib}, LaTeX package
address@hidden @code{bibunits}, LaTeX package
address@hidden Bibliographies, multiple
+
address@hidden and @code{bibunits} are two LaTeX packages which
+produce multiple bibliographies in a document.  This is no problem for
address@hidden@TeX{}} 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 @code{chapterbib} anyway).  Then
address@hidden@TeX{}} will still scan the locally relevant databases correctly. 
 If
+you have multiple bibliographies within a @emph{single file}, this may
+or may not be the case.
+
address@hidden Citations Outside LaTeX, BibTeX Database Subsets, Chapterbib and 
Bibunits, Citations
address@hidden Citations outside LaTeX
address@hidden Citations outside LaTeX
address@hidden reftex-default-bibliography
+
+The command @code{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 @emph{not} enter @code{reftex-mode} for
+this, just execute the command.  The list of BibTeX files will in this
+case be taken from the variable @code{reftex-default-bibliography}.
+Setting the variable @code{reftex-cite-format} to the symbol
address@hidden does a decent job of putting all relevant information
+about a citation directly into the buffer.  Here is the lisp code to add
+the @kbd{C-c [} binding to the mail buffer.  It also provides a local
+binding for @code{reftex-cite-format}.
+
address@hidden
+(add-hook 'mail-setup-hook
+          (lambda () (define-key mail-mode-map "\C-c["
+                       (lambda ()
+                         (interactive)
+                         (let ((reftex-cite-format 'locally))
+                           (reftex-citation))))))
address@hidden lisp
+
address@hidden BibTeX Database Subsets, , Citations Outside LaTeX, Citations
address@hidden Database Subsets
address@hidden BibTeX database subsets
address@hidden reftex-create-bibtex-file
+
address@hidden@TeX{}} offers two ways to create a new BibTeX database file.
+
+The first option produces a file which contains only the entries
+actually referenced in the current document.  This can be useful if
+the database in only meant for a single document and you want to clean
+it of old and unused ballast.  It can also be useful while writing a
+document together with collaborators, in order to avoid sending around
+the entire (possibly very large) database.  To create the file, use
address@hidden reftex-create-bibtex-file}, also available from the menu
+under @code{Ref->Global Actions->Create Bibtex File}.  The command will
+prompt for a BibTeX file name and write the extracted entries to that
+file.
+
+The second option makes use of the selection process started by the
+command @kbd{C-c [} (@pxref{Creating Citations}).  This command uses a
+regular expression to select entries, and lists them in a formatted
+selection buffer.  After pressing the @kbd{e} key (mnemonics: Export),
+the command will prompt for the name of a new BibTeX file and write
+the selected entries to that file.  You can also first mark some
+entries in the selection buffer with the @kbd{m} key and then export
+either the @i{marked} entries (with the @kbd{e} key) or the
address@hidden entries (with the @kbd{E} key).
+
address@hidden Index Support, Viewing Cross-References, Citations, Top
address@hidden Index Support
address@hidden Index Support
address@hidden @code{\index}
+
+LaTeX has builtin support for creating an Index.  The LaTeX core
+supports two different indices, the standard index and a glossary.  With
+the help of special LaTeX packages (@file{multind.sty} or
address@hidden), any number of indices can be supported.
+
+Index entries are created with the @address@hidden@address@hidden macro.
+All entries defined in a document are written out to the @file{.aux}
+file.  A separate tool must be used to convert this information into a
+nicely formatted index.  Tools used with LaTeX include @code{MakeIndex}
+and @code{xindy}.
+
+Indexing is a very difficult task.  It must follow strict conventions to
+make the index consistent and complete.  There are basically two
+approaches one can follow, and both have their merits.
+
address@hidden
address@hidden
+Part of the indexing should already be done with the markup.  The
+document structure should be reflected in the index, so when starting
+new sections, the basic topics of the section should be indexed.  If the
+document contains definitions, theorems or the like, these should all
+correspond to appropriate index entries.  This part of the index can
+very well be developed along with the document.  Often it is worthwhile
+to define special purpose macros which define an item and at the same
+time make an index entry, possibly with special formatting to make the
+reference page in the index bold or underlined.  To make @address@hidden
+support for indexing possible, these special macros must be added to
address@hidden@TeX{}}'s configuration (@pxref{Defining Index Macros}).
+
address@hidden
+The rest of the index is often just a collection of where in the
+document certain words or phrases are being used.  This part is
+difficult to develop along with the document, because consistent entries
+for each occurrence are needed and are best selected when the document
+is ready.  @address@hidden supports this with an @emph{index phrases file}
+which collects phrases and helps indexing the phrases globally.
address@hidden enumerate
+
+Before you start, you need to make sure that @address@hidden knows about
+the index style being used in the current document.  @address@hidden has
+builtin support for the default @code{\index} and @code{\glossary}
+macros.  Other LaTeX packages, like the @file{multind} or @file{index}
+package, redefine the @code{\index} macro to have an additional
+argument, and @address@hidden needs to be configured for those.  A
+sufficiently new version of AUCTeX (9.10c or later) will do this
+automatically.  If you really don't use AUCTeX (you should!), this
+configuration needs to be done by hand with the menu (@code{Ref->Index
+Style}), or globally for all your documents with
+
address@hidden
+(setq reftex-index-macros '(multind))     @r{or}
+(setq reftex-index-macros '(index))
address@hidden lisp
+
address@hidden
+* Creating Index Entries::           Macros and completion of entries.
+* The Index Phrases File::           A special file for global indexing.
+* Displaying and Editing the Index:: The index editor.
+* Builtin Index Macros::             The index macros RefTeX knows about.
+* Defining Index Macros::                ... and macros it  doesn't.
address@hidden menu
+
address@hidden Creating Index Entries, The Index Phrases File, , Index Support
address@hidden Creating Index Entries
address@hidden Creating index entries
address@hidden Index entries, creating
address@hidden C-c <
address@hidden reftex-index
address@hidden C-c /
address@hidden reftex-index-selection-or-word
+
+In order to index the current selection or the word at the cursor press
address@hidden /} (@code{reftex-index-selection-or-word}).  This causes the
+selection or word @address@hidden to be replaced with
address@hidden@address@hidden@address@hidden  The macro which is used
+(@code{\index} by default) can be configured with the variable
address@hidden  When the command is called with a
+prefix argument (@kbd{C-u C-c /}), you get a chance to edit the
+generated index entry.  Use this to change the case of the word or to
+make the entry a subentry, for example by entering
address@hidden@var{word}}.  When called with two raw @kbd{C-u} prefixes
+(@kbd{C-u C-u C-c /}), you will be asked for the index macro as well.
+When there is nothing selected and no word at point, this command will
+just call @code{reftex-index}, described below.
+
+In order to create a general index entry, press @kbd{C-c <}
+(@code{reftex-index}).  @address@hidden will prompt for one of the
+available index macros and for its arguments.  Completion will be
+available for the index entry and, if applicable, the index tag.  The
+index tag is a string identifying one of multiple indices.  With the
address@hidden and @file{index} packages, this tag is the first argument
+to the redefined @code{\index} macro.
+
address@hidden The Index Phrases File, Displaying and Editing the Index, 
Creating Index Entries, Index Support
address@hidden The Index Phrases File
address@hidden Index phrase file
address@hidden Phrase file
address@hidden C-c |
address@hidden reftex-index-visit-phrases-buffer
address@hidden Macro definition lines, in phrase buffer
+
address@hidden@TeX{}} maintains a file in which phrases can be collected for
+later indexing.  The file is located in the same directory as the master
+file of the document and has the extension @file{.rip} (@b{R}eftex
address@hidden @b{P}hrases).  You can create or visit the file with @kbd{C-c
+|} (@code{reftex-index-visit-phrases-buffer}).  If the file is empty it
+is initialized by inserting a file header which contains the definition
+of the available index macros.  This list is initialized from
address@hidden (@pxref{Defining Index Macros}).  You can
+edit the header as needed, but if you define new LaTeX indexing macros,
+don't forget to add them to @code{reftex-index-macros} as well.  Here is
+a phrase file header example:
+
address@hidden
+% -*- mode: reftex-index-phrases -*-
+%                           Key   Macro Format       Repeat
+%----------------------------------------------------------
+>>>INDEX_MACRO_DEFINITION:   i    address@hidden@}          t
+>>>INDEX_MACRO_DEFINITION:   I    address@hidden@}         nil
+>>>INDEX_MACRO_DEFINITION:   g    address@hidden@}       t
+>>>INDEX_MACRO_DEFINITION:   n    address@hidden@}   nil
+%----------------------------------------------------------
address@hidden example
+
+The macro definition lines consist of a unique letter identifying a
+macro, a format string and the @var{repeat} flag, all separated by
address@hidden  The format string shows how the macro is to be applied, the
address@hidden will be replaced with the index entry.  The repeat flag
+indicates if @var{word} is indexed by the macro as
address@hidden@address@hidden@}} (@var{repeat} = @code{nil}) or as
address@hidden@address@hidden@address@hidden (@var{repeat} = @code{t}).  In the
+above example it is assumed that the macro @address@hidden@address@hidden
+already typesets its argument in the text, so that it is unnecessary to
+repeat @var{word} outside the macro.
+
address@hidden
+* Collecting Phrases::               Collecting from document or external.
+* Consistency Checks::               Check for duplicates etc.
+* Global Indexing::                  The interactive indexing process.
address@hidden menu
+
address@hidden Collecting Phrases, Consistency Checks, , The Index Phrases File
address@hidden Collecting Phrases
address@hidden Collecting index phrases
address@hidden Index phrases, collection
address@hidden Phrases, collecting
+
+Phrases for indexing can be collected while writing the document.  The
+command @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word})
+copies the current selection (if active) or the word near point into the
+phrases buffer.  It then selects this buffer, so that the phrase line
+can be edited.  To return to the LaTeX document, press @kbd{C-c C-c}
+(@code{reftex-index-phrases-save-and-return}).
+
+You can also prepare the list of index phrases in a different way and
+copy it into the phrases file.  For example you might want to start from
+a word list of the document and remove all words which should not be
+indexed.
+
+The phrase lines in the phrase buffer must have a specific format.
address@hidden@TeX{}} will use font-lock to indicate if a line has the proper
+format.  A phrase line looks like this:
+
address@hidden
address@hidden <TABs> @var{phrase} [<TABs> @var{arg}[&&@var{arg}]... [ || 
@var{arg}]...]
address@hidden example
+
address@hidden<TABs>} stands for white space containing at least one @key{TAB}.
address@hidden must be at the start of the line and is the character
+identifying one of the macros defined in the file header.  It is
+optional - when omitted, the first macro definition line in the file
+will be used for this phrase.  The @var{phrase} is the phrase to be
+searched for when indexing.  It may contain several words separated by
+spaces.  By default the search phrase is also the text entered as
+argument of the index macro.  If you want the index entry to be
+different from the search phrase, enter another @key{TAB} and the index
+argument @var{arg}.  If you want to have each match produce several
+index entries, separate the different index arguments with @samp{ &&
address@hidden@samp{&&} with optional spaces, see
address@hidden  If you want to be
+able to choose at each match between several different index arguments,
+separate them with @samp{ || address@hidden@samp{||} with optional spaces,
+see @code{reftex-index-phrases-logical-or-regexp}.}.  Here is an
+example:
+
address@hidden
+%--------------------------------------------------------------------
+I     Sun
+i     Planet         Planets
+i     Vega           Stars!Vega
+      Jupiter        Planets!Jupiter
+i     Mars           Planets!Mars || Gods!Mars || Chocolate Bars!Mars
+i     Pluto          Planets!Pluto && Kuiper Belt Objects!Pluto
address@hidden example
+
+
+So @samp{Sun} will be indexed directly as @address@hidden@}}, while
address@hidden will be indexed as @address@hidden@}Planet}.
address@hidden will be indexed as a subitem of @samp{Stars}.  The
address@hidden line will also use the @samp{i} macro as it was the first
+macro definition in the file header (see above example).  At each
+occurrence of @samp{Mars} you will be able choose between indexing it as
+a subitem of @samp{Planets}, @samp{Gods} or @samp{Chocolate Bars}.
+Finally, every occurrence of @samp{Pluto} will be indexed as
address@hidden@address@hidden@{Kuiper Belt address@hidden
+and will therefore create two different index entries.
+
address@hidden Consistency Checks, Global Indexing, Collecting Phrases, The 
Index Phrases File
address@hidden Consistency Checks
address@hidden Index phrases, consistency checks
address@hidden Phrases, consistency checks
address@hidden Consistency check for index phrases
+
address@hidden C-c C-s
+Before indexing the phrases in the phrases buffer, they should be
+checked carefully for consistency.  A first step is to sort the phrases
+alphabetically - this is done with the command @kbd{C-c C-s}
+(@code{reftex-index-sort-phrases}).  It will sort all phrases in the
+buffer alphabetically by search phrase.  If you want to group certain
+phrases and only sort within the groups, insert empty lines between the
+groups.  Sorting will only change the sequence of phrases within each
+group (see the variable @code{reftex-index-phrases-sort-in-blocks}).
+
address@hidden C-c C-i
+A useful command is @kbd{C-c C-i} (@code{reftex-index-phrases-info})
+which lists information about the phrase at point, including an example
+of how the index entry will look like and the number of expected matches
+in the document.
+
address@hidden C-c C-t
+Another important check is to find out if there are double or
+overlapping entries in the buffer.  For example if you are first
+searching and indexing @samp{Mars} and then @samp{Planet Mars}, the
+second phrase will not match because of the index macro inserted before
address@hidden earlier.  The command @kbd{C-c C-t}
+(@code{reftex-index-find-next-conflict-phrase}) finds the next phrase in
+the buffer which is either duplicate or a subphrase of another phrase.
+In order to check the whole buffer like this, start at the beginning and
+execute this command repeatedly.
+
address@hidden Global Indexing, , Consistency Checks, The Index Phrases File
address@hidden Global Indexing
address@hidden Global indexing
address@hidden Indexing, global
address@hidden Indexing, from @file{phrases} buffer
+
+Once the index phrases have been collected and organized, you are set
+for global indexing.  I recommend to do this only on an otherwise
+finished document.  Global indexing starts from the phrases buffer.
+There are several commands which start indexing: @kbd{C-c C-x} acts on
+the current phrase line, @kbd{C-c C-r} on all lines in the current
+region and @kbd{C-c C-a} on all phrase lines in the buffer.  It is
+probably good to do indexing in small chunks since your concentration
+may not last long enough to do everything in one go.
+
address@hidden@TeX{}} will start at the first phrase line and search the phrase
+globally in the whole document.  At each match it will stop, compute the
+replacement string and offer you the following address@hidden
+users: Restrict yourself to the described keys during indexing.  Pressing
address@hidden at the indexing prompt can apparently hang Emacs.}:
+
address@hidden @kbd
address@hidden y
+Replace this match with the proposed string.
address@hidden n
+Skip this match.
address@hidden !
+Replace this and all further matches in this file.
address@hidden q
+Skip this match, start with next file.
address@hidden Q
+Skip this match, start with next phrase.
address@hidden o
+Select a different indexing macro for this match.
address@hidden 1-9
+Select one of multiple index keys (those separated with @samp{||}).
address@hidden e
+Edit the replacement text.
address@hidden C-r
+Recursive edit.  Use @kbd{C-M-c} to return to the indexing process.
address@hidden s
+Save this buffer and ask again about the current match.
address@hidden S
+Save all document buffers and ask again about the current match.
address@hidden C-g
+Abort the indexing process.
address@hidden table
+
+The @samp{Find and Index in Document} menu in the phrases buffer also
+lists a few options for the indexing process.  The options have
+associated customization variables to set the defaults (@pxref{Options
+(Index Support)}).  Here is a short explanation of what the options do:
+
address@hidden @i
address@hidden Match Whole Words
+When searching for index phrases, make sure whole words are matched.
+This should probably always be on.
address@hidden Case Sensitive Search
+Search case sensitively for phrases.  I recommend to have this setting
+off, in order to match the capitalized words at the beginning of a
+sentence, and even typos.  You can always say @emph{no} at a match you
+do not like.
address@hidden Wrap Long Lines
+Inserting index macros increases the line length.  Turn this option on
+to allow @address@hidden to wrap long lines.
address@hidden Skip Indexed Matches
+When this is on, @address@hidden will at each match try to figure out if
+this match is already indexed.  A match is considered indexed if it is
+either the argument of an index macro, or if an index macro is directly
+(without whitespace separation) before or after the match.  Index macros
+are those configured in @code{reftex-index-macros}.  Intended for
+re-indexing a documents after changes have been made.
address@hidden table
+
+Even though indexing should be the last thing you do to a document, you
+are bound to make changes afterwards.  Indexing then has to be applied
+to the changed regions.  The command
address@hidden is designed for this
+purpose.  When called from a LaTeX document with active region, it will
+apply @code{reftex-index-all-phrases} to the current region.
+
address@hidden Displaying and Editing the Index, Builtin Index Macros, The 
Index Phrases File, Index Support
address@hidden Displaying and Editing the Index
address@hidden Displaying the Index
address@hidden Editing the Index
address@hidden Index entries, creating
address@hidden Index, displaying
address@hidden Index, editing
address@hidden C-c >
address@hidden reftex-display-index
+
+In order to compile and display the index, press @kbd{C-c >}.  If the
+document uses multiple indices, @address@hidden will ask you to select
+one.  Then, all index entries will be sorted alphabetically and
+displayed in a special buffer, the @file{*Index*} buffer.  From that
+buffer you can check and edit each entry.
+
+The index can be restricted to the current section or the region.  Then
+only entries in that part of the document will go into the compiled
+index.  To restrict to the current section, use a numeric prefix
address@hidden, thus press @kbd{C-u 2 C-c >}.  To restrict to the current
+region, make the region active and use a numeric prefix @samp{3} (press
address@hidden 3 C-c >}).  From within the @file{*Index*} buffer the
+restriction can be moved from one section to the next by pressing the
address@hidden<} and @kbd{>} keys.
+
+One caveat: @address@hidden finds the definition point of an index entry
+by searching near the buffer position where it had found to macro during
+scanning.  If you have several identical index entries in the same
+buffer and significant changes have shifted the entries around, you must
+rescan the buffer to ensure the correspondence between the
address@hidden buffer and the definition locations.  It is therefore
+advisable to rescan the document (with @kbd{r} or @kbd{C-u r})
+frequently while editing the index from the @file{*Index*}
+buffer.
+
address@hidden ?
+Here is a list of special commands available in the @file{*Index*} buffer.  A
+summary of this information is always available by pressing
address@hidden
+
address@hidden @kbd
address@hidden
address@hidden ?
+Display a summary of commands.
+
address@hidden 0-9, -
+Prefix argument.
+
address@hidden around}
address@hidden ! A..Z
+Pressing any capital letter will jump to the corresponding section in
+the @file{*Index*} buffer.  The exclamation mark is special and jumps to
+the first entries alphabetically sorted below @samp{A}.  These are
+usually non-alphanumeric characters.
address@hidden n
+Go to next entry.
address@hidden p
+Go to previous entry.
+
address@hidden to document locations}
address@hidden @key{SPC}
+Show the place in the document where this index entry is defined.
+
address@hidden @key{TAB}
+Go to the definition of the current index entry in another
+window.
+
address@hidden @key{RET}
+Go to the definition of the current index entry and hide the
address@hidden buffer window.
+
address@hidden f
address@hidden reftex-index-follow-mode
address@hidden reftex-revisit-to-follow
+Toggle follow mode.  When follow mode is active, the other window will
+always show the location corresponding to the line in the @file{*Index*}
+buffer at point.  This is similar to pressing @key{SPC} after each
+cursor motion.  The default for this flag can be set with the variable
address@hidden  Note that only context in files
+already visited is shown.  @address@hidden will not visit a file just for
+follow mode.  See, however, the variable
address@hidden
+
address@hidden editing}
address@hidden e
+Edit the current index entry.  In the minibuffer, you can edit the
+index macro which defines this entry.
+
address@hidden C-k
+Kill the index entry.  Currently not implemented because I don't know
+how to implement an @code{undo} function for this.
+
address@hidden *
+Edit the @var{key} part of the entry.  This is the initial part of the
+entry which determines the location of the entry in the index.
+
address@hidden |
+Edit the @var{attribute} part of the entry.  This is the part after the
+vertical bar.  With @code{MakeIndex}, this part is an encapsulating
+macro.  With @code{xindy}, it is called @emph{attribute} and is a
+property of the index entry that can lead to special formatting.  When
+called with @kbd{C-u} prefix, kill the entire @var{attribute}
+part.
+
address@hidden @@
+Edit the @var{visual} part of the entry.  This is the part after the
address@hidden@@} which is used by @code{MakeIndex} to change the visual
+appearance of the entry in the index.  When called with @kbd{C-u}
+prefix, kill the entire @var{visual} part.
+
address@hidden (
+Toggle the beginning of page range property @samp{|(} of the
+entry.
+
address@hidden )
+Toggle the end of page range property @samp{|)} of the entry.
+
address@hidden _
+Make the current entry a subentry.  This command will prompt for the
+superordinate entry and insert it.
+
address@hidden ^
+Remove the highest superordinate entry.  If the current entry is a
+subitem (@samp{aaa!bbb!ccc}), this function moves it up the hierarchy
+(@samp{bbb!ccc}).
+
address@hidden
address@hidden q
+Hide the @file{*Index*} buffer.
+
address@hidden k
+Kill the @file{*Index*} buffer.
+
address@hidden C-c =
+Switch to the Table of Contents buffer of this document.
+
address@hidden what gets displayed}
address@hidden c
address@hidden reftex-index-include-context
+Toggle the display of short context in the @file{*Index*} buffer.  The
+default for this flag can be set with the variable
address@hidden
+
address@hidden @}
+Restrict the index to a single document section.  The corresponding
+section number will be displayed in the @code{R<>} indicator in the
+mode line and in the header of the @file{*Index*} buffer.
+
address@hidden @{
+Widen the index to contain all entries of the document.
+
address@hidden <
+When the index is currently restricted, move the restriction to the
+previous section.
+
address@hidden >
+When the index is currently restricted, move the restriction to the
+next section.
+
address@hidden the buffer}
address@hidden g
+Rebuild the @file{*Index*} buffer.  This does @emph{not} rescan the
+document.  However, it sorts the entries again, so that edited entries
+will move to the correct position.
+
address@hidden r
address@hidden reftex-enable-partial-scans
+Reparse the LaTeX document and rebuild the @file{*Index*} buffer.  When
address@hidden is address@hidden, rescan only the file this
+location is defined in, not the entire document.
+
address@hidden C-u r
+Reparse the @emph{entire} LaTeX document and rebuild the @file{*Index*}
+buffer.
+
address@hidden s
+Switch to a different index (for documents with multiple
+indices).
address@hidden table
+
+
address@hidden Builtin Index Macros, Defining Index Macros, Displaying and 
Editing the Index, Index Support
address@hidden Builtin Index Macros
address@hidden Builtin index macros
address@hidden Index macros, builtin
address@hidden reftex-index-macros
address@hidden @code{multind}, LaTeX package
address@hidden @code{index}, LaTeX package
address@hidden LaTeX packages, @code{multind}
address@hidden LaTeX packages, @code{index}
+
address@hidden@TeX{}} by default recognizes the @code{\index} and
address@hidden macros which are defined in the LaTeX core.  It has
+also builtin support for the re-implementations of @code{\index}
+in the @file{multind} and @file{index} packages.  However, since
+the different definitions of the @code{\index} macro are incompatible,
+you will have to explicitly specify the index style used.
address@hidden Index Entries}, for information on how to do that.
+
address@hidden Defining Index Macros, , Builtin Index Macros, Index Support
address@hidden Defining Index Macros
address@hidden  Defining Index Macros
address@hidden Index macros, defining
address@hidden reftex-index-macros
+
+When writing a document with an index you will probably define
+additional macros which make entries into the index.
+Let's look at an example.
+
address@hidden
address@hidden@address@hidden@address@hidden@}
address@hidden@address@hidden@address@hidden@address@hidden@}
address@hidden@address@hidden@{Astronomical address@hidden@}
address@hidden example
+
+The first macro @code{\ix} typesets its argument in the text and places
+it into the index.  The second macro @code{\nindex} typesets its
+argument in the text and places it into a separate index with the tag
address@hidden@footnote{We are using the syntax of the @file{index} package
+here.}.  The last macro also places its argument into the index, but as
+subitems under the main index entry @samp{Astronomical Objects}.  Here
+is how to make @address@hidden recognize and correctly interpret these
+macros, first with Emacs Lisp.
+
address@hidden
+(setq reftex-index-macros
+      '(("address@hidden@}" "idx" ?x "" nil nil)
+        ("address@hidden@}" "name" ?n "" nil nil)
+        ("address@hidden@}" "idx" ?o "Astronomical Objects!" nil t)))
address@hidden lisp
+
+Note that the index tag is @samp{idx} for the main index, and
address@hidden for the name index.  @samp{idx} and @samp{glo} are reserved
+for the default index and for the glossary.
+
+The character arguments @code{?x}, @code{?n}, and @code{?o} are for
+quick identification of these macros when @address@hidden inserts new
+index entries with @code{reftex-index}.  These codes need to be
+unique. @code{?i}, @code{?I}, and @code{?g} are reserved for the
address@hidden, @code{\index*}, and @code{\glossary} macros,
+respectively.
+
+The following string is empty unless your macro adds a superordinate
+entry to the index key - this is the case for the @code{\astobj} macro.
+
+The next entry can be a hook function to exclude certain matches, it
+almost always can be @code{nil}.
+
+The final element in the list indicates if the text being indexed needs
+to be repeated outside the macro.  For the normal index macros, this
+should be @code{t}.  Only if the macro typesets the entry in the text
+(like @code{\ix} and @code{\nindex} in the example do), this should be
address@hidden
+
+To do the same thing with customize, you need to fill in the templates
+like this:
+
address@hidden
+Repeat:
+[INS] [DEL] List:
+            Macro with args: address@hidden@}
+            Index Tag      : [Value Menu] String: idx
+            Access Key     : x
+            Key Prefix     :
+            Exclusion hook : nil
+            Repeat Outside : [Toggle]  off (nil)
+[INS] [DEL] List:
+            Macro with args: address@hidden@}
+            Index Tag      : [Value Menu] String: name
+            Access Key     : n
+            Key Prefix     :
+            Exclusion hook : nil
+            Repeat Outside : [Toggle]  off (nil)
+[INS] [DEL] List:
+            Macro with args: address@hidden@}
+            Index Tag      : [Value Menu] String: idx
+            Access Key     : o
+            Key Prefix     : Astronomical Objects!
+            Exclusion hook : nil
+            Repeat Outside : [Toggle]  on (non-nil)
+[INS]
address@hidden example
+
+With the macro @code{\ix} defined, you may want to change the default
+macro used for indexing a text phrase (@pxref{Creating Index Entries}).
+This would be done like this
+
address@hidden
+(setq reftex-index-default-macro '(?x "idx"))
address@hidden lisp
+
+which specifies that the macro identified with the character @code{?x} (the
address@hidden macro) should be used for indexing phrases and words already
+in the buffer with @kbd{C-c /} (@code{reftex-index-selection-or-word}).
+The index tag is "idx".
+
address@hidden Viewing Cross-References, RefTeXs Menu, Index Support, Top
address@hidden Viewing Cross--References
address@hidden reftex-view-crossref
address@hidden reftex-mouse-view-crossref
address@hidden C-c &
address@hidden S-mouse-2
+
address@hidden@TeX{}} can display cross--referencing information.  This means,
+if two document locations are linked, @address@hidden can display the
+matching location(s) in another window.  The @code{\label} and @code{\ref}
+macros are one way of establishing such a link.  Also, a @code{\cite}
+macro is linked to the corresponding @code{\bibitem} macro or a BibTeX
+database entry.
+
+The feature is invoked by pressing @kbd{C-c &}
+(@code{reftex-view-crossref}) while point is on the @var{key} argument
+of a macro involved in cross--referencing.  You can also click with
address@hidden on the macro argument.  Here is what will happen for
+individual classes of macros:
+
address@hidden @asis
+
address@hidden @code{\ref}
address@hidden @code{\ref}
+Display the corresponding label definition.  All usual
address@hidden macros that start with @samp{ref} or end with
address@hidden or @samp{refrange}} of the @code{\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
address@hidden interface (@pxref{xr (LaTeX package)}).
+
address@hidden @code{\label}
address@hidden @code{\label}
address@hidden reftex-label-alist
+Display a document location which references this label.  Pressing
address@hidden &} several times moves through the entire document and finds
+all locations.  Not only the @code{\label} macro but also other macros
+with label arguments (as configured with @code{reftex-label-alist}) are
+active for cross--reference display.
+
address@hidden @code{\cite}
address@hidden @code{\cite}
+Display the corresponding BibTeX database entry or @code{\bibitem}.
+All usual address@hidden macros that either start or end with
address@hidden of the @code{\cite} macro are active for cross--reference
+display.
+
address@hidden @code{\bibitem}
address@hidden @code{\bibitem}
+Display a document location which cites this article. Pressing
address@hidden &} several times moves through the entire document and finds
+all locations.
+
address@hidden BibTeX
address@hidden BibTeX buffer, viewing cite locations from
address@hidden Viewing cite locations from BibTeX buffer
address@hidden &} 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, @address@hidden will prompt for a buffer which belongs to
+the document you want to search.  Subsequent calls will use the same
+document, until you break this link with a prefix argument to @kbd{C-c
+&}.
+
address@hidden @code{\index}
address@hidden @code{\index}
+Display other locations in the document which are marked by an index
+macro with the same key argument.  Along with the standard @code{\index}
+and @code{\glossary} macros, all macros configured in
address@hidden will be recognized.
address@hidden table
+
address@hidden reftex-view-crossref-extra
+While the display of cross referencing information for the above
+mentioned macros is hard--coded, you can configure additional relations
+in the variable @code{reftex-view-crossref-extra}.
+
address@hidden
address@hidden All the Rest
address@hidden iftex
+
address@hidden RefTeXs Menu, Key Bindings, Viewing Cross-References, Top
address@hidden @address@hidden's Menu
address@hidden RefTeXs Menu
address@hidden Menu, in the menu bar
+
address@hidden@TeX{}} installs a @code{Ref} menu in the menu bar on systems
+which support this.  From this menu you can access all of
address@hidden@TeX{}}'s commands and a few of its options.  There is also a
address@hidden submenu which can be used to access @address@hidden's
+entire set of options.
+
address@hidden Key Bindings, Faces, RefTeXs Menu, Top
address@hidden Default Key Bindings
address@hidden Key Bindings, summary
+
+Here is a summary of the available key bindings.
+
address@hidden C-c =
address@hidden C-c -
address@hidden C-c (
address@hidden C-c )
address@hidden C-c [
address@hidden C-c &
address@hidden S-mouse-2
address@hidden C-c /
address@hidden C-c \
address@hidden C-c |
address@hidden C-c <
address@hidden C-c >
address@hidden
address@hidden =}      @code{reftex-toc}
address@hidden -}      @code{reftex-toc-recenter}
address@hidden (}      @code{reftex-label}
address@hidden )}      @code{reftex-reference}
address@hidden [}      @code{reftex-citation}
address@hidden &}      @code{reftex-view-crossref}
address@hidden  @code{reftex-mouse-view-crossref}
address@hidden /}      @code{reftex-index-selection-or-word}
address@hidden \}      @code{reftex-index-phrase-selection-or-word}
address@hidden |}      @code{reftex-index-visit-phrases-buffer}
address@hidden <}      @code{reftex-index}
address@hidden >}      @code{reftex-display-index}
address@hidden example
+
+Note that the @kbd{S-mouse-2} binding is only provided if this key is
+not already used by some other package.  @address@hidden will not override an
+existing binding to @kbd{S-mouse-2}.
+
+Personally, I also bind some functions in the users @kbd{C-c} map for
+easier access.
+
address@hidden FIXME: Do we need bindings for the Index macros here as well?
address@hidden C-c i   C-c I or so????
address@hidden How about key bindings for reftex-reset-mode and 
reftex-parse-document?
address@hidden C-c t
address@hidden C-c l
address@hidden C-c r
address@hidden C-c c
address@hidden C-c v
address@hidden C-c s
address@hidden C-c g
address@hidden
address@hidden t}    @code{reftex-toc}
address@hidden l}    @code{reftex-label}
address@hidden r}    @code{reftex-reference}
address@hidden c}    @code{reftex-citation}
address@hidden v}    @code{reftex-view-crossref}
address@hidden s}    @code{reftex-search-document}
address@hidden g}    @code{reftex-grep-document}
address@hidden example
+
address@hidden These keys are reserved for the user, so I cannot bind them by
+default.  If you want to have these key bindings available, set in your
address@hidden file:
+
address@hidden reftex-extra-bindings
address@hidden
+(setq reftex-extra-bindings t)
address@hidden lisp
+
address@hidden reftex-load-hook
+Changing and adding to @address@hidden's key bindings is best done in the hook
address@hidden  For information on the keymaps
+which should be used to add keys, see @ref{Keymaps and Hooks}.
+
address@hidden Faces, AUCTeX, Key Bindings, Top
address@hidden Faces
address@hidden Faces
+
address@hidden@TeX{}} 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 @file{font-lock.el}.  Therefore, @address@hidden will
+use faces only when @code{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 @ref{Options (Fontification)}.
+
address@hidden Multifile Documents, Language Support, AUCTeX, Top
address@hidden Multifile Documents
address@hidden Multifile documents
address@hidden Documents, spread over files
+
+The following is relevant when working with documents spread over many
+files:
+
address@hidden @bullet
address@hidden
address@hidden@TeX{}} has full support for multifile documents.  You can edit 
parts of
+several (multifile) documents at the same time without conflicts.
address@hidden@TeX{}} provides functions to run @code{grep}, @code{search} and
address@hidden on all files which are part of a multifile
+document.
+
address@hidden
address@hidden tex-main-file
address@hidden TeX-master
+All files belonging to a multifile document should define a File
+Variable (@code{TeX-master} for AUCTeX or @code{tex-main-file} for the
+standard Emacs LaTeX mode) containing the name of the master file.  For
+example, to set the file variable @code{TeX-master}, include something
+like the following at the end of each TeX file:
+
address@hidden
+%%% Local Variables: ***
+%%% mode:latex ***
+%%% TeX-master: "thesis.tex"  ***
+%%% End: ***
address@hidden example
+
+AUCTeX with the setting
+
address@hidden
+(setq-default TeX-master nil)
address@hidden lisp
+
+will actually ask you for each new file about the master file and insert
+this comment automatically.  For more details see the documentation of
+the AUCTeX (@pxref{Multifile,,,auctex, The AUC TeX User Manual}), the
+documentation about the Emacs (La)TeX mode (@pxref{TeX Print,,,emacs,
+The GNU Emacs Manual}) and the Emacs documentation on File Variables
+(@pxref{File Variables,,,emacs, The GNU Emacs Manual}).
+
address@hidden
+The context of a label definition must be found in the same file as the
+label itself in order to be processed correctly by @address@hidden  The only
+exception is that section labels referring to a section statement
+outside the current file can still use that section title as
+context.
address@hidden itemize
+
address@hidden Language Support, Finding Files, Multifile Documents, Top
address@hidden Language Support
address@hidden Language support
+
+Some parts of @address@hidden are language dependent.  The default
+settings work well for English.  If you are writing in a different
+language, the following hints may be useful:
+
address@hidden @bullet
address@hidden
address@hidden reftex-derive-label-parameters
address@hidden reftex-abbrev-parameters
+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
address@hidden and @code{reftex-abbrev-parameters}.
+
address@hidden
address@hidden reftex-translate-to-ascii-function
address@hidden reftex-label-illegal-re
+Also, when a label is derived from context, @address@hidden clears the
+context string from non-ASCII characters in order to make a valid label.
+If there should ever be a version of @TeX{} which allows extended
+characters @emph{in labels}, then we will have to look at the
+variables @code{reftex-translate-to-ascii-function} and
address@hidden
+
address@hidden
+When a label is referenced, @address@hidden looks at the word before point
+to guess which label type is required.  These @emph{magic words} are
+different in every language.  For an example of how to add magic words,
+see @ref{Adding Magic Words}.
+
address@hidden reftex-multiref-punctuation
address@hidden reftex-cite-punctuation
address@hidden
address@hidden@TeX{}} inserts ``punctuation'' for multiple references and
+for the author list in citations.  Some of this may be language
+dependent.  See the variables @code{reftex-multiref-punctuation} and
address@hidden
address@hidden itemize
+
address@hidden Finding Files, Optimizations, Language Support, Top
address@hidden Finding Files
address@hidden Finding files
+
+In order to find files included in a document via @code{\input} or
address@hidden, @address@hidden searches all directories specified in the
+environment variable @code{TEXINPUTS}.  Similarly, it will search the
+path specified in the variables @code{BIBINPUTS} and @code{TEXBIB} for
+BibTeX database files.
+
+When searching, @address@hidden will also expand recursive path
+definitions (directories ending in @samp{//} or @samp{!!}).  But it will
+only search and expand directories @emph{explicitly} given in these
+variables. This may cause problems under the following circumstances:
+
address@hidden @bullet
address@hidden
+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 @address@hidden 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, @address@hidden will fail to find them.
address@hidden
+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.
address@hidden itemize
+
address@hidden
+There are three ways to solve this problem:
+
address@hidden @bullet
address@hidden
+Specify all relevant directories explicitly in the environment
+variables.  If for some reason you don't want to mess with the default
+variables @code{TEXINPUTS} and @code{BIBINPUTS}, define your own
+variables and configure @address@hidden to use them instead:
+
address@hidden
+(setq reftex-texpath-environment-variables '("MYTEXINPUTS"))
+(setq reftex-bibpath-environment-variables '("MYBIBINPUTS"))
address@hidden lisp
+
address@hidden
+Specify the full search path directly in @address@hidden's variables.
+
address@hidden
+(setq reftex-texpath-environment-variables
+      '("./inp:/home/cd/tex//:/usr/local/tex//"))
+(setq reftex-bibpath-environment-variables
+      '("/home/cd/tex/lit/"))
address@hidden lisp
+
address@hidden
+Some TeX systems provide stand--alone programs to do the file search just
+like TeX and BibTeX.  E.g. Thomas Esser's @code{teTeX} uses the
address@hidden library which provides the command @code{kpsewhich}
+to search for files.  @address@hidden can be configured to use this
+program.  Note that the exact syntax of the @code{kpsewhich}
+command depends upon the version of that program.
+
address@hidden
+(setq reftex-use-external-file-finders t)
+(setq reftex-external-file-finders
+      '(("tex" . "kpsewhich -format=.tex %f")
+        ("bib" . "kpsewhich -format=.bib %f")))
address@hidden lisp
address@hidden itemize
+
address@hidden Noweb files
address@hidden reftex-file-extensions
address@hidden TeX-file-extensions
+Some people like to use RefTeX with noweb files, which usually have the
+extension @file{.nw}.  In order to deal with such files, the new
+extension must be added to the list of valid extensions in the variable
address@hidden  When working with AUCTeX as major mode,
+the new extension must also be known to AUCTeX via the variable
address@hidden  For example:
+
address@hidden
+(setq reftex-file-extensions
+      '(("nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
+(setq TeX-file-extensions
+      '( "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))
address@hidden lisp
+
address@hidden Optimizations, Problems and Work-Arounds, Finding Files, Top
address@hidden Optimizations
address@hidden Optimizations
+
address@hidden added 2002.  Computers have gotten a lot faster, so most of the
+optimizations discussed below will not be necessary on new machines.  I
+am leaving this stuff in the manual for people who want to write thick
+books, where some of it still might be useful.}
+
+Implementing the principle of least surprises, the default settings of
address@hidden@TeX{}} ensure a safe ride for beginners and casual users.  
However,
+when using @address@hidden for a large project and/or on a small computer,
+there are ways to improve speed or memory usage.
+
address@hidden @bullet
address@hidden
address@hidden Lookup address@hidden
address@hidden Removing lookup buffers
address@hidden@TeX{}} 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
+
address@hidden reftex-keep-temporary-buffers
address@hidden
+(setq reftex-keep-temporary-buffers nil)
address@hidden lisp
+
address@hidden
address@hidden Document address@hidden
address@hidden Partial documents scans
address@hidden Document scanning, partial
+A @kbd{C-u} prefix on the major @address@hidden commands @code{reftex-label}
+(@kbd{C-u C-c (}), @code{reftex-reference} (@kbd{C-u C-c )}),
address@hidden (@kbd{C-u C-c [}), @code{reftex-toc} (@kbd{C-u C-c
+=}), and @code{reftex-view-crossref} (@kbd{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.  @address@hidden can be configured
+to do partial scans instead of full ones.  @kbd{C-u} re-parsing then
+does apply only to the current buffer and files included from it.
+Likewise, the @kbd{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 @kbd{C-u C-u} as a
+prefix, or the capital @kbd{R} key in the menus.  To use this feature,
+try
+
address@hidden reftex-enable-partial-scans
address@hidden
+(setq reftex-enable-partial-scans t)
address@hidden lisp
+
address@hidden
address@hidden Parser address@hidden
address@hidden Saving parser information
address@hidden Parse information, saving to a file
address@hidden reftex-parse-file-extension
+Even with partial scans enabled, @address@hidden 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 @file{MASTER.rel} is used
+for storing information about a document with master file
address@hidden  It is written automatically when you kill a buffer
+in @code{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 @file{.emacs}:
+
address@hidden reftex-save-parse-info
address@hidden
+(setq reftex-save-parse-info t)
address@hidden lisp
+
address@hidden
address@hidden label types by address@hidden
address@hidden Parse information, saving to a file
address@hidden reftex-trust-label-prefix
address@hidden@TeX{}} normally parses around each label to check in which
+environment this label is located, in order to assign a label type to
+the label.  If your document contains thousands of labels, document
+parsing will take considerable time.  If you have been using label prefixes
+like tab: and fn: consistently, you can tell @address@hidden to get the
+label type directly from the prefix, without additional parsing.  This
+will be faster and also allow labels to end up in the correct category
+if for some reason it is not possible to derive the correct type from
+context.  For example, to enable this feature for footnote and
+equation labels, use
+
address@hidden
+(setq reftex-trust-label-prefix '("fn:" "eq:"))
address@hidden lisp
+
address@hidden
address@hidden Document address@hidden
address@hidden Automatic document scans
address@hidden Document scanning, automatic
+At rare occasions, @address@hidden will automatically rescan a part of the
+document.  If this gets into your way, it can be turned off with
+
address@hidden reftex-allow-automatic-rescan
address@hidden
+(setq reftex-allow-automatic-rescan nil)
address@hidden lisp
+
address@hidden@TeX{}} 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.
+
address@hidden
address@hidden Selection address@hidden
address@hidden Multiple selection buffers
address@hidden Selection buffers, multiple
+Normally, the selection buffer @file{*RefTeX Select*} is re-created for
+every selection process.  In documents with very many labels this can
+take several seconds.  @address@hidden 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
address@hidden  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
+
address@hidden reftex-use-multiple-selection-buffers
address@hidden
+(setq reftex-use-multiple-selection-buffers t)
address@hidden lisp
+
address@hidden
address@hidden Selection buffers, updating
+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 @kbd{g} key.  To get this behavior, use instead
+
address@hidden reftex-auto-update-selection-buffers
address@hidden
+(setq reftex-use-multiple-selection-buffers t
+      reftex-auto-update-selection-buffers nil)
address@hidden lisp
address@hidden itemize
+
address@hidden 2000
address@hidden
address@hidden a summary}, here are the settings I recommend for heavy use of
address@hidden@TeX{}} with large documents:
+
address@hidden
address@hidden
+(setq reftex-enable-partial-scans t
+      reftex-save-parse-info t
+      reftex-use-multiple-selection-buffers t)
address@hidden group
address@hidden lisp
+
address@hidden AUCTeX, Multifile Documents, Faces, Top
address@hidden address@hidden
address@hidden @code{AUCTeX}, Emacs package
address@hidden Emacs packages, @code{AUCTeX}
+
+AUCTeX is without doubt the best major mode for editing TeX and LaTeX
+files with Emacs (@pxref{Top,AUCTeX,,auctex, The AUCTeX User Manual}).
+If AUCTeX is not part of your Emacs distribution, you can get
address@hidden 21.x users may want to install the corresponding
+XEmacs package.} by ftp from the @value{AUCTEXSITE}.
+
address@hidden
+* AUCTeX-RefTeX Interface::          How both packages work together
+* Style Files::                      AUCTeX's style files can support RefTeX
+* Bib-Cite::                         Hypertext reading of a document
address@hidden menu
+
address@hidden AUCTeX-RefTeX Interface, Style Files, , AUCTeX
address@hidden The address@hidden@address@hidden Interface
+
address@hidden@TeX{}} contains code to interface with AUCTeX.  When this
+interface is turned on, both packages will interact closely.  Instead of
+using @address@hidden's commands directly, you can then also use them
+indirectly as part of the AUCTeX
address@hidden@address@hidden 4.0 and AUCTeX 9.10c will be
+needed for all of this to work.  Parts of it work also with earlier
+versions.}.  The interface is turned on with
+
address@hidden
+(setq reftex-plug-into-AUCTeX t)
address@hidden lisp
+
+If you need finer control about which parts of the interface are used
+and which not, read the docstring of the variable
address@hidden or customize it with @kbd{M-x
+customize-variable @key{RET} reftex-plug-into-AUCTeX @key{RET}}.
+
+The following list describes the individual parts of the interface.
+
address@hidden @bullet
address@hidden
address@hidden reftex-label
address@hidden LaTeX-label-function, @r{AUCTeX}
address@hidden C-c C-e
address@hidden C-c C-s
address@hidden LaTeX-section, @r{AUCTeX}
address@hidden TeX-insert-macro, @r{AUCTeX}
address@hidden calls @code{reftex-label} to insert address@hidden
+When a new section is created with @kbd{C-c C-s}, or a new environment
+is inserted with @kbd{C-c C-e}, AUCTeX normally prompts for a label to
+go with it.  With the interface, @code{reftex-label} is called instead.
+For example, if you type @kbd{C-c C-e equation @key{RET}}, AUCTeX and
address@hidden@TeX{}} will insert
+
address@hidden
address@hidden@}
address@hidden:address@hidden
+
address@hidden@}
address@hidden example
+
address@hidden
+without further prompts.
+
+Similarly, when you type @kbd{C-c C-s section @key{RET}}, @address@hidden
+will offer its default label which is derived from the section title.
+
address@hidden
address@hidden tells @address@hidden about new address@hidden
+When creating a new section with @kbd{C-c C-s}, @address@hidden will not
+have to rescan the buffer in order to see it.
+
address@hidden
address@hidden reftex-arg-label
address@hidden TeX-arg-label, @r{AUCTeX function}
address@hidden reftex-arg-ref
address@hidden TeX-arg-ref, @r{AUCTeX function}
address@hidden reftex-arg-cite
address@hidden TeX-arg-cite, @r{AUCTeX function}
address@hidden reftex-arg-index
address@hidden TeX-arg-index, @r{AUCTeX function}
address@hidden TeX-insert-macro, @r{AUCTeX function}
address@hidden C-c @key{RET}
address@hidden@address@hidden supplies macro address@hidden When you insert a 
macro
+interactively with @kbd{C-c @key{RET}}, AUCTeX normally prompts for
+macro arguments.  Internally, it uses the functions
address@hidden, @code{TeX-arg-cite}, and @code{TeX-arg-index} to
+prompt for arguments which are labels, citation keys and index entries.
+The interface takes over these address@hidden@code{fset} is used to
+do this, which is not reversible.  However, @address@hidden implements the
+old functionality when you later decide to turn off the interface.} and
+supplies the macro arguments with @address@hidden's} mechanisms.  For
+example, when you type @kbd{C-c @key{RET} ref @key{RET}}, @address@hidden
+will supply its label selection process (@pxref{Referencing
+Labels}).
+
address@hidden
address@hidden@address@hidden tells AUCTeX about new labels, citation-- and 
index address@hidden
address@hidden@TeX{}} will add all newly created labels to AUCTeX's completion 
list.
address@hidden itemize
+
address@hidden Style Files, Bib-Cite, AUCTeX-RefTeX Interface, AUCTeX
address@hidden Style Files
address@hidden Style files, AUCTeX
address@hidden TeX-add-style-hook, @r{AUCTeX}
+Style files are Emacs Lisp files which are evaluated by AUCTeX in
+association with the @code{\documentclass} and @code{\usepackage}
+commands of a document (@pxref{Style Files,,,auctex}). Support for
address@hidden@TeX{}} in such a style file is useful when the LaTeX style
+defines macros or environments connected with labels, citations, or the
+index.  Many style files (e.g. @file{amsmath.el} or @file{natbib.el})
+distributed with AUCTeX already support @address@hidden in this
+way.
+
+Before calling a @address@hidden 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 @address@hidden 
+
+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 @address@hidden switch over to @code{\eqref}, but
+this will not affect other documents.
+
address@hidden reftex-add-label-environments
address@hidden reftex-add-to-label-alist
+A style hook may contain calls to
address@hidden@footnote{This used to be the
+function @code{reftex-add-to-label-alist} which is still available as an
+alias for compatibility.}  which defines additions to
address@hidden  The argument taken by this function must have
+the same format as @code{reftex-label-alist}.  The @file{amsmath.el}
+style file of AUCTeX for example contains the following:
+
address@hidden
address@hidden
+(TeX-add-style-hook "amsmath"
+   (lambda ()
+     (if (fboundp 'reftex-add-label-environments)
+         (reftex-add-label-environments '(AMSTeX)))))
address@hidden group
address@hidden lisp
+
address@hidden
address@hidden LaTeX-add-environments, @r{AUCTeX}
+while a package @code{myprop} defining a @code{proposition} environment
+with @code{\newtheorem} might use
+
address@hidden
address@hidden
+(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:" "address@hidden@}" t
+                           ("Proposition" "Prop.") -3))))))
address@hidden group
address@hidden lisp
+
address@hidden reftex-set-cite-format
+Similarly, a style hook may contain a call to
address@hidden to set the citation format.  The style
+file @file{natbib.el} for the Natbib citation style does switch
address@hidden@TeX{}}'s citation format like this:
+
address@hidden
+(TeX-add-style-hook "natbib"
+   (lambda ()
+     (if (fboundp 'reftex-set-cite-format)
+         (reftex-set-cite-format 'natbib))))
address@hidden lisp
+
address@hidden reftex-add-index-macros
+The hook may contain a call to @code{reftex-add-index-macros} to
+define additional @code{\index}-like macros.  The argument must have
+the same format as @code{reftex-index-macros}.  It may be a symbol, to
+trigger support for one of the builtin index packages.  For example,
+the style @file{multind.el} contains
+
address@hidden
+(TeX-add-style-hook "multind"
+  (lambda ()
+    (and (fboundp 'reftex-add-index-macros)
+        (reftex-add-index-macros '(multind)))))
address@hidden lisp
+
+If you have your own package @file{myindex} which defines the
+following macros to be used with the LaTeX @file{index.sty} file
address@hidden
address@hidden@address@hidden@address@hidden@}
address@hidden@address@hidden@address@hidden
address@hidden example
+
+you could write this in the style file @file{myindex.el}:
+
address@hidden
+(TeX-add-style-hook "myindex"
+   (lambda ()
+     (TeX-add-symbols
+      '("molec" TeX-arg-index)
+      '("aindex" TeX-arg-index))
+     (if (fboundp 'reftex-add-index-macros)
+         (reftex-add-index-macros
+          '(("address@hidden@}" "idx" ?m "Molecules!" nil nil)
+            ("address@hidden@}" "author" ?a "" nil nil))))))
address@hidden lisp
+
address@hidden reftex-add-section-levels
+Finally the hook may contain a call to @code{reftex-add-section-levels}
+to define additional section statements.  For example, the FoilTeX class
+has just two headers, @code{\foilhead} and @code{\rotatefoilhead}.  Here
+is a style file @file{foils.el} that will inform @address@hidden about these:
+
address@hidden
+(TeX-add-style-hook "foils"
+   (lambda ()
+     (if (fboundp 'reftex-add-section-levels)
+         (reftex-add-section-levels '(("foilhead" . 3)
+                                      ("rotatefoilhead" . 3))))))
address@hidden lisp
+
address@hidden Bib-Cite, , Style Files, AUCTeX
address@hidden Bib-Cite
address@hidden @code{bib-cite}, Emacs package
address@hidden Emacs packages, @code{bib-cite}
+
+Once you have written a document with labels, references and citations,
+it can be nice to read it like a hypertext document.  @address@hidden has
+support for that: @code{reftex-view-crossref} (bound to @kbd{C-c
+&}), @code{reftex-mouse-view-crossref} (bound to @kbd{S-mouse-2}), and
address@hidden  A somewhat fancier interface with mouse
+highlighting is provided (among other things) by Peter S. Galbraith's
address@hidden  There is some overlap in the functionalities of
+Bib-cite and @address@hidden  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 @address@hidden for displaying references and citations.
+This can be useful in particular when working with the LaTeX @code{xr}
+package or with an explicit @code{thebibliography} environment (rather
+than BibTeX).  Bib-cite cannot handle those, but @address@hidden does.  To
+make use of this feature, try
+
address@hidden bib-cite-use-reftex-view-crossref
address@hidden
+(setq bib-cite-use-reftex-view-crossref t)
address@hidden lisp
+
address@hidden
address@hidden Problems and Work-Arounds, Imprint, Optimizations, Top
address@hidden Problems and Work-arounds
address@hidden Problems and work-arounds
+
address@hidden @bullet
address@hidden
address@hidden address@hidden
address@hidden LaTeX commands, not found
address@hidden, @code{\include}, and @code{\section} (etc.) statements
+have to be first on a line (except for white space).
+
address@hidden
address@hidden address@hidden
address@hidden Labels, commented out
address@hidden@TeX{}} sees also labels in regions commented out and will refuse 
to
+make duplicates of such labels.  This is considered to be a feature.
+
address@hidden
address@hidden section address@hidden
address@hidden Section numbers, wrong
address@hidden reftex-enable-partial-scans
+When using partial scans (@code{reftex-enable-partial-scans}), the section
+numbers in the table of contents may eventually become wrong.  A full
+scan will fix this.
+
address@hidden
address@hidden address@hidden
address@hidden Settings, local
address@hidden reftex-add-label-environments
address@hidden reftex-set-cite-format
address@hidden reftex-add-section-levels
+The label environment definitions in @code{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
address@hidden, @code{reftex-set-cite-format},
address@hidden, and @code{reftex-add-section-levels}.
+Settings made with these functions remain local to the current
+document. @xref{AUCTeX}.
+
address@hidden
address@hidden display in selection address@hidden
address@hidden @code{x-symbol}, Emacs package
address@hidden Emacs packages, @code{x-symbol}
address@hidden @code{isotex}, Emacs package
address@hidden Emacs packages, @code{isotex}
address@hidden @code{iso-cvt}, Emacs package
address@hidden Emacs packages, @code{iso-cvt}
+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 @address@hidden's parsing information sometimes
+reflects the disk state of a file.  This happens only in @emph{unvisited}
+parts of a multifile document, because @address@hidden 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 @code{reftex-toc} may have problems to jump to an affected
+section heading.  There are three possible ways to deal with
+this:
address@hidden @minus
address@hidden
address@hidden reftex-keep-temporary-buffers
address@hidden(setq reftex-keep-temporary-buffers t)address@hidden
+This implies that @address@hidden will load all parts of a multifile
+document into Emacs (i.e. there won't be any temporary buffers).
address@hidden
address@hidden reftex-initialize-temporary-buffers
address@hidden(setq reftex-initialize-temporary-buffers t)address@hidden
+This means full initialization of temporary buffers.  It involves
+a penalty when the same unvisited file is used for lookup often.
address@hidden
+Set @code{reftex-initialize-temporary-buffers} to a list of hook
+functions doing a minimal initialization.
address@hidden itemize
address@hidden reftex-refontify-context
+See also the variable @code{reftex-refontify-context}.
+
address@hidden
address@hidden as arguments to address@hidden
address@hidden @code{pf}, LaTeX package
address@hidden LaTeX packages, @code{pf}
+Some packages use an additional argument to a @code{\begin} macro
+to specify a label.  E.g. Lamport's @file{pf.sty} uses both
address@hidden
address@hidden@address@hidden@address@hidden@}   and      
address@hidden@address@hidden@address@hidden
+                                  @var{claim}
+                               address@hidden@}
address@hidden example
+
address@hidden
+We need to trick @address@hidden into swallowing this:
+
address@hidden
address@hidden
+;; Configuration for Lamport's pf.sty
+(setq reftex-label-alist
+  '(("address@hidden@address@hidden@}"       ?p "st:" "address@hidden@}" 2 
("Step" "St."))
+    ("address@hidden@address@hidden@}" ?p "st:" "address@hidden@}" 1000)))
address@hidden group
address@hidden lisp
+
address@hidden
+The first line is just a normal configuration for a macro.  For the
address@hidden environment we actually tell @address@hidden to look for the
address@hidden @address@hidden@}} and interpret the @emph{first}
+argument (which really is a second argument to the macro @code{\begin})
+as a label of type @code{?p}.  Argument count for this macro starts only
+after the @address@hidden@}}, also when specifying how to get
+context.
+
address@hidden
address@hidden timers in address@hidden
address@hidden Idle timer restart
address@hidden reftex-use-itimer-in-xemacs
+In XEmacs, idle timer restart does not work reliably after fast
+keystrokes.  Therefore @address@hidden 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
address@hidden
+(setq reftex-use-itimer-in-xemacs t)
address@hidden lisp
+
address@hidden
address@hidden address@hidden
address@hidden Viper mode
address@hidden Key bindings, problems with Viper mode
address@hidden viper-harness-minor-mode
+With @i{Viper} mode prior to Vipers version 3.01, you need to protect
address@hidden@TeX{}}'s keymaps with
+
address@hidden
+(viper-harness-minor-mode "reftex")
address@hidden lisp
+
address@hidden itemize
+
address@hidden
address@hidden Imprint, Commands, Problems and Work-Arounds, Top
address@hidden Imprint
address@hidden Imprint
address@hidden Maintainer
address@hidden Acknowledgments
address@hidden Thanks
address@hidden Bug reports
address@hidden @code{http}, @address@hidden home page
address@hidden @code{ftp}, @address@hidden site
+
address@hidden was written by @i{Carsten Dominik}
address@hidden@@science.uva.nl}, with contributions by @i{Stephen
+Eglen}.  address@hidden is currently maintained by @value{MAINTAINER}, see
+the @value{MAINTAINERSITE} for detailed information.
+
+If you have questions about address@hidden, you can send email to the
address@hidden  If you want to contribute code or ideas, write
+to the @value{DEVELADDRESS}.  And in the rare case of finding a bug,
+please use @kbd{M-x reftex-report-bug @key{RET}} which will prepare a
+bug report with useful information about your setup.  Remember to add
+essential information like a recipe for reproducing the bug, what you
+expected to happen, and what actually happened.  Send the bug report to
+the @value{BUGADDRESS}.
+
+There are also several Usenet groups which have competent readers who
+might be able to help: @code{comp.emacs}, @code{gnu.emacs.help},
address@hidden, and @code{comp.text.tex}.
+
address@hidden@TeX{}} is bundled and pre-installed with Emacs since version 
20.2.
+It was also bundled and pre-installed with XEmacs 19.16--20.x.  XEmacs
+21.x users want to install the corresponding plugin package which is
+available from the @value{XEMACSFTP}.  See the XEmacs 21.x
+documentation on package installation for details.
+
+Users of earlier Emacs distributions (including Emacs 19) can get a
address@hidden@TeX{}} distribution from the @value{MAINTAINERSITE}.  Note that
+the Emacs 19 version supports many but not all features described in
+this manual.
+
+Thanks to the people on the Net who have used @address@hidden and helped
+developing it with their reports.  In particular thanks to @i{Ralf
+Angeli, Fran Burstall, Alastair Burt, Lars Clausen, Soren Dayton,
+Stephen Eglen, Karl Eichwalder, Erik Frisk, Peter Galbraith, Kai
+Grossjohann, Frank Harrell, Till A. Heilmann, Peter Heslin, Stephan
+Heuel, Alan Ho, Lute Kamstra, Dieter Kraft, David Kastrup, Adrian Lanz,
+Juri Linkov, Rory Molinari, Stefan Monnier, Laurent Mugnier, Dan
+Nicolaescu, Sudeep Kumar Palat, Daniel Polani, Alan Shutko, Robin Socha,
+Richard Stanton, Allan Strand, Jan Vroonhof, Christoph Wedler, Alan
+Williams, Roland Winkler, Hans-Christoph Wirth, Eli Zaretskii}.
+
+
+The @code{view-crossref} feature was inspired by @i{Peter Galbraith's}
address@hidden
+
+Finally thanks to @i{Uwe Bolick} who first got me interested in
+supporting LaTeX labels and references with an editor (which was
+MicroEmacs at the time).
+
address@hidden Commands, Options, Imprint, Top
address@hidden Commands
address@hidden Commands, list of
+
+Here is a summary of @address@hidden's commands which can be executed from
+LaTeX files.  Command which are executed from the special buffers are
+not described here.  All commands are available from the @code{Ref}
+menu.  See @xref{Key Bindings}.
+
address@hidden Command reftex-toc
+Show the table of contents for the current document.  When called with
+one ore two @kbd{C-u} prefixes, rescan the document first.
address@hidden deffn
+
address@hidden Command reftex-label
+Insert a unique label.  With one or two @kbd{C-u} prefixes, enforce
+document rescan first.
address@hidden deffn
+
address@hidden Command reftex-reference
+Start a selection process to select a label, and insert a reference to
+it.  With one or two @kbd{C-u} prefixes, enforce document rescan first.
address@hidden deffn
+
address@hidden 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
address@hidden command or a @code{thebibliography} environment)
+and offers the matching entries for selection.  The selected entry is
+formatted according to @code{reftex-cite-format} and inserted into the
+buffer. @*
+When called with a @kbd{C-u} prefix, prompt for optional arguments in
+cite macros.  When called with a numeric prefix, make that many citations.
+When called with point inside the braces of a @code{\cite} command, it
+will add another key, ignoring the value of
address@hidden @*
+The regular expression uses an expanded syntax: @samp{&&} is interpreted
+as @code{and}.  Thus, @samp{aaaa&&bbb} matches entries which contain
+both @samp{aaaa} and @samp{bbb}.  While entering the regexp, completion
+on knows citation keys is possible.  @samp{=} is a good regular
+expression to match all entries in all files.
address@hidden deffn
+
address@hidden Command reftex-index
+Query for an index macro and insert it along with its arguments.  The
+index macros available are those defined in @code{reftex-index-macro} or
+by a call to @code{reftex-add-index-macros}, typically from an AUCTeX
+style file.  @address@hidden provides completion for the index tag and the
+index key, and will prompt for other arguments.
address@hidden deffn
+
address@hidden Command reftex-index-selection-or-word
+Put current selection or the word near point into the default index
+macro.  This uses the information in @code{reftex-index-default-macro}
+to make an index entry.  The phrase indexed is the current selection or
+the word near point.  When called with one @kbd{C-u} prefix, let the
+user have a chance to edit the index entry.  When called with 2
address@hidden as prefix, also ask for the index macro and other stuff.  When
+called inside TeX math mode as determined by the @file{texmathp.el}
+library which is part of AUCTeX, the string is first processed with the
address@hidden, which see.
address@hidden deffn
+
address@hidden Command reftex-index-phrase-selection-or-word
+Add current selection or the word at point to the phrases buffer.
+When you are in transient-mark-mode and the region is active, the
+selection will be used - otherwise the word at point.
+You get a chance to edit the entry in the phrases buffer - to save the
+buffer and return to the LaTeX document, finish with @kbd{C-c C-c}.
address@hidden deffn
+
address@hidden Command reftex-index-visit-phrases-buffer
+Switch to the phrases buffer, initialize if empty.
address@hidden deffn
+
address@hidden Command reftex-index-phrases-apply-to-region
+Index all index phrases in the current region.
+This works exactly like global indexing from the index phrases buffer,
+but operation is restricted to the current region.
address@hidden deffn
+
address@hidden Command reftex-display-index
+Display a buffer with an index compiled from the current document.
+When the document has multiple indices, first prompts for the correct one.
+When index support is turned off, offer to turn it on.
+With one or two @kbd{C-u} prefixes, rescan document first.
+With prefix 2, restrict index to current document section.
+With prefix 3, restrict index to active region.
address@hidden deffn
+
address@hidden Command reftex-view-crossref
+View cross reference of macro at point.  Point must be on the @var{key}
+argument.  Works with the macros @code{\label}, @code{\ref},
address@hidden, @code{\bibitem}, @code{\index} and many derivatives of
+these.  Where it makes sense, subsequent calls show additional
+locations.  See also the variable @code{reftex-view-crossref-extra} and
+the command @code{reftex-view-crossref-from-bibtex}.  With one or two
address@hidden prefixes, enforce rescanning of the document.  With argument
+2, select the window showing the cross reference.
address@hidden deffn
+
address@hidden Command reftex-view-crossref-from-bibtex
+View location in a LaTeX document which cites the BibTeX entry at point.
+Since BibTeX files can be used by many LaTeX documents, this function
+prompts upon first use for a buffer in @address@hidden mode.  To reset this
+link to a document, call the function with a prefix arg.  Calling
+this function several times find successive citation locations.
address@hidden deffn
+
address@hidden Command reftex-create-tags-file
+Create TAGS file by running @code{etags} on the current document.  The
+TAGS file is also immediately visited with
address@hidden
address@hidden deffn
+
address@hidden 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.
address@hidden deffn
+
address@hidden 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.
address@hidden deffn
+
address@hidden Command reftex-query-replace-document
+Run a query-replace-regexp of @var{from} with @var{to} over the entire
+document.  With prefix arg, replace only word-delimited matches.  No
+active TAGS table is required.
address@hidden deffn
+
address@hidden Command reftex-isearch-minor-mode
+Toggle a minor mode which enables incremental search to work globally
+on the entire multifile document.  Files will be searched in th
+sequence they appear in the document.
address@hidden deffn
+
address@hidden Command reftex-goto-label
+Prompt for a label (with completion) and jump to the location of this
+label.  Optional prefix argument @var{other-window} goes to the label in
+another window.
address@hidden deffn
+
+
address@hidden Command reftex-change-label
+Query replace @var{from} with @var{to} in all @code{\label} and
address@hidden commands.  Works on the entire multifile document.  No
+active TAGS table is required.
address@hidden deffn
+
address@hidden 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, @address@hidden looks at the
+arguments of any macros which either start or end with the string
address@hidden  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 @code{xr} package.
address@hidden deffn
+
address@hidden Command reftex-find-duplicate-labels
+Produce a list of all duplicate labels in the document.
address@hidden deffn
+
address@hidden Command reftex-create-bibtex-file
+Create a new BibTeX database file with all entries referenced in document.
+The command prompts for a filename and writes the collected entries to
+that file.  Only entries referenced in the current document with
+any @code{\cite}-like macros are used. 
+The sequence in the new file is the same as it was in the old database.
address@hidden deffn
+
address@hidden Command reftex-customize
+Run the customize browser on the @address@hidden group.
address@hidden deffn
address@hidden Command reftex-show-commentary
+Show the commentary section from @file{reftex.el}.
address@hidden deffn
address@hidden Command reftex-info
+Run info on the top @address@hidden node.
address@hidden deffn
address@hidden Command reftex-parse-document
+Parse the entire document in order to update the parsing information.
address@hidden deffn
address@hidden Command reftex-reset-mode
+Enforce rebuilding of several internal lists and variables.  Also
+removes the parse file associated with the current document.
address@hidden deffn
+
address@hidden Options, Keymaps and Hooks, Commands, Top
address@hidden Options, Keymaps, Hooks
address@hidden Options, list of
+
+Here is a complete list of @address@hidden'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
address@hidden to look at and change these variables. @kbd{M-x
+reftex-customize} will get you there.
+
address@hidden
+* Options (Table of Contents)::
+* Options (Defining Label Environments)::
+* Options (Creating Labels)::
+* Options (Referencing Labels)::
+* Options (Creating Citations)::
+* Options (Index Support)::
+* Options (Viewing Cross-References)::
+* Options (Finding Files)::
+* Options (Optimizations)::
+* Options (Fontification)::
+* Options (Misc)::
address@hidden menu
+
address@hidden Options (Table of Contents), Options (Defining Label 
Environments), ,  Options
address@hidden Table of Contents
address@hidden Options, table of contents
address@hidden Table of contents, options
+
address@hidden reftex-include-file-commands
+List of LaTeX commands which input another file.
+The file name is expected after the command, either in braces or separated
+by whitespace.
address@hidden defopt
+
address@hidden reftex-max-section-depth
+Maximum depth of section levels in document structure.
+Standard LaTeX needs 7, default is 12.
address@hidden defopt
+
address@hidden reftex-section-levels
+Commands and levels used for defining sections in the document.  The
address@hidden of each cons cell is the name of the section macro.  The
address@hidden is a number indicating its level.  A negative level means the
+same as the positive value, but the section will never get a number.
+The @code{cdr} may also be a function which then has to return the
+level.  This list is also used for promotion and demotion of sectioning
+commands.  If you are using a document class which has several sets of
+sectioning commands, promotion only works correctly if this list is
+sorted first by set, then within each set by level.  The promotion
+commands always select the nearest entry with the correct new level.
+
address@hidden defopt
+
address@hidden reftex-toc-max-level
+The maximum level of toc entries which will be included in the TOC.
+Section headings with a bigger level will be ignored.  In RefTeX,
+chapters are level 1, sections level 2 etc.  This variable can be
+changed from within the @file{*toc*} buffer with the @kbd{t} key.
address@hidden defopt
+
address@hidden reftex-part-resets-chapter
address@hidden means, @code{\part} is like any other sectioning command.
+This means, part numbers will be included in the numbering of chapters, and
+chapter counters will be reset for each part.
+When @code{nil} (the default), parts are special, do not reset the
+chapter counter and also do not show up in chapter numbers.
address@hidden defopt
+
address@hidden reftex-auto-recenter-toc
address@hidden means, turn automatic recentering of @file{*TOC*} window on.
+When active, the @file{*TOC*} window will always show the section you
+are currently working in.  Recentering happens whenever Emacs is idle for
+more than @code{reftex-idle-time} seconds.
+
+Value @code{t} means, turn on immediately when RefTeX gets started.  Then,
+recentering will work for any toc window created during the session.
+
+Value @code{frame} (the default) means, turn automatic recentering on
+only while the dedicated TOC frame does exist, and do the recentering
+only in that frame.  So when creating that frame (with @kbd{d} key in an
+ordinary TOC window), the automatic recentering is turned on.  When the
+frame gets destroyed, automatic recentering is turned off again.
+
+This feature can be turned on and off from the menu 
+(Ref->Options).
address@hidden defopt
+
address@hidden reftex-toc-split-windows-horizontally
address@hidden means, create TOC window by splitting window
+horizontally.  The default is to split vertically.
address@hidden defopt
+
address@hidden reftex-toc-split-windows-fraction
+Fraction of the width or height of the frame to be used for TOC window.
address@hidden defopt
+
address@hidden reftex-toc-keep-other-windows
address@hidden means, split the selected window to display the
address@hidden buffer.  This helps to keep the window configuration, but
+makes the @file{*toc*} small.  When @code{nil}, all other windows except
+the selected one will be deleted, so that the @file{*toc*} window fills
+half the frame.
address@hidden defopt
+
address@hidden reftex-toc-include-file-boundaries
address@hidden means, include file boundaries in @file{*toc*} buffer.
+This flag can be toggled from within the @file{*toc*} buffer with the
address@hidden key.
address@hidden defopt
+
address@hidden reftex-toc-include-labels
address@hidden means, include labels in @file{*toc*} buffer.  This flag
+can be toggled from within the @file{*toc*} buffer with the @kbd{l}
+key.
address@hidden defopt
+
address@hidden reftex-toc-include-index-entries
address@hidden means, include index entries in @file{*toc*} buffer.
+This flag can be toggled from within the @file{*toc*} buffer with the
address@hidden key.
address@hidden defopt
+
address@hidden reftex-toc-include-context
address@hidden means, include context with labels in the @file{*toc*}
+buffer.  Context will only be shown if the labels are visible as well.
+This flag can be toggled from within the @file{*toc*} buffer with the
address@hidden key.
address@hidden defopt
+
address@hidden reftex-toc-follow-mode
address@hidden means, point in @file{*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 @file{*toc*} buffer with the @kbd{f}
+key.
address@hidden defopt
+
address@hidden {Normal Hook} reftex-toc-mode-hook
+Normal hook which is run when a @file{*toc*} buffer is
+created.
address@hidden deffn
+
address@hidden Keymap reftex-toc-map
+The keymap which is active in the @file{*toc*} buffer.
+(@pxref{Table of Contents}).
address@hidden deffn
+
address@hidden Options (Defining Label Environments), Options (Creating 
Labels), Options (Table of Contents), Options
address@hidden Defining Label Environments
address@hidden Options, defining label environments
address@hidden Defining label environments, options
+
address@hidden reftex-default-label-alist-entries
+Default label alist specifications.  It is a list of symbols with
+associations in the constant @code{reftex-label-alist-builtin}.
address@hidden should always be the last entry.
address@hidden defopt
+
address@hidden reftex-label-alist
+Set this variable to define additions and changes to the defaults in
address@hidden  The only things you
address@hidden not} change is that @code{?s} is the type indicator for
+section labels, and @key{SPC} for the @code{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:
+
address@hidden
+ (@var{env-or-macro}  @var{type-key}  @var{label-prefix}  
@var{reference-format}
+    @var{context-method}  (@var{magic-word} ... )  @var{toc-level})
address@hidden example
+
+Each list entry describes either an environment carrying a counter for
+use with @code{\label} and @code{\ref}, or a LaTeX macro defining a
+label as (or inside) one of its arguments.  The elements of each list
+entry are:
+
address@hidden @asis
address@hidden @var{env-or-macro}
+Name of the environment (like @samp{table}) or macro (like
address@hidden).  For macros, indicate the arguments, as in
address@hidden@address@hidden@address@hidden@address@hidden@address@hidden  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
address@hidden@address@hidden inside one of its arguments.
+
+Special names: @code{section} for section labels, @code{any} to define a
+group which contains all labels.
+
+This may also be a function to do local parsing and identify point to be
+in a non-standard label environment.  The function must take an
+argument @var{bound} and limit backward searches to this value.  It
+should return either nil or a cons cell @code{(@var{function}
+. @var{position})} with the function symbol and the position where the
+special environment starts.  See the Info documentation for an
+example.
+
+Finally this may also be @code{nil} if the entry is only meant to change
+some settings associated with the type indicator character (see
+below).
+
address@hidden @var{type-key}
+Type indicator character, like @code{?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 @code{equation} and @code{eqnarray}).  If the type
+indicator is @code{nil} and the macro has a label argument @address@hidden@}},
+the macro defines neutral labels just like @code{\label}.  In this case
+the reminder of this entry is ignored.
+
address@hidden @var{label-prefix}
+Label prefix string, like @samp{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 @samp{%} escapes:
+
address@hidden
+%f Current file name, directory and extension stripped.
+%F Current file name relative to master file directory.
+%m Master file name, directory and extension stripped.
+%M Directory name (without path) where master file is located.
+%u User login name, on systems which support this.
+%S A section prefix derived with variable @code{reftex-section-prefixes}.
address@hidden example
+
address@hidden
+Example: In a file @file{intro.tex}, @samp{eq:%f:} will become
address@hidden:intro:}.
+
address@hidden @var{reference-format}
+Format string for reference insert in buffer.  @samp{%s} will be
+replaced by the label.  When the format starts with @samp{~}, this
address@hidden will only be inserted when the character before point is
address@hidden a whitespace.
+
address@hidden @var{context-method}
+Indication on how to find the short context.
address@hidden @minus
address@hidden
+If @code{nil}, use the text following the @address@hidden@}} macro.
address@hidden
+If @code{t}, use
address@hidden @minus
address@hidden
+the section heading for section labels.
address@hidden
+text following the @address@hidden@}} statement of environments (not
+a good choice for environments like eqnarray or enumerate, where one has
+several labels in a single environment).
address@hidden
+text after the macro name (starting with the first arg) for
+macros.
address@hidden itemize
address@hidden
+If an integer, use the nth argument of the macro.  As a special case,
+1000 means to get text after the last macro argument.
address@hidden
+If a string, use as regexp to search @emph{backward} from the label.
+Context is then the text following the end of the match.  E.g. putting
+this to @address@hidden will use the caption in a figure or table
+environment.  @address@hidden@}\|\\\\} works for
+eqnarrays.
address@hidden
+If any of @code{caption}, @code{item}, @code{eqnarray-like},
address@hidden, this symbol will internally be translated into an
+appropriate regexp (see also the variable
address@hidden).
address@hidden
+If a function, call this function with the name of the environment/macro
+as argument.  On call, point will be just after the @code{\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:
+
address@hidden
+(defun my-context-function (env-or-mac)
+   (if (> (point-max) (+ 10 (point)))
+       (buffer-substring (point) (+ 10 (point)))
+     (error "Buffer too small")))
address@hidden example
address@hidden itemize
+
+Label context is used in two ways by @address@hidden: 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. @code{(nil . t)} uses the text after the label (@code{nil}) for
+display, and text from the default position (@code{t}) to derive a label
+string.  This is actually used for section labels.
+
address@hidden @var{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
address@hidden, 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.
+
address@hidden @var{toc-level}
+The integer level at which this environment should be added to the table
+of contents.  See also @code{reftex-section-levels}.  A positive value
+will number the entries mixed with the sectioning commands of the same
+level.  A negative value will make unnumbered entries.  Useful only for
+theorem-like environments which structure the document.  Will be ignored
+for macros.  When omitted or @code{nil}, no TOC entries will be
+made.
address@hidden table
+
+If the type indicator characters of two or more entries are the same,
address@hidden@TeX{}} will use
address@hidden @minus
address@hidden
+the first address@hidden format and prefix
address@hidden
+the magic words of all involved entries.
address@hidden itemize
+
+Any list entry may also be a symbol.  If that has an association in
address@hidden, the @code{cddr} of that association is
+spliced into the list.  However, builtin defaults should normally be set
+with the variable @code{reftex-default-label-alist-entries}.
address@hidden defopt
+
address@hidden reftex-section-prefixes
+Prefixes for section labels.  When the label prefix given in an entry in
address@hidden contains @samp{%S}, this list is used to
+determine the correct prefix string depending on the current section
+level.  The list is an alist, with each entry of the form
address@hidden@code{(@var{key} . @var{prefix})}}. Possible keys are sectioning 
macro
+names like @samp{chapter}, integer section levels (as given in
address@hidden), and @code{t} for the default.
address@hidden defopt
+
address@hidden reftex-default-context-regexps
+Alist with default regular expressions for finding context.  The emacs
+lisp form @address@hidden(format regexp (regexp-quote environment))}} is used
+to calculate the final regular expression - so @samp{%s} will be
+replaced with the environment or macro.
address@hidden defopt
+
address@hidden reftex-trust-label-prefix
address@hidden means, trust the label prefix when determining label type.
+It is customary to use special label prefixes to distinguish different label
+types.  The label prefixes have no syntactic meaning in LaTeX (unless
+special packages like fancyref) are being used.  RefTeX can and by
+default does parse around each label to detect the correct label type,
+but this process can be slow when a document contains thousands of
+labels.  If you use label prefixes consistently, you may speed up
+document parsing by setting this variable to a non-nil value.  RefTeX
+will then compare the label prefix with the prefixes found in
+`reftex-label-alist' and derive the correct label type in this way.
+Possible values for this option are:
+
address@hidden
+t       @r{This means to trust any label prefixes found.}
+regexp  @r{If a regexp, only prefixes matched by the regexp are trusted.}
+list    @r{List of accepted prefixes, as strings.  The colon is part of}
+        @r{the prefix, e.g. ("fn:" "eqn:" "item:").}   
+nil     @r{Never trust a label prefix.}
address@hidden example
+The only disadvantage of using this feature is that the label context
+displayed in the label selection buffer along with each label is
+simply some text after the label definition.  This is no problem if you
+place labels keeping this in mind (e.g. @i{before} the equation, @i{at
+the beginning} of a fig/tab caption ...).  Anyway, it is probably best
+to use the regexp or the list value types to fine-tune this feature.
+For example, if your document contains thousands of footnotes with
+labels fn:xxx, you may want to set this variable to the value "^fn:$" or
+("fn:").  Then RefTeX will still do extensive parsing for any
+non-footnote labels.
address@hidden defopt
+
address@hidden Options (Creating Labels), Options (Referencing Labels), Options 
(Defining Label Environments), Options
address@hidden Creating Labels
address@hidden Options, creating labels
address@hidden Creating labels, options
+
address@hidden reftex-insert-label-flags
+Flags governing label insertion.  The value has the form
+
address@hidden
+(@var{derive} @var{prompt})
address@hidden example
+
+If @var{derive}is @code{t}, @address@hidden will try to derive a sensible
+label from context.  A section label for example will be derived from
+the section heading.  The conversion of the context to a valid label is
+governed by the specifications given in
address@hidden  If @var{derive} is @code{nil},
+the default label will consist of the prefix and a unique number, like
address@hidden:23}.
+
+If @var{prompt} is @code{t}, the user will be prompted for a label
+string.  When @var{prompt} is @code{nil}, the default label will be
+inserted without query.
+
+So the combination of @var{derive} and @var{prompt} controls label
+insertion.  Here is a table describing all four possibilities:
+
address@hidden
address@hidden
address@hidden @var{prompt} @var{action}
+-----------------------------------------------------------
+nil    nil    @r{Insert simple label, like @samp{eq:22} or @samp{sec:13}. No 
query.}
+nil    t      @r{Prompt for label.}
+t      nil    @r{Derive a label from context and insert. No query.}
+t      t      @r{Derive a label from context, prompt for confirmation.}
address@hidden group
address@hidden example
+
+Each flag may be set to @code{t}, @code{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 @samp{"s"} and @samp{"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: @code{s} (section), @code{f} (figure),
address@hidden (table), @code{i} (item), @code{e} (equation), @code{n}
+(footnote), @code{N} (endnote) plus any definitions in
address@hidden
address@hidden defopt
+
address@hidden Hook reftex-format-label-function
+If address@hidden, should be a function which produces the string to
+insert as a label definition.  The function will be called with two
+arguments, the @var{label} and the @var{default-format} (usually
address@hidden@address@hidden).  It should return the string to insert into the
+buffer.
address@hidden deffn
+
address@hidden Hook reftex-string-to-label-function
+Function to turn an arbitrary string into a valid label.
address@hidden@TeX{}}'s default function uses the variable
address@hidden
address@hidden deffn
+
address@hidden Hook reftex-translate-to-ascii-function
+Filter function which will process a context string before it is used to
+derive a label from it.  The intended application is to convert ISO or
+Mule characters into something valid in labels.  The default function
address@hidden removes the accents from Latin-1
+characters.  X-Symbol (>=2.6) sets this variable to the much more
+general @code{x-symbol-translate-to-ascii}.
address@hidden deffn
+
address@hidden reftex-derive-label-parameters
+Parameters for converting a string into a label.  This variable is a
+list of the following items:
address@hidden @asis
address@hidden @var{nwords}
+Number of words to use.
address@hidden @var{maxchar}
+Maximum number of characters in a label string.
address@hidden @var{invalid}
address@hidden: Throw away any words containing characters invalid in 
address@hidden
address@hidden:   Throw away only the invalid characters, not the whole word.
address@hidden @var{abbrev}
address@hidden: Never abbreviate address@hidden
address@hidden:   Always abbreviate words (see 
@code{reftex-abbrev-parameters})address@hidden
address@hidden:   Abbreviate words if necessary to shorten label string.
address@hidden @var{separator}
+String separating different words in the label.
address@hidden @var{ignorewords}
+List of words which should not be part of labels.
address@hidden @var{downcase}
address@hidden:   Downcase words before putting them into the address@hidden
address@hidden table
address@hidden defopt
+
address@hidden reftex-label-illegal-re
+Regexp matching characters not valid in labels.
address@hidden defopt
+
address@hidden reftex-abbrev-parameters
+Parameters for abbreviation of words.  A list of four parameters.
address@hidden @asis
address@hidden @var{min-chars}
+Minimum number of characters remaining after abbreviation.
address@hidden @var{min-kill}
+Minimum number of characters to remove when abbreviating words.
address@hidden @var{before}
+Character class before abbrev point in word.
address@hidden @var{after}
+Character class after  abbrev point in word.
address@hidden table
address@hidden defopt
+
address@hidden Options (Referencing Labels), Options (Creating Citations), 
Options (Creating Labels), Options
address@hidden Referencing Labels
address@hidden Options, referencing labels
address@hidden Referencing labels, options
+
address@hidden reftex-label-menu-flags
+List of flags governing the label menu makeup. The flags are:
address@hidden @asis
address@hidden @var{table-of-contents}
+Show the labels embedded in a table of context.
address@hidden @var{section-numbers}
+Include section numbers (like 4.1.3) in table of contents.
address@hidden @var{counters}
+Show counters.  This just numbers the labels in the menu.
address@hidden @var{no-context}
address@hidden means do @emph{not} show the short context.
address@hidden @var{follow}
+Follow full context in other window.
address@hidden @var{show-commented}
+Show labels from regions which are commented out.
address@hidden @var{match-everywhere}
+Obsolete flag.
address@hidden @var{show-files}
+Show begin and end of included files.
address@hidden table
+
+Each of these flags can be set to @code{t} or @code{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 @samp{"sf"} makes the flag true for section
+and figure labels, @code{nil} for everything else.  Setting it to
address@hidden"^sf"} makes it the other way round.
+
+The available label types are: @code{s} (section), @code{f} (figure),
address@hidden (table), @code{i} (item), @code{e} (equation), @code{n}
+(footnote), plus any definitions in @code{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.
address@hidden defopt
+
address@hidden reftex-multiref-punctuation
+Punctuation strings for multiple references.  When marking is used in
+the selection buffer to select several references, this variable
+associates the 3 marking characters @samp{,-+} with prefix strings to be
+inserted into the buffer before the corresponding @code{\ref} macro.
+This is used to string together whole reference sets, like
address@hidden 1,2,3-5,6 and 7} in a single call to
address@hidden
address@hidden defopt
+
address@hidden reftex-vref-is-default
address@hidden means, the varioref macro @code{\vref} is used as
+default.  In the selection buffer, the @kbd{v} key toggles the reference
+macro between @code{\ref} and @code{\vref}.  The value of this variable
+determines the default which is active when entering the selection
+process.  Instead of @code{nil} or @code{t}, this may also be a string
+of type letters indicating the label types for which it should be
+true.
address@hidden defopt
+
address@hidden reftex-fref-is-default
address@hidden means, the fancyref macro @code{\fref} is used as
+default.  In the selection buffer, the @kbd{V} key toggles the reference
+macro between @code{\ref}, @code{\fref} and @code{\Fref}.  The value of
+this variable determines the default which is active when entering the
+selection process.  Instead of @code{nil} or @code{t}, this may also be
+a string of type letters indicating the label types for which it should
+be true.
address@hidden defopt
+
address@hidden Hook reftex-format-ref-function
+If address@hidden, should be a function which produces the string to
+insert as a reference.  Note that the insertion format can also be
+changed with @code{reftex-label-alist}.  This hook also is used by the
+special commands to insert @code{\vref} and @code{\fref} references, so
+even if you set this, your setting will be ignored by the special
+commands.  The function will be called with two arguments, the
address@hidden and the @var{default-format} (usually @address@hidden@}}).
+It should return the string to insert into the buffer.
address@hidden deffn
+
address@hidden reftex-level-indent
+Number of spaces to be used for indentation per section level.
address@hidden defopt
+
address@hidden reftex-guess-label-type
address@hidden means, @code{reftex-reference} will try to guess the
+label type.  To do that, @address@hidden will look at the word before the
+cursor and compare it with the magic words given in
address@hidden  When it finds a match, @address@hidden will
+immediately offer the correct label menu - otherwise it will prompt you
+for a label type.  If you set this variable to @code{nil}, @address@hidden
+will always prompt for a label type.
address@hidden defopt
+
address@hidden {Normal Hook} reftex-display-copied-context-hook
+Normal Hook which is run before context is displayed anywhere.  Designed
+for @address@hidden, but may have other uses as well.
address@hidden deffn
+
address@hidden Hook reftex-pre-refontification-functions
address@hidden 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.
address@hidden deffn
+
address@hidden {Normal Hook} reftex-select-label-mode-hook
+Normal hook which is run when a selection buffer enters
address@hidden
address@hidden deffn
+
address@hidden Keymap reftex-select-label-map
+The keymap which is active in the labels selection process
+(@pxref{Referencing Labels}).
address@hidden deffn
+
address@hidden Options (Creating Citations), Options (Index Support), Options 
(Referencing Labels), Options
address@hidden Creating Citations
address@hidden Options, creating citations
address@hidden Creating citations, options
+
address@hidden reftex-bibliography-commands
+LaTeX commands which specify the BibTeX databases to use with the document.
address@hidden defopt
+
address@hidden reftex-bibfile-ignore-regexps
+List of regular expressions to exclude files in
address@hidden@address@hidden  File names matched by any of these regexps
+will not be parsed.  Intended for files which contain only
address@hidden@@string} macro definitions and the like, which are ignored by
address@hidden@TeX{}} anyway.
address@hidden defopt
+
address@hidden reftex-default-bibliography
+List of BibTeX database files which should be used if none are specified.
+When @code{reftex-citation} is called from a document with neither
+a @address@hidden@}} statement nor a @code{thebibliography}
+environment, @address@hidden will scan these files instead.  Intended for
+using @code{reftex-citation} in non-LaTeX files.  The files will be
+searched along the BIBINPUTS or TEXBIB path.
address@hidden defopt
+
address@hidden reftex-sort-bibtex-matches
+Sorting of the entries found in BibTeX databases by reftex-citation.
+Possible values:
address@hidden
+nil          @r{Do not sort entries.}
+author       @r{Sort entries by author name.}
+year         @r{Sort entries by increasing year.}
+reverse-year @r{Sort entries by decreasing year.}
address@hidden example
address@hidden defopt
+
address@hidden reftex-cite-format
+The format of citations to be inserted into the buffer.  It can be a
+string, an alist or a symbol.  In the simplest case this is just the string
address@hidden@address@hidden, which is also the default.  See the definition of
address@hidden for more complex examples.
+
+If @code{reftex-cite-format} is a string, it will be used as the format.
+In the format, the following percent escapes will be expanded.
+
address@hidden @code
address@hidden %l
+The BibTeX label of the citation.
address@hidden %a
+List of author names, see also @code{reftex-cite-punctuation}.
address@hidden %2a
+Like %a, but abbreviate more than 2 authors like Jones et al.
address@hidden %A
+First author name only.
address@hidden %e
+Works like @samp{%a}, but on list of editor names. (@samp{%2e} and
address@hidden work a well).
address@hidden table
+
+It is also possible to access all other BibTeX database fields:
+
address@hidden
+%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
address@hidden example
+
address@hidden
+Usually, only @samp{%l} is needed.  The other stuff is mainly for the
+echo area display, and for @code{(setq reftex-comment-citations t)}.
+
address@hidden<} as a special operator kills punctuation and space around it
+after the string has been formatted.
+
+A pair of square brackets indicates an optional argument, and RefTeX
+will prompt for the values of these arguments.
+
+Beware that all this only works with BibTeX database files.  When
+citations are made from the @code{\bibitems} in an explicit
address@hidden environment, only @samp{%l} is available.
+
+If @code{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
address@hidden directly yourself or set it to the
address@hidden of one of the predefined styles.  The predefined symbols
+are those which have an association in the constant
address@hidden)  E.g.: @code{(setq reftex-cite-format
+'natbib)}.
address@hidden defopt
+
address@hidden Hook reftex-format-cite-function
+If address@hidden, 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 @code{reftex-cite-format}.  The function will be
+called with two arguments, the @var{citation-key} and the
address@hidden (taken from @code{reftex-cite-format}).  It should
+return the string to insert into the buffer.
address@hidden deffn
+
address@hidden reftex-cite-prompt-optional-args
address@hidden means, prompt for empty optional arguments in cite macros.
+When an entry in @code{reftex-cite-format} ist given with square brackets to
+indicate optional arguments (for example @address@hidden@}}), RefTeX can
+prompt for values.  Possible values are:
address@hidden
+nil     @r{Never prompt for optional arguments}
+t       @r{Always prompt}
+maybe   @r{Prompt only if @code{reftex-citation} was called with C-u prefix 
address@hidden example
+Unnecessary empty optional arguments are removed before insertion into
+the buffer.  See @code{reftex-cite-cleanup-optional-args}.
address@hidden defopt
+
address@hidden reftex-cite-cleanup-optional-args
address@hidden means, remove empty optional arguments from cite macros
+if possible.
address@hidden defopt
+
address@hidden reftex-comment-citations
address@hidden means add a comment for each citation describing the full
+entry.  The comment is formatted according to
address@hidden
address@hidden defopt
+
address@hidden reftex-cite-comment-format
+Citation format used for commented citations.  Must @emph{not} contain
address@hidden  See the variable @code{reftex-cite-format} for possible
+percent escapes.
address@hidden defopt
+
address@hidden reftex-cite-punctuation
+Punctuation for formatting of name lists in citations.  This is a list
+of 3 strings.
address@hidden
address@hidden
+normal names separator, like @samp{, } in Jones, Brown and Miller
address@hidden
+final names separator, like @samp{ and }  in Jones, Brown and Miller
address@hidden
+The @samp{et al.} string, like @samp{ @{\it et address@hidden in
+Jones @{\it et address@hidden
address@hidden enumerate
address@hidden defopt
+
address@hidden {Normal Hook} reftex-select-bib-mode-hook
+Normal hook which is run when a selection buffer enters
address@hidden
address@hidden deffn
+
address@hidden Keymap reftex-select-bib-map
+The keymap which is active in the citation-key selection process
+(@pxref{Creating Citations}).
address@hidden deffn
+
address@hidden Options (Index Support), Options (Viewing Cross-References), 
Options (Creating Citations),  Options
address@hidden Index Support
address@hidden Options, Index support
address@hidden Index support, options
+
address@hidden reftex-support-index
address@hidden means, index entries are parsed as well.  Index support
+is resource intensive and the internal structure holding the parsed
+information can become quite big.  Therefore it can be turned off.  When
+this is @code{nil} and you execute a command which requires index
+support, you will be asked for confirmation to turn it on and rescan the
+document.
address@hidden defopt
+
address@hidden reftex-index-special-chars
+List of special characters in index entries, given as strings.  These
+correspond to the @code{MakeIndex} keywords
address@hidden(@var{level} @var{encap} @var{actual} @var{quote} @var{escape})}.
address@hidden defopt
+
address@hidden reftex-index-macros
+List of macros which define index entries.  The structure of each entry
+is
address@hidden
+(@var{macro} @var{index-tag} @var{key} @var{prefix} @var{exclude} @var{repeat})
address@hidden lisp
+
address@hidden is the macro.  Arguments should be denoted by empty braces,
+as for example in @address@hidden@}}.  Use square brackets to denote
+optional arguments.  The star marks where the index key is.
+
address@hidden is a short name of the index.  @samp{idx} and @samp{glo}
+are reserved for the default index and the glossary.  Other indices can
+be defined as well.  If this is an integer, the Nth argument of the
+macro holds the index tag.
+
address@hidden is a character which is used to identify the macro for input
+with @code{reftex-index}.  @samp{?i}, @samp{?I}, and @samp{?g} are
+reserved for default index and glossary.
+
address@hidden can be a prefix which is added to the @var{key} part of the
+index entry.  If you have a macro
address@hidden@address@hidden@address@hidden@}}, this prefix
+should be @samp{Molecules!}.
+
address@hidden can be a function.  If this function exists and returns a
address@hidden value, the index entry at point is ignored.  This was
+implemented to support the (deprecated) @samp{^} and @samp{_} shortcuts
+in the LaTeX2e @code{index} package.
+
address@hidden, if address@hidden, means the index macro does not typeset
+the entry in the text, so that the text has to be repeated outside the
+index macro.  Needed for @code{reftex-index-selection-or-word} and for
+indexing from the phrase buffer.
+
+The final entry may also be a symbol.  It must have an association in
+the variable @code{reftex-index-macros-builtin} to specify the main
+indexing package you are using.  Valid values are currently
address@hidden
+default         @r{The LaTeX default - unnecessary to specify this one}
+multind         @r{The multind.sty package}
+index           @r{The index.sty package}
+index-shortcut  @r{The index.sty packages with the ^ and _ shortcuts.}
+                @r{Should not be used - only for old documents}
address@hidden example
+Note that AUCTeX sets these things internally for @address@hidden as well,
+so with a sufficiently new version of AUCTeX, you should not set the
+package here.
address@hidden defopt
+
address@hidden reftex-index-default-macro
+The default index macro for @code{reftex-index-selection-or-word}.
+This is a list with @code{(@var{macro-key} @var{default-tag})}.
+
address@hidden is a character identifying an index macro - see
address@hidden
+
address@hidden is the tag to be used if the macro requires a
address@hidden argument.  When this is @code{nil} and a @var{tag} is needed,
address@hidden@TeX{}} will ask for it.  When this is the empty string and the
+TAG argument of the index macro is optional, the TAG argument will be
+omitted.
address@hidden defopt
+
address@hidden reftex-index-default-tag
+Default index tag.  When working with multiple indexes, RefTeX queries
+for an index tag when creating index entries or displaying a specific
+index.  This variable controls the default offered for these queries.
+The default can be selected with @key{RET} during selection or
+completion.  Valid values of this variable are:
address@hidden
+nil        @r{Do not provide a default index}
+"tag"      @r{The default index tag given as a string, e.g. "idx"}
+last       @r{The last used index tag will be offered as default}
address@hidden example
address@hidden defopt
+
address@hidden reftex-index-math-format
+Format of index entries when copied from inside math mode.  When
address@hidden is executed inside TeX math mode,
+the index key copied from the buffer is processed with this format
+string through the @code{format} function.  This can be used to add the
+math delimiters (e.g. @samp{$}) to the string.  Requires the
address@hidden library which is part of AUCTeX.
address@hidden defopt
+
address@hidden reftex-index-phrase-file-extension
+File extension for the index phrase file.  This extension will be added
+to the base name of the master file.
address@hidden defopt
+
address@hidden reftex-index-phrases-logical-and-regexp
+Regexp matching the @samp{and} operator for index arguments in phrases
+file.  When several index arguments in a phrase line are separated by
+this operator, each part will generate an index macro.  So each match of
+the search phrase will produce @emph{several} different index entries.
+Make sure this does no match things which are not separators.  This
+logical @samp{and} has higher priority than the logical @samp{or}
+specified in @code{reftex-index-phrases-logical-or-regexp}.
address@hidden defopt
+
address@hidden reftex-index-phrases-logical-or-regexp
+Regexp matching the @samp{or} operator for index arguments in phrases
+file.  When several index arguments in a phrase line are separated by
+this operator, the user will be asked to select one of them at each
+match of the search phrase.  The first index arg will be the default.  A
+number key @address@hidden must be pressed to switch to another.  Make
+sure this does no match things which are not separators.  The logical
address@hidden specified in @code{reftex-index-phrases-logical-or-regexp}
+has higher priority than this logical @samp{or}.
address@hidden defopt
+
address@hidden reftex-index-phrases-search-whole-words
address@hidden means phrases search will look for whole words, not subwords.
+This works by requiring word boundaries at the beginning and end of
+the search string.  When the search phrase already has a non-word-char
+at one of these points, no word boundary is required there.
address@hidden defopt
+
address@hidden reftex-index-phrases-case-fold-search
address@hidden means, searching for index phrases will ignore
+case.
address@hidden defopt
+
address@hidden reftex-index-verify-function
+A function which is called at each match during global indexing.
+If the function returns nil, the current match is skipped.
address@hidden defopt
+
address@hidden reftex-index-phrases-skip-indexed-matches
address@hidden means, skip matches which appear to be indexed already.
+When doing global indexing from the phrases buffer, searches for some
+phrases may match at places where that phrase was already indexed.  In
+particular when indexing an already processed document again, this
+will even be the norm.  When this variable is address@hidden,
address@hidden@TeX{}} checks if the match is an index macro argument, or if an
+index macro is directly before or after the phrase.  If that is the
+case, that match will be ignored.
address@hidden defopt
+
address@hidden reftex-index-phrases-wrap-long-lines
address@hidden means, when indexing from the phrases buffer, wrap lines.
+Inserting indexing commands in a line makes the line longer - often
+so long that it does not fit onto the screen.  When this variable is
address@hidden, newlines will be added as necessary before and/or after the
+indexing command to keep lines short.  However, the matched text
+phrase and its index command will always end up on a single line.
address@hidden defopt
+
address@hidden reftex-index-phrases-sort-prefers-entry
address@hidden means when sorting phrase lines, the explicit index entry
+is used. Phrase lines in the phrases buffer contain a search phrase, and
+sorting is normally based on these.  Some phrase lines also have
+an explicit index argument specified.  When this variable is
address@hidden, the index argument will be used for sorting.
address@hidden defopt
+
address@hidden reftex-index-phrases-sort-in-blocks
address@hidden means, empty and comment lines separate phrase buffer
+into blocks.  Sorting will then preserve blocks, so that lines are
+re-arranged only within blocks.
address@hidden defopt
+
address@hidden reftex-index-phrases-map
+Keymap for the Index Phrases buffer.
address@hidden defopt
+
address@hidden reftex-index-phrases-mode-hook
+Normal hook which is run when a buffer is put into
address@hidden
address@hidden defopt
+
address@hidden reftex-index-section-letters
+The letters which denote sections in the index.  Usually these are all
+capital letters.  Don't use any downcase letters.  Order is not
+significant, the index will be sorted by whatever the sort function
+thinks is correct.  In addition to these letters, @address@hidden will
+create a group @samp{!} which contains all entries sorted below the
+lowest specified letter.  In the @file{*Index*} buffer, pressing any of
+these capital letters or @kbd{!} will jump to that section.
address@hidden defopt
+
address@hidden reftex-index-include-context
address@hidden means, display the index definition context in the
address@hidden buffer.  This flag may also be toggled from the
address@hidden buffer with the @kbd{c} key.
address@hidden defopt
+
address@hidden reftex-index-follow-mode
address@hidden means, point in @file{*Index*} buffer will cause other
+window to follow.  The other window will show the corresponding part of
+the document.  This flag can be toggled from within the @file{*Index*}
+buffer with the @kbd{f} key.
address@hidden defopt
+
address@hidden Keymap reftex-index-map
+The keymap which is active in the @file{*Index*} buffer
+(@pxref{Index Support}).
address@hidden deffn
+
address@hidden Options (Viewing Cross-References), Options (Finding Files), 
Options (Index Support),  Options
address@hidden Viewing Cross-References
address@hidden Options, viewing cross-references
address@hidden Viewing cross-references, options
+
address@hidden reftex-view-crossref-extra
+Macros which can be used for the display of cross references.
+This is used when `reftex-view-crossref' is called with point in an
+argument of a macro.  Note that crossref viewing for citations,
+references (both ways) and index entries is hard-coded.  This variable
+is only to configure additional structures for which crossreference
+viewing can be useful.  Each entry has the structure
address@hidden
+(@var{macro-re} @var{search-re} @var{highlight}).
address@hidden example
address@hidden is matched against the macro.  @var{search-re} is the
+regexp used to search for cross references.  @samp{%s} in this regexp is
+replaced with the macro argument at point.  @var{highlight} is an
+integer indicating which subgroup of the match should be highlighted.
address@hidden defopt
+
address@hidden reftex-auto-view-crossref
address@hidden means, initially turn automatic viewing of crossref info
+on.  Automatic viewing of crossref info normally uses the echo area.
+Whenever point is idle for more than @code{reftex-idle-time} seconds on
+the argument of a @code{\ref} or @code{\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
address@hidden  In this case a small temporary window is used for the
+display.  This feature can be turned on and off from the menu
+(Ref->Options).
address@hidden defopt
+
address@hidden reftex-idle-time
+Time (secs) Emacs has to be idle before automatic crossref display
+or toc recentering is done.
address@hidden defopt
+
address@hidden reftex-cite-view-format
+Citation format used to display citation info in the message area.  See
+the variable @code{reftex-cite-format} for possible percent
+escapes.
address@hidden defopt
+
address@hidden reftex-revisit-to-echo
address@hidden 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 @code{reftex-cache-cite-echo}), or for
+BibTeX database files which are already visited by a live associated
+buffers.
address@hidden defopt
+
address@hidden reftex-cache-cite-echo
address@hidden means, the information displayed in the echo area for
+cite macros (see variable @code{reftex-auto-view-crossref}) is cached and
+saved along with the parsing information.  The cache survives document
+scans.  In order to clear it, use @kbd{M-x reftex-reset-mode}.
address@hidden defopt
+
address@hidden Options (Finding Files), Options (Optimizations), Options 
(Viewing Cross-References),  Options
address@hidden Finding Files
address@hidden Options, Finding Files
address@hidden Finding files, options
+
address@hidden reftex-texpath-environment-variables
+List of specifications how to retrieve the search path for TeX files.
+Several entries are possible.
address@hidden @minus
address@hidden
+If an element is the name of an environment variable, its content is
+used.
address@hidden
+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 @address@hidden"!kpsewhich -show-path=.tex"}}.
address@hidden
+Otherwise the element itself is interpreted as a path.
address@hidden itemize
+Multiple directories can be separated by the system dependent
address@hidden  Directories ending in @samp{//} or @samp{!!} will
+be expanded recursively.  See also @code{reftex-use-external-file-finders}.
address@hidden defopt
+
address@hidden reftex-bibpath-environment-variables
+List of specifications how to retrieve the search path for BibTeX
+files.  Several entries are possible.
address@hidden @minus
address@hidden
+If an element is the name of an environment variable, its content is
+used.
address@hidden
+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 @address@hidden"!kpsewhich -show-path=.bib"}}.
address@hidden
+Otherwise the element itself is interpreted as a path.
address@hidden itemize
+Multiple directories can be separated by the system dependent
address@hidden  Directories ending in @samp{//} or @samp{!!} will
+be expanded recursively.  See also @code{reftex-use-external-file-finders}.
address@hidden defopt
+
address@hidden reftex-file-extensions
+Association list with file extensions for different file types.
+This is a list of items, each item is like:
address@hidden(@var{type} . (@var{def-ext} @var{other-ext} ...))}
address@hidden
address@hidden:       @r{File type like @code{"bib"} or @code{"tex"}.}
address@hidden:    @r{The default extension for that file type, like 
@code{".tex"} or @code{".bib"}.}
address@hidden:  @r{Any number of other valid extensions for this file type.}
address@hidden example
+When a files is searched and it does not have any of the valid extensions,
+we try the default extension first, and then the naked file name.
address@hidden defopt
+
address@hidden reftex-search-unrecursed-path-first
address@hidden means, search all specified directories before trying
+recursion.  Thus, in a path @samp{.//:/tex/}, search first @samp{./},
+then @samp{/tex/}, and then all subdirectories of @samp{./}.  If this
+option is @code{nil}, the subdirectories of @samp{./} are searched
+before @samp{/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 @code{nil} if the default makes @address@hidden finding files with
+equal names in wrong sequence.
address@hidden defopt
+
address@hidden reftex-use-external-file-finders
address@hidden means, use external programs to find files.  Normally,
address@hidden@TeX{}} searches the paths given in the environment variables
address@hidden and @code{BIBINPUTS} to find TeX files and BibTeX
+database files.  With this option turned on, it calls an external
+program specified in the option @code{reftex-external-file-finders}
+instead.  As a side effect, the variables
address@hidden and
address@hidden will be ignored.
address@hidden defopt
+
address@hidden reftex-external-file-finders
+Association list with external programs to call for finding files.  Each
+entry is a cons cell @address@hidden(@var{type} . @var{program})}}.
address@hidden is either @code{"tex"} or @code{"bib"}.  @var{program} is a
+string containing the external program to use with any arguments.
address@hidden 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 @code{reftex-use-external-file-finders} is
address@hidden
address@hidden defopt
+
address@hidden
address@hidden Options (Optimizations), Options (Fontification), Options 
(Finding Files), Options
address@hidden Optimizations
address@hidden Options, optimizations
address@hidden Optimizations, options
+
address@hidden reftex-keep-temporary-buffers
address@hidden means, keep buffers created for parsing and lookup.
address@hidden@TeX{}} sometimes needs to visit files related to the current
+document.  We distinguish files visited for
address@hidden @asis
address@hidden PARSING
+Parts of a multifile document loaded when (re)-parsing the
+document.
address@hidden LOOKUP
+BibTeX database files and TeX files loaded to find a reference, to
+display label context, etc.
address@hidden table
+The created buffers can be kept for later use, or be thrown away
+immediately after use, depending on the value of this variable:
+
address@hidden @code
address@hidden nil
+Throw away as much as possible.
address@hidden t
+Keep everything.
address@hidden 1
+Throw away buffers created for parsing, but keep the ones created for
+lookup.
address@hidden table
+
+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
address@hidden
address@hidden defopt
+
address@hidden reftex-initialize-temporary-buffers
address@hidden means do initializations even when visiting file
+temporarily.  When @code{nil}, @address@hidden may turn off find-file hooks and
+other stuff to briefly visit a file. When @code{t}, the full default
+initializations are done (@code{find-file-hook} etc.).  Instead of
address@hidden or @code{nil}, this variable may also be a list of hook
+functions to do a minimal initialization.
address@hidden defopt
+
address@hidden reftex-no-include-regexps
+List of regular expressions to exclude certain input files from parsing.
+If the name of a file included via @code{\include} or @code{\input} is
+matched by any of the regular expressions in this list, that file is not
+parsed by @address@hidden
address@hidden defopt
+
address@hidden reftex-enable-partial-scans
address@hidden means, re-parse only 1 file when asked to re-parse.
+Re-parsing is normally requested with a @kbd{C-u} prefix to many 
@address@hidden
+commands, or with the @kbd{r} key in menus.  When this option is
address@hidden 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 @kbd{C-u C-u} prefix or the capital @kbd{R} key in
+menus.
address@hidden defopt
+
address@hidden reftex-save-parse-info
address@hidden means, save information gathered with parsing in files.
+The file @file{MASTER.rel} in the same directory as @file{MASTER.tex} is
+used to save the information.  When this variable is @code{t},
address@hidden @minus
address@hidden
+accessing the parsing information for the first time in an editing
+session will read that file (if available) instead of parsing the
+document.
address@hidden
+exiting Emacs or killing a buffer in reftex-mode will cause a new
+version of the file to be written.
address@hidden itemize
address@hidden defopt
+
address@hidden reftex-parse-file-extension
+File extension for the file in which parser information is stored.
+This extension is added to the base name of the master file.
address@hidden defopt
+
address@hidden reftex-allow-automatic-rescan
address@hidden means, @address@hidden 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.
address@hidden defopt
+
address@hidden reftex-use-multiple-selection-buffers
address@hidden 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 @code{reftex-auto-update-selection-buffers}.
address@hidden defopt
+
address@hidden reftex-auto-update-selection-buffers
address@hidden means, selection buffers will be updated automatically.
+When a new label is defined with @code{reftex-label}, all selection
+buffers associated with that label category are emptied, in order to
+force an update upon next use.  When @code{nil}, the buffers are left
+alone and have to be updated by hand, with the @kbd{g} key from the
+label selection process.  The value of this variable will only have any
+effect when @code{reftex-use-multiple-selection-buffers} is
address@hidden
address@hidden defopt
+
address@hidden Options (Fontification), Options (Misc), Options 
(Optimizations), Options
address@hidden Fontification
address@hidden Options, fontification
address@hidden Fontification, options
+
address@hidden reftex-use-fonts
address@hidden 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.
address@hidden defopt
+
address@hidden reftex-refontify-context
address@hidden 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:
address@hidden @code
address@hidden nil
+Never refontify.
address@hidden t
+Always refontify.
address@hidden 1
+Refontify when necessary, e.g. with old versions of the x-symbol
+package.
address@hidden table
+The option is ignored when @code{reftex-use-fonts} is @code{nil}.
address@hidden defopt
+
address@hidden reftex-highlight-selection
address@hidden means, highlight selected text in selection and
address@hidden buffers.  Normally, the text near the cursor is the
address@hidden text, and it is highlighted.  This is the entry most
+keys in the selection and @file{*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 @emph{instead} or @emph{as well}. The
+variable may have one of these values:
+
address@hidden
+nil      @r{No highlighting.}
+cursor   @r{Highlighting is cursor driven.}
+mouse    @r{Highlighting is mouse driven.}
+both     @r{Both cursor and mouse trigger highlighting.}
address@hidden example
+
+Changing this variable requires to rebuild the selection and *toc*
+buffers to become effective (keys @kbd{g} or @kbd{r}).
address@hidden defopt
+
address@hidden reftex-cursor-selected-face
+Face name to highlight cursor selected item in toc and selection buffers.
+See also the variable @code{reftex-highlight-selection}.
address@hidden defopt
address@hidden reftex-mouse-selected-face
+Face name to highlight mouse selected item in toc and selection buffers.
+See also the variable @code{reftex-highlight-selection}.
address@hidden defopt
address@hidden reftex-file-boundary-face
+Face name for file boundaries in selection buffer.
address@hidden defopt
address@hidden reftex-label-face
+Face name for labels in selection buffer.
address@hidden defopt
address@hidden reftex-section-heading-face
+Face name for section headings in toc and selection buffers.
address@hidden defopt
address@hidden reftex-toc-header-face
+Face name for the header of a toc buffer.
address@hidden defopt
address@hidden reftex-bib-author-face
+Face name for author names in bib selection buffer.
address@hidden defopt
address@hidden reftex-bib-year-face
+Face name for year in bib selection buffer.
address@hidden defopt
address@hidden reftex-bib-title-face
+Face name for article title in bib selection buffer.
address@hidden defopt
address@hidden reftex-bib-extra-face
+Face name for bibliographic information in bib selection buffer.
address@hidden defopt
address@hidden reftex-select-mark-face
+Face name for marked entries in the selection buffers.
address@hidden defopt
address@hidden reftex-index-header-face
+Face name for the header of an index buffer.
address@hidden defopt
address@hidden reftex-index-section-face
+Face name for the start of a new letter section in the index.
address@hidden defopt
address@hidden reftex-index-tag-face
+Face name for index names (for multiple indices).
address@hidden defopt
address@hidden reftex-index-face
+Face name for index entries.
address@hidden defopt
+
address@hidden Options (Misc), , Options (Fontification), Options
address@hidden Miscellaneous
address@hidden Options, misc
+
address@hidden reftex-extra-bindings
address@hidden means, make additional key bindings on startup.  These
+extra bindings are located in the users @samp{C-c letter}
+map.  @xref{Key Bindings}.
address@hidden defopt
+
address@hidden reftex-plug-into-AUCTeX
+Plug-in flags for AUCTeX interface.  This variable is a list of
+5 boolean flags.  When a flag is address@hidden, @address@hidden
+will
+
address@hidden
+- supply labels in new sections and environments  (flag 1)
+- supply arguments for macros like @code{\label}         (flag 2)
+- supply arguments for macros like @code{\ref}           (flag 3)
+- supply arguments for macros like @code{\cite}          (flag 4)
+- supply arguments for macros like @code{\index}         (flag 5)
address@hidden example
+
+You may also set the variable itself to t or nil in order to turn all
+options on or off, address@hidden
+Supplying labels in new sections and environments applies when creating
+sections with @kbd{C-c C-s} and environments with @kbd{C-c address@hidden
+Supplying macro arguments applies when you insert such a macro
+interactively with @kbd{C-c @address@hidden
+See the AUCTeX documentation for more information.
address@hidden defopt
+
address@hidden reftex-revisit-to-follow
address@hidden means, follow-mode will revisit files if necessary.
+When nil, follow-mode will be suspended for stuff in unvisited files.
address@hidden defopt
+
address@hidden reftex-allow-detached-macro-args
address@hidden means, allow arguments of macros to be detached by
+whitespace.  When this is @code{t}, the @samp{aaa} in @address@hidden
+[xxx] @address@hidden will be considered an argument of @code{\bb}.  Note that
+this will be the case even if @code{\bb} is defined with zero or one
+argument.
address@hidden defopt
+
address@hidden Keymaps and Hooks, Changes, Options, Top
address@hidden Keymaps and Hooks
address@hidden Keymaps
+
address@hidden@TeX{}} has the usual general keymap and load-- and mode-hook.
+
address@hidden Keymap reftex-mode-map
+The keymap for @address@hidden mode.
address@hidden deffn
+
address@hidden {Normal Hook} reftex-load-hook
+Normal hook which is being run when loading @file{reftex.el}.
address@hidden deffn
+
address@hidden {Normal Hook} reftex-mode-hook
+Normal hook which is being run when turning on @address@hidden mode.
address@hidden deffn
+
+Furthermore, the 4 modes used for referencing labels, creating
+citations, the table of contents buffer and the phrases buffer have
+their own keymaps and mode hooks.  See the respective sections.  There
+are many more hooks which are described in the relevant sections about
+options for a specific part of @address@hidden
+
address@hidden Changes, GNU Free Documentation License, Keymaps and Hooks, Top
address@hidden Changes
address@hidden Changes
+
+Here is a list of recent changes to @address@hidden
+
address@hidden @b{Version 4.28}
address@hidden @bullet
address@hidden Support for the Jurabib package.
address@hidden Improvements when selecting several items in a selection buffer.
address@hidden itemize
+
address@hidden @b{Version 4.26}
address@hidden @bullet
address@hidden
+Support for global incremental search.
address@hidden
+Some improvements for XEmacs compatibility.
address@hidden itemize
+
address@hidden @b{Version 4.25}
address@hidden @bullet
address@hidden
+Fixed bug with @samp{%F} in a label prefix.  Added new escapes
address@hidden and @samp{%M} for mater file name and master directory.
address@hidden itemize
+
address@hidden @b{Version 4.24}
address@hidden @bullet
address@hidden 
+Inserting citation commands now prompts for optional arguments
+when called with a prefix argument.  Related new options are
address@hidden and
address@hidden 
address@hidden
+New option @code{reftex-trust-label-prefix}.  Configure this variable
+if you'd like RefTeX to base its classification of labels on prefixes.
+This can speed-up document parsing, but may in some cases reduce the
+quality of the context used by RefTeX to describe a label.
address@hidden
+Fixed bug in @code{reftex-create-bibtex-file} when 
@code{reftex-comment-citations}
+is non-nil.
address@hidden
+Fixed bugs in indexing: Case-sensitive search, quotes before and/or
+after words.  Disabled indexing in comment lines.
address@hidden itemize
+
address@hidden @b{Version 4.22}
address@hidden @bullet
address@hidden 
+New command @code{reftex-create-bibtex-file} to create a new database
+with all entries referenced in the current document.
address@hidden
+New keys @kbd{e} and @kbd{E} allow to produce a BibTeX database file
+from entries marked in a citation selection buffer.
address@hidden itemize
+
address@hidden @b{Version 4.21}
address@hidden @bullet
address@hidden 
+Renaming labels from the toc buffer with key @kbd{M-%}.
address@hidden itemize
+
address@hidden @b{Version 4.20}
address@hidden @bullet
address@hidden
+Structure editing capabilities.  The command keys @kbd{<} and @kbd{>} in
+the TOC buffer promote/demote the section at point or all sections in
+the current region.
address@hidden
+New option @code{reftex-toc-split-windows-fraction} to set the size of
+the window used by the TOC.  This makes the old variable
address@hidden obsolete.
address@hidden
+A dedicated frame can show the TOC with the current section
+always automatically highlighted.  The frame is created and
+deleted from the toc buffer with the @kbd{d} key.
address@hidden itemize
+
address@hidden @b{Version 4.19}
address@hidden @bullet
address@hidden
+New command `reftex-toc-recenter' (@kbd{C-c -}) which shows the current
+section in the TOC buffer without selecting the TOC window.
address@hidden
+Recentering happens automatically in idle time when the option
address@hidden is turned on.
address@hidden
+Fixed several bugs related to automatic cursor positioning in the TOC
+buffer.
address@hidden
+The highlight in the TOC buffer stays when the focus moves to a
+different window.
address@hidden
+New command `reftex-goto-label'.
address@hidden
+Part numbers are no longer included in chapter numbers, and a new
+part does not reset the chapter counter.  See new option
address@hidden
address@hidden itemize
+
address@hidden @b{Version 4.18}
address@hidden @bullet
address@hidden
address@hidden uses the word before the cursor as a default
+search string.
address@hidden
+Simplified several regular expressions for speed.
address@hidden
+Better support for chapterbib.
address@hidden itemize
+
address@hidden @b{Version 4.17}
address@hidden @bullet
address@hidden
+The toc window can be split off horizontally.  See new options
address@hidden,
address@hidden
address@hidden
+It is possible to specify a function which verifies an index match
+during global indexing.  See new option @code{reftex-index-verify-function}.
address@hidden
+The macros which input a file in LaTeX (like \input, \include) can
+be configured.  See new option @code{reftex-include-file-commands}.
address@hidden
+The macros which specify the bibliography file (like \bibliography) can
+be configured.  See new option @code{reftex-bibliography-commands}.
address@hidden
+The regular expression used to search for the \bibliography macro has
+been relaxed to allow for @address@hidden@address@hidden@}} needed by
+chapterbib.
address@hidden
+Small bug fixes.
address@hidden itemize
+
address@hidden @b{Version 4.15}
address@hidden @bullet
address@hidden
+Fixed bug with parsing of BibTeX files, when fields contain quotes or
+unmatched parenthesis.
address@hidden
+Small bug fixes.
address@hidden
+Improved interaction with Emacs LaTeX mode.
address@hidden itemize
+
address@hidden @b{Version 4.12}
address@hidden @bullet
address@hidden
+Support for @file{bibentry} citation style.
address@hidden itemize
+
address@hidden @b{Version 4.11}
address@hidden @bullet
address@hidden
+Fixed bug which would parse @samp{\Section} just like @samp{\section}.
address@hidden itemize
+
address@hidden @b{Version 4.10}
address@hidden @bullet
address@hidden
+Renamed @file{reftex-vcr.el} to @file{reftex-dcr.el} because of conflict
+with @file{reftex-vars.el} on DOS machines.
address@hidden
+New options @code{reftex-parse-file-extension} and
address@hidden
address@hidden itemize
+
address@hidden [.....]
address@hidden
address@hidden @b{Version 4.09}
address@hidden @bullet
address@hidden
+New option @code{reftex-toc-max-level} to limit the depth of the toc.
+New key binding @kbd{t} in the @file{*toc*} buffer to change this
+setting.
address@hidden
+RefTeX maintains an @file{Index Phrases} file in which phrases can be
+collected.  When the document is ready, RefTeX can search all
+these phrases and assist indexing all matches.
address@hidden
+The variables @code{reftex-index-macros} and
address@hidden have changed their syntax slightly.
+The @var{repeat} parameter has move from the latter to the former.
+Also calls to @code{reftex-add-index-macros} from AUCTeX style files
+need to be adapted.
address@hidden
+The variable @code{reftex-section-levels} no longer contains the
+default stuff which has been moved to a constant.
address@hidden
+Environments like theorems can be placed into the TOC by putting
+entries for @samp{"address@hidden@}"} in
address@hidden
address@hidden itemize
+
address@hidden @b{Version 4.06}
address@hidden @bullet
address@hidden
address@hidden can contain a function to compute the level
+of a sectioning command.
address@hidden
+Multiple @code{thebibliography} environments recognized.
address@hidden itemize
+
address@hidden @b{Version 4.04}
address@hidden @bullet
address@hidden
+New option @code{reftex-index-default-tag} implements a default for queries.
address@hidden itemize
+
address@hidden @b{Version 4.02}
address@hidden @bullet
address@hidden
+macros ending in @samp{refrange} are considered to contain references.
address@hidden
+Index entries made with @code{reftex-index-selection-or-word} in TeX
+math mode automatically get enclosing @samp{$} to preserve math mode.  See
+new option @code{reftex-index-math-format}.  Requires AUCTeX.
address@hidden itemize
+
address@hidden @b{Version 4.01}
address@hidden @bullet
address@hidden
+New command @code{reftex-index-globally} to index a word in many
+places in the document.  Also available from the index buffer with
address@hidden&}.
address@hidden
+The first item in a @code{reftex-label-alist} entry may now also be a parser
+function to do non-standard parsing.
address@hidden
address@hidden no longer interferes with
address@hidden (patch from Stefan Monnier).
address@hidden itemize
+
address@hidden @b{Version 4.00}
address@hidden @bullet
address@hidden
+RefTeX has been split into several smaller files which are autoloaded on
+demand.
address@hidden
+Index support, along with many new options.
address@hidden
+The selection of keys for @code{\ref} and @code{\cite} now allows to
+select multiple items by marking entries with the @kbd{m} key.
address@hidden
+Fancyref support.
address@hidden itemize
+
address@hidden @b{Version 3.43}
address@hidden @bullet
address@hidden
+Viewing cross-references generalized.  Now works on @code{\label},
address@hidden, @code{\cite}, @code{\bibitem}, @code{\index}, variations of
+these, and from BibTeX buffers.
address@hidden
+New option @code{reftex-view-crossref-extra}.
address@hidden
+Support for the additional sectioning commands @code{\addchap} and
address@hidden which are defined in the LaTeX KOMA-Script classes.
address@hidden
+Files in @code{reftex-default-bibliography} will be searched along
address@hidden path.
address@hidden
+Reading a parse file now checks consistency.
address@hidden itemize
+
address@hidden @b{Version 3.42}
address@hidden @bullet
address@hidden
+File search further refined.  New option @code{reftex-file-extensions}.
address@hidden
address@hidden buffer can show the file boundaries of a multifile
+document, all labels and associated context.  New keys @kbd{i}, @kbd{l},
+and @kbd{c}.  New options @code{reftex-toc-include-labels},
address@hidden,
address@hidden 
address@hidden itemize
+
address@hidden @b{Version 3.41}
address@hidden @bullet
address@hidden
+New options @code{reftex-texpath-environment-variables},
address@hidden,
address@hidden,
address@hidden
address@hidden
address@hidden support.  See new options and
address@hidden
address@hidden itemize
+
address@hidden @b{Version 3.38}
address@hidden @bullet
address@hidden
address@hidden no longer moves to find a macro.  Point has
+to be on the macro argument.
address@hidden itemize
+
address@hidden @b{Version 3.36}
address@hidden @bullet
address@hidden
+New value @code{window} for option @code{reftex-auto-view-crossref}.
address@hidden itemize
+
address@hidden @b{Version 3.35}
address@hidden @bullet
address@hidden
+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.
address@hidden itemize
+
address@hidden @b{Version 3.34}
address@hidden @bullet
address@hidden
+Additional flag in @code{reftex-derive-label-parameters} do make only
+lowercase labels (default @code{t}).
address@hidden
+All @file{.rel} files have a final newline to avoid queries.
address@hidden
+Single byte representations of accented European letters (ISO-8859-1)
+are now valid in labels.
address@hidden itemize
+
address@hidden @b{Version 3.33}
address@hidden @bullet
address@hidden
+Multiple selection buffers are now hidden buffers (they start with a
+SPACE).
address@hidden
+Fixed bug with file search when TEXINPUTS environment variable is empty.
address@hidden itemize
+
address@hidden @b{Version 3.30}
address@hidden @bullet
address@hidden
+In @code{reftex-citation}, the regular expression used to scan BibTeX
+files can be specified using completion on known citation keys.
address@hidden
+New keys @kbd{a} and @kbd{A} in BibTeX selection process to cite @emph{all}
+entries.
address@hidden
+New command @code{reftex-renumber-simple-labels} to renumber simple
+labels like @samp{eq:13} sequentially through a document.
address@hidden itemize
+
address@hidden @b{Version 3.28}
address@hidden @bullet
address@hidden
+Auto view crossref for XEmacs uses @code{post-command-hook} to restart the
+timer, since itimer restart is not reliable.
address@hidden
+Option @code{reftex-bibfile-ignore-list} renamed to @code{-regexps}.
address@hidden
+Expansion of recursive tex and bib path rewritten.
address@hidden
+Fixed problem where @address@hidden did not scan unsaved buffers.
address@hidden
+Fixed bug with section numbering after *-red sections.
address@hidden itemize
+
address@hidden @b{Version 3.27}
address@hidden @bullet
address@hidden
+Macros can define @emph{neutral} labels, just like @code{\label}
+itself.
address@hidden
+New option @code{reftex-allow-detached-macro-args}, default @code{nil}!
address@hidden itemize
+
address@hidden @b{Version 3.26}
address@hidden @bullet
address@hidden
+[X]Emacs 19 no longer supported.  Use 3.22 for Emacs 19.
address@hidden
+New hooks @code{reftex-translate-to-ascii-function},
address@hidden
address@hidden
+Made sure automatic crossref display will not visit/scan files.
address@hidden itemize
+
address@hidden @b{Version 3.25}
address@hidden @bullet
address@hidden
+Echoing of citation info caches the info for displayed entries.
+New option @code{reftex-cache-cite-echo}.
address@hidden
address@hidden reftex-reset-mode} now also removes the file with parsing
+info.
address@hidden
+Default of @code{reftex-revisit-to-follow} changed to nil.
address@hidden itemize
+
address@hidden @b{Version 3.24}
address@hidden @bullet
address@hidden
+New option @code{reftex-revisit-to-echo}.
address@hidden
+Interface with X-Symbol (>=2.6) is now complete and stable.
address@hidden
+Adapted to new outline, which uses overlays.
address@hidden
+File names in @code{\bibliography} may now have the @code{.bib}
+extension.
address@hidden
+Fixed Bug with parsing "single file" from master file buffer.
address@hidden itemize
+
address@hidden @b{Version 3.23}
address@hidden @bullet
address@hidden
+Parse files @file{MASTER.rel} made compatible between Emacs and XEmacs.
address@hidden
address@hidden and @code{kill-buffer-hook} now write the parse
+file.
address@hidden
+The cursor inside a @code{\ref} or @code{\cite} macro can now trigger
+automatic display of crossref information in the echo area.  See
+variable @code{reftex-auto-view-crossref}.
address@hidden
+AUCTeX interface updates:
address@hidden @minus
address@hidden
+AUCTeX 9.9c and later notifies @address@hidden about new sections.
address@hidden
address@hidden@TeX{}} notifies AUCTeX about new labels.
address@hidden
address@hidden no longer used (introduction was unnecessary).
address@hidden
address@hidden and @code{reftex-arg-cite} fixed up.
address@hidden
+Settings added to @address@hidden via style files remain local.
address@hidden itemize
address@hidden
+Fixed bug with @code{reftex-citation} in non-latex buffers.
address@hidden
+Fixed bug with syntax table and context refontification.
address@hidden
+Safety-net for name change of @code{font-lock-reference-face}.
address@hidden itemize
+
address@hidden @b{Version 3.22}
address@hidden @bullet
address@hidden
+Fixed bug with empty context strings.
address@hidden
address@hidden is now bound by default at
address@hidden
address@hidden itemize
+
address@hidden @b{Version 3.21}
address@hidden @bullet
address@hidden
+New options for all faces used by @address@hidden They're in the
+customization group @code{reftex-fontification-configurations}.
address@hidden itemize
+
address@hidden @b{Version 3.19}
address@hidden @bullet
address@hidden
+Fixed bug with AUCTeX @code{TeX-master}.
address@hidden itemize
+
address@hidden @b{Version 3.18}
address@hidden @bullet
address@hidden
+The selection now uses a recursive edit, much like minibuffer input.
+This removes all restrictions during selection.  E.g. you can now
+switch buffers at will, use the mouse etc.
address@hidden
+New option @code{reftex-highlight-selection}.
address@hidden
address@hidden can be used to select in selection and @file{*toc*}
+buffers.
address@hidden
+Fixed some problems regarding the interaction with VIPER mode.
address@hidden
+Follow-mode is now only used after point motion.
address@hidden
address@hidden@TeX{}} now finally does not fontify temporary files anymore.
address@hidden itemize
+
address@hidden @b{Version 3.17}
address@hidden @bullet
address@hidden
+Additional bindings in selection and @file{*toc*} buffers.  @kbd{g}
+redefined.
address@hidden
+New command @code{reftex-save-all-document-buffers}.
address@hidden
+Magic word matching made more intelligent.
address@hidden
+Selection process can switch to completion (with @key{TAB}).
address@hidden
address@hidden is now recognized and influences section numbering.
address@hidden
+File commentary shortened considerably (use Info documentation).
address@hidden
+New option @code{reftex-no-include-regexps} to skip some include files.
address@hidden
+New option @code{reftex-revisit-to-follow}.
address@hidden itemize
+
address@hidden @b{Version 3.16}
address@hidden @bullet
address@hidden
+New hooks @code{reftex-format-label-function},
address@hidden, @code{reftex-format-cite-function}.
address@hidden
+TeXInfo documentation completed.
address@hidden
+Some restrictions in Label inserting and referencing removed.
address@hidden
+New variable @code{reftex-default-bibliography}.
address@hidden itemize
+
address@hidden @b{Version 3.14}
address@hidden @bullet
address@hidden
+Selection buffers can be kept between selections: this is faster.
+See new variable @code{reftex-use-multiple-selection-buffers}.
address@hidden
+Prefix interpretation of reftex-view-crossref changed.
address@hidden
+Support for the @code{varioref} package (@kbd{v} key in selection
+buffer).
address@hidden itemize
+
address@hidden @b{Version 3.12}
address@hidden @bullet
address@hidden
+There are 3 new keymaps for customization: @code{reftex-toc-map},
address@hidden, @code{reftex-select-bib-map}.
address@hidden
+Refontification uses more standard font-lock stuff.
address@hidden
+When no BibTeX database files are specified, citations can also use
address@hidden entries from a @code{thebibliography} environment.
address@hidden itemize
+
address@hidden @b{Version 3.11}
address@hidden @bullet
address@hidden
+Fixed bug which led to naked label in (e.g.) footnotes.
address@hidden
+Added scroll-other-window functions to RefTeX-Select.
address@hidden itemize
+
address@hidden @b{Version 3.10}
address@hidden @bullet
address@hidden
+Fixed a bug which made reftex 3.07 fail on [X]Emacs version 19.
address@hidden
+Removed unimportant code which caused OS/2 Emacs to crash.
address@hidden
+All customization variables now accessible from menu.
address@hidden itemize
+
address@hidden @b{Version 3.07}
address@hidden @bullet
address@hidden
address@hidden menu improved.
address@hidden itemize
+
address@hidden @b{Version 3.05}
address@hidden @bullet
address@hidden
+Compatibility code now first checks for XEmacs feature.
address@hidden itemize
+
address@hidden @b{Version 3.04}
address@hidden @bullet
address@hidden
+Fixed BUG in the @emph{xr} support.
address@hidden itemize
+
address@hidden @b{Version 3.03}
address@hidden @bullet
address@hidden
+Support for the LaTeX package @code{xr}, for inter-document
+references.
address@hidden
+A few (minor) Mule-related changes.
address@hidden
+Fixed bug which could cause @emph{huge} @file{.rel} files.
address@hidden
+Search for input and @file{.bib} files with recursive path definitions.
address@hidden itemize
+
address@hidden @b{Version 3.00}
address@hidden @bullet
address@hidden
address@hidden@TeX{}} should work better for very large projects:
address@hidden
+The new parser works without creating a master buffer.
address@hidden
+Rescanning can be limited to a part of a multifile document.
address@hidden
+Information from the parser can be stored in a file.
address@hidden
address@hidden@TeX{}} can deal with macros having a naked label as an argument.
address@hidden
+Macros may have white space and newlines between arguments.
address@hidden
+Multiple identical section headings no longer confuse
address@hidden
address@hidden
address@hidden@TeX{}} should work correctly in combination with buffer-altering
+packages like outline, folding, x-symbol, iso-cvt, isotex, etc.
address@hidden
+All labeled environments discussed in @emph{The LaTeX Companion} by
+Goossens, Mittelbach & Samarin, Addison-Wesley 1994) are part of
address@hidden@TeX{}}'s defaults.
address@hidden itemize
+
address@hidden @b{Version 2.17}
address@hidden @bullet
address@hidden
+Label prefix expands % escapes with current file name and other stuff.
address@hidden
+Citation format now with % escapes.  This is not backward
+compatible!
address@hidden
+TEXINPUTS variable recognized when looking for input files.
address@hidden
+Context can be the nth argument of a macro.
address@hidden
+Searching in the select buffer is now possible (@kbd{C-s} and
address@hidden).
address@hidden
+Display and derive-label can use two different context methods.
address@hidden
+AMSmath @code{xalignat} and @code{xxalignat} added.
address@hidden itemize
+
address@hidden @b{Version 2.14}
address@hidden @bullet
address@hidden
+Variable @code{reftex-plug-into-AUCTeX} simplifies cooperation with
+AUCTeX.
address@hidden itemize
+
address@hidden @b{Version 2.11}
address@hidden @bullet
address@hidden
+Submitted for inclusion to Emacs and XEmacs.
address@hidden itemize
+
address@hidden @b{Version 2.07}
address@hidden @bullet
address@hidden
+New functions @code{reftex-search-document},
address@hidden
address@hidden itemize
+
address@hidden @b{Version 2.05}
address@hidden @bullet
address@hidden
+Support for @file{custom.el}.
address@hidden
+New function @code{reftex-grep-document} (thanks to Stephen Eglen).
address@hidden itemize
+
address@hidden @b{Version 2.03}
address@hidden @bullet
address@hidden
address@hidden, @code{table*}, @code{sidewaysfigure/table} added to
+default environments.
address@hidden
address@hidden introduced (thanks to Rory Molinari).
address@hidden
+New functions @code{reftex-arg-label}, @code{reftex-arg-ref},
address@hidden
address@hidden
+Emacs/XEmacs compatibility reworked.  XEmacs 19.15 now is
+required.
address@hidden
address@hidden (to be called from AUCTeX style
+files).
address@hidden
+Finding context with a hook function.
address@hidden
+Sorting BibTeX entries (new variable:
address@hidden).
address@hidden itemize
+
address@hidden @b{Version 2.00}
address@hidden @bullet
address@hidden
+Labels can be derived from context (default for sections).
address@hidden
+Configuration of label insertion and label referencing revised.
address@hidden
+Crossref fields in BibTeX database entries.
address@hidden
address@hidden introduced (thanks to Stephen Eglen).
address@hidden itemize
+
address@hidden @b{Version 1.09}
address@hidden @bullet
address@hidden
+Support for @code{tex-main-file}, an analogue for
address@hidden
address@hidden
+MS-DOS support.
address@hidden itemize
+
address@hidden @b{Version 1.07}
address@hidden @bullet
address@hidden
address@hidden@TeX{}} gets its own menu.
address@hidden itemize
+
address@hidden @b{Version 1.05}
address@hidden @bullet
address@hidden
+XEmacs port.
address@hidden itemize
+
address@hidden @b{Version 1.04}
address@hidden @bullet
address@hidden
+Macros as wrappers, AMSTeX support, delayed context parsing for
+new labels.
address@hidden itemize
address@hidden ignore
+
address@hidden @b{Version 1.00}
address@hidden @bullet
address@hidden
+released on 7 Jan 1997.
address@hidden itemize
+
address@hidden GNU Free Documentation License, Index, Changes, Top
address@hidden GNU Free Documentation License
address@hidden doclicense.texi
+
address@hidden Index, , GNU Free Documentation License, Top
address@hidden Index
address@hidden cp
+
address@hidden
address@hidden
address@hidden
+
address@hidden
+   arch-tag: 1e055774-0576-4b1b-b47f-550d0961fd43
address@hidden ignore




reply via email to

[Prev in Thread] Current Thread [Next in Thread]