RefTeX is a specialized package for support of labels, references, citations, and the index in LaTeX. RefTeX wraps itself round 4 LaTeX macros: `\label', `\ref', `\cite', and `\index'. Using these macros usually requires looking up different parts of the document and searching through BibTeX database files. RefTeX automates these time-consuming tasks almost entirely. It also provides functions to display the structure of a document and to move around in this structure quickly. RefTeX in a Nutshell ==================== 1. Table of Contents Typing `C-c =' (`reftex-toc') will show a table of contents of the document. This buffer can display sections, labels and index entries defined in the document. From the buffer, you can jump quickly to every part of your document. Press `?' to get help. 2. Labels and References RefTeX helps to create unique labels and to find the correct key for references quickly. It distinguishes labels for different environments, knows about all standard environments (and many others), and can be configured to recognize any additional labeled environments you have defined yourself (variable `reftex-label-alist'). * Creating Labels Type `C-c (' (`reftex-label') to insert a label at point. RefTeX will either - derive a label from context (default for section labels) - prompt for a label string (default for figures and tables) or - insert a simple label made of a prefix and a number (all other environments) Which labels are created how is configurable with the variable `reftex-insert-label-flags'. * Referencing Labels To make a reference, type `C-c )' (`reftex-reference'). This shows an outline of the document with all labels of a certain type (figure, equation,...) and some label context. Selecting a label inserts a `\ref{LABEL}' macro into the original buffer. 3. Citations Typing `C-c [' (`reftex-citation') will let you specify a regular expression to search in current BibTeX database files (as specified in the `\bibliography' command) and pull out a list of matches for you to choose from. The list is _formatted_ and sorted. The selected article is referenced as `\cite{KEY}' (see the variable `reftex-cite-format' if you want to insert different macros). 4. Index Support RefTeX helps to enter index entries. It also compiles all entries into an alphabetically sorted `*Index*' buffer which you can use to check and edit the entries. RefTeX knows about the standard index macros and can be configured to recognize any additional macros you have defined (`reftex-index-macros'). Multiple indices are supported. * Creating Index Entries To index the current selection or the word at point, type `C-c /' (`reftex-index-selection-or-word'). The default macro `reftex-index-default-macro' will be used. For a more complex entry type `C-c <' (`reftex-index'), select any of the index macros and enter the arguments with completion. * The Index Phrases File (Delayed Indexing) Type `C-c \' (`reftex-index-phrase-selection-or-word') to add the current word or selection to a special _index phrase file_. RefTeX can later search the document for occurrences of these phrases and let you interactively index the matches. * Displaying and Editing the Index To display the compiled index in a special buffer, type `C-c >' (`reftex-display-index'). From that buffer you can check and edit all entries. 5. Viewing Cross-References When point is on the KEY argument of a cross-referencing macro (`\label', `\ref', `\cite', `\bibitem', `\index', and variations) or inside a BibTeX database entry, you can press `C-c &' (`reftex-view-crossref') to display corresponding locations in the document and associated BibTeX database files. When the enclosing macro is `\cite' or `\ref' and no other message occupies the echo area, information about the citation or label will automatically be displayed in the echo area. 6. Multifile Documents Multifile Documents are fully supported. The included files must have a file variable `TeX-master' or `tex-main-file' pointing to the master file. RefTeX provides cross-referencing information from all parts of the document, and across document borders (`xr.sty'). 7. Document Parsing RefTeX needs to parse the document in order to find labels and other information. It does it automatically once and updates its list internally when `reftex-label' and `reftex-index' are used. To enforce reparsing, call any of the commands described above with a raw `C-u' prefix, or press the `r' key in the label selection buffer, the table of contents buffer, or the index buffer.