annotate man/reftex.texi @ 46936:731e4a095774

*** empty log message ***
author Richard M. Stallman <rms@gnu.org>
date Mon, 19 Aug 2002 00:58:26 +0000
parents 82d113655734
children 904fd28be439
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
Dave Love <fx@gnu.org>
parents:
diff changeset
2 @c %**start of header
38003
8d7aebc49a9a Fix a bad @setfilename.
Eli Zaretskii <eliz@gnu.org>
parents: 37999
diff changeset
3 @setfilename ../info/reftex
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4 @settitle RefTeX User Manual
30009
95bdbefcdac6 Use dircategory `Emacs'.
Gerd Moellmann <gerd@gnu.org>
parents: 29819
diff changeset
5 @dircategory Emacs
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
6 @direntry
Dave Love <fx@gnu.org>
parents:
diff changeset
7 * RefTeX: (reftex). Emacs support for LaTeX cross-references and citations.
Dave Love <fx@gnu.org>
parents:
diff changeset
8 @end direntry
Dave Love <fx@gnu.org>
parents:
diff changeset
9 @synindex ky cp
Dave Love <fx@gnu.org>
parents:
diff changeset
10 @syncodeindex vr cp
Dave Love <fx@gnu.org>
parents:
diff changeset
11 @syncodeindex fn cp
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
12 @set VERSION 4.18
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
13 @set EDITION 4.18
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
14 @set DATE July 2002
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
15 @c %**end of header
Dave Love <fx@gnu.org>
parents:
diff changeset
16 @finalout
Dave Love <fx@gnu.org>
parents:
diff changeset
17
Dave Love <fx@gnu.org>
parents:
diff changeset
18 @c Macro definitions
Dave Love <fx@gnu.org>
parents:
diff changeset
19
Dave Love <fx@gnu.org>
parents:
diff changeset
20 @c Subheadings inside a table. Need a difference between info and the rest.
Dave Love <fx@gnu.org>
parents:
diff changeset
21 @macro tablesubheading{text}
Dave Love <fx@gnu.org>
parents:
diff changeset
22 @ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
23 @subsubheading \text\
Dave Love <fx@gnu.org>
parents:
diff changeset
24 @end ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
25 @ifnotinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
26 @item @b{\text\}
Dave Love <fx@gnu.org>
parents:
diff changeset
27 @end ifnotinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
28 @end macro
Dave Love <fx@gnu.org>
parents:
diff changeset
29
Dave Love <fx@gnu.org>
parents:
diff changeset
30 @ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
31 This file documents @b{Ref@TeX{}}, a package to do labels, references,
Dave Love <fx@gnu.org>
parents:
diff changeset
32 citations and indices for LaTeX documents with Emacs.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 This is edition @value{EDITION} of the @b{Ref@TeX{}} User Manual for
Dave Love <fx@gnu.org>
parents:
diff changeset
35 @b{Ref@TeX{}} @value{VERSION}@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
36
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
37 Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
38
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
39 Permission is granted to copy, distribute and/or modify this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
40 under the terms of the GNU Free Documentation License, Version 1.1 or
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
41 any later version published by the Free Software Foundation; with no
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
42 Invariant Sections, with the Front-Cover texts being ``A GNU
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
43 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
44 license is included in the section entitled ``GNU Free Documentation
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
45 License'' in the Emacs manual.
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
46
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
47 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
48 this GNU Manual, like GNU software. Copies published by the Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
49 Software Foundation raise funds for GNU development.''
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
50
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
51 This document is part of a collection distributed under the GNU Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
52 Documentation License. If you want to distribute this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
53 separately from the collection, you can do so by adding a copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
54 license to the document, as described in section 6 of the license.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
55 @end ifinfo
Dave Love <fx@gnu.org>
parents:
diff changeset
56
Dave Love <fx@gnu.org>
parents:
diff changeset
57 @titlepage
Dave Love <fx@gnu.org>
parents:
diff changeset
58 @title Ref@TeX{} User Manual
Dave Love <fx@gnu.org>
parents:
diff changeset
59 @subtitle Support for LaTeX labels, references, citations and index entries with GNU Emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
60 @subtitle Edition @value{EDITION}, @value{DATE}
Dave Love <fx@gnu.org>
parents:
diff changeset
61
Dave Love <fx@gnu.org>
parents:
diff changeset
62 @author by Carsten Dominik
Dave Love <fx@gnu.org>
parents:
diff changeset
63 @page
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
64 Copyright @copyright{} 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
65
Dave Love <fx@gnu.org>
parents:
diff changeset
66 @sp 2
Dave Love <fx@gnu.org>
parents:
diff changeset
67 This is edition @value{EDITION} of the @cite{Ref@TeX{} User Manual} for
Dave Love <fx@gnu.org>
parents:
diff changeset
68 @b{Ref@TeX{}} version @value{VERSION}, @value{DATE}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
69
Dave Love <fx@gnu.org>
parents:
diff changeset
70 @sp 2
Dave Love <fx@gnu.org>
parents:
diff changeset
71
37404
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
72 Permission is granted to copy, distribute and/or modify this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
73 under the terms of the GNU Free Documentation License, Version 1.1 or
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
74 any later version published by the Free Software Foundation; with no
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
75 Invariant Sections, with the Front-Cover texts being ``A GNU
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
76 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
77 license is included in the section entitled ``GNU Free Documentation
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
78 License'' in the Emacs manual.
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
79
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
80 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
81 this GNU Manual, like GNU software. Copies published by the Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
82 Software Foundation raise funds for GNU development.''
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
83
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
84 This document is part of a collection distributed under the GNU Free
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
85 Documentation License. If you want to distribute this document
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
86 separately from the collection, you can do so by adding a copy of the
730f77edf073 Use GNU Free Documentation License.
Gerd Moellmann <gerd@gnu.org>
parents: 37038
diff changeset
87 license to the document, as described in section 6 of the license.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
88 @end titlepage
Dave Love <fx@gnu.org>
parents:
diff changeset
89 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
90
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
91 @ifnottex
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
92 @node Top,,,(dir)
Dave Love <fx@gnu.org>
parents:
diff changeset
93
Dave Love <fx@gnu.org>
parents:
diff changeset
94 @b{Ref@TeX{}} is a package for managing Labels, References,
Dave Love <fx@gnu.org>
parents:
diff changeset
95 Citations and index entries with GNU Emacs.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
96
Dave Love <fx@gnu.org>
parents:
diff changeset
97 Don't be discouraged by the size of this manual, which covers
Dave Love <fx@gnu.org>
parents:
diff changeset
98 @b{Ref@TeX{}} in great depth. All you need to know to use
Dave Love <fx@gnu.org>
parents:
diff changeset
99 @b{Ref@TeX{}} can be summarized on two pages (@pxref{RefTeX in a
Dave Love <fx@gnu.org>
parents:
diff changeset
100 Nutshell}). You can go back later to other parts of this document when
Dave Love <fx@gnu.org>
parents:
diff changeset
101 needed.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
102
Dave Love <fx@gnu.org>
parents:
diff changeset
103 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
104 * Introduction:: Quick-Start information.
Dave Love <fx@gnu.org>
parents:
diff changeset
105
Dave Love <fx@gnu.org>
parents:
diff changeset
106 * Table of Contents:: A Tool to move around quickly.
Dave Love <fx@gnu.org>
parents:
diff changeset
107 * Labels and References:: Creating and referencing labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
108 * Citations:: Creating Citations.
Dave Love <fx@gnu.org>
parents:
diff changeset
109 * Index Support:: Creating and Checking Index Entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
110 * Viewing Cross-References:: Who references or cites what?
Dave Love <fx@gnu.org>
parents:
diff changeset
111
Dave Love <fx@gnu.org>
parents:
diff changeset
112 * RefTeXs Menu:: The Ref menu in the menubar.
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
113 * Key Bindings:: The default key bindings.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
114 * Faces:: Fontification of RefTeX's buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
115 * Multifile Documents:: Document spread over many files.
Dave Love <fx@gnu.org>
parents:
diff changeset
116 * Language Support:: How to support other languages.
Dave Love <fx@gnu.org>
parents:
diff changeset
117 * Finding Files:: Included TeX files and BibTeX .bib files.
Dave Love <fx@gnu.org>
parents:
diff changeset
118 * AUCTeX:: Cooperation with AUCTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
119 * Optimizations:: When RefTeX is too slow.
Dave Love <fx@gnu.org>
parents:
diff changeset
120 * Problems and Work-Arounds:: First Aid.
Dave Love <fx@gnu.org>
parents:
diff changeset
121 * Imprint:: Author, Web-site, Thanks
Dave Love <fx@gnu.org>
parents:
diff changeset
122
Dave Love <fx@gnu.org>
parents:
diff changeset
123 * Commands:: Which are the available commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
124 * Options:: How to extend and configure RefTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
125 * Keymaps and Hooks:: For customization.
Dave Love <fx@gnu.org>
parents:
diff changeset
126 * Changes:: A List of recent changes to RefTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
127
Dave Love <fx@gnu.org>
parents:
diff changeset
128 The Index
Dave Love <fx@gnu.org>
parents:
diff changeset
129
Dave Love <fx@gnu.org>
parents:
diff changeset
130 * Index:: The full index.
Dave Love <fx@gnu.org>
parents:
diff changeset
131
Dave Love <fx@gnu.org>
parents:
diff changeset
132 @detailmenu
Dave Love <fx@gnu.org>
parents:
diff changeset
133
Dave Love <fx@gnu.org>
parents:
diff changeset
134 Introduction
Dave Love <fx@gnu.org>
parents:
diff changeset
135
Dave Love <fx@gnu.org>
parents:
diff changeset
136 * Installation:: How to install and activate RefTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
137 * RefTeX in a Nutshell:: A brief summary and quick guide.
Dave Love <fx@gnu.org>
parents:
diff changeset
138
Dave Love <fx@gnu.org>
parents:
diff changeset
139 Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
140
Dave Love <fx@gnu.org>
parents:
diff changeset
141 * Creating Labels::
Dave Love <fx@gnu.org>
parents:
diff changeset
142 * Referencing Labels::
Dave Love <fx@gnu.org>
parents:
diff changeset
143 * Builtin Label Environments:: The environments RefTeX knows about.
Dave Love <fx@gnu.org>
parents:
diff changeset
144 * Defining Label Environments:: ... and environments it doesn't.
Dave Love <fx@gnu.org>
parents:
diff changeset
145 * Reference Info:: View the label corresponding to a \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
146 * xr (LaTeX package):: References to external documents.
Dave Love <fx@gnu.org>
parents:
diff changeset
147 * varioref (LaTeX package):: How to create \vref instead of \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
148 * fancyref (LaTeX package):: How to create \fref instead of \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
149
Dave Love <fx@gnu.org>
parents:
diff changeset
150 Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
151
Dave Love <fx@gnu.org>
parents:
diff changeset
152 * Theorem and Axiom:: Defined with @code{\newenvironment}.
Dave Love <fx@gnu.org>
parents:
diff changeset
153 * Quick Equation:: When a macro sets the label type.
Dave Love <fx@gnu.org>
parents:
diff changeset
154 * Figure Wrapper:: When a macro argument is a label.
Dave Love <fx@gnu.org>
parents:
diff changeset
155 * Adding Magic Words:: Other words for other languages.
Dave Love <fx@gnu.org>
parents:
diff changeset
156 * Using \eqref:: How to switch to this AMS-LaTeX macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
157 * Non-Standard Environments:: Environments without \begin and \end
Dave Love <fx@gnu.org>
parents:
diff changeset
158 * Putting it Together:: How to combine many entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
159
Dave Love <fx@gnu.org>
parents:
diff changeset
160 Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
161
Dave Love <fx@gnu.org>
parents:
diff changeset
162 * Creating Citations:: How to create them.
Dave Love <fx@gnu.org>
parents:
diff changeset
163 * Citation Styles:: Natbib, Harvard, Chicago and Co.
Dave Love <fx@gnu.org>
parents:
diff changeset
164 * Citation Info:: View the corresponding database entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
165 * Chapterbib and Bibunits:: Multiple bibliographies in a Document.
Dave Love <fx@gnu.org>
parents:
diff changeset
166 * Citations Outside LaTeX:: How to make citations in Emails etc.
Dave Love <fx@gnu.org>
parents:
diff changeset
167
Dave Love <fx@gnu.org>
parents:
diff changeset
168 Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
169
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
170 * Creating Index Entries:: Macros and completion of entries.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
171 * The Index Phrases File:: A special file for global indexing.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
172 * Displaying and Editing the Index:: The index editor.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
173 * Builtin Index Macros:: The index macros RefTeX knows about.
Dave Love <fx@gnu.org>
parents:
diff changeset
174 * Defining Index Macros:: ... and macros it doesn't.
Dave Love <fx@gnu.org>
parents:
diff changeset
175
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
176 The Index Phrases File
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
177
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
178 * Collecting Phrases:: Collecting from document or external.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
179 * Consistency Checks:: Check for duplicates etc.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
180 * Global Indexing:: The interactive indexing process.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
181
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
182 AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
183
Dave Love <fx@gnu.org>
parents:
diff changeset
184 * AUCTeX-RefTeX Interface:: How both packages work together
Dave Love <fx@gnu.org>
parents:
diff changeset
185 * Style Files:: AUCTeX's style files can support RefTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
186 * Bib-Cite:: Hypertext reading of a document
Dave Love <fx@gnu.org>
parents:
diff changeset
187
Dave Love <fx@gnu.org>
parents:
diff changeset
188 Options, Keymaps, Hooks
Dave Love <fx@gnu.org>
parents:
diff changeset
189
Dave Love <fx@gnu.org>
parents:
diff changeset
190 * Options (Table of Contents)::
Dave Love <fx@gnu.org>
parents:
diff changeset
191 * Options (Defining Label Environments)::
Dave Love <fx@gnu.org>
parents:
diff changeset
192 * Options (Creating Labels)::
Dave Love <fx@gnu.org>
parents:
diff changeset
193 * Options (Referencing Labels)::
Dave Love <fx@gnu.org>
parents:
diff changeset
194 * Options (Creating Citations)::
Dave Love <fx@gnu.org>
parents:
diff changeset
195 * Options (Index Support)::
Dave Love <fx@gnu.org>
parents:
diff changeset
196 * Options (Viewing Cross-References)::
Dave Love <fx@gnu.org>
parents:
diff changeset
197 * Options (Finding Files)::
Dave Love <fx@gnu.org>
parents:
diff changeset
198 * Options (Optimizations)::
Dave Love <fx@gnu.org>
parents:
diff changeset
199 * Options (Fontification)::
Dave Love <fx@gnu.org>
parents:
diff changeset
200 * Options (Misc)::
Dave Love <fx@gnu.org>
parents:
diff changeset
201
Dave Love <fx@gnu.org>
parents:
diff changeset
202 @end detailmenu
Dave Love <fx@gnu.org>
parents:
diff changeset
203 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
204
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
205 @end ifnottex
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
206
Dave Love <fx@gnu.org>
parents:
diff changeset
207 @node Introduction, Table of Contents, , Top
Dave Love <fx@gnu.org>
parents:
diff changeset
208 @chapter Introduction
Dave Love <fx@gnu.org>
parents:
diff changeset
209 @cindex Introduction
Dave Love <fx@gnu.org>
parents:
diff changeset
210
Dave Love <fx@gnu.org>
parents:
diff changeset
211 @b{Ref@TeX{}} is a specialized package for support of labels,
Dave Love <fx@gnu.org>
parents:
diff changeset
212 references, citations, and the index in LaTeX. @b{Ref@TeX{}} wraps
Dave Love <fx@gnu.org>
parents:
diff changeset
213 itself round 4 LaTeX macros: @code{\label}, @code{\ref}, @code{\cite},
Dave Love <fx@gnu.org>
parents:
diff changeset
214 and @code{\index}. Using these macros usually requires looking up
Dave Love <fx@gnu.org>
parents:
diff changeset
215 different parts of the document and searching through BibTeX database
Dave Love <fx@gnu.org>
parents:
diff changeset
216 files. @b{Ref@TeX{}} automates these time--consuming tasks almost
Dave Love <fx@gnu.org>
parents:
diff changeset
217 entirely. It also provides functions to display the structure of a
Dave Love <fx@gnu.org>
parents:
diff changeset
218 document and to move around in this structure quickly.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
219
Dave Love <fx@gnu.org>
parents:
diff changeset
220 @iftex
Dave Love <fx@gnu.org>
parents:
diff changeset
221 Don't be discouraged by the size of this manual, which covers @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
222 in great depth. All you need to know to use @b{Ref@TeX{}} can be
Dave Love <fx@gnu.org>
parents:
diff changeset
223 summarized on two pages (@pxref{RefTeX in a Nutshell}). You can go
Dave Love <fx@gnu.org>
parents:
diff changeset
224 back later to other parts of this document when needed.
Dave Love <fx@gnu.org>
parents:
diff changeset
225 @end iftex
Dave Love <fx@gnu.org>
parents:
diff changeset
226
Dave Love <fx@gnu.org>
parents:
diff changeset
227 @xref{Imprint}, for information about who to contact for help, bug
Dave Love <fx@gnu.org>
parents:
diff changeset
228 reports or suggestions.
Dave Love <fx@gnu.org>
parents:
diff changeset
229
Dave Love <fx@gnu.org>
parents:
diff changeset
230 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
231 * Installation:: How to install and activate RefTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
232 * RefTeX in a Nutshell:: A brief summary and quick guide.
Dave Love <fx@gnu.org>
parents:
diff changeset
233 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
234
Dave Love <fx@gnu.org>
parents:
diff changeset
235 @node Installation, RefTeX in a Nutshell, , Introduction
Dave Love <fx@gnu.org>
parents:
diff changeset
236 @section Installation
Dave Love <fx@gnu.org>
parents:
diff changeset
237 @cindex Installation
Dave Love <fx@gnu.org>
parents:
diff changeset
238
Dave Love <fx@gnu.org>
parents:
diff changeset
239 @b{Ref@TeX{}} is bundled and pre--installed with Emacs since version 20.2.
Dave Love <fx@gnu.org>
parents:
diff changeset
240 It was also bundled and pre--installed with XEmacs 19.16--20.x. XEmacs
Dave Love <fx@gnu.org>
parents:
diff changeset
241 21.x users want to install the corresponding plug-in package which is
Dave Love <fx@gnu.org>
parents:
diff changeset
242 available from the
Dave Love <fx@gnu.org>
parents:
diff changeset
243 @uref{ftp://ftp.xemacs.org/pub/xemacs/packages/,XEmacs ftp site}. See
Dave Love <fx@gnu.org>
parents:
diff changeset
244 the XEmacs 21.x documentation on package installation for
Dave Love <fx@gnu.org>
parents:
diff changeset
245 details.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
246
Dave Love <fx@gnu.org>
parents:
diff changeset
247 Users of earlier Emacs distributions (including Emacs 19) can get a copy
Dave Love <fx@gnu.org>
parents:
diff changeset
248 of the @b{Ref@TeX{}} distribution from the maintainers web-page.
Dave Love <fx@gnu.org>
parents:
diff changeset
249 @xref{Imprint}, for more information.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
250
Dave Love <fx@gnu.org>
parents:
diff changeset
251 @section Environment
Dave Love <fx@gnu.org>
parents:
diff changeset
252 @cindex Finding files
Dave Love <fx@gnu.org>
parents:
diff changeset
253 @cindex BibTeX database files, not found
Dave Love <fx@gnu.org>
parents:
diff changeset
254 @cindex TeX files, not found
Dave Love <fx@gnu.org>
parents:
diff changeset
255 @cindex @code{TEXINPUTS}, environment variable
Dave Love <fx@gnu.org>
parents:
diff changeset
256 @cindex @code{BIBINPUTS}, environment variable
Dave Love <fx@gnu.org>
parents:
diff changeset
257
Dave Love <fx@gnu.org>
parents:
diff changeset
258 @b{Ref@TeX{}} needs to access all files which are part of a multifile
Dave Love <fx@gnu.org>
parents:
diff changeset
259 document, and the BibTeX database files requested by the
Dave Love <fx@gnu.org>
parents:
diff changeset
260 @code{\bibliography} command. To find these files, @b{Ref@TeX{}} will
Dave Love <fx@gnu.org>
parents:
diff changeset
261 require a search path, i.e. a list of directories to check. Normally
Dave Love <fx@gnu.org>
parents:
diff changeset
262 this list is stored in the environment variables @code{TEXINPUTS} and
Dave Love <fx@gnu.org>
parents:
diff changeset
263 @code{BIBINPUTS} which are also used by @b{Ref@TeX{}}. However, on some
Dave Love <fx@gnu.org>
parents:
diff changeset
264 systems these variables do not contain the full search path. If
Dave Love <fx@gnu.org>
parents:
diff changeset
265 @b{Ref@TeX{}} does not work for you because it cannot find some files,
Dave Love <fx@gnu.org>
parents:
diff changeset
266 read @ref{Finding Files}.
Dave Love <fx@gnu.org>
parents:
diff changeset
267
Dave Love <fx@gnu.org>
parents:
diff changeset
268 @section Entering @b{Ref@TeX{}} Mode
Dave Love <fx@gnu.org>
parents:
diff changeset
269
Dave Love <fx@gnu.org>
parents:
diff changeset
270 @findex turn-on-reftex
Dave Love <fx@gnu.org>
parents:
diff changeset
271 @findex reftex-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
272 @vindex LaTeX-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
273 @vindex latex-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
274 To turn @b{Ref@TeX{}} Mode on and off in a particular buffer, use
Dave Love <fx@gnu.org>
parents:
diff changeset
275 @kbd{M-x reftex-mode}. To turn on @b{Ref@TeX{}} Mode for all LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
276 files, add the following lines to your @file{.emacs} file:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
277
Dave Love <fx@gnu.org>
parents:
diff changeset
278 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
279 (add-hook 'LaTeX-mode-hook 'turn-on-reftex) ; with AUCTeX LaTeX mode
Dave Love <fx@gnu.org>
parents:
diff changeset
280 (add-hook 'latex-mode-hook 'turn-on-reftex) ; with Emacs latex mode
Dave Love <fx@gnu.org>
parents:
diff changeset
281 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
282
Dave Love <fx@gnu.org>
parents:
diff changeset
283 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
284 @node RefTeX in a Nutshell, , Installation, Introduction
Dave Love <fx@gnu.org>
parents:
diff changeset
285 @section @b{Ref@TeX{}} in a Nutshell
Dave Love <fx@gnu.org>
parents:
diff changeset
286 @cindex Quick-Start
Dave Love <fx@gnu.org>
parents:
diff changeset
287 @cindex Getting Started
Dave Love <fx@gnu.org>
parents:
diff changeset
288 @cindex RefTeX in a Nutshell
Dave Love <fx@gnu.org>
parents:
diff changeset
289 @cindex Nutshell, RefTeX in a
Dave Love <fx@gnu.org>
parents:
diff changeset
290
Dave Love <fx@gnu.org>
parents:
diff changeset
291 @enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
292 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
293 @b{Table of Contents}@* Typing @kbd{C-c =} (@code{reftex-toc}) will show
Dave Love <fx@gnu.org>
parents:
diff changeset
294 a table of contents of the document. This buffer can display sections,
Dave Love <fx@gnu.org>
parents:
diff changeset
295 labels and index entries defined in the document. From the buffer, you
Dave Love <fx@gnu.org>
parents:
diff changeset
296 can jump quickly to every part of your document. Press @kbd{?} to get
Dave Love <fx@gnu.org>
parents:
diff changeset
297 help.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
298
Dave Love <fx@gnu.org>
parents:
diff changeset
299 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
300 @b{Labels and References}@* @b{Ref@TeX{}} helps to create unique labels
Dave Love <fx@gnu.org>
parents:
diff changeset
301 and to find the correct key for references quickly. It distinguishes
Dave Love <fx@gnu.org>
parents:
diff changeset
302 labels for different environments, knows about all standard
Dave Love <fx@gnu.org>
parents:
diff changeset
303 environments (and many others), and can be configured to recognize any
Dave Love <fx@gnu.org>
parents:
diff changeset
304 additional labeled environments you have defined yourself (variable
Dave Love <fx@gnu.org>
parents:
diff changeset
305 @code{reftex-label-alist}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
306
Dave Love <fx@gnu.org>
parents:
diff changeset
307 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
308 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
309 @b{Creating Labels}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
310 Type @kbd{C-c (} (@code{reftex-label}) to insert a label at point.
Dave Love <fx@gnu.org>
parents:
diff changeset
311 @b{Ref@TeX{}} will either
Dave Love <fx@gnu.org>
parents:
diff changeset
312 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
313 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
314 derive a label from context (default for section labels)
Dave Love <fx@gnu.org>
parents:
diff changeset
315 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
316 prompt for a label string (default for figures and tables) or
Dave Love <fx@gnu.org>
parents:
diff changeset
317 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
318 insert a simple label made of a prefix and a number (all other
Dave Love <fx@gnu.org>
parents:
diff changeset
319 environments)@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
320 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
321 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
322 Which labels are created how is configurable with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
323 @code{reftex-insert-label-flags}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
324
Dave Love <fx@gnu.org>
parents:
diff changeset
325 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
326 @b{Referencing Labels}@* To make a reference, type @kbd{C-c )}
Dave Love <fx@gnu.org>
parents:
diff changeset
327 (@code{reftex-reference}). This shows an outline of the document with
Dave Love <fx@gnu.org>
parents:
diff changeset
328 all labels of a certain type (figure, equation,...) and some label
Dave Love <fx@gnu.org>
parents:
diff changeset
329 context. Selecting a label inserts a @code{\ref@{@var{label}@}} macro
Dave Love <fx@gnu.org>
parents:
diff changeset
330 into the original buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
331 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
332
Dave Love <fx@gnu.org>
parents:
diff changeset
333 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
334 @b{Citations}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
335 Typing @kbd{C-c [} (@code{reftex-citation}) will let you specify a
Dave Love <fx@gnu.org>
parents:
diff changeset
336 regular expression to search in current BibTeX database files (as
Dave Love <fx@gnu.org>
parents:
diff changeset
337 specified in the @code{\bibliography} command) and pull out a list of
Dave Love <fx@gnu.org>
parents:
diff changeset
338 matches for you to choose from. The list is @emph{formatted} and
Dave Love <fx@gnu.org>
parents:
diff changeset
339 sorted. The selected article is referenced as @samp{\cite@{@var{key}@}}
Dave Love <fx@gnu.org>
parents:
diff changeset
340 (see the variable @code{reftex-cite-format} if you want to insert
Dave Love <fx@gnu.org>
parents:
diff changeset
341 different macros).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
342
Dave Love <fx@gnu.org>
parents:
diff changeset
343 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
344 @b{Index Support}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
345 @b{Ref@TeX{}} helps to enter index entries. It also compiles all
Dave Love <fx@gnu.org>
parents:
diff changeset
346 entries into an alphabetically sorted @file{*Index*} buffer which you
Dave Love <fx@gnu.org>
parents:
diff changeset
347 can use to check and edit the entries. @b{Ref@TeX{}} knows about the
Dave Love <fx@gnu.org>
parents:
diff changeset
348 standard index macros and can be configured to recognize any additional
Dave Love <fx@gnu.org>
parents:
diff changeset
349 macros you have defined (@code{reftex-index-macros}). Multiple indices
Dave Love <fx@gnu.org>
parents:
diff changeset
350 are supported.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
351
Dave Love <fx@gnu.org>
parents:
diff changeset
352 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
353 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
354 @b{Creating Index Entries}@*
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
355 To index the current selection or the word at point, type @kbd{C-c /}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
356 (@code{reftex-index-selection-or-word}). The default macro
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
357 @code{reftex-index-default-macro} will be used. For a more complex entry
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
358 type @kbd{C-c <} (@code{reftex-index}), select any of the index macros
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
359 and enter the arguments with completion.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
360
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
361 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
362 @b{The Index Phrases File (Delayed Indexing)}@*
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
363 Type @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word}) to add
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
364 the current word or selection to a special @emph{index phrase file}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
365 @b{Ref@TeX{}} can later search the document for occurrences of these
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
366 phrases and let you interactively index the matches.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
367
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
368 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
369 @b{Displaying and Editing the Index}@*
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
370 To display the compiled index in a special buffer, type @kbd{C-c >}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
371 (@code{reftex-display-index}). From that buffer you can check and edit
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
372 all entries.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
373 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
374
Dave Love <fx@gnu.org>
parents:
diff changeset
375 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
376 @item @b{Viewing Cross-References}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
377 When point is on the @var{key} argument of a cross--referencing macro
Dave Love <fx@gnu.org>
parents:
diff changeset
378 (@code{\label}, @code{\ref}, @code{\cite}, @code{\bibitem},
Dave Love <fx@gnu.org>
parents:
diff changeset
379 @code{\index}, and variations) or inside a BibTeX database entry, you
Dave Love <fx@gnu.org>
parents:
diff changeset
380 can press @kbd{C-c &} (@code{reftex-view-crossref}) to display
Dave Love <fx@gnu.org>
parents:
diff changeset
381 corresponding locations in the document and associated BibTeX database
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
382 files.@refill @*
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
383 When the enclosing macro is @code{\cite} or @code{\ref} and no other
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
384 message occupies the echo area, information about the citation or label
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
385 will automatically be displayed in the echo area.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
386
Dave Love <fx@gnu.org>
parents:
diff changeset
387 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
388 @b{Multifile Documents}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
389 Multifile Documents are fully supported. The included files must have a
Dave Love <fx@gnu.org>
parents:
diff changeset
390 file variable @code{TeX-master} or @code{tex-main-file} pointing to the
Dave Love <fx@gnu.org>
parents:
diff changeset
391 master file. @b{Ref@TeX{}} provides cross-referencing information from
Dave Love <fx@gnu.org>
parents:
diff changeset
392 all parts of the document, and across document borders
Dave Love <fx@gnu.org>
parents:
diff changeset
393 (@file{xr.sty}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
394
Dave Love <fx@gnu.org>
parents:
diff changeset
395 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
396 @b{Document Parsing}@* @b{Ref@TeX{}} needs to parse the document in
Dave Love <fx@gnu.org>
parents:
diff changeset
397 order to find labels and other information. It does it automatically
Dave Love <fx@gnu.org>
parents:
diff changeset
398 once and updates its list internally when @code{reftex-label} and
Dave Love <fx@gnu.org>
parents:
diff changeset
399 @code{reftex-index} are used. To enforce reparsing, call any of the
Dave Love <fx@gnu.org>
parents:
diff changeset
400 commands described above with a raw @kbd{C-u} prefix, or press the
Dave Love <fx@gnu.org>
parents:
diff changeset
401 @kbd{r} key in the label selection buffer, the table of contents
Dave Love <fx@gnu.org>
parents:
diff changeset
402 buffer, or the index buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
403
Dave Love <fx@gnu.org>
parents:
diff changeset
404 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
405 @b{AUCTeX} @* If your major LaTeX mode is AUCTeX, @b{Ref@TeX{}} can
Dave Love <fx@gnu.org>
parents:
diff changeset
406 cooperate with it (see variable @code{reftex-plug-into-AUCTeX}). AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
407 contains style files which trigger appropriate settings in
Dave Love <fx@gnu.org>
parents:
diff changeset
408 @b{Ref@TeX{}}, so that for many of the popular LaTeX packages no
Dave Love <fx@gnu.org>
parents:
diff changeset
409 additional customizations will be necessary.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
410
Dave Love <fx@gnu.org>
parents:
diff changeset
411 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
412 @b{Useful Settings}@* To make @b{Ref@TeX{}} faster for large documents,
Dave Love <fx@gnu.org>
parents:
diff changeset
413 try these:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
414 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
415 (setq reftex-enable-partial-scans t)
Dave Love <fx@gnu.org>
parents:
diff changeset
416 (setq reftex-save-parse-info t)
Dave Love <fx@gnu.org>
parents:
diff changeset
417 (setq reftex-use-multiple-selection-buffers t)
Dave Love <fx@gnu.org>
parents:
diff changeset
418 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
419
Dave Love <fx@gnu.org>
parents:
diff changeset
420 To integrate with AUCTeX, use
Dave Love <fx@gnu.org>
parents:
diff changeset
421 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
422 (setq reftex-plug-into-AUCTeX t)
Dave Love <fx@gnu.org>
parents:
diff changeset
423 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
424
Dave Love <fx@gnu.org>
parents:
diff changeset
425 To make your own LaTeX macro definitions known to @b{Ref@TeX{}},
Dave Love <fx@gnu.org>
parents:
diff changeset
426 customize the variables@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
427 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
428 @code{reftex-label-alist} @r{(for label macros/environments)}
Dave Love <fx@gnu.org>
parents:
diff changeset
429 @code{reftex-section-levels} @r{(for sectioning commands)}
Dave Love <fx@gnu.org>
parents:
diff changeset
430 @code{reftex-cite-format} @r{(for @code{\cite}-like macros)}
Dave Love <fx@gnu.org>
parents:
diff changeset
431 @code{reftex-index-macros} @r{(for @code{\index}-like macros)}
Dave Love <fx@gnu.org>
parents:
diff changeset
432 @code{reftex-index-default-macro} @r{(to set the default macro)}
Dave Love <fx@gnu.org>
parents:
diff changeset
433 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
434 If you have a large number of macros defined, you may want to write
Dave Love <fx@gnu.org>
parents:
diff changeset
435 an AUCTeX style file to support them with both AUCTeX and
Dave Love <fx@gnu.org>
parents:
diff changeset
436 @b{Ref@TeX{}}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
437
Dave Love <fx@gnu.org>
parents:
diff changeset
438 @item @b{Where Next?}@* Go ahead and use @b{Ref@TeX{}}. Use its menus
Dave Love <fx@gnu.org>
parents:
diff changeset
439 until you have picked up the key bindings. For an overview of what you
Dave Love <fx@gnu.org>
parents:
diff changeset
440 can do in each of the different special buffers, press @kbd{?}. Read
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
441 the manual if you get stuck, of if you are curious what else might be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
442 available. The first part of the manual explains in
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
443 a tutorial way how to use and customize @b{Ref@TeX{}}. The second
Dave Love <fx@gnu.org>
parents:
diff changeset
444 part is a command and variable reference.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
445 @end enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
446
Dave Love <fx@gnu.org>
parents:
diff changeset
447 @node Table of Contents, Labels and References, Introduction, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
448 @chapter Table of Contents
Dave Love <fx@gnu.org>
parents:
diff changeset
449 @cindex @file{*toc*} buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
450 @cindex Table of contents buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
451 @findex reftex-toc
Dave Love <fx@gnu.org>
parents:
diff changeset
452 @kindex C-c =
Dave Love <fx@gnu.org>
parents:
diff changeset
453
Dave Love <fx@gnu.org>
parents:
diff changeset
454 Pressing the keys @kbd{C-c =} pops up a buffer showing the table of
Dave Love <fx@gnu.org>
parents:
diff changeset
455 contents of the document. By default, this @file{*toc*} buffer shows
Dave Love <fx@gnu.org>
parents:
diff changeset
456 only the sections of a document. Using the @kbd{l} and @kbd{i} keys you
Dave Love <fx@gnu.org>
parents:
diff changeset
457 can display all labels and index entries defined in the document as
Dave Love <fx@gnu.org>
parents:
diff changeset
458 well.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
459
Dave Love <fx@gnu.org>
parents:
diff changeset
460 With the cursor in any of the lines denoting a location in the
Dave Love <fx@gnu.org>
parents:
diff changeset
461 document, simple key strokes will display the corresponding part in
Dave Love <fx@gnu.org>
parents:
diff changeset
462 another window, jump to that location, or perform other actions.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
463
Dave Love <fx@gnu.org>
parents:
diff changeset
464 @kindex ?
Dave Love <fx@gnu.org>
parents:
diff changeset
465 Here is a list of special commands in the @file{*toc*} buffer. A
Dave Love <fx@gnu.org>
parents:
diff changeset
466 summary of this information is always available by pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
467 @kbd{?}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
468
Dave Love <fx@gnu.org>
parents:
diff changeset
469 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
470
Dave Love <fx@gnu.org>
parents:
diff changeset
471 @tablesubheading{General}
Dave Love <fx@gnu.org>
parents:
diff changeset
472 @item ?
Dave Love <fx@gnu.org>
parents:
diff changeset
473 Display a summary of commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
474
Dave Love <fx@gnu.org>
parents:
diff changeset
475 @item 0-9, -
Dave Love <fx@gnu.org>
parents:
diff changeset
476 Prefix argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
477
Dave Love <fx@gnu.org>
parents:
diff changeset
478 @tablesubheading{Moving around}
Dave Love <fx@gnu.org>
parents:
diff changeset
479 @item n
Dave Love <fx@gnu.org>
parents:
diff changeset
480 Goto next entry in the table of context.
Dave Love <fx@gnu.org>
parents:
diff changeset
481
Dave Love <fx@gnu.org>
parents:
diff changeset
482 @item p
Dave Love <fx@gnu.org>
parents:
diff changeset
483 Goto previous entry in the table of context.
Dave Love <fx@gnu.org>
parents:
diff changeset
484
Dave Love <fx@gnu.org>
parents:
diff changeset
485 @item C-c C-n
Dave Love <fx@gnu.org>
parents:
diff changeset
486 Goto next section heading. Useful when many labels and index entries
Dave Love <fx@gnu.org>
parents:
diff changeset
487 separate section headings.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
488
Dave Love <fx@gnu.org>
parents:
diff changeset
489 @item C-c C-p
Dave Love <fx@gnu.org>
parents:
diff changeset
490 Goto previous section heading.
Dave Love <fx@gnu.org>
parents:
diff changeset
491
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
492 @item N z
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
493 Jump to section N, using the prefix arg. For example, @kbd{3 z} jumps
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
494 to section 3.@refill
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
495
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
496 @tablesubheading{Access to document locations}
Dave Love <fx@gnu.org>
parents:
diff changeset
497 @item @key{SPC}
Dave Love <fx@gnu.org>
parents:
diff changeset
498 Show the corresponding location in another window. This command does
Dave Love <fx@gnu.org>
parents:
diff changeset
499 @emph{not} select that other window.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
500
Dave Love <fx@gnu.org>
parents:
diff changeset
501 @item @key{TAB}
Dave Love <fx@gnu.org>
parents:
diff changeset
502 Goto the location in another window.
Dave Love <fx@gnu.org>
parents:
diff changeset
503
Dave Love <fx@gnu.org>
parents:
diff changeset
504 @item @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
505 Go to the location and hide the @file{*toc*} buffer. This will restore
Dave Love <fx@gnu.org>
parents:
diff changeset
506 the window configuration before @code{reftex-toc} (@kbd{C-c =}) was
Dave Love <fx@gnu.org>
parents:
diff changeset
507 called.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
508
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
509 @item mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
510 @vindex reftex-highlight-selection
Dave Love <fx@gnu.org>
parents:
diff changeset
511 Clicking with mouse button 2 on a line has the same effect as @key{RET}.
Dave Love <fx@gnu.org>
parents:
diff changeset
512 See also variable @code{reftex-highlight-selection}, @ref{Options
Dave Love <fx@gnu.org>
parents:
diff changeset
513 (Fontification)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
514
Dave Love <fx@gnu.org>
parents:
diff changeset
515 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
516 @vindex reftex-toc-follow-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
517 @vindex reftex-revisit-to-follow
Dave Love <fx@gnu.org>
parents:
diff changeset
518 Toggle follow mode. When follow mode is active, the other window will
Dave Love <fx@gnu.org>
parents:
diff changeset
519 always show the location corresponding to the line at point in the
Dave Love <fx@gnu.org>
parents:
diff changeset
520 @file{*toc*} buffer. This is similar to pressing @key{SPC} after each
Dave Love <fx@gnu.org>
parents:
diff changeset
521 cursor motion. The default for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
522 @code{reftex-toc-follow-mode}. Note that only context in files already
Dave Love <fx@gnu.org>
parents:
diff changeset
523 visited is shown. @b{Ref@TeX{}} will not visit a file just for follow
Dave Love <fx@gnu.org>
parents:
diff changeset
524 mode. See, however, the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
525 @code{reftex-revisit-to-follow}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
526
Dave Love <fx@gnu.org>
parents:
diff changeset
527 @item .
Dave Love <fx@gnu.org>
parents:
diff changeset
528 Show calling point in another window. This is the point from where
Dave Love <fx@gnu.org>
parents:
diff changeset
529 @code{reftex-toc} was last called.
Dave Love <fx@gnu.org>
parents:
diff changeset
530
Dave Love <fx@gnu.org>
parents:
diff changeset
531 @tablesubheading{Exiting}
Dave Love <fx@gnu.org>
parents:
diff changeset
532 @item q
Dave Love <fx@gnu.org>
parents:
diff changeset
533 Hide the @file{*toc*} buffer, return to the position where
Dave Love <fx@gnu.org>
parents:
diff changeset
534 @code{reftex-toc} was last called.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
535
Dave Love <fx@gnu.org>
parents:
diff changeset
536 @item k
Dave Love <fx@gnu.org>
parents:
diff changeset
537 Kill the @file{*toc*} buffer, return to the position where
Dave Love <fx@gnu.org>
parents:
diff changeset
538 @code{reftex-toc} was last called.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
539
Dave Love <fx@gnu.org>
parents:
diff changeset
540 @item C-c >
Dave Love <fx@gnu.org>
parents:
diff changeset
541 Switch to the @file{*Index*} buffer of this document. With prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
542 @samp{2}, restrict the index to the section at point in the @file{*toc*}
Dave Love <fx@gnu.org>
parents:
diff changeset
543 buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
544
Dave Love <fx@gnu.org>
parents:
diff changeset
545 @tablesubheading{Controlling what gets displayed}
Dave Love <fx@gnu.org>
parents:
diff changeset
546
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
547 @item t
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
548 @vindex reftex-toc-max-level
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
549 Change the maximum level of toc entries displayed in the @file{*toc*}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
550 buffer. Without prefix arg, all levels will be included. With prefix
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
551 arg (e.g @kbd{3 t}), ignore all toc entries with level greater than
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
552 @var{arg} (3 in this case). Chapters are level 1, sections are level 2.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
553 The mode line @samp{T<>} indicator shows the current value. The default
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
554 depth can be configured with the variable
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
555 @code{reftex-toc-max-level}.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
556
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
557 @item F
Dave Love <fx@gnu.org>
parents:
diff changeset
558 @vindex reftex-toc-include-file-boundaries
Dave Love <fx@gnu.org>
parents:
diff changeset
559 Toggle the display of the file borders of a multifile document in the
Dave Love <fx@gnu.org>
parents:
diff changeset
560 @file{*toc*} buffer. The default for this flag can be set with the
Dave Love <fx@gnu.org>
parents:
diff changeset
561 variable @code{reftex-toc-include-file-boundaries}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
562
Dave Love <fx@gnu.org>
parents:
diff changeset
563 @item l
Dave Love <fx@gnu.org>
parents:
diff changeset
564 @vindex reftex-toc-include-labels
Dave Love <fx@gnu.org>
parents:
diff changeset
565 Toggle the display of labels in the @file{*toc*} buffer. The default
Dave Love <fx@gnu.org>
parents:
diff changeset
566 for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
567 @code{reftex-toc-include-labels}. When called with a prefix argument,
Dave Love <fx@gnu.org>
parents:
diff changeset
568 @b{Ref@TeX{}} will prompt for a label type and include only labels of
Dave Love <fx@gnu.org>
parents:
diff changeset
569 the selected type in the @file{*toc*} buffer. The mode line @samp{L<>}
Dave Love <fx@gnu.org>
parents:
diff changeset
570 indicator shows which labels are included.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
571
Dave Love <fx@gnu.org>
parents:
diff changeset
572 @item i
Dave Love <fx@gnu.org>
parents:
diff changeset
573 @vindex reftex-toc-include-index-entries
Dave Love <fx@gnu.org>
parents:
diff changeset
574 Toggle the display of index entries in the @file{*toc*} buffer. The
Dave Love <fx@gnu.org>
parents:
diff changeset
575 default for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
576 @code{reftex-toc-include-index-entries}. When called with a prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
577 argument, @b{Ref@TeX{}} will prompt for a specific index and include
Dave Love <fx@gnu.org>
parents:
diff changeset
578 only entries in the selected index in the @file{*toc*} buffer. The mode
Dave Love <fx@gnu.org>
parents:
diff changeset
579 line @samp{I<>} indicator shows which index is used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
580
Dave Love <fx@gnu.org>
parents:
diff changeset
581 @item c
Dave Love <fx@gnu.org>
parents:
diff changeset
582 @vindex reftex-toc-include-context
Dave Love <fx@gnu.org>
parents:
diff changeset
583 Toggle the display of label and index context in the @file{*toc*}
Dave Love <fx@gnu.org>
parents:
diff changeset
584 buffer. The default for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
585 @code{reftex-toc-include-context}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
586
Dave Love <fx@gnu.org>
parents:
diff changeset
587 @tablesubheading{Updating the buffer}
Dave Love <fx@gnu.org>
parents:
diff changeset
588
Dave Love <fx@gnu.org>
parents:
diff changeset
589 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
590 Rebuild the @file{*toc*} buffer. This does @emph{not} rescan the
Dave Love <fx@gnu.org>
parents:
diff changeset
591 document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
592
Dave Love <fx@gnu.org>
parents:
diff changeset
593 @item r
Dave Love <fx@gnu.org>
parents:
diff changeset
594 @vindex reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
595 Reparse the LaTeX document and rebuild the @file{*toc*} buffer. When
Dave Love <fx@gnu.org>
parents:
diff changeset
596 @code{reftex-enable-partial-scans} is non-nil, rescan only the file this
Dave Love <fx@gnu.org>
parents:
diff changeset
597 location is defined in, not the entire document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
598
Dave Love <fx@gnu.org>
parents:
diff changeset
599 @item C-u r
Dave Love <fx@gnu.org>
parents:
diff changeset
600 Reparse the @emph{entire} LaTeX document and rebuild the @file{*toc*}
Dave Love <fx@gnu.org>
parents:
diff changeset
601 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
602
Dave Love <fx@gnu.org>
parents:
diff changeset
603 @item x
Dave Love <fx@gnu.org>
parents:
diff changeset
604 Switch to the @file{*toc*} buffer of an external document. When the
Dave Love <fx@gnu.org>
parents:
diff changeset
605 current document is using the @code{xr} package (@pxref{xr (LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
606 package)}), @b{Ref@TeX{}} will switch to one of the external
Dave Love <fx@gnu.org>
parents:
diff changeset
607 documents.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
608
Dave Love <fx@gnu.org>
parents:
diff changeset
609 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
610
Dave Love <fx@gnu.org>
parents:
diff changeset
611 @vindex reftex-toc-map
Dave Love <fx@gnu.org>
parents:
diff changeset
612 In order to define additional commands for the @file{*toc*} buffer, the
Dave Love <fx@gnu.org>
parents:
diff changeset
613 keymap @code{reftex-toc-map} may be used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
614
Dave Love <fx@gnu.org>
parents:
diff changeset
615 @cindex Sectioning commands
Dave Love <fx@gnu.org>
parents:
diff changeset
616 @cindex KOMA-Script, LaTeX classes
Dave Love <fx@gnu.org>
parents:
diff changeset
617 @cindex LaTeX classes, KOMA-Script
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
618 @cindex TOC entries for environments
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
619 @vindex reftex-section-levels
Dave Love <fx@gnu.org>
parents:
diff changeset
620 The section macros recognized by @b{Ref@TeX{}} are all LaTeX section
Dave Love <fx@gnu.org>
parents:
diff changeset
621 macros (from @code{\part} to @code{\subsubparagraph}) and the commands
Dave Love <fx@gnu.org>
parents:
diff changeset
622 @code{\addchap} and @code{\addsec} from the KOMA-Script classes.
Dave Love <fx@gnu.org>
parents:
diff changeset
623 Additional macros can be configured with the variable
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
624 @code{reftex-section-levels}. It is also possible to add certain LaTeX
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
625 environments to the table of contents. This is probably only useful for
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
626 theorem-like environments. @xref{Defining Label Environments}, for an
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
627 example.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
628
Dave Love <fx@gnu.org>
parents:
diff changeset
629 @node Labels and References, Citations, Table of Contents, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
630 @chapter Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
631 @cindex Labels in LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
632 @cindex References in LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
633 @cindex Label category
Dave Love <fx@gnu.org>
parents:
diff changeset
634 @cindex Label environment
Dave Love <fx@gnu.org>
parents:
diff changeset
635 @cindex @code{\label}
Dave Love <fx@gnu.org>
parents:
diff changeset
636
Dave Love <fx@gnu.org>
parents:
diff changeset
637 LaTeX provides a powerful mechanism to deal with cross--references in a
Dave Love <fx@gnu.org>
parents:
diff changeset
638 document. When writing a document, any part of it can be marked with a
Dave Love <fx@gnu.org>
parents:
diff changeset
639 label, like @samp{\label@{mark@}}. LaTeX records the current value of a
Dave Love <fx@gnu.org>
parents:
diff changeset
640 certain counter when a label is defined. Later references to this label
Dave Love <fx@gnu.org>
parents:
diff changeset
641 (like @samp{\ref@{mark@}}) will produce the recorded value of the
Dave Love <fx@gnu.org>
parents:
diff changeset
642 counter.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
643
Dave Love <fx@gnu.org>
parents:
diff changeset
644 Labels can be used to mark sections, figures, tables, equations,
Dave Love <fx@gnu.org>
parents:
diff changeset
645 footnotes, items in enumerate lists etc. LaTeX is context sensitive in
Dave Love <fx@gnu.org>
parents:
diff changeset
646 doing this: A label defined in a figure environment automatically
Dave Love <fx@gnu.org>
parents:
diff changeset
647 records the figure counter, not the section counter.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
648
Dave Love <fx@gnu.org>
parents:
diff changeset
649 Several different environments can share a common counter and therefore
Dave Love <fx@gnu.org>
parents:
diff changeset
650 a common label category. E.g. labels in both @code{equation} and
Dave Love <fx@gnu.org>
parents:
diff changeset
651 @code{eqnarray} environments record the value of the same counter - the
Dave Love <fx@gnu.org>
parents:
diff changeset
652 equation counter.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
653
Dave Love <fx@gnu.org>
parents:
diff changeset
654 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
655 * Creating Labels::
Dave Love <fx@gnu.org>
parents:
diff changeset
656 * Referencing Labels::
Dave Love <fx@gnu.org>
parents:
diff changeset
657 * Builtin Label Environments:: The environments RefTeX knows about.
Dave Love <fx@gnu.org>
parents:
diff changeset
658 * Defining Label Environments:: ... and environments it doesn't.
Dave Love <fx@gnu.org>
parents:
diff changeset
659 * Reference Info:: View the label corresponding to a \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
660 * xr (LaTeX package):: References to external documents.
Dave Love <fx@gnu.org>
parents:
diff changeset
661 * varioref (LaTeX package):: How to create \vref instead of \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
662 * fancyref (LaTeX package):: How to create \fref instead of \ref.
Dave Love <fx@gnu.org>
parents:
diff changeset
663 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
664
Dave Love <fx@gnu.org>
parents:
diff changeset
665 @node Creating Labels, Referencing Labels, , Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
666 @section Creating Labels
Dave Love <fx@gnu.org>
parents:
diff changeset
667 @cindex Creating labels
Dave Love <fx@gnu.org>
parents:
diff changeset
668 @cindex Labels, creating
Dave Love <fx@gnu.org>
parents:
diff changeset
669 @cindex Labels, deriving from context
Dave Love <fx@gnu.org>
parents:
diff changeset
670 @kindex C-c (
Dave Love <fx@gnu.org>
parents:
diff changeset
671 @findex reftex-label
Dave Love <fx@gnu.org>
parents:
diff changeset
672
Dave Love <fx@gnu.org>
parents:
diff changeset
673 In order to create a label in a LaTeX document, press @kbd{C-c (}
Dave Love <fx@gnu.org>
parents:
diff changeset
674 (@code{reftex-label}). Just like LaTeX, @b{Ref@TeX{}} is context sensitive
Dave Love <fx@gnu.org>
parents:
diff changeset
675 and will figure out the environment it currently is in and adapt the
Dave Love <fx@gnu.org>
parents:
diff changeset
676 label to that environment. A label usually consists of a short prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
677 indicating the type of the label and a unique mark. @b{Ref@TeX{}} has
Dave Love <fx@gnu.org>
parents:
diff changeset
678 3 different modes to create this mark.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
679
Dave Love <fx@gnu.org>
parents:
diff changeset
680 @enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
681 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
682 @vindex reftex-translate-to-ascii-function
Dave Love <fx@gnu.org>
parents:
diff changeset
683 @vindex reftex-derive-label-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
684 @vindex reftex-label-illegal-re
Dave Love <fx@gnu.org>
parents:
diff changeset
685 @vindex reftex-abbrev-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
686 A label can be derived from context. This means, @b{Ref@TeX{}} takes
Dave Love <fx@gnu.org>
parents:
diff changeset
687 the context of the label definition and constructs a label from
Dave Love <fx@gnu.org>
parents:
diff changeset
688 that@footnote{Note that the context may contain constructs which are
Dave Love <fx@gnu.org>
parents:
diff changeset
689 illegal in labels. @b{Ref@TeX{}} will therefore strip the accent from
Dave Love <fx@gnu.org>
parents:
diff changeset
690 accented Latin-1 characters and remove everything else which is not
Dave Love <fx@gnu.org>
parents:
diff changeset
691 legal in labels. This mechanism is safe, but may not be satisfactory
Dave Love <fx@gnu.org>
parents:
diff changeset
692 for non-western languages. Check the following variables if you need to
Dave Love <fx@gnu.org>
parents:
diff changeset
693 change things: @code{reftex-translate-to-ascii-function},
Dave Love <fx@gnu.org>
parents:
diff changeset
694 @code{reftex-derive-label-parameters}, @code{reftex-label-illegal-re},
Dave Love <fx@gnu.org>
parents:
diff changeset
695 @code{reftex-abbrev-parameters}.}. This works best for section labels,
Dave Love <fx@gnu.org>
parents:
diff changeset
696 where the section heading is used to construct a label. In fact,
Dave Love <fx@gnu.org>
parents:
diff changeset
697 @b{Ref@TeX{}}'s default settings use this method only for section
Dave Love <fx@gnu.org>
parents:
diff changeset
698 labels. You will be asked to confirm the derived label, or edit
Dave Love <fx@gnu.org>
parents:
diff changeset
699 it.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
700
Dave Love <fx@gnu.org>
parents:
diff changeset
701 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
702 We may also use a simple unique number to identify a label. This is
Dave Love <fx@gnu.org>
parents:
diff changeset
703 mostly useful for labels where it is difficult to come up with a very
Dave Love <fx@gnu.org>
parents:
diff changeset
704 good descriptive name. @b{Ref@TeX{}}'s default settings use this method
Dave Love <fx@gnu.org>
parents:
diff changeset
705 for equations, enumerate items and footnotes. The author of @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
706 tends to write documents with many equations and finds it impossible
Dave Love <fx@gnu.org>
parents:
diff changeset
707 to come up with good names for each of them. These simple labels are
Dave Love <fx@gnu.org>
parents:
diff changeset
708 inserted without query, and are therefore very fast. Good descriptive
Dave Love <fx@gnu.org>
parents:
diff changeset
709 names are not really necessary as @b{Ref@TeX{}} will provide context to
Dave Love <fx@gnu.org>
parents:
diff changeset
710 reference a label (@pxref{Referencing Labels}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
711
Dave Love <fx@gnu.org>
parents:
diff changeset
712 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
713 The third method is to ask the user for a label. This is most
Dave Love <fx@gnu.org>
parents:
diff changeset
714 useful for things which are easy to describe briefly and do not turn up
Dave Love <fx@gnu.org>
parents:
diff changeset
715 too frequently in a document. @b{Ref@TeX{}} uses this for figures and
Dave Love <fx@gnu.org>
parents:
diff changeset
716 tables. Of course, one can enter the label directly by typing the full
Dave Love <fx@gnu.org>
parents:
diff changeset
717 @samp{\label@{mark@}}. The advantage of using @code{reftex-label}
Dave Love <fx@gnu.org>
parents:
diff changeset
718 anyway is that @b{Ref@TeX{}} will know that a new label has been defined.
Dave Love <fx@gnu.org>
parents:
diff changeset
719 It will then not be necessary to rescan the document in order to access
Dave Love <fx@gnu.org>
parents:
diff changeset
720 this label later.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
721 @end enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
722
Dave Love <fx@gnu.org>
parents:
diff changeset
723 @vindex reftex-insert-label-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
724 If you want to change the way certain labels are created, check out the
Dave Love <fx@gnu.org>
parents:
diff changeset
725 variable @code{reftex-insert-label-flags} (@pxref{Options (Creating
Dave Love <fx@gnu.org>
parents:
diff changeset
726 Labels)}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
727
Dave Love <fx@gnu.org>
parents:
diff changeset
728 If you are using AUCTeX to write your LaTeX documents, you can
Dave Love <fx@gnu.org>
parents:
diff changeset
729 set it up to delegate the creation of labels to
Dave Love <fx@gnu.org>
parents:
diff changeset
730 @b{Ref@TeX{}}. @xref{AUCTeX}, for more information.
Dave Love <fx@gnu.org>
parents:
diff changeset
731
Dave Love <fx@gnu.org>
parents:
diff changeset
732 @node Referencing Labels, Builtin Label Environments, Creating Labels, Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
733 @section Referencing Labels
Dave Love <fx@gnu.org>
parents:
diff changeset
734 @cindex Referencing labels
Dave Love <fx@gnu.org>
parents:
diff changeset
735 @cindex Labels, referencing
Dave Love <fx@gnu.org>
parents:
diff changeset
736 @cindex Selection buffer, labels
Dave Love <fx@gnu.org>
parents:
diff changeset
737 @cindex Selection process
Dave Love <fx@gnu.org>
parents:
diff changeset
738 @cindex @code{\ref}
Dave Love <fx@gnu.org>
parents:
diff changeset
739 @kindex C-c )
Dave Love <fx@gnu.org>
parents:
diff changeset
740 @findex reftex-reference
Dave Love <fx@gnu.org>
parents:
diff changeset
741
Dave Love <fx@gnu.org>
parents:
diff changeset
742 Referencing Labels is really at the heart of @b{Ref@TeX{}}. Press @kbd{C-c
Dave Love <fx@gnu.org>
parents:
diff changeset
743 )} in order to reference a label (reftex-reference). This will start a
Dave Love <fx@gnu.org>
parents:
diff changeset
744 selection process and finally insert the complete @samp{\ref@{label@}}
Dave Love <fx@gnu.org>
parents:
diff changeset
745 into the buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
746
Dave Love <fx@gnu.org>
parents:
diff changeset
747 First, @b{Ref@TeX{}} will determine the label category which is required.
Dave Love <fx@gnu.org>
parents:
diff changeset
748 Often that can be figured out from context. For example, if you
Dave Love <fx@gnu.org>
parents:
diff changeset
749 write @samp{As shown in eq.} and the press @kbd{C-c )}, @b{Ref@TeX{}} knows
Dave Love <fx@gnu.org>
parents:
diff changeset
750 that an equation label is going to be referenced. If it cannot figure
Dave Love <fx@gnu.org>
parents:
diff changeset
751 out what label category is needed, it will query for one.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
752
Dave Love <fx@gnu.org>
parents:
diff changeset
753 You will then be presented with a label selection menu. This is a
Dave Love <fx@gnu.org>
parents:
diff changeset
754 special buffer which contains an outline of the document along with all
Dave Love <fx@gnu.org>
parents:
diff changeset
755 labels of the given label category. In addition, next to the label
Dave Love <fx@gnu.org>
parents:
diff changeset
756 there will be one line of context of the label definition, which is some
Dave Love <fx@gnu.org>
parents:
diff changeset
757 text in the buffer near the label definition. Usually this is
Dave Love <fx@gnu.org>
parents:
diff changeset
758 sufficient to identify the label. If you are unsure about a certain
Dave Love <fx@gnu.org>
parents:
diff changeset
759 label, pressing @key{SPC} will show the label definition point in
Dave Love <fx@gnu.org>
parents:
diff changeset
760 another window.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
761
Dave Love <fx@gnu.org>
parents:
diff changeset
762 In order to reference a label, move to cursor to the correct label and
Dave Love <fx@gnu.org>
parents:
diff changeset
763 press @key{RET}. You can also reference several labels with a single
Dave Love <fx@gnu.org>
parents:
diff changeset
764 call to @code{reftex-reference} by marking entries with the @kbd{m}
Dave Love <fx@gnu.org>
parents:
diff changeset
765 key (see below).
Dave Love <fx@gnu.org>
parents:
diff changeset
766
Dave Love <fx@gnu.org>
parents:
diff changeset
767 @kindex ?
Dave Love <fx@gnu.org>
parents:
diff changeset
768 Here is a list of special commands in the selection buffer. A summary
Dave Love <fx@gnu.org>
parents:
diff changeset
769 of this information is always available from the selection process by
Dave Love <fx@gnu.org>
parents:
diff changeset
770 pressing @kbd{?}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
771
Dave Love <fx@gnu.org>
parents:
diff changeset
772
Dave Love <fx@gnu.org>
parents:
diff changeset
773
Dave Love <fx@gnu.org>
parents:
diff changeset
774 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
775 @tablesubheading{General}
Dave Love <fx@gnu.org>
parents:
diff changeset
776 @item ?
Dave Love <fx@gnu.org>
parents:
diff changeset
777 Show a summary of available commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
778
Dave Love <fx@gnu.org>
parents:
diff changeset
779 @item 0-9,-
Dave Love <fx@gnu.org>
parents:
diff changeset
780 Prefix argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
781
Dave Love <fx@gnu.org>
parents:
diff changeset
782 @tablesubheading{Moving around}
Dave Love <fx@gnu.org>
parents:
diff changeset
783 @item n
Dave Love <fx@gnu.org>
parents:
diff changeset
784 Go to next label.
Dave Love <fx@gnu.org>
parents:
diff changeset
785
Dave Love <fx@gnu.org>
parents:
diff changeset
786 @item p
Dave Love <fx@gnu.org>
parents:
diff changeset
787 Go to previous label.
Dave Love <fx@gnu.org>
parents:
diff changeset
788
Dave Love <fx@gnu.org>
parents:
diff changeset
789 @item b
Dave Love <fx@gnu.org>
parents:
diff changeset
790 Jump back to the position where you last left the selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
791 Normally this should get you back to the last referenced label.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
792
Dave Love <fx@gnu.org>
parents:
diff changeset
793 @item C-c C-n
Dave Love <fx@gnu.org>
parents:
diff changeset
794 Goto next section heading.
Dave Love <fx@gnu.org>
parents:
diff changeset
795
Dave Love <fx@gnu.org>
parents:
diff changeset
796 @item C-c C-p
Dave Love <fx@gnu.org>
parents:
diff changeset
797 Goto previous section heading.
Dave Love <fx@gnu.org>
parents:
diff changeset
798
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
799 @item N z
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
800 Jump to section N, using the prefix arg. For example @kbd{3 z} jumps to
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
801 section 3.@refill
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
802
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
803 @tablesubheading{Displaying Context}
Dave Love <fx@gnu.org>
parents:
diff changeset
804 @item @key{SPC}
Dave Love <fx@gnu.org>
parents:
diff changeset
805 Show the surroundings of the definition of the current label in another
Dave Love <fx@gnu.org>
parents:
diff changeset
806 window. See also the @kbd{f} key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
807
Dave Love <fx@gnu.org>
parents:
diff changeset
808 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
809 @vindex reftex-revisit-to-follow
Dave Love <fx@gnu.org>
parents:
diff changeset
810 Toggle follow mode. When follow mode is active, the other window will
Dave Love <fx@gnu.org>
parents:
diff changeset
811 always display the full context of the current label. This is similar
Dave Love <fx@gnu.org>
parents:
diff changeset
812 to pressing @key{SPC} after each cursor motion. Note that only context
Dave Love <fx@gnu.org>
parents:
diff changeset
813 in files already visited is shown. @b{RefTeX} will not visit a file
Dave Love <fx@gnu.org>
parents:
diff changeset
814 just for follow mode. See, however, the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
815 @code{reftex-revisit-to-follow}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
816
Dave Love <fx@gnu.org>
parents:
diff changeset
817 @item .
Dave Love <fx@gnu.org>
parents:
diff changeset
818 Show insertion point in another window. This is the point from where you
Dave Love <fx@gnu.org>
parents:
diff changeset
819 called @code{reftex-reference}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
820
Dave Love <fx@gnu.org>
parents:
diff changeset
821 @tablesubheading{Selecting a label and creating the reference}
Dave Love <fx@gnu.org>
parents:
diff changeset
822 @item @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
823 Insert a reference to the label at point into the buffer from which the
Dave Love <fx@gnu.org>
parents:
diff changeset
824 selection process was started. When entries have been marked, @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
825 references all marked labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
826
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
827 @item mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
828 @vindex reftex-highlight-selection
Dave Love <fx@gnu.org>
parents:
diff changeset
829 Clicking with mouse button 2 on a label will accept it like @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
830 would. See also variable @code{reftex-highlight-selection}, @ref{Options
Dave Love <fx@gnu.org>
parents:
diff changeset
831 (Misc)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
832
Dave Love <fx@gnu.org>
parents:
diff changeset
833 @vindex reftex-multiref-punctuation
Dave Love <fx@gnu.org>
parents:
diff changeset
834 @item m - + ,
Dave Love <fx@gnu.org>
parents:
diff changeset
835 Mark the current entry. When several entries have been marked, pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
836 @kbd{RET} will accept all of them and place them into several
Dave Love <fx@gnu.org>
parents:
diff changeset
837 @code{\ref} macros. The special markers @samp{,-+} also store a
Dave Love <fx@gnu.org>
parents:
diff changeset
838 separator to be inserted before the corresponding reference. So marking
Dave Love <fx@gnu.org>
parents:
diff changeset
839 six entries with the keys @samp{m , , - , +} will give a reference list
Dave Love <fx@gnu.org>
parents:
diff changeset
840 like this (see the variable @code{reftex-multiref-punctuation})
Dave Love <fx@gnu.org>
parents:
diff changeset
841 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
842 In eqs. (1), (2), (3)--(4), (5) and (6)
Dave Love <fx@gnu.org>
parents:
diff changeset
843 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
844
Dave Love <fx@gnu.org>
parents:
diff changeset
845 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
846 Unmark a marked entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
847
Dave Love <fx@gnu.org>
parents:
diff changeset
848 @c FIXME: Do we need `A' as well for consistency?
Dave Love <fx@gnu.org>
parents:
diff changeset
849 @cindex LaTeX packages, @code{saferef}
Dave Love <fx@gnu.org>
parents:
diff changeset
850 @cindex @code{saferef}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
851 @item a
Dave Love <fx@gnu.org>
parents:
diff changeset
852 Accept the marked entries and put all labels as a comma-separated list
Dave Love <fx@gnu.org>
parents:
diff changeset
853 into one @emph{single} @code{\ref} macro. Some packages like
Dave Love <fx@gnu.org>
parents:
diff changeset
854 @file{saferef.sty} support multiple references in this way.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
855
Dave Love <fx@gnu.org>
parents:
diff changeset
856 @item l
Dave Love <fx@gnu.org>
parents:
diff changeset
857 Use the last referenced label(s) again. This is equivalent to moving to
Dave Love <fx@gnu.org>
parents:
diff changeset
858 that label and pressing @key{RET}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
859
Dave Love <fx@gnu.org>
parents:
diff changeset
860 @item @key{TAB}
Dave Love <fx@gnu.org>
parents:
diff changeset
861 Enter a label with completion. This may also be a label which does not
Dave Love <fx@gnu.org>
parents:
diff changeset
862 yet exist in the document.
Dave Love <fx@gnu.org>
parents:
diff changeset
863
Dave Love <fx@gnu.org>
parents:
diff changeset
864 @item v
Dave Love <fx@gnu.org>
parents:
diff changeset
865 @cindex @code{varioref}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
866 @cindex @code{\vref}
Dave Love <fx@gnu.org>
parents:
diff changeset
867 @cindex LaTeX packages, @code{varioref}
Dave Love <fx@gnu.org>
parents:
diff changeset
868 Toggle between @code{\ref} and @code{\vref} macro for references. The
Dave Love <fx@gnu.org>
parents:
diff changeset
869 @code{\vref} macro is defined in the @code{varioref} LaTeX package.
Dave Love <fx@gnu.org>
parents:
diff changeset
870 With this key you can force @b{Ref@TeX{}} to insert a @code{\vref}
Dave Love <fx@gnu.org>
parents:
diff changeset
871 macro. The current state of this flag is displayed by the @samp{S<>}
Dave Love <fx@gnu.org>
parents:
diff changeset
872 indicator in the mode line of the selection buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
873
Dave Love <fx@gnu.org>
parents:
diff changeset
874 @item V
Dave Love <fx@gnu.org>
parents:
diff changeset
875 @cindex @code{fancyref}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
876 @cindex @code{\fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
877 @cindex @code{\Fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
878 @cindex LaTeX packages, @code{fancyref}
Dave Love <fx@gnu.org>
parents:
diff changeset
879 Cycle between @code{\ref}, @code{\fref} and @code{\Fref}. The
Dave Love <fx@gnu.org>
parents:
diff changeset
880 @code{\fref} and @code{\Fref} macros are defined in the @code{fancyref}
Dave Love <fx@gnu.org>
parents:
diff changeset
881 LaTeX package. With this key you can force @b{Ref@TeX{}} to insert a
Dave Love <fx@gnu.org>
parents:
diff changeset
882 @code{\fref} or @code{\Fref} macro. The current state of this flag is
Dave Love <fx@gnu.org>
parents:
diff changeset
883 displayed by the @samp{S<>} indicator in the mode line of the
Dave Love <fx@gnu.org>
parents:
diff changeset
884 selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
885
Dave Love <fx@gnu.org>
parents:
diff changeset
886 @tablesubheading{Exiting}
Dave Love <fx@gnu.org>
parents:
diff changeset
887
Dave Love <fx@gnu.org>
parents:
diff changeset
888 @item q
Dave Love <fx@gnu.org>
parents:
diff changeset
889 Exit the selection process without inserting any reference into the
Dave Love <fx@gnu.org>
parents:
diff changeset
890 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
891
Dave Love <fx@gnu.org>
parents:
diff changeset
892 @tablesubheading{Controlling what gets displayed}
Dave Love <fx@gnu.org>
parents:
diff changeset
893 @vindex reftex-label-menu-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
894 The defaults for the following flags can be configured with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
895 @code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}).
Dave Love <fx@gnu.org>
parents:
diff changeset
896
Dave Love <fx@gnu.org>
parents:
diff changeset
897 @item c
Dave Love <fx@gnu.org>
parents:
diff changeset
898 Toggle the display of the one-line label definition context in the
Dave Love <fx@gnu.org>
parents:
diff changeset
899 selection buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
900
Dave Love <fx@gnu.org>
parents:
diff changeset
901 @item F
Dave Love <fx@gnu.org>
parents:
diff changeset
902 Toggle the display of the file borders of a multifile document in the
Dave Love <fx@gnu.org>
parents:
diff changeset
903 selection buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
904
Dave Love <fx@gnu.org>
parents:
diff changeset
905 @item t
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
906 Toggle the display of the table of contents in the selection buffer.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
907 With prefix @var{arg}, change the maximum level of toc entries displayed
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
908 to @var{arg}. Chapters are level 1, section are level 2.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
909
Dave Love <fx@gnu.org>
parents:
diff changeset
910 @item #
Dave Love <fx@gnu.org>
parents:
diff changeset
911 Toggle the display of a label counter in the selection buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
912
Dave Love <fx@gnu.org>
parents:
diff changeset
913 @item %
Dave Love <fx@gnu.org>
parents:
diff changeset
914 Toggle the display of labels hidden in comments in the selection
Dave Love <fx@gnu.org>
parents:
diff changeset
915 buffers. Sometimes, you may have commented out parts of your document.
Dave Love <fx@gnu.org>
parents:
diff changeset
916 If these parts contain label definitions, @b{Ref@TeX{}} can still display
Dave Love <fx@gnu.org>
parents:
diff changeset
917 and reference these labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
918
Dave Love <fx@gnu.org>
parents:
diff changeset
919 @tablesubheading{Updating the buffer}
Dave Love <fx@gnu.org>
parents:
diff changeset
920 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
921 Update the menu. This will rebuilt the menu from the internal label
Dave Love <fx@gnu.org>
parents:
diff changeset
922 list, but not reparse the document (see @kbd{r}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
923
Dave Love <fx@gnu.org>
parents:
diff changeset
924 @item r
Dave Love <fx@gnu.org>
parents:
diff changeset
925 @vindex reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
926 Reparse the document to update the information on all labels and rebuild
Dave Love <fx@gnu.org>
parents:
diff changeset
927 the menu. If the variable @code{reftex-enable-partial-scans} is
Dave Love <fx@gnu.org>
parents:
diff changeset
928 non-@code{nil} and your document is a multifile document, this will
Dave Love <fx@gnu.org>
parents:
diff changeset
929 reparse only a part of the document (the file in which the label at
Dave Love <fx@gnu.org>
parents:
diff changeset
930 point was defined).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
931
Dave Love <fx@gnu.org>
parents:
diff changeset
932 @item C-u r
Dave Love <fx@gnu.org>
parents:
diff changeset
933 Reparse the @emph{entire} document.
Dave Love <fx@gnu.org>
parents:
diff changeset
934
Dave Love <fx@gnu.org>
parents:
diff changeset
935 @item s
Dave Love <fx@gnu.org>
parents:
diff changeset
936 Switch the label category. After prompting for another label category,
Dave Love <fx@gnu.org>
parents:
diff changeset
937 a menu for that category will be shown.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
938
Dave Love <fx@gnu.org>
parents:
diff changeset
939 @item x
Dave Love <fx@gnu.org>
parents:
diff changeset
940 Reference a label from an external document. With the LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
941 @code{xr} it is possible to reference labels defined in another
Dave Love <fx@gnu.org>
parents:
diff changeset
942 document. This key will switch to the label menu of an external
Dave Love <fx@gnu.org>
parents:
diff changeset
943 document and let you select a label from there (@pxref{xr (LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
944 package),,xr}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
945
Dave Love <fx@gnu.org>
parents:
diff changeset
946 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
947
Dave Love <fx@gnu.org>
parents:
diff changeset
948 @vindex reftex-select-label-map
Dave Love <fx@gnu.org>
parents:
diff changeset
949 In order to define additional commands for the selection process, the
Dave Love <fx@gnu.org>
parents:
diff changeset
950 keymap @code{reftex-select-label-map} may be used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
951
Dave Love <fx@gnu.org>
parents:
diff changeset
952 @node Builtin Label Environments, Defining Label Environments, Referencing Labels, Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
953 @section Builtin Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
954 @cindex Builtin label environments
Dave Love <fx@gnu.org>
parents:
diff changeset
955 @cindex Label environments, builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
956 @cindex Environments, builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
957 @vindex reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
958 @vindex reftex-label-alist-builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
959
Dave Love <fx@gnu.org>
parents:
diff changeset
960 @b{Ref@TeX{}} needs to be aware of the environments which can be referenced
Dave Love <fx@gnu.org>
parents:
diff changeset
961 with a label (i.e. which carry their own counters). By default, @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
962 recognizes all labeled environments and macros discussed in @cite{The
Dave Love <fx@gnu.org>
parents:
diff changeset
963 LaTeX Companion by Goossens, Mittelbach & Samarin, Addison-Wesley
Dave Love <fx@gnu.org>
parents:
diff changeset
964 1994.}. These are:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
965
Dave Love <fx@gnu.org>
parents:
diff changeset
966 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
967 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
968 @cindex @code{figure}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
969 @cindex @code{figure*}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
970 @cindex @code{table}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
971 @cindex @code{table*}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
972 @cindex @code{equation}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
973 @cindex @code{eqnarray}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
974 @cindex @code{enumerate}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
975 @cindex @code{\footnote}, LaTeX macro
Dave Love <fx@gnu.org>
parents:
diff changeset
976 @cindex LaTeX macro @code{footnote}
Dave Love <fx@gnu.org>
parents:
diff changeset
977 @cindex LaTeX core
Dave Love <fx@gnu.org>
parents:
diff changeset
978 @code{figure}, @code{figure*}, @code{table}, @code{table*}, @code{equation},
Dave Love <fx@gnu.org>
parents:
diff changeset
979 @code{eqnarray}, @code{enumerate}, the @code{\footnote} macro (this is
Dave Love <fx@gnu.org>
parents:
diff changeset
980 the LaTeX core stuff)@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
981 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
982 @cindex AMS-LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
983 @cindex @code{amsmath}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
984 @cindex LaTeX packages, @code{amsmath}
Dave Love <fx@gnu.org>
parents:
diff changeset
985 @cindex @code{align}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
986 @cindex @code{gather}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
987 @cindex @code{multline}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
988 @cindex @code{flalign}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
989 @cindex @code{alignat}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
990 @cindex @code{xalignat}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
991 @cindex @code{xxalignat}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
992 @cindex @code{subequations}, AMS-LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
993 @code{align}, @code{gather}, @code{multline}, @code{flalign},
Dave Love <fx@gnu.org>
parents:
diff changeset
994 @code{alignat}, @code{xalignat}, @code{xxalignat}, @code{subequations}
Dave Love <fx@gnu.org>
parents:
diff changeset
995 (from AMS-LaTeX's @file{amsmath.sty} package)@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
996 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
997 @cindex @code{endnote}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
998 @cindex LaTeX packages, @code{endnote}
Dave Love <fx@gnu.org>
parents:
diff changeset
999 @cindex @code{\endnote}, LaTeX macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1000 the @code{\endnote} macro (from @file{endnotes.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1001 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1002 @cindex @code{fancybox}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1003 @cindex LaTeX packages, @code{fancybox}
Dave Love <fx@gnu.org>
parents:
diff changeset
1004 @cindex @code{Beqnarray}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1005 @code{Beqnarray} (@file{fancybox.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1006 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1007 @cindex @code{floatfig}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1008 @cindex LaTeX packages, @code{floatfig}
Dave Love <fx@gnu.org>
parents:
diff changeset
1009 @cindex @code{floatingfig}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1010 @code{floatingfig} (@file{floatfig.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1011 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1012 @cindex @code{longtable}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1013 @cindex LaTeX packages, @code{longtable}
Dave Love <fx@gnu.org>
parents:
diff changeset
1014 @cindex @code{longtable}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1015 @code{longtable} (@file{longtable.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1016 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1017 @cindex @code{picinpar}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1018 @cindex LaTeX packages, @code{picinpar}
Dave Love <fx@gnu.org>
parents:
diff changeset
1019 @cindex @code{figwindow}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1020 @cindex @code{tabwindow}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1021 @code{figwindow}, @code{tabwindow} (@file{picinpar.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1022 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1023 @cindex @code{sidecap}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1024 @cindex LaTeX packages, @code{sidecap}
Dave Love <fx@gnu.org>
parents:
diff changeset
1025 @cindex @code{SCfigure}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1026 @cindex @code{SCtable}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1027 @code{SCfigure}, @code{SCtable} (@file{sidecap.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1028 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1029 @cindex @code{rotating}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1030 @cindex LaTeX packages, @code{rotating}
Dave Love <fx@gnu.org>
parents:
diff changeset
1031 @cindex @code{sidewaysfigure}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1032 @cindex @code{sidewaystable}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1033 @code{sidewaysfigure}, @code{sidewaystable} (@file{rotating.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1034 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1035 @cindex @code{subfig}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1036 @cindex LaTeX packages, @code{subfigure}
Dave Love <fx@gnu.org>
parents:
diff changeset
1037 @cindex @code{subfigure}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1038 @cindex @code{subfigure*}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1039 @code{subfigure}, @code{subfigure*}, the @code{\subfigure} macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1040 (@file{subfigure.sty})@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1041 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1042 @cindex @code{supertab}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1043 @cindex LaTeX packages, @code{supertab}
Dave Love <fx@gnu.org>
parents:
diff changeset
1044 @cindex @code{supertabular}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1045 @code{supertabular} (@file{supertab.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1046 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1047 @cindex @code{wrapfig}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1048 @cindex LaTeX packages, @code{wrapfig}
Dave Love <fx@gnu.org>
parents:
diff changeset
1049 @cindex @code{wrapfigure}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1050 @code{wrapfigure} (@file{wrapfig.sty})
Dave Love <fx@gnu.org>
parents:
diff changeset
1051 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
1052
Dave Love <fx@gnu.org>
parents:
diff changeset
1053 If you want to use other labeled environments, defined with
Dave Love <fx@gnu.org>
parents:
diff changeset
1054 @code{\newtheorem}, @b{Ref@TeX{}} needs to be configured to recognize
Dave Love <fx@gnu.org>
parents:
diff changeset
1055 them (@pxref{Defining Label Environments}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1056
Dave Love <fx@gnu.org>
parents:
diff changeset
1057 @node Defining Label Environments, Reference Info, Builtin Label Environments, Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
1058 @section Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1059 @cindex Label environments, defining
Dave Love <fx@gnu.org>
parents:
diff changeset
1060
Dave Love <fx@gnu.org>
parents:
diff changeset
1061 @vindex reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
1062 @b{Ref@TeX{}} can be configured to recognize additional labeled
Dave Love <fx@gnu.org>
parents:
diff changeset
1063 environments and macros. This is done with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1064 @code{reftex-label-alist} (@pxref{Options (Defining Label
Dave Love <fx@gnu.org>
parents:
diff changeset
1065 Environments)}). If you are not familiar with Lisp, you can use the
Dave Love <fx@gnu.org>
parents:
diff changeset
1066 @code{custom} library to configure this rather complex variable. To do
Dave Love <fx@gnu.org>
parents:
diff changeset
1067 this, use
Dave Love <fx@gnu.org>
parents:
diff changeset
1068
Dave Love <fx@gnu.org>
parents:
diff changeset
1069 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1070 @kbd{M-x customize-variable @key{RET} reftex-label-alist @key{RET}}
Dave Love <fx@gnu.org>
parents:
diff changeset
1071 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1072
Dave Love <fx@gnu.org>
parents:
diff changeset
1073 @vindex reftex-label-alist-builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
1074 Here we will discuss a few examples, in order to make things clearer.
Dave Love <fx@gnu.org>
parents:
diff changeset
1075 It can also be instructive to look at the constant
Dave Love <fx@gnu.org>
parents:
diff changeset
1076 @code{reftex-label-alist-builtin} which contains the entries for
Dave Love <fx@gnu.org>
parents:
diff changeset
1077 all the builtin environments and macros (@pxref{Builtin Label
Dave Love <fx@gnu.org>
parents:
diff changeset
1078 Environments}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1079
Dave Love <fx@gnu.org>
parents:
diff changeset
1080 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
1081 * Theorem and Axiom:: Defined with @code{\newenvironment}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1082 * Quick Equation:: When a macro sets the label type.
Dave Love <fx@gnu.org>
parents:
diff changeset
1083 * Figure Wrapper:: When a macro argument is a label.
Dave Love <fx@gnu.org>
parents:
diff changeset
1084 * Adding Magic Words:: Other words for other languages.
Dave Love <fx@gnu.org>
parents:
diff changeset
1085 * Using \eqref:: How to switch to this AMS-LaTeX macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
1086 * Non-Standard Environments:: Environments without \begin and \end
Dave Love <fx@gnu.org>
parents:
diff changeset
1087 * Putting it Together:: How to combine many entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
1088 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
1089
Dave Love <fx@gnu.org>
parents:
diff changeset
1090 @node Theorem and Axiom, Quick Equation, , Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1091 @subsection Theorem and Axiom Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1092 @cindex @code{theorem}, newtheorem
Dave Love <fx@gnu.org>
parents:
diff changeset
1093 @cindex @code{axiom}, newtheorem
Dave Love <fx@gnu.org>
parents:
diff changeset
1094 @cindex @code{\newtheorem}
Dave Love <fx@gnu.org>
parents:
diff changeset
1095
Dave Love <fx@gnu.org>
parents:
diff changeset
1096 Suppose you are using @code{\newtheorem} in LaTeX in order to define two
Dave Love <fx@gnu.org>
parents:
diff changeset
1097 new environments, @code{theorem} and @code{axiom}@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1098
Dave Love <fx@gnu.org>
parents:
diff changeset
1099 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1100 \newtheorem@{axiom@}@{Axiom@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1101 \newtheorem@{theorem@}@{Theorem@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1102 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1103
Dave Love <fx@gnu.org>
parents:
diff changeset
1104 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1105 to be used like this:
Dave Love <fx@gnu.org>
parents:
diff changeset
1106
Dave Love <fx@gnu.org>
parents:
diff changeset
1107 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1108 \begin@{axiom@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1109 \label@{ax:first@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1110 ....
Dave Love <fx@gnu.org>
parents:
diff changeset
1111 \end@{axiom@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1112 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1113
Dave Love <fx@gnu.org>
parents:
diff changeset
1114 So we need to tell @b{Ref@TeX{}} that @code{theorem} and @code{axiom} are new
Dave Love <fx@gnu.org>
parents:
diff changeset
1115 labeled environments which define their own label categories. We can
Dave Love <fx@gnu.org>
parents:
diff changeset
1116 either use Lisp to do this (e.g. in @file{.emacs}) or use the custom
Dave Love <fx@gnu.org>
parents:
diff changeset
1117 library. With Lisp it would look like this
Dave Love <fx@gnu.org>
parents:
diff changeset
1118
Dave Love <fx@gnu.org>
parents:
diff changeset
1119 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1120 (setq reftex-label-alist
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1121 '(("axiom" ?a "ax:" "~\\ref@{%s@}" nil ("axiom" "ax.") -2)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1122 ("theorem" ?h "thr:" "~\\ref@{%s@}" t ("theorem" "th.") -3)))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1123 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1124
Dave Love <fx@gnu.org>
parents:
diff changeset
1125 The type indicator characters @code{?a} and @code{?h} are used for
Dave Love <fx@gnu.org>
parents:
diff changeset
1126 prompts when @b{Ref@TeX{}} queries for a label type. @code{?h}
Dave Love <fx@gnu.org>
parents:
diff changeset
1127 was chosen for @code{theorem} since @code{?t} is already taken by
Dave Love <fx@gnu.org>
parents:
diff changeset
1128 @code{table}. Note that also @code{?s}, @code{?f}, @code{?e},
Dave Love <fx@gnu.org>
parents:
diff changeset
1129 @code{?i}, @code{?n} are already used for standard environments.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1130
Dave Love <fx@gnu.org>
parents:
diff changeset
1131 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1132 The labels for Axioms and Theorems will have the prefixes @samp{ax:} and
Dave Love <fx@gnu.org>
parents:
diff changeset
1133 @samp{thr:}, respectively. @xref{AUCTeX}, for information on how
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1134 AUCTeX can use RefTeX to automatically create labels when a new environment
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1135 is inserted into a buffer. Additionally, the following needs to be
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1136 added to one's .emacs file before AUCTeX will automatically create
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1137 labels for the new environments.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1138
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1139 @lisp
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1140 (add-hook 'LaTeX-mode-hook
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1141 (lambda ()
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1142 (LaTeX-add-environments
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1143 '("axiom" LaTeX-env-label)
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1144 '("theorem" LaTeX-env-label))))
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1145 @end lisp
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1146
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1147
Dave Love <fx@gnu.org>
parents:
diff changeset
1148 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1149 The @samp{~\ref@{%s@}} is a format string indicating how to insert
Dave Love <fx@gnu.org>
parents:
diff changeset
1150 references to these labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1151
Dave Love <fx@gnu.org>
parents:
diff changeset
1152 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1153 The next item indicates how to grab context of the label definition.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1154 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
1155 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1156 @code{t} means to get it from a default location (from the beginning of
Dave Love <fx@gnu.org>
parents:
diff changeset
1157 a @code{\macro} or after the @code{\begin} statement). @code{t} is
Dave Love <fx@gnu.org>
parents:
diff changeset
1158 @emph{not} a good choice for eqnarray and similar environments.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1159 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1160 @code{nil} means to use the text right after the label definition.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1161 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
1162 For more complex ways of getting context, see the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1163 @code{reftex-label-alist} (@ref{Options (Defining Label
Dave Love <fx@gnu.org>
parents:
diff changeset
1164 Environments)}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1165 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
1166
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1167 The following list of strings is used to guess the correct label type
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1168 from the word before point when creating a reference. E.g. if you
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1169 write: @samp{As we have shown in Theorem} and then press @kbd{C-c )},
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1170 @b{Ref@TeX{}} will know that you are looking for a theorem label and
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1171 restrict the menu to only these labels without even asking.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1172
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1173 The final item in each entry is the level at which the environment
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1174 should produce entries in the table of context buffer. If the number is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1175 positive, the environment will produce numbered entries (like
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1176 @code{\section}), if it is negative the entries will be unnumbered (like
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1177 @code{\section*}). Use this only for environments which structure the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1178 document similar to sectioning commands. For everything else, omit the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1179 item.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1180
Dave Love <fx@gnu.org>
parents:
diff changeset
1181 To do the same configuration with @code{customize}, you need to click on
Dave Love <fx@gnu.org>
parents:
diff changeset
1182 the @code{[INS]} button twice to create two templates and fill them in
Dave Love <fx@gnu.org>
parents:
diff changeset
1183 like this:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1184
Dave Love <fx@gnu.org>
parents:
diff changeset
1185 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1186 Reftex Label Alist: [Hide]
Dave Love <fx@gnu.org>
parents:
diff changeset
1187 [INS] [DEL] Package or Detailed : [Value Menu] Detailed:
Dave Love <fx@gnu.org>
parents:
diff changeset
1188 Environment or \macro : [Value Menu] String: axiom
Dave Love <fx@gnu.org>
parents:
diff changeset
1189 Type specification : [Value Menu] Char : a
Dave Love <fx@gnu.org>
parents:
diff changeset
1190 Label prefix string : [Value Menu] String: ax:
Dave Love <fx@gnu.org>
parents:
diff changeset
1191 Label reference format: [Value Menu] String: ~\ref@{%s@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1192 Context method : [Value Menu] After label
Dave Love <fx@gnu.org>
parents:
diff changeset
1193 Magic words:
Dave Love <fx@gnu.org>
parents:
diff changeset
1194 [INS] [DEL] String: axiom
Dave Love <fx@gnu.org>
parents:
diff changeset
1195 [INS] [DEL] String: ax.
Dave Love <fx@gnu.org>
parents:
diff changeset
1196 [INS]
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1197 [X] Make TOC entry : [Value Menu] Level: -2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1198 [INS] [DEL] Package or Detailed : [Value Menu] Detailed:
Dave Love <fx@gnu.org>
parents:
diff changeset
1199 Environment or \macro : [Value Menu] String: theorem
Dave Love <fx@gnu.org>
parents:
diff changeset
1200 Type specification : [Value Menu] Char : h
Dave Love <fx@gnu.org>
parents:
diff changeset
1201 Label prefix string : [Value Menu] String: thr:
Dave Love <fx@gnu.org>
parents:
diff changeset
1202 Label reference format: [Value Menu] String: ~\ref@{%s@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1203 Context method : [Value Menu] Default position
Dave Love <fx@gnu.org>
parents:
diff changeset
1204 Magic words:
Dave Love <fx@gnu.org>
parents:
diff changeset
1205 [INS] [DEL] String: theorem
Dave Love <fx@gnu.org>
parents:
diff changeset
1206 [INS] [DEL] String: theor.
Dave Love <fx@gnu.org>
parents:
diff changeset
1207 [INS] [DEL] String: th.
Dave Love <fx@gnu.org>
parents:
diff changeset
1208 [INS]
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1209 [X] Make TOC entry : [Value Menu] Level: -3
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1210 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1211
Dave Love <fx@gnu.org>
parents:
diff changeset
1212 @vindex reftex-insert-label-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
1213 @vindex reftex-label-menu-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
1214 Depending on how you would like the label insertion and selection for
Dave Love <fx@gnu.org>
parents:
diff changeset
1215 the new environments to work, you might want to add the letters @samp{a}
Dave Love <fx@gnu.org>
parents:
diff changeset
1216 and @samp{h} to some of the flags in the variables
Dave Love <fx@gnu.org>
parents:
diff changeset
1217 @code{reftex-insert-label-flags} (@pxref{Options (Creating Labels)})
Dave Love <fx@gnu.org>
parents:
diff changeset
1218 and @code{reftex-label-menu-flags} (@pxref{Options (Referencing
Dave Love <fx@gnu.org>
parents:
diff changeset
1219 Labels)}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1220
Dave Love <fx@gnu.org>
parents:
diff changeset
1221
Dave Love <fx@gnu.org>
parents:
diff changeset
1222 @node Quick Equation, Figure Wrapper, Theorem and Axiom , Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1223 @subsection Quick Equation Macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1224 @cindex Quick equation macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1225 @cindex Macros as environment wrappers
Dave Love <fx@gnu.org>
parents:
diff changeset
1226
Dave Love <fx@gnu.org>
parents:
diff changeset
1227 Suppose you would like to have a macro for quick equations. It
Dave Love <fx@gnu.org>
parents:
diff changeset
1228 could be defined like this:
Dave Love <fx@gnu.org>
parents:
diff changeset
1229
Dave Love <fx@gnu.org>
parents:
diff changeset
1230 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1231 \newcommand@{\quickeq@}[1]@{\begin@{equation@} #1 \end@{equation@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1232 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1233
Dave Love <fx@gnu.org>
parents:
diff changeset
1234 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1235 and used like this:
Dave Love <fx@gnu.org>
parents:
diff changeset
1236
Dave Love <fx@gnu.org>
parents:
diff changeset
1237 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1238 Einstein's equation is \quickeq@{E=mc^2 \label@{eq:einstein@}@}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1239 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1240
Dave Love <fx@gnu.org>
parents:
diff changeset
1241 We need to tell @b{Ref@TeX{}} that any label defined in the argument of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1242 @code{\quickeq} is an equation label. Here is how to do this with lisp:
Dave Love <fx@gnu.org>
parents:
diff changeset
1243
Dave Love <fx@gnu.org>
parents:
diff changeset
1244 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1245 (setq reftex-label-alist '(("\\quickeq@{@}" ?e nil nil 1 nil)))
Dave Love <fx@gnu.org>
parents:
diff changeset
1246 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1247
Dave Love <fx@gnu.org>
parents:
diff changeset
1248 The first element in this list is now the macro with empty braces as an
Dave Love <fx@gnu.org>
parents:
diff changeset
1249 @emph{image} of the macro arguments. @code{?e} indicates that this is
Dave Love <fx@gnu.org>
parents:
diff changeset
1250 an equation label, the different @code{nil} elements indicate to use the
Dave Love <fx@gnu.org>
parents:
diff changeset
1251 default values for equations. The @samp{1} as the fifth element
Dave Love <fx@gnu.org>
parents:
diff changeset
1252 indicates that the context of the label definition should be the 1st
Dave Love <fx@gnu.org>
parents:
diff changeset
1253 argument of the macro.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1254
Dave Love <fx@gnu.org>
parents:
diff changeset
1255 Here is again how this would look in the customization buffer:
Dave Love <fx@gnu.org>
parents:
diff changeset
1256
Dave Love <fx@gnu.org>
parents:
diff changeset
1257 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1258 Reftex Label Alist: [Hide]
Dave Love <fx@gnu.org>
parents:
diff changeset
1259 [INS] [DEL] Package or Detailed : [Value Menu] Detailed:
Dave Love <fx@gnu.org>
parents:
diff changeset
1260 Environment or \macro : [Value Menu] String: \quickeq@{@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1261 Type specification : [Value Menu] Char : e
Dave Love <fx@gnu.org>
parents:
diff changeset
1262 Label prefix string : [Value Menu] Default
Dave Love <fx@gnu.org>
parents:
diff changeset
1263 Label reference format: [Value Menu] Default
Dave Love <fx@gnu.org>
parents:
diff changeset
1264 Context method : [Value Menu] Macro arg nr: 1
Dave Love <fx@gnu.org>
parents:
diff changeset
1265 Magic words:
Dave Love <fx@gnu.org>
parents:
diff changeset
1266 [INS]
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1267 [ ] Make TOC entry : [Value Menu] No entry
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1268 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1269
Dave Love <fx@gnu.org>
parents:
diff changeset
1270 @node Figure Wrapper, Adding Magic Words, Quick Equation, Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1271 @subsection Figure Wrapping Macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1272 @cindex Macros as environment wrappers
Dave Love <fx@gnu.org>
parents:
diff changeset
1273 @cindex Figure wrapping macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1274
Dave Love <fx@gnu.org>
parents:
diff changeset
1275 Suppose you want to make figures not directly with the figure
Dave Love <fx@gnu.org>
parents:
diff changeset
1276 environment, but with a macro like
Dave Love <fx@gnu.org>
parents:
diff changeset
1277
Dave Love <fx@gnu.org>
parents:
diff changeset
1278 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1279 \newcommand@{\myfig@}[5][tbp]@{%
Dave Love <fx@gnu.org>
parents:
diff changeset
1280 \begin@{figure@}[#1]
Dave Love <fx@gnu.org>
parents:
diff changeset
1281 \epsimp[#5]@{#2@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1282 \caption@{#3@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1283 \label@{#4@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1284 \end@{figure@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1285 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1286
Dave Love <fx@gnu.org>
parents:
diff changeset
1287 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1288 which would be called like
Dave Love <fx@gnu.org>
parents:
diff changeset
1289
Dave Love <fx@gnu.org>
parents:
diff changeset
1290 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1291 \myfig[htp]@{filename@}@{caption text@}@{label@}@{1@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1292 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1293
Dave Love <fx@gnu.org>
parents:
diff changeset
1294 Now we need to tell @b{Ref@TeX{}} that the 4th argument of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1295 @code{\myfig} macro @emph{is itself} a figure label, and where to find
Dave Love <fx@gnu.org>
parents:
diff changeset
1296 the context.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1297
Dave Love <fx@gnu.org>
parents:
diff changeset
1298 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1299 (setq reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
1300 '(("\\myfig[]@{@}@{@}@{*@}@{@}" ?f nil nil 3)))
Dave Love <fx@gnu.org>
parents:
diff changeset
1301 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1302
Dave Love <fx@gnu.org>
parents:
diff changeset
1303 The empty pairs of brackets indicate the different arguments of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1304 @code{\myfig} macro. The @samp{*} marks the label argument. @code{?f}
Dave Love <fx@gnu.org>
parents:
diff changeset
1305 indicates that this is a figure label which will be listed together with
Dave Love <fx@gnu.org>
parents:
diff changeset
1306 labels from normal figure environments. The @code{nil} entries for
Dave Love <fx@gnu.org>
parents:
diff changeset
1307 prefix and reference format mean to use the defaults for figure labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
1308 The @samp{3} for the context method means to grab the 3rd macro argument
Dave Love <fx@gnu.org>
parents:
diff changeset
1309 - the caption.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1310
Dave Love <fx@gnu.org>
parents:
diff changeset
1311 As a side effect of this configuration, @code{reftex-label} will now
Dave Love <fx@gnu.org>
parents:
diff changeset
1312 insert the required naked label (without the @code{\label} macro) when
Dave Love <fx@gnu.org>
parents:
diff changeset
1313 point is directly after the opening parenthesis of a @code{\myfig} macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1314 argument.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1315
Dave Love <fx@gnu.org>
parents:
diff changeset
1316 Again, here the configuration in the customization buffer:
Dave Love <fx@gnu.org>
parents:
diff changeset
1317
Dave Love <fx@gnu.org>
parents:
diff changeset
1318 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1319 [INS] [DEL] Package or Detailed : [Value Menu] Detailed:
Dave Love <fx@gnu.org>
parents:
diff changeset
1320 Environment or \macro : [Value Menu] String: \myfig[]@{@}@{@}@{*@}@{@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1321 Type specification : [Value Menu] Char : f
Dave Love <fx@gnu.org>
parents:
diff changeset
1322 Label prefix string : [Value Menu] Default
Dave Love <fx@gnu.org>
parents:
diff changeset
1323 Label reference format: [Value Menu] Default
Dave Love <fx@gnu.org>
parents:
diff changeset
1324 Context method : [Value Menu] Macro arg nr: 3
Dave Love <fx@gnu.org>
parents:
diff changeset
1325 Magic words:
Dave Love <fx@gnu.org>
parents:
diff changeset
1326 [INS]
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1327 [ ] Make TOC entry : [Value Menu] No entry
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1328 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1329
Dave Love <fx@gnu.org>
parents:
diff changeset
1330 @node Adding Magic Words, Using \eqref, Figure Wrapper, Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1331 @subsection Adding Magic Words
Dave Love <fx@gnu.org>
parents:
diff changeset
1332 @cindex Magic words
Dave Love <fx@gnu.org>
parents:
diff changeset
1333 @cindex German magic words
Dave Love <fx@gnu.org>
parents:
diff changeset
1334 @cindex Label category
Dave Love <fx@gnu.org>
parents:
diff changeset
1335
Dave Love <fx@gnu.org>
parents:
diff changeset
1336 Sometimes you don't want to define a new label environment or macro, but
Dave Love <fx@gnu.org>
parents:
diff changeset
1337 just change the information associated with a label category. Maybe you
Dave Love <fx@gnu.org>
parents:
diff changeset
1338 want to add some magic words, for another language. Changing only the
Dave Love <fx@gnu.org>
parents:
diff changeset
1339 information associated with a label category is done by giving
Dave Love <fx@gnu.org>
parents:
diff changeset
1340 @code{nil} for the environment name and then specify the items you want
Dave Love <fx@gnu.org>
parents:
diff changeset
1341 to define. Here is an example which adds German magic words to all
Dave Love <fx@gnu.org>
parents:
diff changeset
1342 predefined label categories.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1343
Dave Love <fx@gnu.org>
parents:
diff changeset
1344 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1345 (setq reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
1346 '((nil ?s nil nil nil ("Kapitel" "Kap." "Abschnitt" "Teil"))
Dave Love <fx@gnu.org>
parents:
diff changeset
1347 (nil ?e nil nil nil ("Gleichung" "Gl."))
Dave Love <fx@gnu.org>
parents:
diff changeset
1348 (nil ?t nil nil nil ("Tabelle"))
Dave Love <fx@gnu.org>
parents:
diff changeset
1349 (nil ?f nil nil nil ("Figur" "Abbildung" "Abb."))
Dave Love <fx@gnu.org>
parents:
diff changeset
1350 (nil ?n nil nil nil ("Anmerkung" "Anm."))
Dave Love <fx@gnu.org>
parents:
diff changeset
1351 (nil ?i nil nil nil ("Punkt"))))
Dave Love <fx@gnu.org>
parents:
diff changeset
1352 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1353
Dave Love <fx@gnu.org>
parents:
diff changeset
1354 @node Using \eqref, Non-Standard Environments, Adding Magic Words, Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1355 @subsection Using @code{\eqref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1356 @cindex @code{\eqref}, AMS-LaTeX macro
Dave Love <fx@gnu.org>
parents:
diff changeset
1357 @cindex AMS-LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1358 @cindex Label category
Dave Love <fx@gnu.org>
parents:
diff changeset
1359
Dave Love <fx@gnu.org>
parents:
diff changeset
1360 Another case where one only wants to change the information associated
Dave Love <fx@gnu.org>
parents:
diff changeset
1361 with the label category is to change the macro which is used for
Dave Love <fx@gnu.org>
parents:
diff changeset
1362 referencing the label. When working with the AMS-LaTeX stuff, you might
Dave Love <fx@gnu.org>
parents:
diff changeset
1363 prefer @code{\eqref} for doing equation references. Here is how to
Dave Love <fx@gnu.org>
parents:
diff changeset
1364 do this:
Dave Love <fx@gnu.org>
parents:
diff changeset
1365
Dave Love <fx@gnu.org>
parents:
diff changeset
1366 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1367 (setq reftex-label-alist '((nil ?e nil "~\\eqref@{%s@}" nil nil)))
Dave Love <fx@gnu.org>
parents:
diff changeset
1368 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1369
Dave Love <fx@gnu.org>
parents:
diff changeset
1370 @b{Ref@TeX{}} has also a predefined symbol for this special purpose. The
Dave Love <fx@gnu.org>
parents:
diff changeset
1371 following is equivalent to the line above.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1372
Dave Love <fx@gnu.org>
parents:
diff changeset
1373 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1374 (setq reftex-label-alist '(AMSTeX))
Dave Love <fx@gnu.org>
parents:
diff changeset
1375 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1376
Dave Love <fx@gnu.org>
parents:
diff changeset
1377 Note that this is automatically done by the @file{amsmath.el} style file
Dave Love <fx@gnu.org>
parents:
diff changeset
1378 of AUCTeX (@pxref{Style Files}) - so if you use AUCTeX,
Dave Love <fx@gnu.org>
parents:
diff changeset
1379 this configuration will not be necessary.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1380
Dave Love <fx@gnu.org>
parents:
diff changeset
1381 @node Non-Standard Environments, Putting it Together, Using \eqref, Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1382 @subsection Non-standard Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1383 @cindex Non-standard environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1384 @cindex Environments without @code{\begin}
Dave Love <fx@gnu.org>
parents:
diff changeset
1385 @cindex Special parser functions
Dave Love <fx@gnu.org>
parents:
diff changeset
1386 @cindex Parser functions, for special environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1387
Dave Love <fx@gnu.org>
parents:
diff changeset
1388 Some LaTeX packages define environment-like structures without using the
Dave Love <fx@gnu.org>
parents:
diff changeset
1389 standard @samp{\begin..\end} structure. @b{Ref@TeX{}} cannot parse
Dave Love <fx@gnu.org>
parents:
diff changeset
1390 these directly, but you can write your own special-purpose parser and
Dave Love <fx@gnu.org>
parents:
diff changeset
1391 use it instead of the name of an environment in an entry for
Dave Love <fx@gnu.org>
parents:
diff changeset
1392 @code{reftex-label-alist}. The function should check if point is
Dave Love <fx@gnu.org>
parents:
diff changeset
1393 currently in the special environment it was written to detect. If so,
Dave Love <fx@gnu.org>
parents:
diff changeset
1394 it must return a buffer position indicating the start of this
Dave Love <fx@gnu.org>
parents:
diff changeset
1395 environment. The return value must be @code{nil} on failure to detect
Dave Love <fx@gnu.org>
parents:
diff changeset
1396 the environment. The function is called with one argument @var{bound}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1397 If non-@code{nil}, @var{bound} is a boundary for backwards searches
Dave Love <fx@gnu.org>
parents:
diff changeset
1398 which should be observed. We will discuss two examples.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1399
Dave Love <fx@gnu.org>
parents:
diff changeset
1400 @cindex LaTeX commands, abbreviated
Dave Love <fx@gnu.org>
parents:
diff changeset
1401
Dave Love <fx@gnu.org>
parents:
diff changeset
1402 Some people define abbreviations for
Dave Love <fx@gnu.org>
parents:
diff changeset
1403 environments, like @code{\be} for @code{\begin@{equation@}}, and
Dave Love <fx@gnu.org>
parents:
diff changeset
1404 @code{\ee} for @code{\end@{equation@}}. The parser function would have
Dave Love <fx@gnu.org>
parents:
diff changeset
1405 to search backward for these macros. When the first match is
Dave Love <fx@gnu.org>
parents:
diff changeset
1406 @code{\ee}, point is not in this environment. When the first match is
Dave Love <fx@gnu.org>
parents:
diff changeset
1407 @code{\be}, point is in this environment and the function must return
Dave Love <fx@gnu.org>
parents:
diff changeset
1408 the beginning of the match. To avoid scanning too far, we can also look
46272
2406cf2da1d4 Fix typo.
Juanma Barranquero <lekktu@gmail.com>
parents: 40705
diff changeset
1409 for empty lines which cannot occur inside an equation environment.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1410 Here is the setup:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1411
Dave Love <fx@gnu.org>
parents:
diff changeset
1412 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1413 ;; Setup entry in reftex-label-alist, using all defaults for equations
Dave Love <fx@gnu.org>
parents:
diff changeset
1414 (setq reftex-label-alist '((detect-be-ee ?e nil nil nil nil)))
Dave Love <fx@gnu.org>
parents:
diff changeset
1415
Dave Love <fx@gnu.org>
parents:
diff changeset
1416 (defun detect-be-ee (bound)
Dave Love <fx@gnu.org>
parents:
diff changeset
1417 ;; Search backward for the macros or an empty line
Dave Love <fx@gnu.org>
parents:
diff changeset
1418 (if (re-search-backward
Dave Love <fx@gnu.org>
parents:
diff changeset
1419 "\\(^[ \t]*\n\\|\\\\ee\\>\\)\\|\\(\\\\be\\>\\)" bound t)
Dave Love <fx@gnu.org>
parents:
diff changeset
1420 (if (match-beginning 2)
Dave Love <fx@gnu.org>
parents:
diff changeset
1421 (match-beginning 2) ; Return start of environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1422 nil) ; Return nil because env is closed
Dave Love <fx@gnu.org>
parents:
diff changeset
1423 nil)) ; Return nil for not found
Dave Love <fx@gnu.org>
parents:
diff changeset
1424 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1425
Dave Love <fx@gnu.org>
parents:
diff changeset
1426 @cindex @code{linguex}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1427 @cindex LaTeX packages, @code{linguex}
Dave Love <fx@gnu.org>
parents:
diff changeset
1428 A more complex example is the @file{linguex.sty} package which defines
Dave Love <fx@gnu.org>
parents:
diff changeset
1429 list macros @samp{\ex.}, @samp{\a.}, @samp{\b.} etc. for lists which are
Dave Love <fx@gnu.org>
parents:
diff changeset
1430 terminated by @samp{\z.} or by an empty line.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1431
Dave Love <fx@gnu.org>
parents:
diff changeset
1432 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1433 \ex. \label@{ex:12@} Some text in an exotic language ...
Dave Love <fx@gnu.org>
parents:
diff changeset
1434 \a. \label@{ex:13@} more stuff
Dave Love <fx@gnu.org>
parents:
diff changeset
1435 \b. \label@{ex:14@} still more stuff
Dave Love <fx@gnu.org>
parents:
diff changeset
1436 \a. List on a deeper level
Dave Love <fx@gnu.org>
parents:
diff changeset
1437 \b. Another item
Dave Love <fx@gnu.org>
parents:
diff changeset
1438 \b. and the third one
Dave Love <fx@gnu.org>
parents:
diff changeset
1439 \z.
Dave Love <fx@gnu.org>
parents:
diff changeset
1440 \b. Third item on this level.
Dave Love <fx@gnu.org>
parents:
diff changeset
1441
Dave Love <fx@gnu.org>
parents:
diff changeset
1442 ... text after the empty line terminating all lists
Dave Love <fx@gnu.org>
parents:
diff changeset
1443 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1444
Dave Love <fx@gnu.org>
parents:
diff changeset
1445 The difficulty is that the @samp{\a.} lists can nest and that an empty
Dave Love <fx@gnu.org>
parents:
diff changeset
1446 line terminates all list levels in one go. So we have to count nesting
Dave Love <fx@gnu.org>
parents:
diff changeset
1447 levels between @samp{\a.} and @samp{\z.}. Here is the implementation
Dave Love <fx@gnu.org>
parents:
diff changeset
1448 for @b{Ref@TeX{}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1449
Dave Love <fx@gnu.org>
parents:
diff changeset
1450 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1451 (setq reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
1452 '((detect-linguex ?x "ex:" "~\\ref@{%s@}" nil ("Example" "Ex."))))
Dave Love <fx@gnu.org>
parents:
diff changeset
1453
Dave Love <fx@gnu.org>
parents:
diff changeset
1454 (defun detect-linguex (bound)
Dave Love <fx@gnu.org>
parents:
diff changeset
1455 (let ((cnt 0))
Dave Love <fx@gnu.org>
parents:
diff changeset
1456 (catch 'exit
Dave Love <fx@gnu.org>
parents:
diff changeset
1457 (while
Dave Love <fx@gnu.org>
parents:
diff changeset
1458 ;; Search backward for all possible delimiters
Dave Love <fx@gnu.org>
parents:
diff changeset
1459 (re-search-backward
Dave Love <fx@gnu.org>
parents:
diff changeset
1460 (concat "\\(^[ \t]*\n\\)\\|\\(\\\\z\\.\\)\\|"
Dave Love <fx@gnu.org>
parents:
diff changeset
1461 "\\(\\ex[ig]?\\.\\)\\|\\(\\\\a\\.\\)")
Dave Love <fx@gnu.org>
parents:
diff changeset
1462 nil t)
Dave Love <fx@gnu.org>
parents:
diff changeset
1463 ;; Check which delimiter was matched.
Dave Love <fx@gnu.org>
parents:
diff changeset
1464 (cond
Dave Love <fx@gnu.org>
parents:
diff changeset
1465 ((match-beginning 1)
Dave Love <fx@gnu.org>
parents:
diff changeset
1466 ;; empty line terminates all - return nil
Dave Love <fx@gnu.org>
parents:
diff changeset
1467 (throw 'exit nil))
Dave Love <fx@gnu.org>
parents:
diff changeset
1468 ((match-beginning 2)
Dave Love <fx@gnu.org>
parents:
diff changeset
1469 ;; \z. terminates one list level - decrease nesting count
Dave Love <fx@gnu.org>
parents:
diff changeset
1470 (decf cnt))
Dave Love <fx@gnu.org>
parents:
diff changeset
1471 ((match-beginning 3)
Dave Love <fx@gnu.org>
parents:
diff changeset
1472 ;; \ex. : return match unless there was a \z. on this level
Dave Love <fx@gnu.org>
parents:
diff changeset
1473 (throw 'exit (if (>= cnt 0) (match-beginning 3) nil)))
Dave Love <fx@gnu.org>
parents:
diff changeset
1474 ((match-beginning 4)
Dave Love <fx@gnu.org>
parents:
diff changeset
1475 ;; \a. : return match when on level 0, otherwise
Dave Love <fx@gnu.org>
parents:
diff changeset
1476 ;; increment nesting count
Dave Love <fx@gnu.org>
parents:
diff changeset
1477 (if (>= cnt 0)
Dave Love <fx@gnu.org>
parents:
diff changeset
1478 (throw 'exit (match-beginning 4))
Dave Love <fx@gnu.org>
parents:
diff changeset
1479 (incf cnt))))))))
Dave Love <fx@gnu.org>
parents:
diff changeset
1480 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1481
Dave Love <fx@gnu.org>
parents:
diff changeset
1482 @node Putting it Together, , Non-Standard Environments, Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
1483 @subsection Putting it all together
Dave Love <fx@gnu.org>
parents:
diff changeset
1484
Dave Love <fx@gnu.org>
parents:
diff changeset
1485 When you have to put several entries into @code{reftex-label-alist}, just
Dave Love <fx@gnu.org>
parents:
diff changeset
1486 put them after each other in a list, or create that many templates in
Dave Love <fx@gnu.org>
parents:
diff changeset
1487 the customization buffer. Here is a lisp example which uses several of
Dave Love <fx@gnu.org>
parents:
diff changeset
1488 the entries described above:
Dave Love <fx@gnu.org>
parents:
diff changeset
1489
Dave Love <fx@gnu.org>
parents:
diff changeset
1490 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1491 (setq reftex-label-alist
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1492 '(("axiom" ?a "ax:" "~\\ref@{%s@}" nil ("axiom" "ax.") -2)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1493 ("theorem" ?h "thr:" "~\\ref@{%s@}" t ("theorem" "theor." "th.") -3)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1494 ("\\quickeq@{@}" ?e nil nil 1 nil)
Dave Love <fx@gnu.org>
parents:
diff changeset
1495 AMSTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1496 ("\\myfig[]@{@}@{@}@{*@}@{@}" ?f nil nil 3)
Dave Love <fx@gnu.org>
parents:
diff changeset
1497 (detect-linguex ?x "ex:" "~\\ref@{%s@}" nil ("Example" "Ex."))))
Dave Love <fx@gnu.org>
parents:
diff changeset
1498 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1499
Dave Love <fx@gnu.org>
parents:
diff changeset
1500 @node Reference Info, xr (LaTeX package), Defining Label Environments, Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
1501 @section Reference Info
Dave Love <fx@gnu.org>
parents:
diff changeset
1502 @findex reftex-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
1503 @findex reftex-mouse-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
1504 @cindex Cross-references, displaying
Dave Love <fx@gnu.org>
parents:
diff changeset
1505 @cindex Reference info
Dave Love <fx@gnu.org>
parents:
diff changeset
1506 @cindex Displaying cross-references
Dave Love <fx@gnu.org>
parents:
diff changeset
1507 @cindex Viewing cross-references
Dave Love <fx@gnu.org>
parents:
diff changeset
1508 @kindex C-c &
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
1509 @kindex S-mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1510
Dave Love <fx@gnu.org>
parents:
diff changeset
1511 When point is idle on the argument of a @code{\ref} macro, the echo area
Dave Love <fx@gnu.org>
parents:
diff changeset
1512 will display some information about the label referenced there. Note
Dave Love <fx@gnu.org>
parents:
diff changeset
1513 that the information is only displayed if the echo area is not occupied
Dave Love <fx@gnu.org>
parents:
diff changeset
1514 by a different message.
Dave Love <fx@gnu.org>
parents:
diff changeset
1515
Dave Love <fx@gnu.org>
parents:
diff changeset
1516 @b{Ref@TeX{}} can also display the label definition corresponding to a
Dave Love <fx@gnu.org>
parents:
diff changeset
1517 @code{\ref} macro, or all reference locations corresponding to a
Dave Love <fx@gnu.org>
parents:
diff changeset
1518 @code{\label} macro. @xref{Viewing Cross-References}, for more
Dave Love <fx@gnu.org>
parents:
diff changeset
1519 information.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1520
Dave Love <fx@gnu.org>
parents:
diff changeset
1521 @node xr (LaTeX package), varioref (LaTeX package), Reference Info, Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
1522 @section @code{xr}: Cross-Document References
Dave Love <fx@gnu.org>
parents:
diff changeset
1523 @cindex @code{xr}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1524 @cindex LaTeX packages, @code{xr}
Dave Love <fx@gnu.org>
parents:
diff changeset
1525 @cindex @code{\externaldocument}
Dave Love <fx@gnu.org>
parents:
diff changeset
1526 @cindex External documents
Dave Love <fx@gnu.org>
parents:
diff changeset
1527 @cindex References to external documents
Dave Love <fx@gnu.org>
parents:
diff changeset
1528 @cindex Cross-document references
Dave Love <fx@gnu.org>
parents:
diff changeset
1529
Dave Love <fx@gnu.org>
parents:
diff changeset
1530 The LaTeX package @code{xr} makes it possible to create references to
Dave Love <fx@gnu.org>
parents:
diff changeset
1531 labels defined in external documents. The preamble of a document using
Dave Love <fx@gnu.org>
parents:
diff changeset
1532 @code{xr} will contain something like this:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1533
Dave Love <fx@gnu.org>
parents:
diff changeset
1534 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1535 \usepackage@{xr@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1536 \externaldocument[V1-]@{volume1@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1537 \externaldocument[V3-]@{volume3@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1538 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1539
Dave Love <fx@gnu.org>
parents:
diff changeset
1540 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
1541 and we can make references to any labels defined in these
Dave Love <fx@gnu.org>
parents:
diff changeset
1542 external documents by using the prefixes @samp{V1-} and @samp{V3-},
Dave Love <fx@gnu.org>
parents:
diff changeset
1543 respectively.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1544
Dave Love <fx@gnu.org>
parents:
diff changeset
1545 @b{Ref@TeX{}} can be used to create such references as well. Start the
Dave Love <fx@gnu.org>
parents:
diff changeset
1546 referencing process normally, by pressing @kbd{C-c )}. Select a label
Dave Love <fx@gnu.org>
parents:
diff changeset
1547 type if necessary. When you see the label selection buffer, pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
1548 @kbd{x} will switch to the label selection buffer of one of the external
Dave Love <fx@gnu.org>
parents:
diff changeset
1549 documents. You may then select a label as before and @b{Ref@TeX{}} will
Dave Love <fx@gnu.org>
parents:
diff changeset
1550 insert it along with the required prefix.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1551
Dave Love <fx@gnu.org>
parents:
diff changeset
1552 For this kind of inter-document cross-references, saving of parsing
Dave Love <fx@gnu.org>
parents:
diff changeset
1553 information and the use of multiple selection buffers can mean a large
Dave Love <fx@gnu.org>
parents:
diff changeset
1554 speed-up (@pxref{Optimizations}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1555
Dave Love <fx@gnu.org>
parents:
diff changeset
1556 @node varioref (LaTeX package), fancyref (LaTeX package), xr (LaTeX package), Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
1557 @section @code{varioref}: Variable Page References
Dave Love <fx@gnu.org>
parents:
diff changeset
1558 @cindex @code{varioref}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1559 @cindex @code{\vref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1560 @cindex LaTeX packages, @code{varioref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1561 @vindex reftex-vref-is-default
Dave Love <fx@gnu.org>
parents:
diff changeset
1562 @code{varioref} is a frequently used LaTeX package to create
Dave Love <fx@gnu.org>
parents:
diff changeset
1563 cross--references with page information. When you want to make a
Dave Love <fx@gnu.org>
parents:
diff changeset
1564 reference with the @code{\vref} macro, just press the @kbd{v} key in the
Dave Love <fx@gnu.org>
parents:
diff changeset
1565 selection buffer to toggle between @code{\ref} and @code{\vref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1566 (@pxref{Referencing Labels}). The mode line of the selection buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1567 shows the current status of this switch. If you find that you almost
Dave Love <fx@gnu.org>
parents:
diff changeset
1568 always use @code{\vref}, you may want to make it the default by
Dave Love <fx@gnu.org>
parents:
diff changeset
1569 customizing the variable @code{reftex-vref-is-default}. If this
Dave Love <fx@gnu.org>
parents:
diff changeset
1570 toggling seems too inconvenient, you can also use the command
Dave Love <fx@gnu.org>
parents:
diff changeset
1571 @code{reftex-varioref-vref}@footnote{bind it to @kbd{C-c v}.}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1572 Or use AUCTeX to create your macros (@pxref{AUCTeX}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1573
Dave Love <fx@gnu.org>
parents:
diff changeset
1574 @node fancyref (LaTeX package), , varioref (LaTeX package), Labels and References
Dave Love <fx@gnu.org>
parents:
diff changeset
1575 @section @code{fancyref}: Fancy Cross References
Dave Love <fx@gnu.org>
parents:
diff changeset
1576 @cindex @code{fancyref}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1577 @cindex @code{\fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1578 @cindex @code{\Fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1579 @cindex LaTeX packages, @code{fancyref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1580 @vindex reftex-fref-is-default
Dave Love <fx@gnu.org>
parents:
diff changeset
1581 @code{fancyref} is a LaTeX package where a macro call like
Dave Love <fx@gnu.org>
parents:
diff changeset
1582 @code{\fref@{@var{fig:map-of-germany}@}} creates not only the number of
Dave Love <fx@gnu.org>
parents:
diff changeset
1583 the referenced counter but also the complete text around it, like
Dave Love <fx@gnu.org>
parents:
diff changeset
1584 @samp{Figure 3 on the preceding page}. In order to make it work you
Dave Love <fx@gnu.org>
parents:
diff changeset
1585 need to use label prefixes like @samp{fig:} consistently - something
Dave Love <fx@gnu.org>
parents:
diff changeset
1586 @b{Ref@TeX{}} does automatically. When you want to make a reference
Dave Love <fx@gnu.org>
parents:
diff changeset
1587 with the @code{\fref} macro, just press the @kbd{V} key in the selection
Dave Love <fx@gnu.org>
parents:
diff changeset
1588 buffer to cycle between @code{\ref}, @code{\fref} and @code{\Fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1589 (@pxref{Referencing Labels}). The mode line of the selection buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
1590 shows the current status of this switch. If this cycling seems
Dave Love <fx@gnu.org>
parents:
diff changeset
1591 inconvenient, you can also use the commands @code{reftex-fancyref-fref}
Dave Love <fx@gnu.org>
parents:
diff changeset
1592 and @code{reftex-fancyref-Fref}@footnote{bind them to @kbd{C-c
Dave Love <fx@gnu.org>
parents:
diff changeset
1593 f} and @kbd{C-c F}.}. Or use AUCTeX to create your macros
Dave Love <fx@gnu.org>
parents:
diff changeset
1594 (@pxref{AUCTeX}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1595
Dave Love <fx@gnu.org>
parents:
diff changeset
1596 @node Citations, Index Support, Labels and References, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
1597 @chapter Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1598 @cindex Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1599 @cindex @code{\cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
1600
Dave Love <fx@gnu.org>
parents:
diff changeset
1601 Citations in LaTeX are done with the @code{\cite} macro or variations of
Dave Love <fx@gnu.org>
parents:
diff changeset
1602 it. The argument of the macro is a citation key which identifies an
Dave Love <fx@gnu.org>
parents:
diff changeset
1603 article or book in either a BibTeX database file or in an explicit
Dave Love <fx@gnu.org>
parents:
diff changeset
1604 @code{thebibliography} environment in the document. @b{Ref@TeX{}}'s
Dave Love <fx@gnu.org>
parents:
diff changeset
1605 support for citations helps to select the correct key quickly.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1606
Dave Love <fx@gnu.org>
parents:
diff changeset
1607 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
1608 * Creating Citations:: How to create them.
Dave Love <fx@gnu.org>
parents:
diff changeset
1609 * Citation Styles:: Natbib, Harvard, Chicago and Co.
Dave Love <fx@gnu.org>
parents:
diff changeset
1610 * Citation Info:: View the corresponding database entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
1611 * Chapterbib and Bibunits:: Multiple bibliographies in a Document.
Dave Love <fx@gnu.org>
parents:
diff changeset
1612 * Citations Outside LaTeX:: How to make citations in Emails etc.
Dave Love <fx@gnu.org>
parents:
diff changeset
1613 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
1614
Dave Love <fx@gnu.org>
parents:
diff changeset
1615 @node Creating Citations, Citation Styles, , Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1616 @section Creating Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1617 @cindex Creating citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1618 @cindex Citations, creating
Dave Love <fx@gnu.org>
parents:
diff changeset
1619 @findex reftex-citation
Dave Love <fx@gnu.org>
parents:
diff changeset
1620 @kindex C-c [
Dave Love <fx@gnu.org>
parents:
diff changeset
1621 @cindex Selection buffer, citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1622 @cindex Selection process
Dave Love <fx@gnu.org>
parents:
diff changeset
1623
Dave Love <fx@gnu.org>
parents:
diff changeset
1624 In order to create a citation, press @kbd{C-c [}. @b{Ref@TeX{}} then
Dave Love <fx@gnu.org>
parents:
diff changeset
1625 prompts for a regular expression which will be used to search through
Dave Love <fx@gnu.org>
parents:
diff changeset
1626 the database and present the list of matches to choose from in a
Dave Love <fx@gnu.org>
parents:
diff changeset
1627 selection process similar to that for selecting labels
Dave Love <fx@gnu.org>
parents:
diff changeset
1628 (@pxref{Referencing Labels}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1629
Dave Love <fx@gnu.org>
parents:
diff changeset
1630 The regular expression uses an extended syntax: @samp{&&} defines a
Dave Love <fx@gnu.org>
parents:
diff changeset
1631 logic @code{and} for regular expressions. For example
Dave Love <fx@gnu.org>
parents:
diff changeset
1632 @samp{Einstein&&Bose} will match all articles which mention
Dave Love <fx@gnu.org>
parents:
diff changeset
1633 Bose-Einstein condensation, or which are co-authored by Bose and
Dave Love <fx@gnu.org>
parents:
diff changeset
1634 Einstein. When entering the regular expression, you can complete on
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46684
diff changeset
1635 known citation keys. RefTeX also offers a default when prompting for a
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1636 regular expression. This default is the word before the cursor or the
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46684
diff changeset
1637 word before the current @samp{\cite} command. Sometimes this may be a
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
1638 good search key.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1639
Dave Love <fx@gnu.org>
parents:
diff changeset
1640 @cindex @code{\bibliography}
Dave Love <fx@gnu.org>
parents:
diff changeset
1641 @cindex @code{thebibliography}, LaTeX environment
Dave Love <fx@gnu.org>
parents:
diff changeset
1642 @cindex @code{BIBINPUTS}, environment variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1643 @cindex @code{TEXBIB}, environment variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1644 @b{Ref@TeX{}} prefers to use BibTeX database files specified with a
Dave Love <fx@gnu.org>
parents:
diff changeset
1645 @code{\bibliography} macro to collect its information. Just like
Dave Love <fx@gnu.org>
parents:
diff changeset
1646 BibTeX, it will search for the specified files in the current directory
Dave Love <fx@gnu.org>
parents:
diff changeset
1647 and along the path given in the environment variable @code{BIBINPUTS}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1648 If you do not use BibTeX, but the document contains an explicit
Dave Love <fx@gnu.org>
parents:
diff changeset
1649 @code{thebibliography} environment, @b{Ref@TeX{}} will collect its
Dave Love <fx@gnu.org>
parents:
diff changeset
1650 information from there. Note that in this case the information
Dave Love <fx@gnu.org>
parents:
diff changeset
1651 presented in the selection buffer will just be a copy of relevant
Dave Love <fx@gnu.org>
parents:
diff changeset
1652 @code{\bibitem} entries, not the structured listing available with
Dave Love <fx@gnu.org>
parents:
diff changeset
1653 BibTeX database files.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1654
Dave Love <fx@gnu.org>
parents:
diff changeset
1655 @kindex ?
Dave Love <fx@gnu.org>
parents:
diff changeset
1656 In the selection buffer, the following keys provide special commands. A
Dave Love <fx@gnu.org>
parents:
diff changeset
1657 summary of this information is always available from the selection
Dave Love <fx@gnu.org>
parents:
diff changeset
1658 process by pressing @kbd{?}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1659
Dave Love <fx@gnu.org>
parents:
diff changeset
1660 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
1661 @tablesubheading{General}
Dave Love <fx@gnu.org>
parents:
diff changeset
1662 @item ?
Dave Love <fx@gnu.org>
parents:
diff changeset
1663 Show a summary of available commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
1664
Dave Love <fx@gnu.org>
parents:
diff changeset
1665 @item 0-9,-
Dave Love <fx@gnu.org>
parents:
diff changeset
1666 Prefix argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
1667
Dave Love <fx@gnu.org>
parents:
diff changeset
1668 @tablesubheading{Moving around}
Dave Love <fx@gnu.org>
parents:
diff changeset
1669 @item n
Dave Love <fx@gnu.org>
parents:
diff changeset
1670 Go to next article.
Dave Love <fx@gnu.org>
parents:
diff changeset
1671
Dave Love <fx@gnu.org>
parents:
diff changeset
1672 @item p
Dave Love <fx@gnu.org>
parents:
diff changeset
1673 Go to previous article.
Dave Love <fx@gnu.org>
parents:
diff changeset
1674
Dave Love <fx@gnu.org>
parents:
diff changeset
1675 @tablesubheading{Access to full database entries}
Dave Love <fx@gnu.org>
parents:
diff changeset
1676 @item @key{SPC}
Dave Love <fx@gnu.org>
parents:
diff changeset
1677 Show the database entry corresponding to the article at point, in
Dave Love <fx@gnu.org>
parents:
diff changeset
1678 another window. See also the @kbd{f} key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1679
Dave Love <fx@gnu.org>
parents:
diff changeset
1680 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
1681 Toggle follow mode. When follow mode is active, the other window will
Dave Love <fx@gnu.org>
parents:
diff changeset
1682 always display the full database entry of the current article. This is
Dave Love <fx@gnu.org>
parents:
diff changeset
1683 equivalent to pressing @key{SPC} after each cursor motion. With BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1684 entries, follow mode can be rather slow.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1685
Dave Love <fx@gnu.org>
parents:
diff changeset
1686 @tablesubheading{Selecting entries and creating the citation}
Dave Love <fx@gnu.org>
parents:
diff changeset
1687 @item @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
1688 Insert a citation referencing the article at point into the buffer from
Dave Love <fx@gnu.org>
parents:
diff changeset
1689 which the selection process was started.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1690
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
1691 @item mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1692 @vindex reftex-highlight-selection
Dave Love <fx@gnu.org>
parents:
diff changeset
1693 Clicking with mouse button 2 on a citation will accept it like @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
1694 would. See also variable @code{reftex-highlight-selection}, @ref{Options
Dave Love <fx@gnu.org>
parents:
diff changeset
1695 (Misc)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1696
Dave Love <fx@gnu.org>
parents:
diff changeset
1697 @item m
Dave Love <fx@gnu.org>
parents:
diff changeset
1698 Mark the current entry. When one or several entries are marked,
Dave Love <fx@gnu.org>
parents:
diff changeset
1699 pressing @kbd{a} or @kbd{A} accepts all marked entries. Also,
Dave Love <fx@gnu.org>
parents:
diff changeset
1700 @key{RET} behaves like the @kbd{a} key.
Dave Love <fx@gnu.org>
parents:
diff changeset
1701
Dave Love <fx@gnu.org>
parents:
diff changeset
1702 @item u
Dave Love <fx@gnu.org>
parents:
diff changeset
1703 Unmark a marked entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
1704
Dave Love <fx@gnu.org>
parents:
diff changeset
1705 @item a
Dave Love <fx@gnu.org>
parents:
diff changeset
1706 Accept all (marked) entries in the selection buffer and create a single
Dave Love <fx@gnu.org>
parents:
diff changeset
1707 @code{\cite} macro referring to them.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1708
Dave Love <fx@gnu.org>
parents:
diff changeset
1709 @item A
Dave Love <fx@gnu.org>
parents:
diff changeset
1710 Accept all (marked) entries in the selection buffer and create a
Dave Love <fx@gnu.org>
parents:
diff changeset
1711 separate @code{\cite} macro for each of it.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1712
Dave Love <fx@gnu.org>
parents:
diff changeset
1713 @item @key{TAB}
Dave Love <fx@gnu.org>
parents:
diff changeset
1714 Enter a citation key with completion. This may also be a key which does
Dave Love <fx@gnu.org>
parents:
diff changeset
1715 not yet exist.
Dave Love <fx@gnu.org>
parents:
diff changeset
1716
Dave Love <fx@gnu.org>
parents:
diff changeset
1717 @item .
Dave Love <fx@gnu.org>
parents:
diff changeset
1718 Show insertion point in another window. This is the point from where you
Dave Love <fx@gnu.org>
parents:
diff changeset
1719 called @code{reftex-citation}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1720
Dave Love <fx@gnu.org>
parents:
diff changeset
1721 @tablesubheading{Exiting}
Dave Love <fx@gnu.org>
parents:
diff changeset
1722 @item q
Dave Love <fx@gnu.org>
parents:
diff changeset
1723 Exit the selection process without inserting a citation into the
Dave Love <fx@gnu.org>
parents:
diff changeset
1724 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1725
Dave Love <fx@gnu.org>
parents:
diff changeset
1726 @tablesubheading{Updating the buffer}
Dave Love <fx@gnu.org>
parents:
diff changeset
1727
Dave Love <fx@gnu.org>
parents:
diff changeset
1728 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
1729 Start over with a new regular expression. The full database will be
Dave Love <fx@gnu.org>
parents:
diff changeset
1730 rescanned with the new expression (see also @kbd{r}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1731
Dave Love <fx@gnu.org>
parents:
diff changeset
1732 @c FIXME: Should we use something else here? r is usually rescan!
Dave Love <fx@gnu.org>
parents:
diff changeset
1733 @item r
Dave Love <fx@gnu.org>
parents:
diff changeset
1734 Refine the current selection with another regular expression. This will
Dave Love <fx@gnu.org>
parents:
diff changeset
1735 @emph{not} rescan the entire database, but just the already selected
Dave Love <fx@gnu.org>
parents:
diff changeset
1736 entries.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1737
Dave Love <fx@gnu.org>
parents:
diff changeset
1738 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
1739
Dave Love <fx@gnu.org>
parents:
diff changeset
1740 @vindex reftex-select-bib-map
Dave Love <fx@gnu.org>
parents:
diff changeset
1741 In order to define additional commands for this selection process, the
Dave Love <fx@gnu.org>
parents:
diff changeset
1742 keymap @code{reftex-select-bib-map} may be used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1743
Dave Love <fx@gnu.org>
parents:
diff changeset
1744 @node Citation Styles, Citation Info, Creating Citations, Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1745 @section Citation Styles
Dave Love <fx@gnu.org>
parents:
diff changeset
1746 @cindex Citation styles
Dave Love <fx@gnu.org>
parents:
diff changeset
1747 @cindex Citation styles, @code{natbib}
Dave Love <fx@gnu.org>
parents:
diff changeset
1748 @cindex Citation styles, @code{harvard}
Dave Love <fx@gnu.org>
parents:
diff changeset
1749 @cindex Citation styles, @code{chicago}
Dave Love <fx@gnu.org>
parents:
diff changeset
1750 @cindex @code{natbib}, citation style
Dave Love <fx@gnu.org>
parents:
diff changeset
1751 @cindex @code{harvard}, citation style
Dave Love <fx@gnu.org>
parents:
diff changeset
1752 @cindex @code{chicago}, citation style
Dave Love <fx@gnu.org>
parents:
diff changeset
1753
Dave Love <fx@gnu.org>
parents:
diff changeset
1754 @vindex reftex-cite-format
Dave Love <fx@gnu.org>
parents:
diff changeset
1755 The standard LaTeX macro @code{\cite} works well with numeric or simple
Dave Love <fx@gnu.org>
parents:
diff changeset
1756 key citations. To deal with the more complex task of author-year
Dave Love <fx@gnu.org>
parents:
diff changeset
1757 citations as used in many natural sciences, a variety of packages has
Dave Love <fx@gnu.org>
parents:
diff changeset
1758 been developed which define derived forms of the @code{\cite} macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
1759 @b{Ref@TeX{}} can be configured to produce these citation macros as well by
Dave Love <fx@gnu.org>
parents:
diff changeset
1760 setting the variable @code{reftex-cite-format}. For the most commonly
Dave Love <fx@gnu.org>
parents:
diff changeset
1761 used packages (@code{natbib}, @code{harvard}, @code{chicago}) this may
Dave Love <fx@gnu.org>
parents:
diff changeset
1762 be done from the menu, under @code{Ref->Citation Styles}. Since there
Dave Love <fx@gnu.org>
parents:
diff changeset
1763 are usually several macros to create the citations, executing
Dave Love <fx@gnu.org>
parents:
diff changeset
1764 @code{reftex-citation} (@kbd{C-c [}) starts by prompting for the correct
Dave Love <fx@gnu.org>
parents:
diff changeset
1765 macro. For the Natbib style, this looks like this:
Dave Love <fx@gnu.org>
parents:
diff changeset
1766
Dave Love <fx@gnu.org>
parents:
diff changeset
1767 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
1768 SELECT A CITATION FORMAT
Dave Love <fx@gnu.org>
parents:
diff changeset
1769
Dave Love <fx@gnu.org>
parents:
diff changeset
1770 [^M] \cite@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1771 [t] \citet@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1772 [T] \citet*@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1773 [p] \citep@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1774 [P] \citep*@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1775 [e] \citep[e.g.][]@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1776 [s] \citep[see][]@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1777 [a] \citeauthor@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1778 [A] \citeauthor*@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1779 [y] \citeyear@{%l@}
Dave Love <fx@gnu.org>
parents:
diff changeset
1780 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
1781
Dave Love <fx@gnu.org>
parents:
diff changeset
1782 Following the most generic of these packages, @code{natbib}, the builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
1783 citation packages always accept the @kbd{t} key for a @emph{textual}
Dave Love <fx@gnu.org>
parents:
diff changeset
1784 citation (like: @code{Jones et al. (1997) have shown...}) as well as
Dave Love <fx@gnu.org>
parents:
diff changeset
1785 the @kbd{p} key for a parenthetical citation (like: @code{As shown
Dave Love <fx@gnu.org>
parents:
diff changeset
1786 earlier (Jones et al, 1997)}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1787
Dave Love <fx@gnu.org>
parents:
diff changeset
1788 To make one of these styles the default, customize the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1789 @code{reftex-cite-format} or put into @file{.emacs}:
Dave Love <fx@gnu.org>
parents:
diff changeset
1790
Dave Love <fx@gnu.org>
parents:
diff changeset
1791 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1792 (setq reftex-cite-format 'natbib)
Dave Love <fx@gnu.org>
parents:
diff changeset
1793 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1794
Dave Love <fx@gnu.org>
parents:
diff changeset
1795 You can also use AUCTeX style files to automatically set the
Dave Love <fx@gnu.org>
parents:
diff changeset
1796 citation style based on the @code{usepackage} commands in a given
Dave Love <fx@gnu.org>
parents:
diff changeset
1797 document. @xref{Style Files}, for information on how to set up the style
Dave Love <fx@gnu.org>
parents:
diff changeset
1798 files correctly.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1799
Dave Love <fx@gnu.org>
parents:
diff changeset
1800 @node Citation Info, Chapterbib and Bibunits, Citation Styles, Citations, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
1801 @section Citation Info
Dave Love <fx@gnu.org>
parents:
diff changeset
1802 @cindex Displaying citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1803 @cindex Citations, displaying
Dave Love <fx@gnu.org>
parents:
diff changeset
1804 @cindex Citation info
Dave Love <fx@gnu.org>
parents:
diff changeset
1805 @cindex Viewing citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1806 @kindex C-c &
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
1807 @kindex S-mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1808 @findex reftex-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
1809 @findex reftex-mouse-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
1810
Dave Love <fx@gnu.org>
parents:
diff changeset
1811 When point is idle on the argument of a @code{\cite} macro, the echo area
Dave Love <fx@gnu.org>
parents:
diff changeset
1812 will display some information about the article cited there. Note
Dave Love <fx@gnu.org>
parents:
diff changeset
1813 that the information is only displayed if the echo area is not occupied
Dave Love <fx@gnu.org>
parents:
diff changeset
1814 by a different message.
Dave Love <fx@gnu.org>
parents:
diff changeset
1815
Dave Love <fx@gnu.org>
parents:
diff changeset
1816 @b{Ref@TeX{}} can also display the @code{\bibitem} or BibTeX database
Dave Love <fx@gnu.org>
parents:
diff changeset
1817 entry corresponding to a @code{\cite} macro, or all citation locations
Dave Love <fx@gnu.org>
parents:
diff changeset
1818 corresponding to a @code{\bibitem} or BibTeX database entry.
Dave Love <fx@gnu.org>
parents:
diff changeset
1819 @xref{Viewing Cross-References}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1820
Dave Love <fx@gnu.org>
parents:
diff changeset
1821 @node Chapterbib and Bibunits, Citations Outside LaTeX, Citation Info, Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1822 @section Chapterbib and Bibunits
Dave Love <fx@gnu.org>
parents:
diff changeset
1823 @cindex @code{chapterbib}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1824 @cindex @code{bibunits}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
1825 @cindex Bibliographies, multiple
Dave Love <fx@gnu.org>
parents:
diff changeset
1826
Dave Love <fx@gnu.org>
parents:
diff changeset
1827 @code{chapterbib} and @code{bibunits} are two LaTeX packages which
Dave Love <fx@gnu.org>
parents:
diff changeset
1828 produce multiple bibliographies in a document. This is no problem for
Dave Love <fx@gnu.org>
parents:
diff changeset
1829 @b{Ref@TeX{}} as long as all bibliographies use the same BibTeX database
Dave Love <fx@gnu.org>
parents:
diff changeset
1830 files. If they do not, it is best to have each document part in a
Dave Love <fx@gnu.org>
parents:
diff changeset
1831 separate file (as it is required for @code{chapterbib} anyway). Then
Dave Love <fx@gnu.org>
parents:
diff changeset
1832 @b{Ref@TeX{}} will still scan the locally relevant databases correctly. If
Dave Love <fx@gnu.org>
parents:
diff changeset
1833 you have multiple bibliographies within a @emph{single file}, this may
Dave Love <fx@gnu.org>
parents:
diff changeset
1834 or may not be the case.
Dave Love <fx@gnu.org>
parents:
diff changeset
1835
Dave Love <fx@gnu.org>
parents:
diff changeset
1836 @node Citations Outside LaTeX, , Chapterbib and Bibunits, Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
1837 @section Citations outside LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1838 @cindex Citations outside LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1839 @vindex reftex-default-bibliography
Dave Love <fx@gnu.org>
parents:
diff changeset
1840
Dave Love <fx@gnu.org>
parents:
diff changeset
1841 The command @code{reftex-citation} can also be executed outside a LaTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
1842 buffer. This can be useful to reference articles in the mail buffer and
Dave Love <fx@gnu.org>
parents:
diff changeset
1843 other documents. You should @emph{not} enter @code{reftex-mode} for
Dave Love <fx@gnu.org>
parents:
diff changeset
1844 this, just execute the command. The list of BibTeX files will in this
Dave Love <fx@gnu.org>
parents:
diff changeset
1845 case be taken from the variable @code{reftex-default-bibliography}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1846 Setting the variable @code{reftex-cite-format} to the symbol
Dave Love <fx@gnu.org>
parents:
diff changeset
1847 @code{locally} does a decent job of putting all relevant information
Dave Love <fx@gnu.org>
parents:
diff changeset
1848 about a citation directly into the buffer. Here is the lisp code to add
Dave Love <fx@gnu.org>
parents:
diff changeset
1849 the @kbd{C-c [} binding to the mail buffer. It also provides a local
Dave Love <fx@gnu.org>
parents:
diff changeset
1850 binding for @code{reftex-cite-format}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1851
Dave Love <fx@gnu.org>
parents:
diff changeset
1852 @lisp
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1853 (add-hook 'mail-setup-hook
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1854 (lambda () (define-key mail-mode-map "\C-c["
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1855 (lambda () (interactive)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1856 (require 'reftex)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1857 (let ((reftex-cite-format 'locally))
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1858 (reftex-citation))))))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1859 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
1860
Dave Love <fx@gnu.org>
parents:
diff changeset
1861 @node Index Support, Viewing Cross-References, Citations, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
1862 @chapter Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
1863 @cindex Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
1864 @cindex @code{\index}
Dave Love <fx@gnu.org>
parents:
diff changeset
1865
Dave Love <fx@gnu.org>
parents:
diff changeset
1866 LaTeX has builtin support for creating an Index. The LaTeX core
Dave Love <fx@gnu.org>
parents:
diff changeset
1867 supports two different indices, the standard index and a glossary. With
Dave Love <fx@gnu.org>
parents:
diff changeset
1868 the help of special LaTeX packages (@file{multind.sty} or
Dave Love <fx@gnu.org>
parents:
diff changeset
1869 @file{index.sty}), any number of indices can be supported.
Dave Love <fx@gnu.org>
parents:
diff changeset
1870
Dave Love <fx@gnu.org>
parents:
diff changeset
1871 Index entries are created with the @code{\index@{@var{entry}@}} macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
1872 All entries defined in a document are written out to the @file{.aux}
Dave Love <fx@gnu.org>
parents:
diff changeset
1873 file. A separate tool must be used to convert this information into a
Dave Love <fx@gnu.org>
parents:
diff changeset
1874 nicely formatted index. Tools used with LaTeX include @code{MakeIndex}
Dave Love <fx@gnu.org>
parents:
diff changeset
1875 and @code{xindy}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1876
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1877 Indexing is a very difficult task. It must follow strict conventions to
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1878 make the index consistent and complete. There are basically two
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1879 approaches one can follow, and both have their merits.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1880
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1881 @enumerate
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1882 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1883 Part of the indexing should already be done with the markup. The
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1884 document structure should be reflected in the index, so when starting
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1885 new sections, the basic topics of the section should be indexed. If the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1886 document contains definitions, theorems or the like, these should all
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1887 correspond to appropriate index entries. This part of the index can
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1888 very well be developed along with the document. Often it is worthwhile
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1889 to define special purpose macros which define an item and at the same
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1890 time make an index entry, possibly with special formatting to make the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1891 reference page in the index bold or underlined. To make @b{Ref@TeX{}}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1892 support for indexing possible, these special macros must be added to
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1893 @b{Ref@TeX{}}'s configuration (@pxref{Defining Index Macros}).@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1894
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1895 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1896 The rest of the index is often just a collection of where in the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1897 document certain words or phrases are being used. This part is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1898 difficult to develop along with the document, because consistent entries
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1899 for each occurrence are needed and are best selected when the document
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1900 is ready. @b{Ref@TeX{}} supports this with an @emph{index phrases file}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1901 which collects phrases and helps indexing the phrases globally.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1902 @end enumerate
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1903
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1904 Before you start, you need to make sure that @b{Ref@TeX{}} knows about
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1905 the index style being used in the current document. @b{Ref@TeX{}} has
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1906 builtin support for the default @code{\index} and @code{\glossary}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1907 macros. Other LaTeX packages, like the @file{multind} or @file{index}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1908 package, redefine the @code{\index} macro to have an additional
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1909 argument, and @b{Ref@TeX{}} needs to be configured for those. A
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1910 sufficiently new version of AUCTeX (9.10c or later) will do this
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1911 automatically. If you really don't use AUCTeX (you should!), this
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1912 configuration needs to be done by hand with the menu (@code{Ref->Index
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1913 Style}), or globally for all your documents with@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1914
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1915 @lisp
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1916 (setq reftex-index-macros '(multind)) @r{or}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1917 (setq reftex-index-macros '(index))
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1918 @end lisp
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1919
Dave Love <fx@gnu.org>
parents:
diff changeset
1920 @menu
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1921 * Creating Index Entries:: Macros and completion of entries.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1922 * The Index Phrases File:: A special file for global indexing.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1923 * Displaying and Editing the Index:: The index editor.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1924 * Builtin Index Macros:: The index macros RefTeX knows about.
Dave Love <fx@gnu.org>
parents:
diff changeset
1925 * Defining Index Macros:: ... and macros it doesn't.
Dave Love <fx@gnu.org>
parents:
diff changeset
1926 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
1927
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1928 @node Creating Index Entries, The Index Phrases File, , Index Support
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1929 @section Creating Index Entries
Dave Love <fx@gnu.org>
parents:
diff changeset
1930 @cindex Creating index entries
Dave Love <fx@gnu.org>
parents:
diff changeset
1931 @cindex Index entries, creating
Dave Love <fx@gnu.org>
parents:
diff changeset
1932 @kindex C-c <
Dave Love <fx@gnu.org>
parents:
diff changeset
1933 @findex reftex-index
Dave Love <fx@gnu.org>
parents:
diff changeset
1934 @kindex C-c /
Dave Love <fx@gnu.org>
parents:
diff changeset
1935 @findex reftex-index-selection-or-word
Dave Love <fx@gnu.org>
parents:
diff changeset
1936
Dave Love <fx@gnu.org>
parents:
diff changeset
1937 In order to index the current selection or the word at the cursor press
Dave Love <fx@gnu.org>
parents:
diff changeset
1938 @kbd{C-c /} (@code{reftex-index-selection-or-word}). This causes the
Dave Love <fx@gnu.org>
parents:
diff changeset
1939 selection or word @samp{@var{word}} to be replaced with
Dave Love <fx@gnu.org>
parents:
diff changeset
1940 @samp{\index@{@var{word}@}@var{word}}. The macro which is used
Dave Love <fx@gnu.org>
parents:
diff changeset
1941 (@code{\index} by default) can be configured with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
1942 @code{reftex-index-default-macro}. When the command is called with a
Dave Love <fx@gnu.org>
parents:
diff changeset
1943 prefix argument (@kbd{C-u C-c /}), you get a chance to edit the
Dave Love <fx@gnu.org>
parents:
diff changeset
1944 generated index entry. Use this to change the case of the word or to
Dave Love <fx@gnu.org>
parents:
diff changeset
1945 make the entry a subentry, for example by entering
Dave Love <fx@gnu.org>
parents:
diff changeset
1946 @samp{main!sub!@var{word}}. When called with two raw @kbd{C-u} prefixes
Dave Love <fx@gnu.org>
parents:
diff changeset
1947 (@kbd{C-u C-u C-c /}), you will be asked for the index macro as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
1948 When there is nothing selected and no word at point, this command will
Dave Love <fx@gnu.org>
parents:
diff changeset
1949 just call @code{reftex-index}, described below.
Dave Love <fx@gnu.org>
parents:
diff changeset
1950
Dave Love <fx@gnu.org>
parents:
diff changeset
1951 In order to create a general index entry, press @kbd{C-c <}
Dave Love <fx@gnu.org>
parents:
diff changeset
1952 (@code{reftex-index}). @b{Ref@TeX{}} will prompt for one of the
Dave Love <fx@gnu.org>
parents:
diff changeset
1953 available index macros and for its arguments. Completion will be
Dave Love <fx@gnu.org>
parents:
diff changeset
1954 available for the index entry and, if applicable, the index tag. The
Dave Love <fx@gnu.org>
parents:
diff changeset
1955 index tag is a string identifying one of multiple indices. With the
Dave Love <fx@gnu.org>
parents:
diff changeset
1956 @file{multind} and @file{index} packages, this tag is the first argument
Dave Love <fx@gnu.org>
parents:
diff changeset
1957 to the redefined @code{\index} macro.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
1958
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1959 @node The Index Phrases File, Displaying and Editing the Index, Creating Index Entries, Index Support
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1960 @section The Index Phrases File
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1961 @cindex Index phrase file
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1962 @cindex Phrase file
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1963 @kindex C-c |
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1964 @findex reftex-index-visit-phrases-buffer
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1965 @cindex Macro definition lines, in phrase buffer
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1966
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1967 @b{Ref@TeX{}} maintains a file in which phrases can be collected for
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1968 later indexing. The file is located in the same directory as the master
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1969 file of the document and has the extension @file{.rip} (@b{R}eftex
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1970 @b{I}ndex @b{P}hrases). You can create or visit the file with @kbd{C-c
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1971 |} (@code{reftex-index-visit-phrases-buffer}). If the file is empty it
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1972 is initialized by inserting a file header which contains the definition
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1973 of the available index macros. This list is initialized from
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1974 @code{reftex-index-macros} (@pxref{Defining Index Macros}). You can
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1975 edit the header as needed, but if you define new LaTeX indexing macros,
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1976 don't forget to add them to @code{reftex-index-macros} as well. Here is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1977 a phrase file header example:@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1978
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1979 @example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1980 % -*- mode: reftex-index-phrases -*-
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1981 % Key Macro Format Repeat
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1982 %----------------------------------------------------------
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1983 >>>INDEX_MACRO_DEFINITION: i \index@{%s@} t
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1984 >>>INDEX_MACRO_DEFINITION: I \index*@{%s@} nil
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1985 >>>INDEX_MACRO_DEFINITION: g \glossary@{%s@} t
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1986 >>>INDEX_MACRO_DEFINITION: n \index*[name]@{%s@} nil
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1987 %----------------------------------------------------------
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1988 @end example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1989
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1990 The macro definition lines consist of a unique letter identifying a
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1991 macro, a format string and the @var{repeat} flag, all separated by
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1992 @key{TAB}. The format string shows how the macro is to be applied, the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1993 @samp{%s} will be replaced with the index entry. The repeat flag
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1994 indicates if @var{word} is indexed by the macro as
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1995 @samp{\index@{@var{word}@}} (@var{repeat} = @code{nil}) or as
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1996 @samp{\index@{@var{word}@}@var{word}} (@var{repeat} = @code{t}). In the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1997 above example it is assumed that the macro @code{\index*@{@var{word}@}}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1998 already typesets its argument in the text, so that it is unnecessary to
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
1999 repeat @var{word} outside the macro.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2000
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2001 @menu
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2002 * Collecting Phrases:: Collecting from document or external.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2003 * Consistency Checks:: Check for duplicates etc.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2004 * Global Indexing:: The interactive indexing process.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2005 @end menu
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2006
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2007 @node Collecting Phrases, Consistency Checks, , The Index Phrases File
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2008 @subsection Collecting Phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2009 @cindex Collecting index phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2010 @cindex Index phrases, collection
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2011 @cindex Phrases, collecting
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2012
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2013 Phrases for indexing can be collected while writing the document. The
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2014 command @kbd{C-c \} (@code{reftex-index-phrase-selection-or-word})
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2015 copies the current selection (if active) or the word near point into the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2016 phrases buffer. It then selects this buffer, so that the phrase line
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2017 can be edited. To return to the LaTeX document, press @kbd{C-c C-c}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2018 (@code{reftex-index-phrases-save-and-return}).
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2019
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2020 You can also prepare the list of index phrases in a different way and
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2021 copy it into the phrases file. For example you might want to start from
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2022 a word list of the document and remove all words which should not be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2023 indexed.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2024
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2025 The phrase lines in the phrase buffer must have a specific format.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2026 @b{Ref@TeX{}} will use font-lock to indicate if a line has the proper
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2027 format. A phrase line looks like this:
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2028
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2029 @example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2030 [@var{key}] <TABs> @var{phrase} [<TABs> @var{arg}[&&@var{arg}]... [ || @var{arg}]...]
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2031 @end example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2032
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2033 @code{<TABs>} stands for white space containing at least one @key{TAB}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2034 @var{key} must be at the start of the line and is the character
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2035 identifying one of the macros defined in the file header. It is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2036 optional - when omitted, the first macro definition line in the file
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2037 will be used for this phrase. The @var{phrase} is the phrase to be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2038 searched for when indexing. It may contain several words separated by
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2039 spaces. By default the search phrase is also the text entered as
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2040 argument of the index macro. If you want the index entry to be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2041 different from the search phrase, enter another @key{TAB} and the index
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2042 argument @var{arg}. If you want to have each match produce several
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2043 index entries, separate the different index arguments with @samp{ &&
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2044 }@footnote{@samp{&&} with optional spaces, see
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2045 @code{reftex-index-phrases-logical-and-regexp}.}. If you want to be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2046 able to choose at each match between several different index arguments,
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2047 separate them with @samp{ || }@footnote{@samp{||} with optional spaces,
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2048 see @code{reftex-index-phrases-logical-or-regexp}.}. Here is an
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2049 example:@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2050
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2051 @example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2052 %--------------------------------------------------------------------
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2053 I Sun
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2054 i Planet Planets
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2055 i Vega Stars!Vega
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2056 Jupiter Planets!Jupiter
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2057 i Mars Planets!Mars || Gods!Mars || Chocolate Bars!Mars
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2058 i Pluto Planets!Pluto && Kuiper Belt Objects!Pluto
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2059 @end example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2060
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2061
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2062 So @samp{Sun} will be indexed directly as @samp{\index*@{Sun@}}, while
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2063 @samp{Planet} will be indexed as @samp{\index@{Planets@}Planet}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2064 @samp{Vega} will be indexed as a subitem of @samp{Stars}. The
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2065 @samp{Jupiter} line will also use the @samp{i} macro as it was the first
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2066 macro definition in the file header (see above example). At each
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2067 occurrence of @samp{Mars} you will be able choose between indexing it as
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2068 a subitem of @samp{Planets}, @samp{Gods} or @samp{Chocolate Bars}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2069 Finally, every occurrence of @samp{Pluto} will be indexed as
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2070 @samp{\index@{Planets!Pluto@}\index@{Kuiper Belt Objects!Pluto@}Pluto}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2071 and will therefore create two different index entries.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2072
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2073 @node Consistency Checks, Global Indexing, Collecting Phrases, The Index Phrases File
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2074 @subsection Consistency Checks
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2075 @cindex Index phrases, consistency checks
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2076 @cindex Phrases, consistency checks
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2077 @cindex Consistency check for index phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2078
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2079 @kindex C-c C-s
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2080 Before indexing the phrases in the phrases buffer, they should be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2081 checked carefully for consistency. A first step is to sort the phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2082 alphabetically - this is done with the command @kbd{C-c C-s}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2083 (@code{reftex-index-sort-phrases}). It will sort all phrases in the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2084 buffer alphabetically by search phrase. If you want to group certain
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2085 phrases and only sort within the groups, insert empty lines between the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2086 groups. Sorting will only change the sequence of phrases within each
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2087 group (see the variable @code{reftex-index-phrases-sort-in-blocks}).@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2088
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2089 @kindex C-c C-i
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2090 A useful command is @kbd{C-c C-i} (@code{reftex-index-phrases-info})
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2091 which lists information about the phrase at point, including an example
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2092 of how the index entry will look like and the number of expected matches
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2093 in the document.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2094
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2095 @kindex C-c C-t
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2096 Another important check is to find out if there are double or
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2097 overlapping entries in the buffer. For example if you are first
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2098 searching and indexing @samp{Mars} and then @samp{Planet Mars}, the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2099 second phrase will not match because of the index macro inserted before
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2100 @samp{Mars} earlier. The command @kbd{C-c C-t}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2101 (@code{reftex-index-find-next-conflict-phrase}) finds the next phrase in
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2102 the buffer which is either duplicate or a subphrase of another phrase.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2103 In order to check the whole buffer like this, start at the beginning and
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2104 execute this command repeatedly.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2105
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2106 @node Global Indexing, , Consistency Checks, The Index Phrases File
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2107 @subsection Global Indexing
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2108 @cindex Global indexing
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2109 @cindex Indexing, global
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2110 @cindex Indexing, from @file{phrases} buffer
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2111
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2112 Once the index phrases have been collected and organized, you are set
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2113 for global indexing. I recommend to do this only on an otherwise
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2114 finished document. Global indexing starts from the phrases buffer.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2115 There are several commands which start indexing: @kbd{C-c C-x} acts on
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2116 the current phrase line, @kbd{C-c C-r} on all lines in the current
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2117 region and @kbd{C-c C-a} on all phrase lines in the buffer. It is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2118 probably good to do indexing in small chunks since your concentration
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2119 may not last long enough to do everything in one go.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2120
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2121 @b{Ref@TeX{}} will start at the first phrase line and search the phrase
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2122 globally in the whole document. At each match it will stop, compute the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2123 replacement string and offer you the following choices@footnote{Windows
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2124 users: Restrict yourself to the described keys during indexing. Pressing
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2125 @key{Help} at the indexing prompt can apparently hang Emacs.}:@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2126
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2127 @table @kbd
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2128 @item y
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2129 Replace this match with the proposed string.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2130 @item n
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2131 Skip this match.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2132 @item !
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2133 Replace this and all further matches in this file.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2134 @item q
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2135 Skip this match, start with next file.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2136 @item Q
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2137 Skip this match, start with next phrase.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2138 @item o
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2139 Select a different indexing macro for this match.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2140 @item 1-9
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2141 Select one of multiple index keys (those separated with @samp{||}).
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2142 @item e
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2143 Edit the replacement text.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2144 @item C-r
40705
421e0a91a1d1 Replace M-C- with C-M-
Eli Zaretskii <eliz@gnu.org>
parents: 39267
diff changeset
2145 Recursive edit. Use @kbd{C-M-c} to return to the indexing process.
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2146 @item s
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2147 Save this buffer and ask again about the current match.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2148 @item S
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2149 Save all document buffers and ask again about the current match.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2150 @item C-g
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2151 Abort the indexing process.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2152 @end table
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2153
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2154 The @samp{Find and Index in Document} menu in the phrases buffer also
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2155 lists a few options for the indexing process. The options have
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2156 associated customization variables to set the defaults (@pxref{Options
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2157 (Index Support)}). Here is a short explanation of what the options do:
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2158
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2159 @table @i
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2160 @item Match Whole Words
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2161 When searching for index phrases, make sure whole words are matched.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2162 This should probably always be on.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2163 @item Case Sensitive Search
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2164 Search case sensitively for phrases. I recommend to have this setting
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2165 off, in order to match the capitalized words at the beginning of a
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2166 sentence, and even typos. You can always say @emph{no} at a match you
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2167 do not like.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2168 @item Wrap Long Lines
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2169 Inserting index macros increases the line length. Turn this option on
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2170 to allow @b{Ref@TeX{}} to wrap long lines.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2171 @item Skip Indexed Matches
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2172 When this is on, @b{Ref@TeX{}} will at each match try to figure out if
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2173 this match is already indexed. A match is considered indexed if it is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2174 either the argument of an index macro, or if an index macro is directly
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2175 (without whitespace separation) before or after the match. Index macros
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2176 are those configured in @code{reftex-index-macros}. Intended for
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2177 re-indexing a documents after changes have been made.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2178 @end table
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2179
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2180 Even though indexing should be the last thing you do to a document, you
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2181 are bound to make changes afterwards. Indexing then has to be applied
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2182 to the changed regions. The command
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2183 @code{reftex-index-phrases-apply-to-region} is designed for this
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2184 purpose. When called from a LaTeX document with active region, it will
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2185 apply @code{reftex-index-all-phrases} to the current region.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2186
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2187 @node Displaying and Editing the Index, Builtin Index Macros, The Index Phrases File, Index Support
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2188 @section Displaying and Editing the Index
Dave Love <fx@gnu.org>
parents:
diff changeset
2189 @cindex Displaying the Index
Dave Love <fx@gnu.org>
parents:
diff changeset
2190 @cindex Editing the Index
Dave Love <fx@gnu.org>
parents:
diff changeset
2191 @cindex Index entries, creating
Dave Love <fx@gnu.org>
parents:
diff changeset
2192 @cindex Index, displaying
Dave Love <fx@gnu.org>
parents:
diff changeset
2193 @cindex Index, editing
Dave Love <fx@gnu.org>
parents:
diff changeset
2194 @kindex C-c >
Dave Love <fx@gnu.org>
parents:
diff changeset
2195 @findex reftex-display-index
Dave Love <fx@gnu.org>
parents:
diff changeset
2196
Dave Love <fx@gnu.org>
parents:
diff changeset
2197 In order to compile and display the index, press @kbd{C-c >}. If the
Dave Love <fx@gnu.org>
parents:
diff changeset
2198 document uses multiple indices, @b{Ref@TeX{}} will ask you to select
Dave Love <fx@gnu.org>
parents:
diff changeset
2199 one. Then, all index entries will be sorted alphabetically and
Dave Love <fx@gnu.org>
parents:
diff changeset
2200 displayed in a special buffer, the @file{*Index*} buffer. From that
Dave Love <fx@gnu.org>
parents:
diff changeset
2201 buffer you can check and edit each entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2202
Dave Love <fx@gnu.org>
parents:
diff changeset
2203 The index can be restricted to the current section or the region. Then
Dave Love <fx@gnu.org>
parents:
diff changeset
2204 only entries in that part of the document will go into the compiled
Dave Love <fx@gnu.org>
parents:
diff changeset
2205 index. To restrict to the current section, use a numeric prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
2206 @samp{2}, thus press @kbd{C-u 2 C-c >}. To restrict to the current
Dave Love <fx@gnu.org>
parents:
diff changeset
2207 region, make the region active and use a numeric prefix @samp{3} (press
Dave Love <fx@gnu.org>
parents:
diff changeset
2208 @kbd{C-u 3 C-c >}). From within the @file{*Index*} buffer the
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2209 restriction can be moved from one section to the next by pressing the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2210 @kbd{<} and @kbd{>} keys.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2211
Dave Love <fx@gnu.org>
parents:
diff changeset
2212 One caveat: @b{Ref@TeX{}} finds the definition point of an index entry
Dave Love <fx@gnu.org>
parents:
diff changeset
2213 by searching near the buffer position where it had found to macro during
Dave Love <fx@gnu.org>
parents:
diff changeset
2214 scanning. If you have several identical index entries in the same
Dave Love <fx@gnu.org>
parents:
diff changeset
2215 buffer and significant changes have shifted the entries around, you must
Dave Love <fx@gnu.org>
parents:
diff changeset
2216 rescan the buffer to ensure the correspondence between the
Dave Love <fx@gnu.org>
parents:
diff changeset
2217 @file{*Index*} buffer and the definition locations. It is therefore
Dave Love <fx@gnu.org>
parents:
diff changeset
2218 advisable to rescan the document (with @kbd{r} or @kbd{C-u r})
Dave Love <fx@gnu.org>
parents:
diff changeset
2219 frequently while editing the index from the @file{*Index*}
Dave Love <fx@gnu.org>
parents:
diff changeset
2220 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2221
Dave Love <fx@gnu.org>
parents:
diff changeset
2222 @kindex ?
Dave Love <fx@gnu.org>
parents:
diff changeset
2223 Here is a list of special commands available in the @file{*Index*} buffer. A
Dave Love <fx@gnu.org>
parents:
diff changeset
2224 summary of this information is always available by pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
2225 @kbd{?}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2226
Dave Love <fx@gnu.org>
parents:
diff changeset
2227 @table @kbd
Dave Love <fx@gnu.org>
parents:
diff changeset
2228 @tablesubheading{General}
Dave Love <fx@gnu.org>
parents:
diff changeset
2229 @item ?
Dave Love <fx@gnu.org>
parents:
diff changeset
2230 Display a summary of commands.
Dave Love <fx@gnu.org>
parents:
diff changeset
2231
Dave Love <fx@gnu.org>
parents:
diff changeset
2232 @item 0-9, -
Dave Love <fx@gnu.org>
parents:
diff changeset
2233 Prefix argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
2234
Dave Love <fx@gnu.org>
parents:
diff changeset
2235 @tablesubheading{Moving around}
Dave Love <fx@gnu.org>
parents:
diff changeset
2236 @item ! A..Z
Dave Love <fx@gnu.org>
parents:
diff changeset
2237 Pressing any capital letter will jump to the corresponding section in
Dave Love <fx@gnu.org>
parents:
diff changeset
2238 the @file{*Index*} buffer. The exclamation mark is special and jumps to
Dave Love <fx@gnu.org>
parents:
diff changeset
2239 the first entries alphabetically sorted below @samp{A}. These are
Dave Love <fx@gnu.org>
parents:
diff changeset
2240 usually non-alphanumeric characters.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2241 @item n
Dave Love <fx@gnu.org>
parents:
diff changeset
2242 Go to next entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2243 @item p
Dave Love <fx@gnu.org>
parents:
diff changeset
2244 Go to previous entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2245
Dave Love <fx@gnu.org>
parents:
diff changeset
2246 @tablesubheading{Access to document locations}
Dave Love <fx@gnu.org>
parents:
diff changeset
2247 @item @key{SPC}
Dave Love <fx@gnu.org>
parents:
diff changeset
2248 Show the place in the document where this index entry is defined.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2249
Dave Love <fx@gnu.org>
parents:
diff changeset
2250 @item @key{TAB}
Dave Love <fx@gnu.org>
parents:
diff changeset
2251 Go to the definition of the current index entry in another
Dave Love <fx@gnu.org>
parents:
diff changeset
2252 window.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2253
Dave Love <fx@gnu.org>
parents:
diff changeset
2254 @item @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
2255 Go to the definition of the current index entry and hide the
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2256 @file{*Index*} buffer window.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2257
Dave Love <fx@gnu.org>
parents:
diff changeset
2258 @item f
Dave Love <fx@gnu.org>
parents:
diff changeset
2259 @vindex reftex-index-follow-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
2260 @vindex reftex-revisit-to-follow
Dave Love <fx@gnu.org>
parents:
diff changeset
2261 Toggle follow mode. When follow mode is active, the other window will
Dave Love <fx@gnu.org>
parents:
diff changeset
2262 always show the location corresponding to the line in the @file{*Index*}
Dave Love <fx@gnu.org>
parents:
diff changeset
2263 buffer at point. This is similar to pressing @key{SPC} after each
Dave Love <fx@gnu.org>
parents:
diff changeset
2264 cursor motion. The default for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
2265 @code{reftex-index-follow-mode}. Note that only context in files
Dave Love <fx@gnu.org>
parents:
diff changeset
2266 already visited is shown. @b{Ref@TeX{}} will not visit a file just for
Dave Love <fx@gnu.org>
parents:
diff changeset
2267 follow mode. See, however, the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
2268 @code{reftex-revisit-to-follow}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2269
Dave Love <fx@gnu.org>
parents:
diff changeset
2270 @tablesubheading{Entry editing}
Dave Love <fx@gnu.org>
parents:
diff changeset
2271 @item e
Dave Love <fx@gnu.org>
parents:
diff changeset
2272 Edit the current index entry. In the minibuffer, you can edit the
Dave Love <fx@gnu.org>
parents:
diff changeset
2273 index macro which defines this entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2274
Dave Love <fx@gnu.org>
parents:
diff changeset
2275 @item C-k
Dave Love <fx@gnu.org>
parents:
diff changeset
2276 Kill the index entry. Currently not implemented because I don't know
Dave Love <fx@gnu.org>
parents:
diff changeset
2277 how to implement an @code{undo} function for this.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2278
Dave Love <fx@gnu.org>
parents:
diff changeset
2279 @item *
Dave Love <fx@gnu.org>
parents:
diff changeset
2280 Edit the @var{key} part of the entry. This is the initial part of the
Dave Love <fx@gnu.org>
parents:
diff changeset
2281 entry which determines the location of the entry in the index.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2282
Dave Love <fx@gnu.org>
parents:
diff changeset
2283 @item |
Dave Love <fx@gnu.org>
parents:
diff changeset
2284 Edit the @var{attribute} part of the entry. This is the part after the
Dave Love <fx@gnu.org>
parents:
diff changeset
2285 vertical bar. With @code{MakeIndex}, this part is an encapsulating
Dave Love <fx@gnu.org>
parents:
diff changeset
2286 macro. With @code{xindy}, it is called @emph{attribute} and is a
Dave Love <fx@gnu.org>
parents:
diff changeset
2287 property of the index entry that can lead to special formatting. When
Dave Love <fx@gnu.org>
parents:
diff changeset
2288 called with @kbd{C-u} prefix, kill the entire @var{attribute}
Dave Love <fx@gnu.org>
parents:
diff changeset
2289 part.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2290
Dave Love <fx@gnu.org>
parents:
diff changeset
2291 @item @@
Dave Love <fx@gnu.org>
parents:
diff changeset
2292 Edit the @var{visual} part of the entry. This is the part after the
Dave Love <fx@gnu.org>
parents:
diff changeset
2293 @samp{@@} which is used by @code{MakeIndex} to change the visual
Dave Love <fx@gnu.org>
parents:
diff changeset
2294 appearance of the entry in the index. When called with @kbd{C-u}
Dave Love <fx@gnu.org>
parents:
diff changeset
2295 prefix, kill the entire @var{visual} part.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2296
Dave Love <fx@gnu.org>
parents:
diff changeset
2297 @item (
Dave Love <fx@gnu.org>
parents:
diff changeset
2298 Toggle the beginning of page range property @samp{|(} of the
Dave Love <fx@gnu.org>
parents:
diff changeset
2299 entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2300
Dave Love <fx@gnu.org>
parents:
diff changeset
2301 @item )
Dave Love <fx@gnu.org>
parents:
diff changeset
2302 Toggle the end of page range property @samp{|)} of the entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2303
Dave Love <fx@gnu.org>
parents:
diff changeset
2304 @item _
Dave Love <fx@gnu.org>
parents:
diff changeset
2305 Make the current entry a subentry. This command will prompt for the
Dave Love <fx@gnu.org>
parents:
diff changeset
2306 superordinate entry and insert it.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2307
Dave Love <fx@gnu.org>
parents:
diff changeset
2308 @item ^
Dave Love <fx@gnu.org>
parents:
diff changeset
2309 Remove the highest superordinate entry. If the current entry is a
Dave Love <fx@gnu.org>
parents:
diff changeset
2310 subitem (@samp{aaa!bbb!ccc}), this function moves it up the hierarchy
Dave Love <fx@gnu.org>
parents:
diff changeset
2311 (@samp{bbb!ccc}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2312
Dave Love <fx@gnu.org>
parents:
diff changeset
2313 @tablesubheading{Exiting}
Dave Love <fx@gnu.org>
parents:
diff changeset
2314 @item q
Dave Love <fx@gnu.org>
parents:
diff changeset
2315 Hide the @file{*Index*} buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2316
Dave Love <fx@gnu.org>
parents:
diff changeset
2317 @item k
Dave Love <fx@gnu.org>
parents:
diff changeset
2318 Kill the @file{*Index*} buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2319
Dave Love <fx@gnu.org>
parents:
diff changeset
2320 @item C-c =
Dave Love <fx@gnu.org>
parents:
diff changeset
2321 Switch to the Table of Contents buffer of this document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2322
Dave Love <fx@gnu.org>
parents:
diff changeset
2323 @tablesubheading{Controlling what gets displayed}
Dave Love <fx@gnu.org>
parents:
diff changeset
2324 @item c
Dave Love <fx@gnu.org>
parents:
diff changeset
2325 @vindex reftex-index-include-context
Dave Love <fx@gnu.org>
parents:
diff changeset
2326 Toggle the display of short context in the @file{*Index*} buffer. The
Dave Love <fx@gnu.org>
parents:
diff changeset
2327 default for this flag can be set with the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
2328 @code{reftex-index-include-context}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2329
Dave Love <fx@gnu.org>
parents:
diff changeset
2330 @item @}
Dave Love <fx@gnu.org>
parents:
diff changeset
2331 Restrict the index to a single document section. The corresponding
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2332 section number will be displayed in the @code{R<>} indicator in the
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2333 mode line and in the header of the @file{*Index*} buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2334
Dave Love <fx@gnu.org>
parents:
diff changeset
2335 @item @{
Dave Love <fx@gnu.org>
parents:
diff changeset
2336 Widen the index to contain all entries of the document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2337
Dave Love <fx@gnu.org>
parents:
diff changeset
2338 @item <
Dave Love <fx@gnu.org>
parents:
diff changeset
2339 When the index is currently restricted, move the restriction to the
Dave Love <fx@gnu.org>
parents:
diff changeset
2340 previous section.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2341
Dave Love <fx@gnu.org>
parents:
diff changeset
2342 @item >
Dave Love <fx@gnu.org>
parents:
diff changeset
2343 When the index is currently restricted, move the restriction to the
Dave Love <fx@gnu.org>
parents:
diff changeset
2344 next section.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2345
Dave Love <fx@gnu.org>
parents:
diff changeset
2346 @tablesubheading{Updating the buffer}
Dave Love <fx@gnu.org>
parents:
diff changeset
2347 @item g
Dave Love <fx@gnu.org>
parents:
diff changeset
2348 Rebuild the @file{*Index*} buffer. This does @emph{not} rescan the
Dave Love <fx@gnu.org>
parents:
diff changeset
2349 document. However, it sorts the entries again, so that edited entries
Dave Love <fx@gnu.org>
parents:
diff changeset
2350 will move to the correct position.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2351
Dave Love <fx@gnu.org>
parents:
diff changeset
2352 @item r
Dave Love <fx@gnu.org>
parents:
diff changeset
2353 @vindex reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
2354 Reparse the LaTeX document and rebuild the @file{*Index*} buffer. When
Dave Love <fx@gnu.org>
parents:
diff changeset
2355 @code{reftex-enable-partial-scans} is non-nil, rescan only the file this
Dave Love <fx@gnu.org>
parents:
diff changeset
2356 location is defined in, not the entire document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2357
Dave Love <fx@gnu.org>
parents:
diff changeset
2358 @item C-u r
Dave Love <fx@gnu.org>
parents:
diff changeset
2359 Reparse the @emph{entire} LaTeX document and rebuild the @file{*Index*}
Dave Love <fx@gnu.org>
parents:
diff changeset
2360 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2361
Dave Love <fx@gnu.org>
parents:
diff changeset
2362 @item s
Dave Love <fx@gnu.org>
parents:
diff changeset
2363 Switch to a different index (for documents with multiple
Dave Love <fx@gnu.org>
parents:
diff changeset
2364 indices).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2365 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
2366
Dave Love <fx@gnu.org>
parents:
diff changeset
2367
Dave Love <fx@gnu.org>
parents:
diff changeset
2368 @node Builtin Index Macros, Defining Index Macros, Displaying and Editing the Index, Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
2369 @section Builtin Index Macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2370 @cindex Builtin index macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2371 @cindex Index macros, builtin
Dave Love <fx@gnu.org>
parents:
diff changeset
2372 @vindex reftex-index-macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2373 @cindex @code{multind}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
2374 @cindex @code{index}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
2375 @cindex LaTeX packages, @code{multind}
Dave Love <fx@gnu.org>
parents:
diff changeset
2376 @cindex LaTeX packages, @code{index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2377
Dave Love <fx@gnu.org>
parents:
diff changeset
2378 @b{Ref@TeX{}} by default recognizes the @code{\index} and
Dave Love <fx@gnu.org>
parents:
diff changeset
2379 @code{\glossary} macros which are defined in the LaTeX core. It has
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2380 also builtin support for the re-implementations of @code{\index}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2381 in the @file{multind} and @file{index} packages. However, since
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2382 the different definitions of the @code{\index} macro are incompatible,
Dave Love <fx@gnu.org>
parents:
diff changeset
2383 you will have to explicitly specify the index style used.
Dave Love <fx@gnu.org>
parents:
diff changeset
2384 @xref{Creating Index Entries}, for information on how to do that.
Dave Love <fx@gnu.org>
parents:
diff changeset
2385
Dave Love <fx@gnu.org>
parents:
diff changeset
2386 @node Defining Index Macros, , Builtin Index Macros, Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
2387 @section Defining Index Macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2388 @cindex Defining Index Macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2389 @cindex Index macros, defining
Dave Love <fx@gnu.org>
parents:
diff changeset
2390 @vindex reftex-index-macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2391
Dave Love <fx@gnu.org>
parents:
diff changeset
2392 When writing a document with an index you will probably define
Dave Love <fx@gnu.org>
parents:
diff changeset
2393 additional macros which make entries into the index.
Dave Love <fx@gnu.org>
parents:
diff changeset
2394 Let's look at an example.
Dave Love <fx@gnu.org>
parents:
diff changeset
2395
Dave Love <fx@gnu.org>
parents:
diff changeset
2396 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
2397 \newcommand@{\ix@}[1]@{#1\index@{#1@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2398 \newcommand@{\nindex@}[1]@{\textit@{#1@}\index[name]@{#1@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2399 \newcommand@{\astobj@}[1]@{\index@{Astronomical Objects!#1@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2400 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
2401
Dave Love <fx@gnu.org>
parents:
diff changeset
2402 The first macro @code{\ix} typesets its argument in the text and places
Dave Love <fx@gnu.org>
parents:
diff changeset
2403 it into the index. The second macro @code{\nindex} typesets its
Dave Love <fx@gnu.org>
parents:
diff changeset
2404 argument in the text and places it into a separate index with the tag
Dave Love <fx@gnu.org>
parents:
diff changeset
2405 @samp{name}@footnote{We are using the syntax of the @file{index} package
Dave Love <fx@gnu.org>
parents:
diff changeset
2406 here.}. The last macro also places its argument into the index, but as
Dave Love <fx@gnu.org>
parents:
diff changeset
2407 subitems under the main index entry @samp{Astronomical Objects}. Here
Dave Love <fx@gnu.org>
parents:
diff changeset
2408 is how to make @b{Ref@TeX{}} recognize and correctly interpret these
Dave Love <fx@gnu.org>
parents:
diff changeset
2409 macros, first with Emacs Lisp.
Dave Love <fx@gnu.org>
parents:
diff changeset
2410
Dave Love <fx@gnu.org>
parents:
diff changeset
2411 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2412 (setq reftex-index-macros
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2413 '(("\\ix@{*@}" "idx" ?x "" nil nil)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2414 ("\\nindex@{*@}" "name" ?n "" nil nil)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2415 ("\\astobj@{*@}" "idx" ?o "Astronomical Objects!" nil t)))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2416 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2417
Dave Love <fx@gnu.org>
parents:
diff changeset
2418 Note that the index tag is @samp{idx} for the main index, and
Dave Love <fx@gnu.org>
parents:
diff changeset
2419 @samp{name} for the name index. @samp{idx} and @samp{glo} are reserved
Dave Love <fx@gnu.org>
parents:
diff changeset
2420 for the default index and for the glossary.
Dave Love <fx@gnu.org>
parents:
diff changeset
2421
Dave Love <fx@gnu.org>
parents:
diff changeset
2422 The character arguments @code{?x}, @code{?n}, and @code{?o} are for
Dave Love <fx@gnu.org>
parents:
diff changeset
2423 quick identification of these macros when @b{Ref@TeX{}} inserts new
Dave Love <fx@gnu.org>
parents:
diff changeset
2424 index entries with @code{reftex-index}. These codes need to be
Dave Love <fx@gnu.org>
parents:
diff changeset
2425 unique. @code{?i}, @code{?I}, and @code{?g} are reserved for the
Dave Love <fx@gnu.org>
parents:
diff changeset
2426 @code{\index}, @code{\index*}, and @code{\glossary} macros,
Dave Love <fx@gnu.org>
parents:
diff changeset
2427 respectively.
Dave Love <fx@gnu.org>
parents:
diff changeset
2428
Dave Love <fx@gnu.org>
parents:
diff changeset
2429 The following string is empty unless your macro adds a superordinate
Dave Love <fx@gnu.org>
parents:
diff changeset
2430 entry to the index key - this is the case for the @code{\astobj} macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
2431
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2432 The next entry can be a hook function to exclude certain matches, it
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2433 almost always can be @code{nil}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2434
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2435 The final element in the list indicates if the text being indexed needs
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2436 to be repeated outside the macro. For the normal index macros, this
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2437 should be @code{t}. Only if the macro typesets the entry in the text
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2438 (like @code{\ix} and @code{\nindex} in the example do), this should be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2439 @code{nil}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2440
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2441 To do the same thing with customize, you need to fill in the templates
Dave Love <fx@gnu.org>
parents:
diff changeset
2442 like this:
Dave Love <fx@gnu.org>
parents:
diff changeset
2443
Dave Love <fx@gnu.org>
parents:
diff changeset
2444 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
2445 Repeat:
Dave Love <fx@gnu.org>
parents:
diff changeset
2446 [INS] [DEL] List:
Dave Love <fx@gnu.org>
parents:
diff changeset
2447 Macro with args: \ix@{*@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2448 Index Tag : [Value Menu] String: idx
Dave Love <fx@gnu.org>
parents:
diff changeset
2449 Access Key : x
Dave Love <fx@gnu.org>
parents:
diff changeset
2450 Key Prefix :
Dave Love <fx@gnu.org>
parents:
diff changeset
2451 Exclusion hook : nil
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2452 Repeat Outside : [Toggle] off (nil)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2453 [INS] [DEL] List:
Dave Love <fx@gnu.org>
parents:
diff changeset
2454 Macro with args: \nindex@{*@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2455 Index Tag : [Value Menu] String: name
Dave Love <fx@gnu.org>
parents:
diff changeset
2456 Access Key : n
Dave Love <fx@gnu.org>
parents:
diff changeset
2457 Key Prefix :
Dave Love <fx@gnu.org>
parents:
diff changeset
2458 Exclusion hook : nil
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2459 Repeat Outside : [Toggle] off (nil)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2460 [INS] [DEL] List:
Dave Love <fx@gnu.org>
parents:
diff changeset
2461 Macro with args: \astobj@{*@}
Dave Love <fx@gnu.org>
parents:
diff changeset
2462 Index Tag : [Value Menu] String: idx
Dave Love <fx@gnu.org>
parents:
diff changeset
2463 Access Key : o
Dave Love <fx@gnu.org>
parents:
diff changeset
2464 Key Prefix : Astronomical Objects!
Dave Love <fx@gnu.org>
parents:
diff changeset
2465 Exclusion hook : nil
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2466 Repeat Outside : [Toggle] on (non-nil)
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2467 [INS]
Dave Love <fx@gnu.org>
parents:
diff changeset
2468 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
2469
Dave Love <fx@gnu.org>
parents:
diff changeset
2470 With the macro @code{\ix} defined, you may want to change the default
Dave Love <fx@gnu.org>
parents:
diff changeset
2471 macro used for indexing a text phrase (@pxref{Creating Index Entries}).
Dave Love <fx@gnu.org>
parents:
diff changeset
2472 This would be done like this
Dave Love <fx@gnu.org>
parents:
diff changeset
2473
Dave Love <fx@gnu.org>
parents:
diff changeset
2474 @lisp
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2475 (setq reftex-index-default-macro '(?x "idx"))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2476 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2477
Dave Love <fx@gnu.org>
parents:
diff changeset
2478 which specifies that the macro identified with the character @code{?x} (the
Dave Love <fx@gnu.org>
parents:
diff changeset
2479 @code{\ix} macro) should be used for indexing phrases and words already
Dave Love <fx@gnu.org>
parents:
diff changeset
2480 in the buffer with @kbd{C-c /} (@code{reftex-index-selection-or-word}).
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2481 The index tag is "idx".@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2482
Dave Love <fx@gnu.org>
parents:
diff changeset
2483 @node Viewing Cross-References, RefTeXs Menu, Index Support, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2484 @chapter Viewing Cross--References
Dave Love <fx@gnu.org>
parents:
diff changeset
2485 @findex reftex-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
2486 @findex reftex-mouse-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
2487 @kindex C-c &
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2488 @kindex S-mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2489
Dave Love <fx@gnu.org>
parents:
diff changeset
2490 @b{Ref@TeX{}} can display cross--referencing information. This means,
Dave Love <fx@gnu.org>
parents:
diff changeset
2491 if two document locations are linked, @b{Ref@TeX{}} can display the
Dave Love <fx@gnu.org>
parents:
diff changeset
2492 matching location(s) in another window. The @code{\label} and @code{\ref}
Dave Love <fx@gnu.org>
parents:
diff changeset
2493 macros are one way of establishing such a link. Also, a @code{\cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
2494 macro is linked to the corresponding @code{\bibitem} macro or a BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2495 database entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2496
Dave Love <fx@gnu.org>
parents:
diff changeset
2497 The feature is invoked by pressing @kbd{C-c &}
Dave Love <fx@gnu.org>
parents:
diff changeset
2498 (@code{reftex-view-crossref}) while point is on the @var{key} argument
Dave Love <fx@gnu.org>
parents:
diff changeset
2499 of a macro involved in cross--referencing. You can also click with
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2500 @kbd{S-mouse-2} on the macro argument. Here is what will happen for
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2501 individual classes of macros:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2502
Dave Love <fx@gnu.org>
parents:
diff changeset
2503 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
2504
Dave Love <fx@gnu.org>
parents:
diff changeset
2505 @item @code{\ref}
Dave Love <fx@gnu.org>
parents:
diff changeset
2506 @cindex @code{\ref}
Dave Love <fx@gnu.org>
parents:
diff changeset
2507 Display the corresponding label definition. All usual
Dave Love <fx@gnu.org>
parents:
diff changeset
2508 variants@footnote{all macros that start with @samp{ref} or end with
Dave Love <fx@gnu.org>
parents:
diff changeset
2509 @samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for
Dave Love <fx@gnu.org>
parents:
diff changeset
2510 cross--reference display. This works also for labels defined in an
Dave Love <fx@gnu.org>
parents:
diff changeset
2511 external document when the current document refers to them through the
Dave Love <fx@gnu.org>
parents:
diff changeset
2512 @code{xr} interface (@pxref{xr (LaTeX package)}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2513
Dave Love <fx@gnu.org>
parents:
diff changeset
2514 @item @code{\label}
Dave Love <fx@gnu.org>
parents:
diff changeset
2515 @cindex @code{\label}
Dave Love <fx@gnu.org>
parents:
diff changeset
2516 @vindex reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
2517 Display a document location which references this label. Pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
2518 @kbd{C-c &} several times moves through the entire document and finds
Dave Love <fx@gnu.org>
parents:
diff changeset
2519 all locations. Not only the @code{\label} macro but also other macros
Dave Love <fx@gnu.org>
parents:
diff changeset
2520 with label arguments (as configured with @code{reftex-label-alist}) are
Dave Love <fx@gnu.org>
parents:
diff changeset
2521 active for cross--reference display.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2522
Dave Love <fx@gnu.org>
parents:
diff changeset
2523 @item @code{\cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
2524 @cindex @code{\cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
2525 Display the corresponding BibTeX database entry or @code{\bibitem}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2526 All usual variants@footnote{all macros that either start or end with
Dave Love <fx@gnu.org>
parents:
diff changeset
2527 @samp{cite}} of the @code{\cite} macro are active for cross--reference
Dave Love <fx@gnu.org>
parents:
diff changeset
2528 display.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2529
Dave Love <fx@gnu.org>
parents:
diff changeset
2530 @item @code{\bibitem}
Dave Love <fx@gnu.org>
parents:
diff changeset
2531 @cindex @code{\bibitem}
Dave Love <fx@gnu.org>
parents:
diff changeset
2532 Display a document location which cites this article. Pressing
Dave Love <fx@gnu.org>
parents:
diff changeset
2533 @kbd{C-c &} several times moves through the entire document and finds
Dave Love <fx@gnu.org>
parents:
diff changeset
2534 all locations.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2535
Dave Love <fx@gnu.org>
parents:
diff changeset
2536 @item BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2537 @cindex BibTeX buffer, viewing cite locations from
Dave Love <fx@gnu.org>
parents:
diff changeset
2538 @cindex Viewing cite locations from BibTeX buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
2539 @kbd{C-c &} is also active in BibTeX buffers. All locations in a
Dave Love <fx@gnu.org>
parents:
diff changeset
2540 document where the database entry at point is cited will be displayed.
Dave Love <fx@gnu.org>
parents:
diff changeset
2541 On first use, @b{Ref@TeX{}} will prompt for a buffer which belongs to
Dave Love <fx@gnu.org>
parents:
diff changeset
2542 the document you want to search. Subsequent calls will use the same
Dave Love <fx@gnu.org>
parents:
diff changeset
2543 document, until you break this link with a prefix argument to @kbd{C-c
Dave Love <fx@gnu.org>
parents:
diff changeset
2544 &}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2545
Dave Love <fx@gnu.org>
parents:
diff changeset
2546 @item @code{\index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2547 @cindex @code{\index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2548 Display other locations in the document which are marked by an index
Dave Love <fx@gnu.org>
parents:
diff changeset
2549 macro with the same key argument. Along with the standard @code{\index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2550 and @code{\glossary} macros, all macros configured in
Dave Love <fx@gnu.org>
parents:
diff changeset
2551 @code{reftex-index-macros} will be recognized.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2552 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
2553
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2554 @vindex reftex-view-crossref-extra
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2555 While the display of cross referencing information for the above
Dave Love <fx@gnu.org>
parents:
diff changeset
2556 mentioned macros is hard--coded, you can configure additional relations
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2557 in the variable @code{reftex-view-crossref-extra}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2558
Dave Love <fx@gnu.org>
parents:
diff changeset
2559 @iftex
Dave Love <fx@gnu.org>
parents:
diff changeset
2560 @chapter All the Rest
Dave Love <fx@gnu.org>
parents:
diff changeset
2561 @end iftex
Dave Love <fx@gnu.org>
parents:
diff changeset
2562
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2563 @node RefTeXs Menu, Key Bindings, Viewing Cross-References, Top
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2564 @section @b{Ref@TeX{}}'s Menu
Dave Love <fx@gnu.org>
parents:
diff changeset
2565 @cindex RefTeXs Menu
Dave Love <fx@gnu.org>
parents:
diff changeset
2566 @cindex Menu, in the menu bar
Dave Love <fx@gnu.org>
parents:
diff changeset
2567
Dave Love <fx@gnu.org>
parents:
diff changeset
2568 @b{Ref@TeX{}} installs a @code{Ref} menu in the menu bar on systems
Dave Love <fx@gnu.org>
parents:
diff changeset
2569 which support this. From this menu you can access all of
Dave Love <fx@gnu.org>
parents:
diff changeset
2570 @b{Ref@TeX{}}'s commands and a few of its options. There is also a
Dave Love <fx@gnu.org>
parents:
diff changeset
2571 @code{Customize} submenu which can be used to access @b{Ref@TeX{}}'s
Dave Love <fx@gnu.org>
parents:
diff changeset
2572 entire set of options.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2573
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2574 @node Key Bindings, Faces, RefTeXs Menu, Top
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2575 @section Default Key Bindings
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2576 @cindex Key Bindings, summary
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2577
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2578 Here is a summary of the available key bindings.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2579
Dave Love <fx@gnu.org>
parents:
diff changeset
2580 @kindex C-c =
Dave Love <fx@gnu.org>
parents:
diff changeset
2581 @kindex C-c (
Dave Love <fx@gnu.org>
parents:
diff changeset
2582 @kindex C-c )
Dave Love <fx@gnu.org>
parents:
diff changeset
2583 @kindex C-c [
Dave Love <fx@gnu.org>
parents:
diff changeset
2584 @kindex C-c &
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2585 @kindex S-mouse-2
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2586 @kindex C-c /
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2587 @kindex C-c \
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2588 @kindex C-c |
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2589 @kindex C-c <
Dave Love <fx@gnu.org>
parents:
diff changeset
2590 @kindex C-c >
Dave Love <fx@gnu.org>
parents:
diff changeset
2591 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
2592 @kbd{C-c =} @code{reftex-toc}
Dave Love <fx@gnu.org>
parents:
diff changeset
2593 @kbd{C-c (} @code{reftex-label}
Dave Love <fx@gnu.org>
parents:
diff changeset
2594 @kbd{C-c )} @code{reftex-reference}
Dave Love <fx@gnu.org>
parents:
diff changeset
2595 @kbd{C-c [} @code{reftex-citation}
Dave Love <fx@gnu.org>
parents:
diff changeset
2596 @kbd{C-c &} @code{reftex-view-crossref}
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2597 @kbd{S-mouse-2} @code{reftex-mouse-view-crossref}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2598 @kbd{C-c /} @code{reftex-index-selection-or-word}
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2599 @kbd{C-c \} @code{reftex-index-phrase-selection-or-word}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
2600 @kbd{C-c |} @code{reftex-index-visit-phrases-buffer}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2601 @kbd{C-c <} @code{reftex-index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2602 @kbd{C-c >} @code{reftex-display-index}
Dave Love <fx@gnu.org>
parents:
diff changeset
2603 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
2604
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2605 Note that the @kbd{S-mouse-2} binding is only provided if this key is
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2606 not already used by some other package. @b{Ref@TeX{}} will not override an
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
2607 existing binding to @kbd{S-mouse-2}.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2608
Dave Love <fx@gnu.org>
parents:
diff changeset
2609 Personally, I also bind some functions in the users @kbd{C-c} map for
Dave Love <fx@gnu.org>
parents:
diff changeset
2610 easier access.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2611
Dave Love <fx@gnu.org>
parents:
diff changeset
2612 @c FIXME: Do we need bindings for the Index macros here as well?
Dave Love <fx@gnu.org>
parents:
diff changeset
2613 @c C-c i C-c I or so????
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2614 @c How about key bindings for reftex-reset-mode and reftex-parse-document?
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2615 @kindex C-c t
Dave Love <fx@gnu.org>
parents:
diff changeset
2616 @kindex C-c l
Dave Love <fx@gnu.org>
parents:
diff changeset
2617 @kindex C-c r
Dave Love <fx@gnu.org>
parents:
diff changeset
2618 @kindex C-c c
Dave Love <fx@gnu.org>
parents:
diff changeset
2619 @kindex C-c v
Dave Love <fx@gnu.org>
parents:
diff changeset
2620 @kindex C-c s
Dave Love <fx@gnu.org>
parents:
diff changeset
2621 @kindex C-c g
Dave Love <fx@gnu.org>
parents:
diff changeset
2622 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
2623 @kbd{C-c t} @code{reftex-toc}
Dave Love <fx@gnu.org>
parents:
diff changeset
2624 @kbd{C-c l} @code{reftex-label}
Dave Love <fx@gnu.org>
parents:
diff changeset
2625 @kbd{C-c r} @code{reftex-reference}
Dave Love <fx@gnu.org>
parents:
diff changeset
2626 @kbd{C-c c} @code{reftex-citation}
Dave Love <fx@gnu.org>
parents:
diff changeset
2627 @kbd{C-c v} @code{reftex-view-crossref}
Dave Love <fx@gnu.org>
parents:
diff changeset
2628 @kbd{C-c s} @code{reftex-search-document}
Dave Love <fx@gnu.org>
parents:
diff changeset
2629 @kbd{C-c g} @code{reftex-grep-document}
Dave Love <fx@gnu.org>
parents:
diff changeset
2630 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
2631
Dave Love <fx@gnu.org>
parents:
diff changeset
2632 @noindent These keys are reserved for the user, so I cannot bind them by
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2633 default. If you want to have these key bindings available, set in your
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2634 @file{.emacs} file:
Dave Love <fx@gnu.org>
parents:
diff changeset
2635
Dave Love <fx@gnu.org>
parents:
diff changeset
2636 @vindex reftex-extra-bindings
Dave Love <fx@gnu.org>
parents:
diff changeset
2637 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2638 (setq reftex-extra-bindings t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2639 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2640
Dave Love <fx@gnu.org>
parents:
diff changeset
2641 @vindex reftex-load-hook
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2642 Changing and adding to @b{Ref@TeX{}}'s key bindings is best done in the hook
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2643 @code{reftex-load-hook}. For information on the keymaps
Dave Love <fx@gnu.org>
parents:
diff changeset
2644 which should be used to add keys, see @ref{Keymaps and Hooks}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2645
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
2646 @node Faces, AUCTeX, Key Bindings, Top
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2647 @section Faces
Dave Love <fx@gnu.org>
parents:
diff changeset
2648 @cindex Faces
Dave Love <fx@gnu.org>
parents:
diff changeset
2649
Dave Love <fx@gnu.org>
parents:
diff changeset
2650 @b{Ref@TeX{}} uses faces when available to structure the selection and
Dave Love <fx@gnu.org>
parents:
diff changeset
2651 table of contents buffers. It does not create its own faces, but uses
Dave Love <fx@gnu.org>
parents:
diff changeset
2652 the ones defined in @file{font-lock.el}. Therefore, @b{Ref@TeX{}} will
Dave Love <fx@gnu.org>
parents:
diff changeset
2653 use faces only when @code{font-lock} is loaded. This seems to be
Dave Love <fx@gnu.org>
parents:
diff changeset
2654 reasonable because people who like faces will very likely have it
Dave Love <fx@gnu.org>
parents:
diff changeset
2655 loaded. If you wish to turn off fontification or change the involved
Dave Love <fx@gnu.org>
parents:
diff changeset
2656 faces, see @ref{Options (Fontification)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2657
Dave Love <fx@gnu.org>
parents:
diff changeset
2658 @node Multifile Documents, Language Support, AUCTeX, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2659 @section Multifile Documents
Dave Love <fx@gnu.org>
parents:
diff changeset
2660 @cindex Multifile documents
Dave Love <fx@gnu.org>
parents:
diff changeset
2661 @cindex Documents, spread over files
Dave Love <fx@gnu.org>
parents:
diff changeset
2662
Dave Love <fx@gnu.org>
parents:
diff changeset
2663 The following is relevant when working with documents spread over many
Dave Love <fx@gnu.org>
parents:
diff changeset
2664 files:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2665
Dave Love <fx@gnu.org>
parents:
diff changeset
2666 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
2667 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2668 @b{Ref@TeX{}} has full support for multifile documents. You can edit parts of
Dave Love <fx@gnu.org>
parents:
diff changeset
2669 several (multifile) documents at the same time without conflicts.
Dave Love <fx@gnu.org>
parents:
diff changeset
2670 @b{Ref@TeX{}} provides functions to run @code{grep}, @code{search} and
Dave Love <fx@gnu.org>
parents:
diff changeset
2671 @code{query-replace} on all files which are part of a multifile
Dave Love <fx@gnu.org>
parents:
diff changeset
2672 document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2673
Dave Love <fx@gnu.org>
parents:
diff changeset
2674 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2675 @vindex tex-main-file
Dave Love <fx@gnu.org>
parents:
diff changeset
2676 @vindex TeX-master
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2677 All files belonging to a multifile document should define a File
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2678 Variable (@code{TeX-master} for AUCTeX or @code{tex-main-file} for the
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2679 standard Emacs LaTeX mode) containing the name of the master file. For
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2680 example, to set the file variable @code{TeX-master}, include something
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2681 like the following at the end of each TeX file:@refill
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2682
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2683 @example
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2684 %%% Local Variables: ***
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2685 %%% mode:latex ***
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2686 %%% TeX-master: "thesis.tex" ***
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2687 %%% End: ***
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2688 @end example
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2689
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2690 AUCTeX with the setting
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2691
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2692 @lisp
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2693 (setq-default TeX-master nil)
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2694 @end lisp
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2695
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2696 will actually ask you for each new file about the master file and insert
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2697 this comment automatically. For more details see the documentation of
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2698 the AUCTeX (@pxref{Multifile,,,auctex, The AUC TeX User Manual}), the
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2699 documentation about the Emacs (La)TeX mode (@pxref{TeX Print,,,emacs,
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2700 The GNU Emacs Manual}) and the Emacs documentation on File Variables
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2701 (@pxref{File Variables,,,emacs, The GNU Emacs Manual}).@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2702
Dave Love <fx@gnu.org>
parents:
diff changeset
2703 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2704 The context of a label definition must be found in the same file as the
Dave Love <fx@gnu.org>
parents:
diff changeset
2705 label itself in order to be processed correctly by @b{Ref@TeX{}}. The only
Dave Love <fx@gnu.org>
parents:
diff changeset
2706 exception is that section labels referring to a section statement
Dave Love <fx@gnu.org>
parents:
diff changeset
2707 outside the current file can still use that section title as
Dave Love <fx@gnu.org>
parents:
diff changeset
2708 context.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2709 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
2710
Dave Love <fx@gnu.org>
parents:
diff changeset
2711 @node Language Support, Finding Files, Multifile Documents, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2712 @section Language Support
Dave Love <fx@gnu.org>
parents:
diff changeset
2713 @cindex Language support
Dave Love <fx@gnu.org>
parents:
diff changeset
2714
Dave Love <fx@gnu.org>
parents:
diff changeset
2715 Some parts of @b{Ref@TeX{}} are language dependent. The default
Dave Love <fx@gnu.org>
parents:
diff changeset
2716 settings work well for English. If you are writing in a different
Dave Love <fx@gnu.org>
parents:
diff changeset
2717 language, the following hints may be useful:
Dave Love <fx@gnu.org>
parents:
diff changeset
2718
Dave Love <fx@gnu.org>
parents:
diff changeset
2719 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
2720 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2721 @vindex reftex-derive-label-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
2722 @vindex reftex-abbrev-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
2723 The mechanism to derive a label from context includes the abbreviation
Dave Love <fx@gnu.org>
parents:
diff changeset
2724 of words and omission of unimportant words. These mechanisms may have
Dave Love <fx@gnu.org>
parents:
diff changeset
2725 to be changed for other languages. See the variables
Dave Love <fx@gnu.org>
parents:
diff changeset
2726 @code{reftex-derive-label-parameters} and @code{reftex-abbrev-parameters}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2727
Dave Love <fx@gnu.org>
parents:
diff changeset
2728 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2729 @vindex reftex-translate-to-ascii-function
Dave Love <fx@gnu.org>
parents:
diff changeset
2730 @vindex reftex-label-illegal-re
Dave Love <fx@gnu.org>
parents:
diff changeset
2731 Also, when a label is derived from context, @b{Ref@TeX{}} clears the
Dave Love <fx@gnu.org>
parents:
diff changeset
2732 context string from non-ASCII characters in order to make a legal label.
Dave Love <fx@gnu.org>
parents:
diff changeset
2733 If there should ever be a version of @TeX{} which allows extended
Dave Love <fx@gnu.org>
parents:
diff changeset
2734 characters @emph{in labels}, then we will have to look at the
Dave Love <fx@gnu.org>
parents:
diff changeset
2735 variables @code{reftex-translate-to-ascii-function} and
Dave Love <fx@gnu.org>
parents:
diff changeset
2736 @code{reftex-label-illegal-re}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2737
Dave Love <fx@gnu.org>
parents:
diff changeset
2738 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2739 When a label is referenced, @b{Ref@TeX{}} looks at the word before point
Dave Love <fx@gnu.org>
parents:
diff changeset
2740 to guess which label type is required. These @emph{magic words} are
Dave Love <fx@gnu.org>
parents:
diff changeset
2741 different in every language. For an example of how to add magic words,
Dave Love <fx@gnu.org>
parents:
diff changeset
2742 see @ref{Adding Magic Words}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2743
Dave Love <fx@gnu.org>
parents:
diff changeset
2744 @vindex reftex-multiref-punctuation
Dave Love <fx@gnu.org>
parents:
diff changeset
2745 @vindex reftex-cite-punctuation
Dave Love <fx@gnu.org>
parents:
diff changeset
2746 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2747 @b{Ref@TeX{}} inserts ``punctuation'' for multiple references and
Dave Love <fx@gnu.org>
parents:
diff changeset
2748 for the author list in citations. Some of this may be language
Dave Love <fx@gnu.org>
parents:
diff changeset
2749 dependent. See the variables @code{reftex-multiref-punctuation} and
Dave Love <fx@gnu.org>
parents:
diff changeset
2750 @code{reftex-cite-punctuation}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2751 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
2752
Dave Love <fx@gnu.org>
parents:
diff changeset
2753 @node Finding Files, Optimizations, Language Support, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2754 @section Finding Files
Dave Love <fx@gnu.org>
parents:
diff changeset
2755 @cindex Finding files
Dave Love <fx@gnu.org>
parents:
diff changeset
2756
Dave Love <fx@gnu.org>
parents:
diff changeset
2757 In order to find files included in a document via @code{\input} or
Dave Love <fx@gnu.org>
parents:
diff changeset
2758 @code{\include}, @b{Ref@TeX{}} searches all directories specified in the
Dave Love <fx@gnu.org>
parents:
diff changeset
2759 environment variable @code{TEXINPUTS}. Similarly, it will search the
Dave Love <fx@gnu.org>
parents:
diff changeset
2760 path specified in the variables @code{BIBINPUTS} and @code{TEXBIB} for
Dave Love <fx@gnu.org>
parents:
diff changeset
2761 BibTeX database files.
Dave Love <fx@gnu.org>
parents:
diff changeset
2762
Dave Love <fx@gnu.org>
parents:
diff changeset
2763 When searching, @b{Ref@TeX{}} will also expand recursive path
Dave Love <fx@gnu.org>
parents:
diff changeset
2764 definitions (directories ending in @samp{//} or @samp{!!}). But it will
Dave Love <fx@gnu.org>
parents:
diff changeset
2765 only search and expand directories @emph{explicitly} given in these
Dave Love <fx@gnu.org>
parents:
diff changeset
2766 variables. This may cause problems under the following circumstances:
Dave Love <fx@gnu.org>
parents:
diff changeset
2767
Dave Love <fx@gnu.org>
parents:
diff changeset
2768 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
2769 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2770 Most TeX system have a default search path for both TeX files and BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2771 files which is defined in some setup file. Usually this default path is
Dave Love <fx@gnu.org>
parents:
diff changeset
2772 for system files which @b{Ref@TeX{}} does not need to see. But if your
Dave Love <fx@gnu.org>
parents:
diff changeset
2773 document needs TeX files or BibTeX database files in a directory only
Dave Love <fx@gnu.org>
parents:
diff changeset
2774 given in the default search path, @b{Ref@TeX{}} will fail to find them.
Dave Love <fx@gnu.org>
parents:
diff changeset
2775 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2776 Some TeX systems do not use environment variables at all in order to
Dave Love <fx@gnu.org>
parents:
diff changeset
2777 specify the search path. Both default and user search path are then
Dave Love <fx@gnu.org>
parents:
diff changeset
2778 defined in setup files.
Dave Love <fx@gnu.org>
parents:
diff changeset
2779 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
2780
Dave Love <fx@gnu.org>
parents:
diff changeset
2781 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
2782 There are three ways to solve this problem:
Dave Love <fx@gnu.org>
parents:
diff changeset
2783
Dave Love <fx@gnu.org>
parents:
diff changeset
2784 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
2785 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2786 Specify all relevant directories explicitly in the environment
Dave Love <fx@gnu.org>
parents:
diff changeset
2787 variables. If for some reason you don't want to mess with the default
Dave Love <fx@gnu.org>
parents:
diff changeset
2788 variables @code{TEXINPUTS} and @code{BIBINPUTS}, define your own
Dave Love <fx@gnu.org>
parents:
diff changeset
2789 variables and configure @b{Ref@TeX{}} to use them instead:
Dave Love <fx@gnu.org>
parents:
diff changeset
2790
Dave Love <fx@gnu.org>
parents:
diff changeset
2791 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2792 (setq reftex-texpath-environment-variables '("MYTEXINPUTS"))
Dave Love <fx@gnu.org>
parents:
diff changeset
2793 (setq reftex-bibpath-environment-variables '("MYBIBINPUTS"))
Dave Love <fx@gnu.org>
parents:
diff changeset
2794 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2795
Dave Love <fx@gnu.org>
parents:
diff changeset
2796 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2797 Specify the full search path directly in @b{Ref@TeX{}}'s variables.
Dave Love <fx@gnu.org>
parents:
diff changeset
2798
Dave Love <fx@gnu.org>
parents:
diff changeset
2799 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2800 (setq reftex-texpath-environment-variables
Dave Love <fx@gnu.org>
parents:
diff changeset
2801 '("./inp:/home/cd/tex//:/usr/local/tex//"))
Dave Love <fx@gnu.org>
parents:
diff changeset
2802 (setq reftex-bibpath-environment-variables
Dave Love <fx@gnu.org>
parents:
diff changeset
2803 '("/home/cd/tex/lit/"))
Dave Love <fx@gnu.org>
parents:
diff changeset
2804 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2805
Dave Love <fx@gnu.org>
parents:
diff changeset
2806 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2807 Some TeX systems provide stand--alone programs to do the file search just
Dave Love <fx@gnu.org>
parents:
diff changeset
2808 like TeX and BibTeX. E.g. Thomas Esser's @code{teTeX} uses the
Dave Love <fx@gnu.org>
parents:
diff changeset
2809 @code{kpathsearch} library which provides the command @code{kpsewhich}
Dave Love <fx@gnu.org>
parents:
diff changeset
2810 to search for files. @b{Ref@TeX{}} can be configured to use this
Dave Love <fx@gnu.org>
parents:
diff changeset
2811 program. Note that the exact syntax of the @code{kpsewhich}
Dave Love <fx@gnu.org>
parents:
diff changeset
2812 command depends upon the version of that program.
Dave Love <fx@gnu.org>
parents:
diff changeset
2813
Dave Love <fx@gnu.org>
parents:
diff changeset
2814 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2815 (setq reftex-use-external-file-finders t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2816 (setq reftex-external-file-finders
37038
528310f62c34 (Finding Files): Fix an example.
Gerd Moellmann <gerd@gnu.org>
parents: 36509
diff changeset
2817 '(("tex" . "kpsewhich -format=.tex %f")
528310f62c34 (Finding Files): Fix an example.
Gerd Moellmann <gerd@gnu.org>
parents: 36509
diff changeset
2818 ("bib" . "kpsewhich -format=.bib %f")))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2819 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2820 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
2821
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2822 @cindex Noweb files
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2823 @vindex reftex-file-extensions
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2824 @vindex TeX-file-extensions
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2825 Some people like to use RefTeX with noweb files, which usually have the
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2826 extension @file{.nw}. In order to deal with such files, the new
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2827 extension must be added to the list of valid extensions in the variable
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2828 @code{reftex-file-extensions}. When working with AUCTeX as major mode,
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2829 the new extension must also be known to AUCTeX via the variable
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2830 @code{TeX-file-extension}. For example:
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2831
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2832 @lisp
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2833 (setq reftex-file-extensions
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2834 '(("nw" "tex" ".tex" ".ltx") ("bib" ".bib")))
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2835 (setq TeX-file-extensions
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2836 '( "nw" "tex" "sty" "cls" "ltx" "texi" "texinfo"))
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2837 @end lisp
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2838
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2839 @node Optimizations, Problems and Work-Arounds, Finding Files, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2840 @section Optimizations
Dave Love <fx@gnu.org>
parents:
diff changeset
2841 @cindex Optimizations
Dave Love <fx@gnu.org>
parents:
diff changeset
2842
Dave Love <fx@gnu.org>
parents:
diff changeset
2843 Implementing the principle of least surprises, the default settings of
Dave Love <fx@gnu.org>
parents:
diff changeset
2844 @b{Ref@TeX{}} ensure a safe ride for beginners and casual users. However,
Dave Love <fx@gnu.org>
parents:
diff changeset
2845 when using @b{Ref@TeX{}} for a large project and/or on a small computer,
Dave Love <fx@gnu.org>
parents:
diff changeset
2846 there are ways to improve speed or memory usage.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2847
Dave Love <fx@gnu.org>
parents:
diff changeset
2848 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
2849 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2850 @b{Removing Lookup Buffers}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
2851 @cindex Removing lookup buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
2852 @b{Ref@TeX{}} will load other parts of a multifile document as well as BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2853 database files for lookup purposes. These buffers are kept, so that
Dave Love <fx@gnu.org>
parents:
diff changeset
2854 subsequent use of the same files is fast. If you can't afford keeping
Dave Love <fx@gnu.org>
parents:
diff changeset
2855 these buffers around, and if you can live with a speed penalty, try
Dave Love <fx@gnu.org>
parents:
diff changeset
2856
Dave Love <fx@gnu.org>
parents:
diff changeset
2857 @vindex reftex-keep-temporary-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
2858 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2859 (setq reftex-keep-temporary-buffers nil)
Dave Love <fx@gnu.org>
parents:
diff changeset
2860 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2861
Dave Love <fx@gnu.org>
parents:
diff changeset
2862 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2863 @b{Partial Document Scans}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
2864 @cindex Partial documents scans
Dave Love <fx@gnu.org>
parents:
diff changeset
2865 @cindex Document scanning, partial
Dave Love <fx@gnu.org>
parents:
diff changeset
2866 A @kbd{C-u} prefix on the major @b{Ref@TeX{}} commands @code{reftex-label}
Dave Love <fx@gnu.org>
parents:
diff changeset
2867 (@kbd{C-u C-c (}), @code{reftex-reference} (@kbd{C-u C-c )}),
Dave Love <fx@gnu.org>
parents:
diff changeset
2868 @code{reftex-citation} (@kbd{C-u C-c [}), @code{reftex-toc} (@kbd{C-u C-c
Dave Love <fx@gnu.org>
parents:
diff changeset
2869 =}), and @code{reftex-view-crossref} (@kbd{C-u C-c &}) initiates
Dave Love <fx@gnu.org>
parents:
diff changeset
2870 re-parsing of the entire document in order to update the parsing
Dave Love <fx@gnu.org>
parents:
diff changeset
2871 information. For a large document this can be unnecessary, in
Dave Love <fx@gnu.org>
parents:
diff changeset
2872 particular if only one file has changed. @b{Ref@TeX{}} can be configured
Dave Love <fx@gnu.org>
parents:
diff changeset
2873 to do partial scans instead of full ones. @kbd{C-u} re-parsing then
Dave Love <fx@gnu.org>
parents:
diff changeset
2874 does apply only to the current buffer and files included from it.
Dave Love <fx@gnu.org>
parents:
diff changeset
2875 Likewise, the @kbd{r} key in both the label selection buffer and the
Dave Love <fx@gnu.org>
parents:
diff changeset
2876 table-of-contents buffer will only prompt scanning of the file in which
Dave Love <fx@gnu.org>
parents:
diff changeset
2877 the label or section macro near the cursor was defined. Re-parsing of
Dave Love <fx@gnu.org>
parents:
diff changeset
2878 the entire document is still available by using @kbd{C-u C-u} as a
Dave Love <fx@gnu.org>
parents:
diff changeset
2879 prefix, or the capital @kbd{R} key in the menus. To use this feature,
Dave Love <fx@gnu.org>
parents:
diff changeset
2880 try@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2881
Dave Love <fx@gnu.org>
parents:
diff changeset
2882 @vindex reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
2883 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2884 (setq reftex-enable-partial-scans t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2885 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2886
Dave Love <fx@gnu.org>
parents:
diff changeset
2887 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2888 @b{Saving Parser Information}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
2889 @cindex Saving parser information
Dave Love <fx@gnu.org>
parents:
diff changeset
2890 @cindex Parse information, saving to a file
27195
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
2891 @vindex reftex-parse-file-extension
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2892 Even with partial scans enabled, @b{Ref@TeX{}} still has to make one full
Dave Love <fx@gnu.org>
parents:
diff changeset
2893 scan, when you start working with a document. To avoid this, parsing
Dave Love <fx@gnu.org>
parents:
diff changeset
2894 information can be stored in a file. The file @file{MASTER.rel} is used
Dave Love <fx@gnu.org>
parents:
diff changeset
2895 for storing information about a document with master file
Dave Love <fx@gnu.org>
parents:
diff changeset
2896 @file{MASTER.tex}. It is written automatically when you kill a buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
2897 in @code{reftex-mode} or when you exit Emacs. The information is
Dave Love <fx@gnu.org>
parents:
diff changeset
2898 restored when you begin working with a document in a new editing
Dave Love <fx@gnu.org>
parents:
diff changeset
2899 session. To use this feature, put into @file{.emacs}:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2900
Dave Love <fx@gnu.org>
parents:
diff changeset
2901 @vindex reftex-save-parse-info
Dave Love <fx@gnu.org>
parents:
diff changeset
2902 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2903 (setq reftex-save-parse-info t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2904 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2905
Dave Love <fx@gnu.org>
parents:
diff changeset
2906 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2907 @b{Automatic Document Scans}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
2908 @cindex Automatic document scans
Dave Love <fx@gnu.org>
parents:
diff changeset
2909 @cindex Document scanning, automatic
Dave Love <fx@gnu.org>
parents:
diff changeset
2910 At rare occasions, @b{Ref@TeX{}} will automatically rescan a part of the
Dave Love <fx@gnu.org>
parents:
diff changeset
2911 document. If this gets into your way, it can be turned off with
Dave Love <fx@gnu.org>
parents:
diff changeset
2912
Dave Love <fx@gnu.org>
parents:
diff changeset
2913 @vindex reftex-allow-automatic-rescan
Dave Love <fx@gnu.org>
parents:
diff changeset
2914 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2915 (setq reftex-allow-automatic-rescan nil)
Dave Love <fx@gnu.org>
parents:
diff changeset
2916 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2917
Dave Love <fx@gnu.org>
parents:
diff changeset
2918 @b{Ref@TeX{}} will then occasionally annotate new labels in the selection
Dave Love <fx@gnu.org>
parents:
diff changeset
2919 buffer, saying that their position in the label list in uncertain. A
Dave Love <fx@gnu.org>
parents:
diff changeset
2920 manual document scan will fix this.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2921
Dave Love <fx@gnu.org>
parents:
diff changeset
2922 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
2923 @b{Multiple Selection Buffers}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
2924 @cindex Multiple selection buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
2925 @cindex Selection buffers, multiple
Dave Love <fx@gnu.org>
parents:
diff changeset
2926 Normally, the selection buffer @file{*RefTeX Select*} is re-created for
Dave Love <fx@gnu.org>
parents:
diff changeset
2927 every selection process. In documents with very many labels this can
Dave Love <fx@gnu.org>
parents:
diff changeset
2928 take several seconds. @b{Ref@TeX{}} provides an option to create a
Dave Love <fx@gnu.org>
parents:
diff changeset
2929 separate selection buffer for each label type and to keep this buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
2930 from one selection to the next. These buffers are updated automatically
Dave Love <fx@gnu.org>
parents:
diff changeset
2931 only when a new label has been added in the buffers category with
Dave Love <fx@gnu.org>
parents:
diff changeset
2932 @code{reftex-label}. Updating the buffer takes as long as recreating it
Dave Love <fx@gnu.org>
parents:
diff changeset
2933 - so the time saving is limited to cases where no new labels of that
Dave Love <fx@gnu.org>
parents:
diff changeset
2934 category have been added. To turn on this feature, use@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2935
Dave Love <fx@gnu.org>
parents:
diff changeset
2936 @vindex reftex-use-multiple-selection-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
2937 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2938 (setq reftex-use-multiple-selection-buffers t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2939 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2940
Dave Love <fx@gnu.org>
parents:
diff changeset
2941 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
2942 @cindex Selection buffers, updating
Dave Love <fx@gnu.org>
parents:
diff changeset
2943 You can also inhibit the automatic updating entirely. Then the
Dave Love <fx@gnu.org>
parents:
diff changeset
2944 selection buffer will always pop up very fast, but may not contain the
Dave Love <fx@gnu.org>
parents:
diff changeset
2945 most recently defined labels. You can always update the buffer by hand,
Dave Love <fx@gnu.org>
parents:
diff changeset
2946 with the @kbd{g} key. To get this behavior, use instead@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2947
Dave Love <fx@gnu.org>
parents:
diff changeset
2948 @vindex reftex-auto-update-selection-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
2949 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2950 (setq reftex-use-multiple-selection-buffers t
Dave Love <fx@gnu.org>
parents:
diff changeset
2951 reftex-auto-update-selection-buffers nil)
Dave Love <fx@gnu.org>
parents:
diff changeset
2952 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2953 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
2954
Dave Love <fx@gnu.org>
parents:
diff changeset
2955 @need 2000
Dave Love <fx@gnu.org>
parents:
diff changeset
2956 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
2957 @b{As a summary}, here are the settings I recommend for heavy use of
Dave Love <fx@gnu.org>
parents:
diff changeset
2958 @b{Ref@TeX{}} with large documents:
Dave Love <fx@gnu.org>
parents:
diff changeset
2959
Dave Love <fx@gnu.org>
parents:
diff changeset
2960 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2961 @group
Dave Love <fx@gnu.org>
parents:
diff changeset
2962 (setq reftex-enable-partial-scans t
Dave Love <fx@gnu.org>
parents:
diff changeset
2963 reftex-save-parse-info t
Dave Love <fx@gnu.org>
parents:
diff changeset
2964 reftex-use-multiple-selection-buffers t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2965 @end group
Dave Love <fx@gnu.org>
parents:
diff changeset
2966 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2967
Dave Love <fx@gnu.org>
parents:
diff changeset
2968 @node AUCTeX, Multifile Documents, Faces, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
2969 @section @w{AUC @TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
2970 @cindex @code{AUCTeX}, Emacs package
Dave Love <fx@gnu.org>
parents:
diff changeset
2971 @cindex Emacs packages, @code{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
2972
Dave Love <fx@gnu.org>
parents:
diff changeset
2973 AUCTeX is without doubt the best major mode for editing TeX and LaTeX
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2974 files with Emacs (@pxref{Top,AUCTeX,,auctex, The AUCTeX User Manual}).
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
2975 If AUCTeX is not part of your Emacs distribution, you can get
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2976 it@footnote{XEmacs 21.x users may want to install the corresponding
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
2977 XEmacs package.} by ftp from the
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
2978 @uref{http://www.sunsite.auc.dk/auctex/,AUCTeX distribution site}.
Dave Love <fx@gnu.org>
parents:
diff changeset
2979
Dave Love <fx@gnu.org>
parents:
diff changeset
2980 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
2981 * AUCTeX-RefTeX Interface:: How both packages work together
Dave Love <fx@gnu.org>
parents:
diff changeset
2982 * Style Files:: AUCTeX's style files can support RefTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2983 * Bib-Cite:: Hypertext reading of a document
Dave Love <fx@gnu.org>
parents:
diff changeset
2984 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
2985
Dave Love <fx@gnu.org>
parents:
diff changeset
2986 @node AUCTeX-RefTeX Interface, Style Files, , AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2987 @subsection The AUC@TeX{}-@b{Ref@TeX{}} Interface
Dave Love <fx@gnu.org>
parents:
diff changeset
2988
Dave Love <fx@gnu.org>
parents:
diff changeset
2989 @b{Ref@TeX{}} contains code to interface with AUCTeX. When this
Dave Love <fx@gnu.org>
parents:
diff changeset
2990 interface is turned on, both packages will interact closely. Instead of
Dave Love <fx@gnu.org>
parents:
diff changeset
2991 using @b{Ref@TeX{}}'s commands directly, you can then also use them
Dave Love <fx@gnu.org>
parents:
diff changeset
2992 indirectly as part of the AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
2993 environment@footnote{@b{Ref@TeX{}} 4.0 and AUCTeX 9.10c will be
Dave Love <fx@gnu.org>
parents:
diff changeset
2994 needed for all of this to work. Parts of it work also with earlier
Dave Love <fx@gnu.org>
parents:
diff changeset
2995 versions.}. The interface is turned on with@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
2996
Dave Love <fx@gnu.org>
parents:
diff changeset
2997 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
2998 (setq reftex-plug-into-AUCTeX t)
Dave Love <fx@gnu.org>
parents:
diff changeset
2999 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3000
Dave Love <fx@gnu.org>
parents:
diff changeset
3001 If you need finer control about which parts of the interface are used
Dave Love <fx@gnu.org>
parents:
diff changeset
3002 and which not, read the docstring of the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
3003 @code{reftex-plug-into-AUCTeX} or customize it with @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
3004 customize-variable @key{RET} reftex-plug-into-AUCTeX @key{RET}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3005
Dave Love <fx@gnu.org>
parents:
diff changeset
3006 The following list describes the individual parts of the interface.
Dave Love <fx@gnu.org>
parents:
diff changeset
3007
Dave Love <fx@gnu.org>
parents:
diff changeset
3008 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
3009 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3010 @findex reftex-label
Dave Love <fx@gnu.org>
parents:
diff changeset
3011 @vindex LaTeX-label-function, @r{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
3012 @kindex C-c C-e
Dave Love <fx@gnu.org>
parents:
diff changeset
3013 @kindex C-c C-s
Dave Love <fx@gnu.org>
parents:
diff changeset
3014 @findex LaTeX-section, @r{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
3015 @findex TeX-insert-macro, @r{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
3016 @b{AUCTeX calls @code{reftex-label} to insert labels}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3017 When a new section is created with @kbd{C-c C-s}, or a new environment
Dave Love <fx@gnu.org>
parents:
diff changeset
3018 is inserted with @kbd{C-c C-e}, AUCTeX normally prompts for a label to
Dave Love <fx@gnu.org>
parents:
diff changeset
3019 go with it. With the interface, @code{reftex-label} is called instead.
Dave Love <fx@gnu.org>
parents:
diff changeset
3020 For example, if you type @kbd{C-c C-e equation @key{RET}}, AUCTeX and
Dave Love <fx@gnu.org>
parents:
diff changeset
3021 @b{Ref@TeX{}} will insert
Dave Love <fx@gnu.org>
parents:
diff changeset
3022
Dave Love <fx@gnu.org>
parents:
diff changeset
3023 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3024 \begin@{equation@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3025 \label@{eq:1@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3026
Dave Love <fx@gnu.org>
parents:
diff changeset
3027 \end@{equation@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3028 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3029
Dave Love <fx@gnu.org>
parents:
diff changeset
3030 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
3031 without further prompts.
Dave Love <fx@gnu.org>
parents:
diff changeset
3032
Dave Love <fx@gnu.org>
parents:
diff changeset
3033 Similarly, when you type @kbd{C-c C-s section @key{RET}}, @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
3034 will offer its default label which is derived from the section title.
Dave Love <fx@gnu.org>
parents:
diff changeset
3035
Dave Love <fx@gnu.org>
parents:
diff changeset
3036 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3037 @b{AUCTeX tells @b{Ref@TeX{}} about new sections}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3038 When creating a new section with @kbd{C-c C-s}, @b{Ref@TeX{}} will not
Dave Love <fx@gnu.org>
parents:
diff changeset
3039 have to rescan the buffer in order to see it.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3040
Dave Love <fx@gnu.org>
parents:
diff changeset
3041 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3042 @findex reftex-arg-label
Dave Love <fx@gnu.org>
parents:
diff changeset
3043 @findex TeX-arg-label, @r{AUCTeX function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3044 @findex reftex-arg-ref
Dave Love <fx@gnu.org>
parents:
diff changeset
3045 @findex TeX-arg-ref, @r{AUCTeX function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3046 @findex reftex-arg-cite
Dave Love <fx@gnu.org>
parents:
diff changeset
3047 @findex TeX-arg-cite, @r{AUCTeX function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3048 @findex reftex-arg-index
Dave Love <fx@gnu.org>
parents:
diff changeset
3049 @findex TeX-arg-index, @r{AUCTeX function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3050 @findex TeX-insert-macro, @r{AUCTeX function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3051 @kindex C-c @key{RET}
Dave Love <fx@gnu.org>
parents:
diff changeset
3052 @b{@b{Ref@TeX{}} supplies macro arguments}@* When you insert a macro
Dave Love <fx@gnu.org>
parents:
diff changeset
3053 interactively with @kbd{C-c @key{RET}}, AUCTeX normally prompts for
Dave Love <fx@gnu.org>
parents:
diff changeset
3054 macro arguments. Internally, it uses the functions
Dave Love <fx@gnu.org>
parents:
diff changeset
3055 @code{TeX-arg-label}, @code{TeX-arg-cite}, and @code{TeX-arg-index} to
Dave Love <fx@gnu.org>
parents:
diff changeset
3056 prompt for arguments which are labels, citation keys and index entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
3057 The interface takes over these functions@footnote{@code{fset} is used to
Dave Love <fx@gnu.org>
parents:
diff changeset
3058 do this, which is not reversible. However, @b{Ref@TeX{}} implements the
Dave Love <fx@gnu.org>
parents:
diff changeset
3059 old functionality when you later decide to turn off the interface.} and
Dave Love <fx@gnu.org>
parents:
diff changeset
3060 supplies the macro arguments with @b{Ref@TeX{}'s} mechanisms. For
Dave Love <fx@gnu.org>
parents:
diff changeset
3061 example, when you type @kbd{C-c @key{RET} ref @key{RET}}, @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
3062 will supply its label selection process (@pxref{Referencing
Dave Love <fx@gnu.org>
parents:
diff changeset
3063 Labels}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3064
Dave Love <fx@gnu.org>
parents:
diff changeset
3065 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3066 @b{@b{Ref@TeX{}} tells AUCTeX about new labels, citation-- and index keys}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3067 @b{Ref@TeX{}} will add all newly created labels to AUCTeX's completion list.
Dave Love <fx@gnu.org>
parents:
diff changeset
3068 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3069
Dave Love <fx@gnu.org>
parents:
diff changeset
3070 @node Style Files, Bib-Cite, AUCTeX-RefTeX Interface, AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
3071 @subsection Style Files
Dave Love <fx@gnu.org>
parents:
diff changeset
3072 @cindex Style files, AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
3073 @findex TeX-add-style-hook, @r{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
3074 Style files are Emacs Lisp files which are evaluated by AUCTeX in
Dave Love <fx@gnu.org>
parents:
diff changeset
3075 association with the @code{\documentclass} and @code{\usepackage}
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3076 commands of a document (@pxref{Style Files,,,auctex}). Support for
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3077 @b{Ref@TeX{}} in such a style file is useful when the LaTeX style
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3078 defines macros or environments connected with labels, citations, or the
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3079 index. Many style files (e.g. @file{amsmath.el} or @file{natbib.el})
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3080 distributed with AUCTeX already support @b{Ref@TeX{}} in this
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
3081 way.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3082
Dave Love <fx@gnu.org>
parents:
diff changeset
3083 Before calling a @b{Ref@TeX{}} function, the style hook should always
Dave Love <fx@gnu.org>
parents:
diff changeset
3084 test for the availability of the function, so that the style file will
Dave Love <fx@gnu.org>
parents:
diff changeset
3085 also work for people who do not use @b{Ref@TeX{}}. @refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3086
Dave Love <fx@gnu.org>
parents:
diff changeset
3087 Additions made with style files in the way described below remain local
Dave Love <fx@gnu.org>
parents:
diff changeset
3088 to the current document. For example, if one package uses AMSTeX, the
Dave Love <fx@gnu.org>
parents:
diff changeset
3089 style file will make @b{Ref@TeX{}} switch over to @code{\eqref}, but
Dave Love <fx@gnu.org>
parents:
diff changeset
3090 this will not affect other documents.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3091
Dave Love <fx@gnu.org>
parents:
diff changeset
3092 @findex reftex-add-label-environments
Dave Love <fx@gnu.org>
parents:
diff changeset
3093 @findex reftex-add-to-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
3094 A style hook may contain calls to
Dave Love <fx@gnu.org>
parents:
diff changeset
3095 @code{reftex-add-label-environments}@footnote{This used to be the
Dave Love <fx@gnu.org>
parents:
diff changeset
3096 function @code{reftex-add-to-label-alist} which is still available as an
Dave Love <fx@gnu.org>
parents:
diff changeset
3097 alias for compatibility.} which defines additions to
Dave Love <fx@gnu.org>
parents:
diff changeset
3098 @code{reftex-label-alist}. The argument taken by this function must have
Dave Love <fx@gnu.org>
parents:
diff changeset
3099 the same format as @code{reftex-label-alist}. The @file{amsmath.el}
Dave Love <fx@gnu.org>
parents:
diff changeset
3100 style file of AUCTeX for example contains the following:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3101
Dave Love <fx@gnu.org>
parents:
diff changeset
3102 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3103 @group
Dave Love <fx@gnu.org>
parents:
diff changeset
3104 (TeX-add-style-hook "amsmath"
Dave Love <fx@gnu.org>
parents:
diff changeset
3105 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3106 (if (fboundp 'reftex-add-label-environments)
Dave Love <fx@gnu.org>
parents:
diff changeset
3107 (reftex-add-label-environments '(AMSTeX)))))
Dave Love <fx@gnu.org>
parents:
diff changeset
3108 @end group
Dave Love <fx@gnu.org>
parents:
diff changeset
3109 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3110
Dave Love <fx@gnu.org>
parents:
diff changeset
3111 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
3112 @findex LaTeX-add-environments, @r{AUCTeX}
Dave Love <fx@gnu.org>
parents:
diff changeset
3113 while a package @code{myprop} defining a @code{proposition} environment
Dave Love <fx@gnu.org>
parents:
diff changeset
3114 with @code{\newtheorem} might use@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3115
Dave Love <fx@gnu.org>
parents:
diff changeset
3116 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3117 @group
Dave Love <fx@gnu.org>
parents:
diff changeset
3118 (TeX-add-style-hook "myprop"
Dave Love <fx@gnu.org>
parents:
diff changeset
3119 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3120 (LaTeX-add-environments '("proposition" LaTeX-env-label))
Dave Love <fx@gnu.org>
parents:
diff changeset
3121 (if (fboundp 'reftex-add-label-environments)
Dave Love <fx@gnu.org>
parents:
diff changeset
3122 (reftex-add-label-environments
Dave Love <fx@gnu.org>
parents:
diff changeset
3123 '(("proposition" ?p "prop:" "~\\ref@{%s@}" t
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3124 ("Proposition" "Prop.") -3))))))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3125 @end group
Dave Love <fx@gnu.org>
parents:
diff changeset
3126 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3127
Dave Love <fx@gnu.org>
parents:
diff changeset
3128 @findex reftex-set-cite-format
Dave Love <fx@gnu.org>
parents:
diff changeset
3129 Similarly, a style hook may contain a call to
Dave Love <fx@gnu.org>
parents:
diff changeset
3130 @code{reftex-set-cite-format} to set the citation format. The style
Dave Love <fx@gnu.org>
parents:
diff changeset
3131 file @file{natbib.el} for the Natbib citation style does switch
Dave Love <fx@gnu.org>
parents:
diff changeset
3132 @b{Ref@TeX{}}'s citation format like this:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3133
Dave Love <fx@gnu.org>
parents:
diff changeset
3134 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3135 (TeX-add-style-hook "natbib"
Dave Love <fx@gnu.org>
parents:
diff changeset
3136 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3137 (if (fboundp 'reftex-set-cite-format)
Dave Love <fx@gnu.org>
parents:
diff changeset
3138 (reftex-set-cite-format 'natbib))))
Dave Love <fx@gnu.org>
parents:
diff changeset
3139 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3140
Dave Love <fx@gnu.org>
parents:
diff changeset
3141 @findex reftex-add-index-macros
Dave Love <fx@gnu.org>
parents:
diff changeset
3142 The hook may contain a call to @code{reftex-add-index-macros} to
Dave Love <fx@gnu.org>
parents:
diff changeset
3143 define additional @code{\index}-like macros. The argument must have
Dave Love <fx@gnu.org>
parents:
diff changeset
3144 the same format as @code{reftex-index-macros}. It may be a symbol, to
Dave Love <fx@gnu.org>
parents:
diff changeset
3145 trigger support for one of the builtin index packages. For example,
Dave Love <fx@gnu.org>
parents:
diff changeset
3146 the style @file{multind.el} contains
Dave Love <fx@gnu.org>
parents:
diff changeset
3147
Dave Love <fx@gnu.org>
parents:
diff changeset
3148 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3149 (TeX-add-style-hook "multind"
Dave Love <fx@gnu.org>
parents:
diff changeset
3150 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3151 (and (fboundp 'reftex-add-index-macros)
Dave Love <fx@gnu.org>
parents:
diff changeset
3152 (reftex-add-index-macros '(multind)))))
Dave Love <fx@gnu.org>
parents:
diff changeset
3153 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3154
Dave Love <fx@gnu.org>
parents:
diff changeset
3155 If you have your own package @file{myindex} which defines the
Dave Love <fx@gnu.org>
parents:
diff changeset
3156 following macros to be used with the LaTeX @file{index.sty} file
Dave Love <fx@gnu.org>
parents:
diff changeset
3157 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3158 \newcommand@{\molec@}[1]@{#1\index@{Molecules!#1@}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3159 \newcommand@{\aindex@}[1]@{#1\index[author]@{#1@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3160 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3161
Dave Love <fx@gnu.org>
parents:
diff changeset
3162 you could write this in the style file @file{myindex.el}:
Dave Love <fx@gnu.org>
parents:
diff changeset
3163
Dave Love <fx@gnu.org>
parents:
diff changeset
3164 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3165 (TeX-add-style-hook "myindex"
Dave Love <fx@gnu.org>
parents:
diff changeset
3166 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3167 (TeX-add-symbols
Dave Love <fx@gnu.org>
parents:
diff changeset
3168 '("molec" TeX-arg-index)
Dave Love <fx@gnu.org>
parents:
diff changeset
3169 '("aindex" TeX-arg-index))
Dave Love <fx@gnu.org>
parents:
diff changeset
3170 (if (fboundp 'reftex-add-index-macros)
Dave Love <fx@gnu.org>
parents:
diff changeset
3171 (reftex-add-index-macros
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3172 '(("molec@{*@}" "idx" ?m "Molecules!" nil nil)
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3173 ("aindex@{*@}" "author" ?a "" nil nil))))))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3174 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3175
Dave Love <fx@gnu.org>
parents:
diff changeset
3176 @findex reftex-add-section-levels
Dave Love <fx@gnu.org>
parents:
diff changeset
3177 Finally the hook may contain a call to @code{reftex-add-section-levels}
Dave Love <fx@gnu.org>
parents:
diff changeset
3178 to define additional section statements. For example, the FoilTeX class
Dave Love <fx@gnu.org>
parents:
diff changeset
3179 has just two headers, @code{\foilhead} and @code{\rotatefoilhead}. Here
Dave Love <fx@gnu.org>
parents:
diff changeset
3180 is a style file @file{foils.el} that will inform @b{Ref@TeX{}} about these:
Dave Love <fx@gnu.org>
parents:
diff changeset
3181
Dave Love <fx@gnu.org>
parents:
diff changeset
3182 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3183 (TeX-add-style-hook "foils"
Dave Love <fx@gnu.org>
parents:
diff changeset
3184 (lambda ()
Dave Love <fx@gnu.org>
parents:
diff changeset
3185 (if (fboundp 'reftex-add-section-levels)
Dave Love <fx@gnu.org>
parents:
diff changeset
3186 (reftex-add-section-levels '(("foilhead" . 3)
Dave Love <fx@gnu.org>
parents:
diff changeset
3187 ("rotatefoilhead" . 3))))))
Dave Love <fx@gnu.org>
parents:
diff changeset
3188 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3189
Dave Love <fx@gnu.org>
parents:
diff changeset
3190 @node Bib-Cite, , Style Files, AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
3191 @subsection Bib-Cite
Dave Love <fx@gnu.org>
parents:
diff changeset
3192 @cindex @code{bib-cite}, Emacs package
Dave Love <fx@gnu.org>
parents:
diff changeset
3193 @cindex Emacs packages, @code{bib-cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
3194
Dave Love <fx@gnu.org>
parents:
diff changeset
3195 Once you have written a document with labels, references and citations,
Dave Love <fx@gnu.org>
parents:
diff changeset
3196 it can be nice to read it like a hypertext document. @b{Ref@TeX{}} has
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3197 support for that: @code{reftex-view-crossref} (bound to @kbd{C-c
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
3198 &}), @code{reftex-mouse-view-crossref} (bound to @kbd{S-mouse-2}), and
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3199 @code{reftex-search-document}. A somewhat fancier interface with mouse
Dave Love <fx@gnu.org>
parents:
diff changeset
3200 highlighting is provided (among other things) by Peter S. Galbraith's
Dave Love <fx@gnu.org>
parents:
diff changeset
3201 @file{bib-cite.el}. There is some overlap in the functionalities of
Dave Love <fx@gnu.org>
parents:
diff changeset
3202 Bib-cite and @b{Ref@TeX{}}. Bib-cite.el comes bundled with
Dave Love <fx@gnu.org>
parents:
diff changeset
3203 AUCTeX.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3204
Dave Love <fx@gnu.org>
parents:
diff changeset
3205 Bib-cite version 3.06 and later can be configured so that bib-cite's
Dave Love <fx@gnu.org>
parents:
diff changeset
3206 mouse functions use @b{Ref@TeX{}} for displaying references and citations.
Dave Love <fx@gnu.org>
parents:
diff changeset
3207 This can be useful in particular when working with the LaTeX @code{xr}
Dave Love <fx@gnu.org>
parents:
diff changeset
3208 package or with an explicit @code{thebibliography} environment (rather
Dave Love <fx@gnu.org>
parents:
diff changeset
3209 than BibTeX). Bib-cite cannot handle those, but @b{Ref@TeX{}} does. To
Dave Love <fx@gnu.org>
parents:
diff changeset
3210 make use of this feature, try@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3211
Dave Love <fx@gnu.org>
parents:
diff changeset
3212 @vindex bib-cite-use-reftex-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
3213 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3214 (setq bib-cite-use-reftex-view-crossref t)
Dave Love <fx@gnu.org>
parents:
diff changeset
3215 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3216
Dave Love <fx@gnu.org>
parents:
diff changeset
3217 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
3218 @node Problems and Work-Arounds, Imprint, Optimizations, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
3219 @section Problems and Work-arounds
Dave Love <fx@gnu.org>
parents:
diff changeset
3220 @cindex Problems and work-arounds
Dave Love <fx@gnu.org>
parents:
diff changeset
3221
Dave Love <fx@gnu.org>
parents:
diff changeset
3222 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
3223 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3224 @b{LaTeX commands}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3225 @cindex LaTeX commands, not found
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3226 @code{\input}, @code{\include}, and @code{\section} (etc.) statements
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3227 have to be first on a line (except for white space).@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3228
Dave Love <fx@gnu.org>
parents:
diff changeset
3229 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3230 @b{Commented regions}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3231 @cindex Labels, commented out
Dave Love <fx@gnu.org>
parents:
diff changeset
3232 @b{Ref@TeX{}} sees also labels in regions commented out and will refuse to
Dave Love <fx@gnu.org>
parents:
diff changeset
3233 make duplicates of such labels. This is considered to be a feature.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3234
Dave Love <fx@gnu.org>
parents:
diff changeset
3235 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3236 @b{Wrong section numbers}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3237 @cindex Section numbers, wrong
Dave Love <fx@gnu.org>
parents:
diff changeset
3238 @vindex reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
3239 When using partial scans (@code{reftex-enable-partial-scans}), the section
Dave Love <fx@gnu.org>
parents:
diff changeset
3240 numbers in the table of contents may eventually become wrong. A full
Dave Love <fx@gnu.org>
parents:
diff changeset
3241 scan will fix this.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3242
Dave Love <fx@gnu.org>
parents:
diff changeset
3243 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3244 @b{Local settings}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3245 @cindex Settings, local
Dave Love <fx@gnu.org>
parents:
diff changeset
3246 @findex reftex-add-label-environments
Dave Love <fx@gnu.org>
parents:
diff changeset
3247 @findex reftex-set-cite-format
Dave Love <fx@gnu.org>
parents:
diff changeset
3248 @findex reftex-add-section-levels
Dave Love <fx@gnu.org>
parents:
diff changeset
3249 The label environment definitions in @code{reftex-label-alist} are
Dave Love <fx@gnu.org>
parents:
diff changeset
3250 global and apply to all documents. If you need to make definitions
Dave Love <fx@gnu.org>
parents:
diff changeset
3251 local to a document, because they would interfere with settings in other
Dave Love <fx@gnu.org>
parents:
diff changeset
3252 documents, you should use AUCTeX and set up style files with calls to
Dave Love <fx@gnu.org>
parents:
diff changeset
3253 @code{reftex-add-label-environments}, @code{reftex-set-cite-format},
Dave Love <fx@gnu.org>
parents:
diff changeset
3254 @code{reftex-add-index-macros}, and @code{reftex-add-section-levels}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3255 Settings made with these functions remain local to the current
Dave Love <fx@gnu.org>
parents:
diff changeset
3256 document. @xref{AUCTeX}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3257
Dave Love <fx@gnu.org>
parents:
diff changeset
3258 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3259 @b{Funny display in selection buffer}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3260 @cindex @code{x-symbol}, Emacs package
Dave Love <fx@gnu.org>
parents:
diff changeset
3261 @cindex Emacs packages, @code{x-symbol}
Dave Love <fx@gnu.org>
parents:
diff changeset
3262 @cindex @code{isotex}, Emacs package
Dave Love <fx@gnu.org>
parents:
diff changeset
3263 @cindex Emacs packages, @code{isotex}
Dave Love <fx@gnu.org>
parents:
diff changeset
3264 @cindex @code{iso-cvt}, Emacs package
Dave Love <fx@gnu.org>
parents:
diff changeset
3265 @cindex Emacs packages, @code{iso-cvt}
Dave Love <fx@gnu.org>
parents:
diff changeset
3266 When using packages which make the buffer representation of a file
Dave Love <fx@gnu.org>
parents:
diff changeset
3267 different from its disk representation (e.g. x-symbol, isotex,
Dave Love <fx@gnu.org>
parents:
diff changeset
3268 iso-cvt) you may find that @b{Ref@TeX{}}'s parsing information sometimes
Dave Love <fx@gnu.org>
parents:
diff changeset
3269 reflects the disk state of a file. This happens only in @emph{unvisited}
Dave Love <fx@gnu.org>
parents:
diff changeset
3270 parts of a multifile document, because @b{Ref@TeX{}} visits these files
Dave Love <fx@gnu.org>
parents:
diff changeset
3271 literally for speed reasons. Then both short context and section
Dave Love <fx@gnu.org>
parents:
diff changeset
3272 headings may look different from what you usually see on your screen.
Dave Love <fx@gnu.org>
parents:
diff changeset
3273 In rare cases @code{reftex-toc} may have problems to jump to an affected
Dave Love <fx@gnu.org>
parents:
diff changeset
3274 section heading. There are three possible ways to deal with
Dave Love <fx@gnu.org>
parents:
diff changeset
3275 this:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3276 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
3277 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3278 @vindex reftex-keep-temporary-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
3279 @code{(setq reftex-keep-temporary-buffers t)}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3280 This implies that @b{Ref@TeX{}} will load all parts of a multifile
Dave Love <fx@gnu.org>
parents:
diff changeset
3281 document into Emacs (i.e. there won't be any temporary buffers).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3282 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3283 @vindex reftex-initialize-temporary-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
3284 @code{(setq reftex-initialize-temporary-buffers t)}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3285 This means full initialization of temporary buffers. It involves
Dave Love <fx@gnu.org>
parents:
diff changeset
3286 a penalty when the same unvisited file is used for lookup often.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3287 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3288 Set @code{reftex-initialize-temporary-buffers} to a list of hook
Dave Love <fx@gnu.org>
parents:
diff changeset
3289 functions doing a minimal initialization.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3290 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3291 @vindex reftex-refontify-context
Dave Love <fx@gnu.org>
parents:
diff changeset
3292 See also the variable @code{reftex-refontify-context}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3293
Dave Love <fx@gnu.org>
parents:
diff changeset
3294 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3295 @b{Labels as arguments to \begin}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3296 @cindex @code{pf}, LaTeX package
Dave Love <fx@gnu.org>
parents:
diff changeset
3297 @cindex LaTeX packages, @code{pf}
Dave Love <fx@gnu.org>
parents:
diff changeset
3298 Some packages use an additional argument to a @code{\begin} macro
Dave Love <fx@gnu.org>
parents:
diff changeset
3299 to specify a label. E.g. Lamport's @file{pf.sty} uses both
Dave Love <fx@gnu.org>
parents:
diff changeset
3300 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3301 \step@{@var{label}@}@{@var{claim}@} and \begin@{step+@}@{@var{label}@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3302 @var{claim}
Dave Love <fx@gnu.org>
parents:
diff changeset
3303 \end@{step+@}
Dave Love <fx@gnu.org>
parents:
diff changeset
3304 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3305
Dave Love <fx@gnu.org>
parents:
diff changeset
3306 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
3307 We need to trick @b{Ref@TeX{}} into swallowing this:
Dave Love <fx@gnu.org>
parents:
diff changeset
3308
Dave Love <fx@gnu.org>
parents:
diff changeset
3309 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3310 @group
Dave Love <fx@gnu.org>
parents:
diff changeset
3311 ;; Configuration for Lamport's pf.sty
Dave Love <fx@gnu.org>
parents:
diff changeset
3312 (setq reftex-label-alist
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3313 '(("\\step@{*@}@{@}" ?p "st:" "~\\stepref@{%s@}" 2 ("Step" "St."))
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3314 ("\\begin@{step+@}@{*@}" ?p "st:" "~\\stepref@{%s@}" 1000)))
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3315 @end group
Dave Love <fx@gnu.org>
parents:
diff changeset
3316 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3317
Dave Love <fx@gnu.org>
parents:
diff changeset
3318 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
3319 The first line is just a normal configuration for a macro. For the
Dave Love <fx@gnu.org>
parents:
diff changeset
3320 @code{step+} environment we actually tell @b{Ref@TeX{}} to look for the
Dave Love <fx@gnu.org>
parents:
diff changeset
3321 @emph{macro} @samp{\begin@{step+@}} and interpret the @emph{first}
Dave Love <fx@gnu.org>
parents:
diff changeset
3322 argument (which really is a second argument to the macro @code{\begin})
Dave Love <fx@gnu.org>
parents:
diff changeset
3323 as a label of type @code{?p}. Argument count for this macro starts only
Dave Love <fx@gnu.org>
parents:
diff changeset
3324 after the @samp{@{step+@}}, also when specifying how to get
Dave Love <fx@gnu.org>
parents:
diff changeset
3325 context.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3326
Dave Love <fx@gnu.org>
parents:
diff changeset
3327 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3328 @b{Idle timers in XEmacs}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3329 @cindex Idle timer restart
Dave Love <fx@gnu.org>
parents:
diff changeset
3330 @vindex reftex-use-itimer-in-xemacs
Dave Love <fx@gnu.org>
parents:
diff changeset
3331 In XEmacs, idle timer restart does not work reliably after fast
Dave Love <fx@gnu.org>
parents:
diff changeset
3332 keystrokes. Therefore @b{Ref@TeX{}} currently uses the post command
Dave Love <fx@gnu.org>
parents:
diff changeset
3333 hook to start the timer used for automatic crossref information. When
Dave Love <fx@gnu.org>
parents:
diff changeset
3334 this bug gets fixed, a real idle timer can be requested with
Dave Love <fx@gnu.org>
parents:
diff changeset
3335 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3336 (setq reftex-use-itimer-in-xemacs t)
Dave Love <fx@gnu.org>
parents:
diff changeset
3337 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3338
Dave Love <fx@gnu.org>
parents:
diff changeset
3339 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3340 @b{Viper mode}@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3341 @cindex Viper mode
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
3342 @cindex Key bindings, problems with Viper mode
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3343 @findex viper-harness-minor-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
3344 With @i{Viper} mode prior to Vipers version 3.01, you need to protect
Dave Love <fx@gnu.org>
parents:
diff changeset
3345 @b{Ref@TeX{}}'s keymaps with@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3346
Dave Love <fx@gnu.org>
parents:
diff changeset
3347 @lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3348 (viper-harness-minor-mode "reftex")
Dave Love <fx@gnu.org>
parents:
diff changeset
3349 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
3350
Dave Love <fx@gnu.org>
parents:
diff changeset
3351 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3352
Dave Love <fx@gnu.org>
parents:
diff changeset
3353 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
3354 @node Imprint, Commands, Problems and Work-Arounds, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
3355 @section Imprint
Dave Love <fx@gnu.org>
parents:
diff changeset
3356 @cindex Imprint
Dave Love <fx@gnu.org>
parents:
diff changeset
3357 @cindex Maintainer
Dave Love <fx@gnu.org>
parents:
diff changeset
3358 @cindex Acknowledgments
Dave Love <fx@gnu.org>
parents:
diff changeset
3359 @cindex Thanks
Dave Love <fx@gnu.org>
parents:
diff changeset
3360 @cindex Bug reports
Dave Love <fx@gnu.org>
parents:
diff changeset
3361 @cindex @code{http}, @b{Ref@TeX{}} home page
Dave Love <fx@gnu.org>
parents:
diff changeset
3362 @cindex @code{ftp}, @b{Ref@TeX{}} site
Dave Love <fx@gnu.org>
parents:
diff changeset
3363
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3364 @b{Ref@TeX{}} was written by @i{@value{Carsten Dominik}}
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3365 @email{dominik@@science.uva.nl}, with contributions by @i{Stephen
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3366 Eglen}. @b{Ref@TeX{}} is currently maintained by @refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3367
Dave Love <fx@gnu.org>
parents:
diff changeset
3368 @noindent
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3369 @value{Carsten Dominik} @email{dominik@@science.uva.nl}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3370
Dave Love <fx@gnu.org>
parents:
diff changeset
3371 If you have questions about @b{Ref@TeX{}}, there are several Usenet
Dave Love <fx@gnu.org>
parents:
diff changeset
3372 groups which have competent readers: @code{comp.emacs},
Dave Love <fx@gnu.org>
parents:
diff changeset
3373 @code{gnu.emacs.help}, @code{comp.emacs.xemacs}, @code{comp.text.tex}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3374 You can also write directly to the maintainer.
Dave Love <fx@gnu.org>
parents:
diff changeset
3375
Dave Love <fx@gnu.org>
parents:
diff changeset
3376 If you find a bug in @b{Ref@TeX{}} or its documentation, or if you want
Dave Love <fx@gnu.org>
parents:
diff changeset
3377 to contribute code or ideas, please
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3378 @uref{mailto:dominik@@science.uva.nl,contact the maintainer}. Remember
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3379 to provide all necessary information such as version numbers of Emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
3380 and @b{Ref@TeX{}}, and the relevant part of your configuration in
Dave Love <fx@gnu.org>
parents:
diff changeset
3381 @file{.emacs}. When reporting a bug which throws an exception, please
Dave Love <fx@gnu.org>
parents:
diff changeset
3382 include a backtrace if you know how to produce one.
Dave Love <fx@gnu.org>
parents:
diff changeset
3383
Dave Love <fx@gnu.org>
parents:
diff changeset
3384 @b{Ref@TeX{}} is bundled and pre-installed with Emacs since version 20.2.
Dave Love <fx@gnu.org>
parents:
diff changeset
3385 It was also bundled and pre-installed with XEmacs 19.16--20.x. XEmacs
Dave Love <fx@gnu.org>
parents:
diff changeset
3386 21.x users want to install the corresponding plugin package which is
Dave Love <fx@gnu.org>
parents:
diff changeset
3387 available from the XEmacs @code{ftp} site. See the XEmacs 21.x
Dave Love <fx@gnu.org>
parents:
diff changeset
3388 documentation on package installation for details.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3389
Dave Love <fx@gnu.org>
parents:
diff changeset
3390 Users of earlier Emacs distributions (including Emacs 19) can get a
Dave Love <fx@gnu.org>
parents:
diff changeset
3391 @b{Ref@TeX{}} distribution from the
Dave Love <fx@gnu.org>
parents:
diff changeset
3392 @uref{http://www.strw.leidenuniv.nl/~dominik/Tools/,maintainers
Dave Love <fx@gnu.org>
parents:
diff changeset
3393 webpage}. Note that the Emacs 19 version supports many but not all
Dave Love <fx@gnu.org>
parents:
diff changeset
3394 features described in this manual.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3395
Dave Love <fx@gnu.org>
parents:
diff changeset
3396 Thanks to the people on the Net who have used @b{Ref@TeX{}} and helped
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3397 developing it with their reports. In particular thanks to @i{Fran
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3398 Burstall, Alastair Burt, Lars Clausen, Soren Dayton, Stephen Eglen, Karl
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3399 Eichwalder, Erik Frik, Erik Frisk, Peter Galbraith, Kai Grossjohann,
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3400 Frank Harrell, Stephan Heuel, Alan Ho, Dieter Kraft, Adrian Lanz, Rory
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3401 Molinari, Stefan Monnier, Laurent Mugnier, Sudeep Kumar Palat, Daniel
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3402 Polani, Alan Shutko, Robin Socha, Richard Stanton, Allan Strand, Jan
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3403 Vroonhof, Christoph Wedler, Alan Williams, Roland Winkler, Eli
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3404 Zaretskii}.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3405
Dave Love <fx@gnu.org>
parents:
diff changeset
3406 The @code{view-crossref} feature was inspired by @i{Peter Galbraith's}
Dave Love <fx@gnu.org>
parents:
diff changeset
3407 @file{bib-cite.el}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3408
Dave Love <fx@gnu.org>
parents:
diff changeset
3409 Finally thanks to @i{Uwe Bolick} who first got me (some years ago) into
Dave Love <fx@gnu.org>
parents:
diff changeset
3410 supporting LaTeX labels and references with an editor (which was
Dave Love <fx@gnu.org>
parents:
diff changeset
3411 MicroEmacs at the time).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3412
Dave Love <fx@gnu.org>
parents:
diff changeset
3413 @node Commands, Options, Imprint, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
3414 @chapter Commands
Dave Love <fx@gnu.org>
parents:
diff changeset
3415 @cindex Commands, list of
Dave Love <fx@gnu.org>
parents:
diff changeset
3416
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3417 Here is a summary of @b{Ref@TeX{}}'s commands which can be executed from
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3418 LaTeX files. Command which are executed from the special buffers are
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3419 not described here. All commands are available from the @code{Ref}
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
3420 menu. See @xref{Key Bindings}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3421
Dave Love <fx@gnu.org>
parents:
diff changeset
3422 @deffn Command reftex-toc
Dave Love <fx@gnu.org>
parents:
diff changeset
3423 Show the table of contents for the current document. When called with
Dave Love <fx@gnu.org>
parents:
diff changeset
3424 one ore two @kbd{C-u} prefixes, rescan the document first.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3425 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3426
Dave Love <fx@gnu.org>
parents:
diff changeset
3427 @deffn Command reftex-label
Dave Love <fx@gnu.org>
parents:
diff changeset
3428 Insert a unique label. With one or two @kbd{C-u} prefixes, enforce
Dave Love <fx@gnu.org>
parents:
diff changeset
3429 document rescan first.
Dave Love <fx@gnu.org>
parents:
diff changeset
3430 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3431
Dave Love <fx@gnu.org>
parents:
diff changeset
3432 @deffn Command reftex-reference
Dave Love <fx@gnu.org>
parents:
diff changeset
3433 Start a selection process to select a label, and insert a reference to
Dave Love <fx@gnu.org>
parents:
diff changeset
3434 it. With one or two @kbd{C-u} prefixes, enforce document rescan first.
Dave Love <fx@gnu.org>
parents:
diff changeset
3435 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3436
Dave Love <fx@gnu.org>
parents:
diff changeset
3437 @deffn Command reftex-citation
Dave Love <fx@gnu.org>
parents:
diff changeset
3438 Make a citation using BibTeX database files. After prompting for a regular
Dave Love <fx@gnu.org>
parents:
diff changeset
3439 expression, scans the buffers with BibTeX entries (taken from the
Dave Love <fx@gnu.org>
parents:
diff changeset
3440 @code{\bibliography} command or a @code{thebibliography} environment)
Dave Love <fx@gnu.org>
parents:
diff changeset
3441 and offers the matching entries for selection. The selected entry is
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46684
diff changeset
3442 formatted according to @code{reftex-cite-format} and inserted into the
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3443 buffer.@refill @*
Dave Love <fx@gnu.org>
parents:
diff changeset
3444 When called with one or two @kbd{C-u} prefixes, first rescans the
Dave Love <fx@gnu.org>
parents:
diff changeset
3445 document. When called with a numeric prefix, make that many citations.
Dave Love <fx@gnu.org>
parents:
diff changeset
3446 When called with point inside the braces of a @code{\cite} command, it
Dave Love <fx@gnu.org>
parents:
diff changeset
3447 will add another key, ignoring the value of
Dave Love <fx@gnu.org>
parents:
diff changeset
3448 @code{reftex-cite-format}.@refill @*
Dave Love <fx@gnu.org>
parents:
diff changeset
3449 The regular expression uses an expanded syntax: @samp{&&} is interpreted
Dave Love <fx@gnu.org>
parents:
diff changeset
3450 as @code{and}. Thus, @samp{aaaa&&bbb} matches entries which contain
Dave Love <fx@gnu.org>
parents:
diff changeset
3451 both @samp{aaaa} and @samp{bbb}. While entering the regexp, completion
Dave Love <fx@gnu.org>
parents:
diff changeset
3452 on knows citation keys is possible. @samp{=} is a good regular
Dave Love <fx@gnu.org>
parents:
diff changeset
3453 expression to match all entries in all files.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3454 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3455
Dave Love <fx@gnu.org>
parents:
diff changeset
3456 @deffn Command reftex-index
Dave Love <fx@gnu.org>
parents:
diff changeset
3457 Query for an index macro and insert it along with its arguments. The
Dave Love <fx@gnu.org>
parents:
diff changeset
3458 index macros available are those defined in @code{reftex-index-macro} or
Dave Love <fx@gnu.org>
parents:
diff changeset
3459 by a call to @code{reftex-add-index-macros}, typically from an AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
3460 style file. @b{Ref@TeX{}} provides completion for the index tag and the
Dave Love <fx@gnu.org>
parents:
diff changeset
3461 index key, and will prompt for other arguments.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3462 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3463
Dave Love <fx@gnu.org>
parents:
diff changeset
3464 @deffn Command reftex-index-selection-or-word
Dave Love <fx@gnu.org>
parents:
diff changeset
3465 Put current selection or the word near point into the default index
Dave Love <fx@gnu.org>
parents:
diff changeset
3466 macro. This uses the information in @code{reftex-index-default-macro}
Dave Love <fx@gnu.org>
parents:
diff changeset
3467 to make an index entry. The phrase indexed is the current selection or
Dave Love <fx@gnu.org>
parents:
diff changeset
3468 the word near point. When called with one @kbd{C-u} prefix, let the
Dave Love <fx@gnu.org>
parents:
diff changeset
3469 user have a chance to edit the index entry. When called with 2
Dave Love <fx@gnu.org>
parents:
diff changeset
3470 @kbd{C-u} as prefix, also ask for the index macro and other stuff. When
Dave Love <fx@gnu.org>
parents:
diff changeset
3471 called inside TeX math mode as determined by the @file{texmathp.el}
Dave Love <fx@gnu.org>
parents:
diff changeset
3472 library which is part of AUCTeX, the string is first processed with the
Dave Love <fx@gnu.org>
parents:
diff changeset
3473 @code{reftex-index-math-format}, which see.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3474 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3475
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3476 @deffn Command reftex-index-phrase-selection-or-word
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3477 Add current selection or the word at point to the phrases buffer.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3478 When you are in transient-mark-mode and the region is active, the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3479 selection will be used - otherwise the word at point.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3480 You get a chance to edit the entry in the phrases buffer - to save the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3481 buffer and return to the LaTeX document, finish with @kbd{C-c C-c}.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3482 @end deffn
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3483
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3484 @deffn Command reftex-index-visit-phrases-buffer
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3485 Switch to the phrases buffer, initialize if empty.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3486 @end deffn
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3487
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3488 @deffn Command reftex-index-phrases-apply-to-region
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3489 Index all index phrases in the current region.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3490 This works exactly like global indexing from the index phrases buffer,
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3491 but operation is restricted to the current region.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3492 @end deffn
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3493
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3494 @deffn Command reftex-display-index
Dave Love <fx@gnu.org>
parents:
diff changeset
3495 Display a buffer with an index compiled from the current document.
Dave Love <fx@gnu.org>
parents:
diff changeset
3496 When the document has multiple indices, first prompts for the correct one.
Dave Love <fx@gnu.org>
parents:
diff changeset
3497 When index support is turned off, offer to turn it on.
Dave Love <fx@gnu.org>
parents:
diff changeset
3498 With one or two @kbd{C-u} prefixes, rescan document first.
Dave Love <fx@gnu.org>
parents:
diff changeset
3499 With prefix 2, restrict index to current document section.
Dave Love <fx@gnu.org>
parents:
diff changeset
3500 With prefix 3, restrict index to active region.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3501 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3502
Dave Love <fx@gnu.org>
parents:
diff changeset
3503 @deffn Command reftex-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
3504 View cross reference of macro at point. Point must be on the @var{key}
Dave Love <fx@gnu.org>
parents:
diff changeset
3505 argument. Works with the macros @code{\label}, @code{\ref},
Dave Love <fx@gnu.org>
parents:
diff changeset
3506 @code{\cite}, @code{\bibitem}, @code{\index} and many derivatives of
Dave Love <fx@gnu.org>
parents:
diff changeset
3507 these. Where it makes sense, subsequent calls show additional
Dave Love <fx@gnu.org>
parents:
diff changeset
3508 locations. See also the variable @code{reftex-view-crossref-extra} and
Dave Love <fx@gnu.org>
parents:
diff changeset
3509 the command @code{reftex-view-crossref-from-bibtex}. With one or two
Dave Love <fx@gnu.org>
parents:
diff changeset
3510 @kbd{C-u} prefixes, enforce rescanning of the document. With argument
Dave Love <fx@gnu.org>
parents:
diff changeset
3511 2, select the window showing the cross reference.
Dave Love <fx@gnu.org>
parents:
diff changeset
3512 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3513
Dave Love <fx@gnu.org>
parents:
diff changeset
3514 @deffn Command reftex-view-crossref-from-bibtex
Dave Love <fx@gnu.org>
parents:
diff changeset
3515 View location in a LaTeX document which cites the BibTeX entry at point.
Dave Love <fx@gnu.org>
parents:
diff changeset
3516 Since BibTeX files can be used by many LaTeX documents, this function
Dave Love <fx@gnu.org>
parents:
diff changeset
3517 prompts upon first use for a buffer in @b{Ref@TeX{}} mode. To reset this
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3518 link to a document, call the function with a prefix arg. Calling
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3519 this function several times find successive citation locations.
Dave Love <fx@gnu.org>
parents:
diff changeset
3520 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3521
Dave Love <fx@gnu.org>
parents:
diff changeset
3522 @deffn Command reftex-create-tags-file
Dave Love <fx@gnu.org>
parents:
diff changeset
3523 Create TAGS file by running @code{etags} on the current document. The
Dave Love <fx@gnu.org>
parents:
diff changeset
3524 TAGS file is also immediately visited with
Dave Love <fx@gnu.org>
parents:
diff changeset
3525 @code{visit-tags-table}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3526 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3527
Dave Love <fx@gnu.org>
parents:
diff changeset
3528 @deffn Command reftex-grep-document
Dave Love <fx@gnu.org>
parents:
diff changeset
3529 Run grep query through all files related to this document.
Dave Love <fx@gnu.org>
parents:
diff changeset
3530 With prefix arg, force to rescan document.
Dave Love <fx@gnu.org>
parents:
diff changeset
3531 No active TAGS table is required.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3532 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3533
Dave Love <fx@gnu.org>
parents:
diff changeset
3534 @deffn Command reftex-search-document
Dave Love <fx@gnu.org>
parents:
diff changeset
3535 Regexp search through all files of the current document.
Dave Love <fx@gnu.org>
parents:
diff changeset
3536 Starts always in the master file. Stops when a match is found.
Dave Love <fx@gnu.org>
parents:
diff changeset
3537 No active TAGS table is required.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3538 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3539
Dave Love <fx@gnu.org>
parents:
diff changeset
3540 @deffn Command reftex-query-replace-document
Dave Love <fx@gnu.org>
parents:
diff changeset
3541 Run a query-replace-regexp of @var{from} with @var{to} over the entire
Dave Love <fx@gnu.org>
parents:
diff changeset
3542 document. With prefix arg, replace only word-delimited matches. No
Dave Love <fx@gnu.org>
parents:
diff changeset
3543 active TAGS table is required.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3544 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3545
Dave Love <fx@gnu.org>
parents:
diff changeset
3546 @deffn Command reftex-change-label
Dave Love <fx@gnu.org>
parents:
diff changeset
3547 Query replace @var{from} with @var{to} in all @code{\label} and
Dave Love <fx@gnu.org>
parents:
diff changeset
3548 @code{\ref} commands. Works on the entire multifile document. No
Dave Love <fx@gnu.org>
parents:
diff changeset
3549 active TAGS table is required.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3550 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3551
Dave Love <fx@gnu.org>
parents:
diff changeset
3552 @deffn Command reftex-renumber-simple-labels
Dave Love <fx@gnu.org>
parents:
diff changeset
3553 Renumber all simple labels in the document to make them sequentially.
Dave Love <fx@gnu.org>
parents:
diff changeset
3554 Simple labels are the ones created by RefTeX, consisting only of the
Dave Love <fx@gnu.org>
parents:
diff changeset
3555 prefix and a number. After the command completes, all these labels will
Dave Love <fx@gnu.org>
parents:
diff changeset
3556 have sequential numbers throughout the document. Any references to the
Dave Love <fx@gnu.org>
parents:
diff changeset
3557 labels will be changed as well. For this, @b{Ref@TeX{}} looks at the
Dave Love <fx@gnu.org>
parents:
diff changeset
3558 arguments of any macros which either start or end with the string
Dave Love <fx@gnu.org>
parents:
diff changeset
3559 @samp{ref}. This command should be used with care, in particular in
Dave Love <fx@gnu.org>
parents:
diff changeset
3560 multifile documents. You should not use it if another document refers
Dave Love <fx@gnu.org>
parents:
diff changeset
3561 to this one with the @code{xr} package.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3562 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3563
Dave Love <fx@gnu.org>
parents:
diff changeset
3564 @deffn Command reftex-find-duplicate-labels
Dave Love <fx@gnu.org>
parents:
diff changeset
3565 Produce a list of all duplicate labels in the document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3566 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3567
Dave Love <fx@gnu.org>
parents:
diff changeset
3568 @deffn Command reftex-customize
Dave Love <fx@gnu.org>
parents:
diff changeset
3569 Run the customize browser on the @b{Ref@TeX{}} group.
Dave Love <fx@gnu.org>
parents:
diff changeset
3570 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3571 @deffn Command reftex-show-commentary
Dave Love <fx@gnu.org>
parents:
diff changeset
3572 Show the commentary section from @file{reftex.el}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3573 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3574 @deffn Command reftex-info
Dave Love <fx@gnu.org>
parents:
diff changeset
3575 Run info on the top @b{Ref@TeX{}} node.
Dave Love <fx@gnu.org>
parents:
diff changeset
3576 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3577 @deffn Command reftex-parse-document
Dave Love <fx@gnu.org>
parents:
diff changeset
3578 Parse the entire document in order to update the parsing information.
Dave Love <fx@gnu.org>
parents:
diff changeset
3579 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3580 @deffn Command reftex-reset-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
3581 Enforce rebuilding of several internal lists and variables. Also
Dave Love <fx@gnu.org>
parents:
diff changeset
3582 removes the parse file associated with the current document.
Dave Love <fx@gnu.org>
parents:
diff changeset
3583 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3584
Dave Love <fx@gnu.org>
parents:
diff changeset
3585 @node Options, Keymaps and Hooks, Commands, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
3586 @chapter Options, Keymaps, Hooks
Dave Love <fx@gnu.org>
parents:
diff changeset
3587 @cindex Options, list of
Dave Love <fx@gnu.org>
parents:
diff changeset
3588
Dave Love <fx@gnu.org>
parents:
diff changeset
3589 Here is a complete list of @b{Ref@TeX{}}'s configuration variables. All
Dave Love <fx@gnu.org>
parents:
diff changeset
3590 variables have customize support - so if you are not familiar with Emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
3591 Lisp (and even if you are) you might find it more comfortable to use
Dave Love <fx@gnu.org>
parents:
diff changeset
3592 @code{customize} to look at and change these variables. @kbd{M-x
Dave Love <fx@gnu.org>
parents:
diff changeset
3593 reftex-customize} will get you there.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3594
Dave Love <fx@gnu.org>
parents:
diff changeset
3595 @menu
Dave Love <fx@gnu.org>
parents:
diff changeset
3596 * Options (Table of Contents)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3597 * Options (Defining Label Environments)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3598 * Options (Creating Labels)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3599 * Options (Referencing Labels)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3600 * Options (Creating Citations)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3601 * Options (Index Support)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3602 * Options (Viewing Cross-References)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3603 * Options (Finding Files)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3604 * Options (Optimizations)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3605 * Options (Fontification)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3606 * Options (Misc)::
Dave Love <fx@gnu.org>
parents:
diff changeset
3607 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
3608
Dave Love <fx@gnu.org>
parents:
diff changeset
3609 @node Options (Table of Contents), Options (Defining Label Environments), , Options
Dave Love <fx@gnu.org>
parents:
diff changeset
3610 @section Table of Contents
Dave Love <fx@gnu.org>
parents:
diff changeset
3611 @cindex Options, table of contents
Dave Love <fx@gnu.org>
parents:
diff changeset
3612 @cindex Table of contents, options
Dave Love <fx@gnu.org>
parents:
diff changeset
3613
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3614 @defopt reftex-include-file-commands
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3615 List of LaTeX commands which input another file.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3616 The file name is expected after the command, either in braces or separated
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3617 by whitespace.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3618 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3619
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3620 @defopt reftex-max-section-depth
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3621 Maximum depth of section levels in document structure.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3622 Standard LaTeX needs 7, default is 12.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3623 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3624
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3625 @defopt reftex-section-levels
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3626 Commands and levels used for defining sections in the document. The
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3627 @code{car} of each cons cell is the name of the section macro. The
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3628 @code{cdr} is a number indicating its level. A negative level means the
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3629 same as the positive value, but the section will never get a
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3630 number. The @code{cdr} may also be a function which then has to return
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3631 the level.@refill
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3632 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3633
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3634 @defopt reftex-toc-max-level
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3635 The maximum level of toc entries which will be included in the TOC.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3636 Section headings with a bigger level will be ignored. In RefTeX,
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3637 chapters are level 1, sections level 2 etc. This variable can be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3638 changed from within the @file{*toc*} buffer with the @kbd{t} key.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3639 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3640
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3641 @defopt reftex-toc-split-windows-horizontally
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3642 Non-@code{nil} means, create TOC window by splitting window
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3643 horizontally. The default is to split vertically.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3644 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3645
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3646 @defopt reftex-toc-split-windows-horizontally-fraction
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3647 Fraction of the horizontal width of the frame to be used for TOC window.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3648 Only relevant when @code{reftex-toc-split-windows-horizontally} is
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3649 non-@code{nil}.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3650 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3651
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3652 @defopt reftex-toc-keep-other-windows
Dave Love <fx@gnu.org>
parents:
diff changeset
3653 Non-@code{nil} means, split the selected window to display the
Dave Love <fx@gnu.org>
parents:
diff changeset
3654 @file{*toc*} buffer. This helps to keep the window configuration, but
Dave Love <fx@gnu.org>
parents:
diff changeset
3655 makes the @file{*toc*} small. When @code{nil}, all other windows except
Dave Love <fx@gnu.org>
parents:
diff changeset
3656 the selected one will be deleted, so that the @file{*toc*} window fills
Dave Love <fx@gnu.org>
parents:
diff changeset
3657 half the frame.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3658 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3659
Dave Love <fx@gnu.org>
parents:
diff changeset
3660 @defopt reftex-toc-include-file-boundaries
Dave Love <fx@gnu.org>
parents:
diff changeset
3661 Non-@code{nil} means, include file boundaries in @file{*toc*} buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
3662 This flag can be toggled from within the @file{*toc*} buffer with the
Dave Love <fx@gnu.org>
parents:
diff changeset
3663 @kbd{i} key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3664 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3665
Dave Love <fx@gnu.org>
parents:
diff changeset
3666 @defopt reftex-toc-include-labels
Dave Love <fx@gnu.org>
parents:
diff changeset
3667 Non-@code{nil} means, include labels in @file{*toc*} buffer. This flag
Dave Love <fx@gnu.org>
parents:
diff changeset
3668 can be toggled from within the @file{*toc*} buffer with the @kbd{l}
Dave Love <fx@gnu.org>
parents:
diff changeset
3669 key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3670 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3671
Dave Love <fx@gnu.org>
parents:
diff changeset
3672 @defopt reftex-toc-include-index-entries
Dave Love <fx@gnu.org>
parents:
diff changeset
3673 Non-@code{nil} means, include index entries in @file{*toc*} buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
3674 This flag can be toggled from within the @file{*toc*} buffer with the
Dave Love <fx@gnu.org>
parents:
diff changeset
3675 @kbd{i} key.
Dave Love <fx@gnu.org>
parents:
diff changeset
3676 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3677
Dave Love <fx@gnu.org>
parents:
diff changeset
3678 @defopt reftex-toc-include-context
Dave Love <fx@gnu.org>
parents:
diff changeset
3679 Non-@code{nil} means, include context with labels in the @file{*toc*}
Dave Love <fx@gnu.org>
parents:
diff changeset
3680 buffer. Context will only be shown if the labels are visible as well.
Dave Love <fx@gnu.org>
parents:
diff changeset
3681 This flag can be toggled from within the @file{*toc*} buffer with the
Dave Love <fx@gnu.org>
parents:
diff changeset
3682 @kbd{c} key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3683 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3684
Dave Love <fx@gnu.org>
parents:
diff changeset
3685 @defopt reftex-toc-follow-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
3686 Non-@code{nil} means, point in @file{*toc*} buffer (the
Dave Love <fx@gnu.org>
parents:
diff changeset
3687 table-of-contents buffer) will cause other window to follow. The other
Dave Love <fx@gnu.org>
parents:
diff changeset
3688 window will show the corresponding part of the document. This flag can
Dave Love <fx@gnu.org>
parents:
diff changeset
3689 be toggled from within the @file{*toc*} buffer with the @kbd{f}
Dave Love <fx@gnu.org>
parents:
diff changeset
3690 key.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3691 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3692
Dave Love <fx@gnu.org>
parents:
diff changeset
3693 @deffn {Normal Hook} reftex-toc-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
3694 Normal hook which is run when a @file{*toc*} buffer is
Dave Love <fx@gnu.org>
parents:
diff changeset
3695 created.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3696 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3697
Dave Love <fx@gnu.org>
parents:
diff changeset
3698 @deffn Keymap reftex-toc-map
Dave Love <fx@gnu.org>
parents:
diff changeset
3699 The keymap which is active in the @file{*toc*} buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
3700 (@pxref{Table of Contents}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3701 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3702
Dave Love <fx@gnu.org>
parents:
diff changeset
3703 @node Options (Defining Label Environments), Options (Creating Labels), Options (Table of Contents), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
3704 @section Defining Label Environments
Dave Love <fx@gnu.org>
parents:
diff changeset
3705 @cindex Options, defining label environments
Dave Love <fx@gnu.org>
parents:
diff changeset
3706 @cindex Defining label environments, options
Dave Love <fx@gnu.org>
parents:
diff changeset
3707
Dave Love <fx@gnu.org>
parents:
diff changeset
3708 @defopt reftex-default-label-alist-entries
Dave Love <fx@gnu.org>
parents:
diff changeset
3709 Default label alist specifications. It is a list of symbols with
Dave Love <fx@gnu.org>
parents:
diff changeset
3710 associations in the constant @code{reftex-label-alist-builtin}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3711 @code{LaTeX} should always be the last entry.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3712 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3713
Dave Love <fx@gnu.org>
parents:
diff changeset
3714 @defopt reftex-label-alist
Dave Love <fx@gnu.org>
parents:
diff changeset
3715 Set this variable to define additions and changes to the defaults in
Dave Love <fx@gnu.org>
parents:
diff changeset
3716 @code{reftex-default-label-alist-entries}. The only things you
Dave Love <fx@gnu.org>
parents:
diff changeset
3717 @emph{must not} change is that @code{?s} is the type indicator for
Dave Love <fx@gnu.org>
parents:
diff changeset
3718 section labels, and @key{SPC} for the @code{any} label type. These are
Dave Love <fx@gnu.org>
parents:
diff changeset
3719 hard-coded at other places in the code.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3720
Dave Love <fx@gnu.org>
parents:
diff changeset
3721 The value of the variable must be a list of items. Each item is a list
Dave Love <fx@gnu.org>
parents:
diff changeset
3722 itself and has the following structure:
Dave Love <fx@gnu.org>
parents:
diff changeset
3723
Dave Love <fx@gnu.org>
parents:
diff changeset
3724 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3725 (@var{env-or-macro} @var{type-key} @var{label-prefix} @var{reference-format}
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3726 @var{context-method} (@var{magic-word} ... ) @var{toc-level})
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3727 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3728
Dave Love <fx@gnu.org>
parents:
diff changeset
3729 Each list entry describes either an environment carrying a counter for
Dave Love <fx@gnu.org>
parents:
diff changeset
3730 use with @code{\label} and @code{\ref}, or a LaTeX macro defining a
Dave Love <fx@gnu.org>
parents:
diff changeset
3731 label as (or inside) one of its arguments. The elements of each list
Dave Love <fx@gnu.org>
parents:
diff changeset
3732 entry are:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3733
Dave Love <fx@gnu.org>
parents:
diff changeset
3734 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
3735 @item @var{env-or-macro}
Dave Love <fx@gnu.org>
parents:
diff changeset
3736 Name of the environment (like @samp{table}) or macro (like
Dave Love <fx@gnu.org>
parents:
diff changeset
3737 @samp{\myfig}). For macros, indicate the arguments, as in
Dave Love <fx@gnu.org>
parents:
diff changeset
3738 @samp{\myfig[]@{@}@{@}@{*@}@{@}}. Use square brackets for optional
Dave Love <fx@gnu.org>
parents:
diff changeset
3739 arguments, a star to mark the label argument, if any. The macro does
Dave Love <fx@gnu.org>
parents:
diff changeset
3740 not have to have a label argument - you could also use
Dave Love <fx@gnu.org>
parents:
diff changeset
3741 @samp{\label@{...@}} inside one of its arguments.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3742
Dave Love <fx@gnu.org>
parents:
diff changeset
3743 Special names: @code{section} for section labels, @code{any} to define a
Dave Love <fx@gnu.org>
parents:
diff changeset
3744 group which contains all labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3745
Dave Love <fx@gnu.org>
parents:
diff changeset
3746 This may also be a function to do local parsing and identify point to be
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
3747 in a non-standard label environment. The function must take an
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3748 argument @var{bound} and limit backward searches to this value. It
Dave Love <fx@gnu.org>
parents:
diff changeset
3749 should return either nil or a cons cell @code{(@var{function}
Dave Love <fx@gnu.org>
parents:
diff changeset
3750 . @var{position})} with the function symbol and the position where the
Dave Love <fx@gnu.org>
parents:
diff changeset
3751 special environment starts. See the Info documentation for an
Dave Love <fx@gnu.org>
parents:
diff changeset
3752 example.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3753
Dave Love <fx@gnu.org>
parents:
diff changeset
3754 Finally this may also be @code{nil} if the entry is only meant to change
Dave Love <fx@gnu.org>
parents:
diff changeset
3755 some settings associated with the type indicator character (see
Dave Love <fx@gnu.org>
parents:
diff changeset
3756 below).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3757
Dave Love <fx@gnu.org>
parents:
diff changeset
3758 @item @var{type-key}
Dave Love <fx@gnu.org>
parents:
diff changeset
3759 Type indicator character, like @code{?t}, must be a printable ASCII
Dave Love <fx@gnu.org>
parents:
diff changeset
3760 character. The type indicator is a single character which defines a
Dave Love <fx@gnu.org>
parents:
diff changeset
3761 label type. Any label inside the environment or macro is assumed to
Dave Love <fx@gnu.org>
parents:
diff changeset
3762 belong to this type. The same character may occur several times in this
Dave Love <fx@gnu.org>
parents:
diff changeset
3763 list, to cover cases in which different environments carry the same
Dave Love <fx@gnu.org>
parents:
diff changeset
3764 label type (like @code{equation} and @code{eqnarray}). If the type
Dave Love <fx@gnu.org>
parents:
diff changeset
3765 indicator is @code{nil} and the macro has a label argument @samp{@{*@}},
Dave Love <fx@gnu.org>
parents:
diff changeset
3766 the macro defines neutral labels just like @code{\label}. In this case
Dave Love <fx@gnu.org>
parents:
diff changeset
3767 the reminder of this entry is ignored.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3768
Dave Love <fx@gnu.org>
parents:
diff changeset
3769 @item @var{label-prefix}
Dave Love <fx@gnu.org>
parents:
diff changeset
3770 Label prefix string, like @samp{tab:}. The prefix is a short string
Dave Love <fx@gnu.org>
parents:
diff changeset
3771 used as the start of a label. It may be the empty string. The prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
3772 may contain the following @samp{%} escapes:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3773
Dave Love <fx@gnu.org>
parents:
diff changeset
3774 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3775 %f Current file name, directory and extension stripped.
Dave Love <fx@gnu.org>
parents:
diff changeset
3776 %F Current file name relative to master file directory.
Dave Love <fx@gnu.org>
parents:
diff changeset
3777 %u User login name, on systems which support this.
Dave Love <fx@gnu.org>
parents:
diff changeset
3778 %S A section prefix derived with variable @code{reftex-section-prefixes}.
Dave Love <fx@gnu.org>
parents:
diff changeset
3779 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3780
Dave Love <fx@gnu.org>
parents:
diff changeset
3781 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
3782 Example: In a file @file{intro.tex}, @samp{eq:%f:} will become
Dave Love <fx@gnu.org>
parents:
diff changeset
3783 @samp{eq:intro:}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3784
Dave Love <fx@gnu.org>
parents:
diff changeset
3785 @item @var{reference-format}
Dave Love <fx@gnu.org>
parents:
diff changeset
3786 Format string for reference insert in buffer. @samp{%s} will be
Dave Love <fx@gnu.org>
parents:
diff changeset
3787 replaced by the label. When the format starts with @samp{~}, this
Dave Love <fx@gnu.org>
parents:
diff changeset
3788 @samp{~} will only be inserted when the character before point is
Dave Love <fx@gnu.org>
parents:
diff changeset
3789 @emph{not} a whitespace.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3790
Dave Love <fx@gnu.org>
parents:
diff changeset
3791 @item @var{context-method}
Dave Love <fx@gnu.org>
parents:
diff changeset
3792 Indication on how to find the short context.
Dave Love <fx@gnu.org>
parents:
diff changeset
3793 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
3794 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3795 If @code{nil}, use the text following the @samp{\label@{...@}} macro.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3796 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3797 If @code{t}, use
Dave Love <fx@gnu.org>
parents:
diff changeset
3798 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
3799 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3800 the section heading for section labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
3801 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3802 text following the @samp{\begin@{...@}} statement of environments (not
Dave Love <fx@gnu.org>
parents:
diff changeset
3803 a good choice for environments like eqnarray or enumerate, where one has
Dave Love <fx@gnu.org>
parents:
diff changeset
3804 several labels in a single environment).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3805 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3806 text after the macro name (starting with the first arg) for
Dave Love <fx@gnu.org>
parents:
diff changeset
3807 macros.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3808 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3809 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3810 If an integer, use the nth argument of the macro. As a special case,
Dave Love <fx@gnu.org>
parents:
diff changeset
3811 1000 means to get text after the last macro argument.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3812 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3813 If a string, use as regexp to search @emph{backward} from the label.
Dave Love <fx@gnu.org>
parents:
diff changeset
3814 Context is then the text following the end of the match. E.g. putting
Dave Love <fx@gnu.org>
parents:
diff changeset
3815 this to @samp{\\caption[[@{]} will use the caption in a figure or table
Dave Love <fx@gnu.org>
parents:
diff changeset
3816 environment. @samp{\\begin@{eqnarray@}\|\\\\} works for
Dave Love <fx@gnu.org>
parents:
diff changeset
3817 eqnarrays.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3818 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3819 If any of @code{caption}, @code{item}, @code{eqnarray-like},
Dave Love <fx@gnu.org>
parents:
diff changeset
3820 @code{alignat-like}, this symbol will internally be translated into an
Dave Love <fx@gnu.org>
parents:
diff changeset
3821 appropriate regexp (see also the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
3822 @code{reftex-default-context-regexps}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3823 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3824 If a function, call this function with the name of the environment/macro
Dave Love <fx@gnu.org>
parents:
diff changeset
3825 as argument. On call, point will be just after the @code{\label} macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
3826 The function is expected to return a suitable context string. It should
Dave Love <fx@gnu.org>
parents:
diff changeset
3827 throw an exception (error) when failing to find context. As an example,
Dave Love <fx@gnu.org>
parents:
diff changeset
3828 here is a function returning the 10 chars following the label macro as
Dave Love <fx@gnu.org>
parents:
diff changeset
3829 context:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3830
Dave Love <fx@gnu.org>
parents:
diff changeset
3831 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3832 (defun my-context-function (env-or-mac)
Dave Love <fx@gnu.org>
parents:
diff changeset
3833 (if (> (point-max) (+ 10 (point)))
Dave Love <fx@gnu.org>
parents:
diff changeset
3834 (buffer-substring (point) (+ 10 (point)))
Dave Love <fx@gnu.org>
parents:
diff changeset
3835 (error "Buffer too small")))
Dave Love <fx@gnu.org>
parents:
diff changeset
3836 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3837 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3838
Dave Love <fx@gnu.org>
parents:
diff changeset
3839 Label context is used in two ways by @b{Ref@TeX{}}: For display in the label
Dave Love <fx@gnu.org>
parents:
diff changeset
3840 menu, and to derive a label string. If you want to use a different
Dave Love <fx@gnu.org>
parents:
diff changeset
3841 method for each of these, specify them as a dotted pair.
Dave Love <fx@gnu.org>
parents:
diff changeset
3842 E.g. @code{(nil . t)} uses the text after the label (@code{nil}) for
Dave Love <fx@gnu.org>
parents:
diff changeset
3843 display, and text from the default position (@code{t}) to derive a label
Dave Love <fx@gnu.org>
parents:
diff changeset
3844 string. This is actually used for section labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3845
Dave Love <fx@gnu.org>
parents:
diff changeset
3846 @item @var{magic-word-list}
Dave Love <fx@gnu.org>
parents:
diff changeset
3847 List of magic words which identify a reference to be of this type. If
Dave Love <fx@gnu.org>
parents:
diff changeset
3848 the word before point is equal to one of these words when calling
Dave Love <fx@gnu.org>
parents:
diff changeset
3849 @code{reftex-reference}, the label list offered will be automatically
Dave Love <fx@gnu.org>
parents:
diff changeset
3850 restricted to labels of the correct type. If the first element of this
Dave Love <fx@gnu.org>
parents:
diff changeset
3851 word--list is the symbol `regexp', the strings are interpreted as regular
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3852 expressions.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3853
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3854 @item @var{toc-level}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3855 The integer level at which this environment should be added to the table
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3856 of contents. See also @code{reftex-section-levels}. A positive value
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3857 will number the entries mixed with the sectioning commands of the same
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3858 level. A negative value will make unnumbered entries. Useful only for
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3859 theorem-like environments which structure the document. Will be ignored
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3860 for macros. When omitted or @code{nil}, no TOC entries will be
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
3861 made.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
3862 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
3863
Dave Love <fx@gnu.org>
parents:
diff changeset
3864 If the type indicator characters of two or more entries are the same,
Dave Love <fx@gnu.org>
parents:
diff changeset
3865 @b{Ref@TeX{}} will use@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3866 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
3867 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3868 the first non-@code{nil} format and prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
3869 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
3870 the magic words of all involved entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
3871 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
3872
Dave Love <fx@gnu.org>
parents:
diff changeset
3873 Any list entry may also be a symbol. If that has an association in
Dave Love <fx@gnu.org>
parents:
diff changeset
3874 @code{reftex-label-alist-builtin}, the @code{cddr} of that association is
Dave Love <fx@gnu.org>
parents:
diff changeset
3875 spliced into the list. However, builtin defaults should normally be set
Dave Love <fx@gnu.org>
parents:
diff changeset
3876 with the variable @code{reftex-default-label-alist-entries}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3877 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3878
Dave Love <fx@gnu.org>
parents:
diff changeset
3879 @defopt reftex-section-prefixes
Dave Love <fx@gnu.org>
parents:
diff changeset
3880 Prefixes for section labels. When the label prefix given in an entry in
Dave Love <fx@gnu.org>
parents:
diff changeset
3881 @code{reftex-label-alist} contains @samp{%S}, this list is used to
Dave Love <fx@gnu.org>
parents:
diff changeset
3882 determine the correct prefix string depending on the current section
Dave Love <fx@gnu.org>
parents:
diff changeset
3883 level. The list is an alist, with each entry of the form
Dave Love <fx@gnu.org>
parents:
diff changeset
3884 @w{@code{(@var{key} . @var{prefix})}}. Possible keys are sectioning macro
Dave Love <fx@gnu.org>
parents:
diff changeset
3885 names like @samp{chapter}, integer section levels (as given in
Dave Love <fx@gnu.org>
parents:
diff changeset
3886 @code{reftex-section-levels}), and @code{t} for the default.
Dave Love <fx@gnu.org>
parents:
diff changeset
3887 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3888
Dave Love <fx@gnu.org>
parents:
diff changeset
3889 @defopt reftex-default-context-regexps
Dave Love <fx@gnu.org>
parents:
diff changeset
3890 Alist with default regular expressions for finding context. The emacs
Dave Love <fx@gnu.org>
parents:
diff changeset
3891 lisp form @w{@code{(format regexp (regexp-quote environment))}} is used
Dave Love <fx@gnu.org>
parents:
diff changeset
3892 to calculate the final regular expression - so @samp{%s} will be
Dave Love <fx@gnu.org>
parents:
diff changeset
3893 replaced with the environment or macro.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3894 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3895
Dave Love <fx@gnu.org>
parents:
diff changeset
3896 @node Options (Creating Labels), Options (Referencing Labels), Options (Defining Label Environments), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
3897 @section Creating Labels
Dave Love <fx@gnu.org>
parents:
diff changeset
3898 @cindex Options, creating labels
Dave Love <fx@gnu.org>
parents:
diff changeset
3899 @cindex Creating labels, options
Dave Love <fx@gnu.org>
parents:
diff changeset
3900
Dave Love <fx@gnu.org>
parents:
diff changeset
3901 @defopt reftex-insert-label-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
3902 Flags governing label insertion. The value has the form
Dave Love <fx@gnu.org>
parents:
diff changeset
3903
Dave Love <fx@gnu.org>
parents:
diff changeset
3904 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3905 (@var{derive} @var{prompt})
Dave Love <fx@gnu.org>
parents:
diff changeset
3906 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3907
Dave Love <fx@gnu.org>
parents:
diff changeset
3908 If @var{derive}is @code{t}, @b{Ref@TeX{}} will try to derive a sensible
Dave Love <fx@gnu.org>
parents:
diff changeset
3909 label from context. A section label for example will be derived from
Dave Love <fx@gnu.org>
parents:
diff changeset
3910 the section heading. The conversion of the context to a legal label is
Dave Love <fx@gnu.org>
parents:
diff changeset
3911 governed by the specifications given in
Dave Love <fx@gnu.org>
parents:
diff changeset
3912 @code{reftex-derive-label-parameters}. If @var{derive} is @code{nil},
Dave Love <fx@gnu.org>
parents:
diff changeset
3913 the default label will consist of the prefix and a unique number, like
Dave Love <fx@gnu.org>
parents:
diff changeset
3914 @samp{eq:23}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3915
Dave Love <fx@gnu.org>
parents:
diff changeset
3916 If @var{prompt} is @code{t}, the user will be prompted for a label
Dave Love <fx@gnu.org>
parents:
diff changeset
3917 string. When @var{prompt} is @code{nil}, the default label will be
Dave Love <fx@gnu.org>
parents:
diff changeset
3918 inserted without query.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3919
Dave Love <fx@gnu.org>
parents:
diff changeset
3920 So the combination of @var{derive} and @var{prompt} controls label
Dave Love <fx@gnu.org>
parents:
diff changeset
3921 insertion. Here is a table describing all four possibilities:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3922
Dave Love <fx@gnu.org>
parents:
diff changeset
3923 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
3924 @group
Dave Love <fx@gnu.org>
parents:
diff changeset
3925 @var{derive} @var{prompt} @var{action}
Dave Love <fx@gnu.org>
parents:
diff changeset
3926 -----------------------------------------------------------
Dave Love <fx@gnu.org>
parents:
diff changeset
3927 nil nil @r{Insert simple label, like @samp{eq:22} or @samp{sec:13}. No query.}
Dave Love <fx@gnu.org>
parents:
diff changeset
3928 nil t @r{Prompt for label.}
Dave Love <fx@gnu.org>
parents:
diff changeset
3929 t nil @r{Derive a label from context and insert. No query.}
Dave Love <fx@gnu.org>
parents:
diff changeset
3930 t t @r{Derive a label from context, prompt for confirmation.}
Dave Love <fx@gnu.org>
parents:
diff changeset
3931 @end group
Dave Love <fx@gnu.org>
parents:
diff changeset
3932 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
3933
Dave Love <fx@gnu.org>
parents:
diff changeset
3934 Each flag may be set to @code{t}, @code{nil}, or a string of label type
Dave Love <fx@gnu.org>
parents:
diff changeset
3935 letters indicating the label types for which it should be true. Thus,
Dave Love <fx@gnu.org>
parents:
diff changeset
3936 the combination may be set differently for each label type. The default
Dave Love <fx@gnu.org>
parents:
diff changeset
3937 settings @samp{"s"} and @samp{"sft"} mean: Derive section labels from
Dave Love <fx@gnu.org>
parents:
diff changeset
3938 headings (with confirmation). Prompt for figure and table labels. Use
Dave Love <fx@gnu.org>
parents:
diff changeset
3939 simple labels without confirmation for everything else.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3940
Dave Love <fx@gnu.org>
parents:
diff changeset
3941 The available label types are: @code{s} (section), @code{f} (figure),
Dave Love <fx@gnu.org>
parents:
diff changeset
3942 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
3943 (footnote), @code{N} (endnote) plus any definitions in
Dave Love <fx@gnu.org>
parents:
diff changeset
3944 @code{reftex-label-alist}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3945 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3946
Dave Love <fx@gnu.org>
parents:
diff changeset
3947 @deffn Hook reftex-format-label-function
Dave Love <fx@gnu.org>
parents:
diff changeset
3948 If non-@code{nil}, should be a function which produces the string to
Dave Love <fx@gnu.org>
parents:
diff changeset
3949 insert as a label definition. The function will be called with two
Dave Love <fx@gnu.org>
parents:
diff changeset
3950 arguments, the @var{label} and the @var{default-format} (usually
Dave Love <fx@gnu.org>
parents:
diff changeset
3951 @samp{\label@{%s@}}). It should return the string to insert into the
Dave Love <fx@gnu.org>
parents:
diff changeset
3952 buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3953 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3954
Dave Love <fx@gnu.org>
parents:
diff changeset
3955 @deffn Hook reftex-string-to-label-function
Dave Love <fx@gnu.org>
parents:
diff changeset
3956 Function to turn an arbitrary string into a legal label.
Dave Love <fx@gnu.org>
parents:
diff changeset
3957 @b{Ref@TeX{}}'s default function uses the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
3958 @code{reftex-derive-label-parameters}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3959 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3960
Dave Love <fx@gnu.org>
parents:
diff changeset
3961 @deffn Hook reftex-translate-to-ascii-function
Dave Love <fx@gnu.org>
parents:
diff changeset
3962 Filter function which will process a context string before it is used to
Dave Love <fx@gnu.org>
parents:
diff changeset
3963 derive a label from it. The intended application is to convert ISO or
Dave Love <fx@gnu.org>
parents:
diff changeset
3964 Mule characters into something legal in labels. The default function
Dave Love <fx@gnu.org>
parents:
diff changeset
3965 @code{reftex-latin1-to-ascii} removes the accents from Latin-1
Dave Love <fx@gnu.org>
parents:
diff changeset
3966 characters. X-Symbol (>=2.6) sets this variable to the much more
Dave Love <fx@gnu.org>
parents:
diff changeset
3967 general @code{x-symbol-translate-to-ascii}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3968 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
3969
Dave Love <fx@gnu.org>
parents:
diff changeset
3970 @defopt reftex-derive-label-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
3971 Parameters for converting a string into a label. This variable is a
Dave Love <fx@gnu.org>
parents:
diff changeset
3972 list of the following items:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
3973 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
3974 @item @var{nwords}
Dave Love <fx@gnu.org>
parents:
diff changeset
3975 Number of words to use.
Dave Love <fx@gnu.org>
parents:
diff changeset
3976 @item @var{maxchar}
Dave Love <fx@gnu.org>
parents:
diff changeset
3977 Maximum number of characters in a label string.
Dave Love <fx@gnu.org>
parents:
diff changeset
3978 @item @var{illegal}
Dave Love <fx@gnu.org>
parents:
diff changeset
3979 @code{nil}: Throw away any words containing characters illegal in labels.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3980 @code{t}: Throw away only the illegal characters, not the whole word.
Dave Love <fx@gnu.org>
parents:
diff changeset
3981 @item @var{abbrev}
Dave Love <fx@gnu.org>
parents:
diff changeset
3982 @code{nil}: Never abbreviate words.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3983 @code{t}: Always abbreviate words (see @code{reftex-abbrev-parameters}).@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3984 @code{1}: Abbreviate words if necessary to shorten label string.
Dave Love <fx@gnu.org>
parents:
diff changeset
3985 @item @var{separator}
Dave Love <fx@gnu.org>
parents:
diff changeset
3986 String separating different words in the label.
Dave Love <fx@gnu.org>
parents:
diff changeset
3987 @item @var{ignorewords}
Dave Love <fx@gnu.org>
parents:
diff changeset
3988 List of words which should not be part of labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
3989 @item @var{downcase}
Dave Love <fx@gnu.org>
parents:
diff changeset
3990 @code{t}: Downcase words before putting them into the label.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
3991 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
3992 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3993
Dave Love <fx@gnu.org>
parents:
diff changeset
3994 @defopt reftex-label-illegal-re
Dave Love <fx@gnu.org>
parents:
diff changeset
3995 Regexp matching characters not legal in labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
3996 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
3997
Dave Love <fx@gnu.org>
parents:
diff changeset
3998 @defopt reftex-abbrev-parameters
Dave Love <fx@gnu.org>
parents:
diff changeset
3999 Parameters for abbreviation of words. A list of four parameters.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4000 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
4001 @item @var{min-chars}
Dave Love <fx@gnu.org>
parents:
diff changeset
4002 Minimum number of characters remaining after abbreviation.
Dave Love <fx@gnu.org>
parents:
diff changeset
4003 @item @var{min-kill}
Dave Love <fx@gnu.org>
parents:
diff changeset
4004 Minimum number of characters to remove when abbreviating words.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4005 @item @var{before}
Dave Love <fx@gnu.org>
parents:
diff changeset
4006 Character class before abbrev point in word.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4007 @item @var{after}
Dave Love <fx@gnu.org>
parents:
diff changeset
4008 Character class after abbrev point in word.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4009 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4010 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4011
Dave Love <fx@gnu.org>
parents:
diff changeset
4012 @node Options (Referencing Labels), Options (Creating Citations), Options (Creating Labels), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4013 @section Referencing Labels
Dave Love <fx@gnu.org>
parents:
diff changeset
4014 @cindex Options, referencing labels
Dave Love <fx@gnu.org>
parents:
diff changeset
4015 @cindex Referencing labels, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4016
Dave Love <fx@gnu.org>
parents:
diff changeset
4017 @defopt reftex-label-menu-flags
Dave Love <fx@gnu.org>
parents:
diff changeset
4018 List of flags governing the label menu makeup. The flags are:
Dave Love <fx@gnu.org>
parents:
diff changeset
4019 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
4020 @item @var{table-of-contents}
Dave Love <fx@gnu.org>
parents:
diff changeset
4021 Show the labels embedded in a table of context.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4022 @item @var{section-numbers}
Dave Love <fx@gnu.org>
parents:
diff changeset
4023 Include section numbers (like 4.1.3) in table of contents.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4024 @item @var{counters}
Dave Love <fx@gnu.org>
parents:
diff changeset
4025 Show counters. This just numbers the labels in the menu.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4026 @item @var{no-context}
Dave Love <fx@gnu.org>
parents:
diff changeset
4027 Non-@code{nil} means do @emph{not} show the short context.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4028 @item @var{follow}
Dave Love <fx@gnu.org>
parents:
diff changeset
4029 Follow full context in other window.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4030 @item @var{show-commented}
Dave Love <fx@gnu.org>
parents:
diff changeset
4031 Show labels from regions which are commented out.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4032 @item @var{match-everywhere}
Dave Love <fx@gnu.org>
parents:
diff changeset
4033 Obsolete flag.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4034 @item @var{show-files}
Dave Love <fx@gnu.org>
parents:
diff changeset
4035 Show begin and end of included files.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4036 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4037
Dave Love <fx@gnu.org>
parents:
diff changeset
4038 Each of these flags can be set to @code{t} or @code{nil}, or to a string
Dave Love <fx@gnu.org>
parents:
diff changeset
4039 of type letters indicating the label types for which it should be true.
Dave Love <fx@gnu.org>
parents:
diff changeset
4040 These strings work like character classes in regular expressions. Thus,
Dave Love <fx@gnu.org>
parents:
diff changeset
4041 setting one of the flags to @samp{"sf"} makes the flag true for section
Dave Love <fx@gnu.org>
parents:
diff changeset
4042 and figure labels, @code{nil} for everything else. Setting it to
Dave Love <fx@gnu.org>
parents:
diff changeset
4043 @samp{"^sf"} makes it the other way round.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4044
Dave Love <fx@gnu.org>
parents:
diff changeset
4045 The available label types are: @code{s} (section), @code{f} (figure),
Dave Love <fx@gnu.org>
parents:
diff changeset
4046 @code{t} (table), @code{i} (item), @code{e} (equation), @code{n}
Dave Love <fx@gnu.org>
parents:
diff changeset
4047 (footnote), plus any definitions in @code{reftex-label-alist}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4048
Dave Love <fx@gnu.org>
parents:
diff changeset
4049 Most options can also be switched from the label menu itself - so if you
Dave Love <fx@gnu.org>
parents:
diff changeset
4050 decide here to not have a table of contents in the label menu, you can
Dave Love <fx@gnu.org>
parents:
diff changeset
4051 still get one interactively during selection from the label menu.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4052 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4053
Dave Love <fx@gnu.org>
parents:
diff changeset
4054 @defopt reftex-multiref-punctuation
Dave Love <fx@gnu.org>
parents:
diff changeset
4055 Punctuation strings for multiple references. When marking is used in
Dave Love <fx@gnu.org>
parents:
diff changeset
4056 the selection buffer to select several references, this variable
Dave Love <fx@gnu.org>
parents:
diff changeset
4057 associates the 3 marking characters @samp{,-+} with prefix strings to be
Dave Love <fx@gnu.org>
parents:
diff changeset
4058 inserted into the buffer before the corresponding @code{\ref} macro.
Dave Love <fx@gnu.org>
parents:
diff changeset
4059 This is used to string together whole reference sets, like
Dave Love <fx@gnu.org>
parents:
diff changeset
4060 @samp{eqs. 1,2,3-5,6 and 7} in a single call to
Dave Love <fx@gnu.org>
parents:
diff changeset
4061 @code{reftex-reference}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4062 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4063
Dave Love <fx@gnu.org>
parents:
diff changeset
4064 @defopt reftex-vref-is-default
Dave Love <fx@gnu.org>
parents:
diff changeset
4065 Non-@code{nil} means, the varioref macro @code{\vref} is used as
Dave Love <fx@gnu.org>
parents:
diff changeset
4066 default. In the selection buffer, the @kbd{v} key toggles the reference
Dave Love <fx@gnu.org>
parents:
diff changeset
4067 macro between @code{\ref} and @code{\vref}. The value of this variable
Dave Love <fx@gnu.org>
parents:
diff changeset
4068 determines the default which is active when entering the selection
Dave Love <fx@gnu.org>
parents:
diff changeset
4069 process. Instead of @code{nil} or @code{t}, this may also be a string
Dave Love <fx@gnu.org>
parents:
diff changeset
4070 of type letters indicating the label types for which it should be
Dave Love <fx@gnu.org>
parents:
diff changeset
4071 true.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4072 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4073
Dave Love <fx@gnu.org>
parents:
diff changeset
4074 @defopt reftex-fref-is-default
Dave Love <fx@gnu.org>
parents:
diff changeset
4075 Non-@code{nil} means, the fancyref macro @code{\fref} is used as
Dave Love <fx@gnu.org>
parents:
diff changeset
4076 default. In the selection buffer, the @kbd{V} key toggles the reference
Dave Love <fx@gnu.org>
parents:
diff changeset
4077 macro between @code{\ref}, @code{\fref} and @code{\Fref}. The value of
Dave Love <fx@gnu.org>
parents:
diff changeset
4078 this variable determines the default which is active when entering the
Dave Love <fx@gnu.org>
parents:
diff changeset
4079 selection process. Instead of @code{nil} or @code{t}, this may also be
Dave Love <fx@gnu.org>
parents:
diff changeset
4080 a string of type letters indicating the label types for which it should
Dave Love <fx@gnu.org>
parents:
diff changeset
4081 be true.
Dave Love <fx@gnu.org>
parents:
diff changeset
4082 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4083
Dave Love <fx@gnu.org>
parents:
diff changeset
4084 @deffn Hook reftex-format-ref-function
Dave Love <fx@gnu.org>
parents:
diff changeset
4085 If non-@code{nil}, should be a function which produces the string to
Dave Love <fx@gnu.org>
parents:
diff changeset
4086 insert as a reference. Note that the insertion format can also be
Dave Love <fx@gnu.org>
parents:
diff changeset
4087 changed with @code{reftex-label-alist}. This hook also is used by the
Dave Love <fx@gnu.org>
parents:
diff changeset
4088 special commands to insert @code{\vref} and @code{\fref} references, so
Dave Love <fx@gnu.org>
parents:
diff changeset
4089 even if you set this, your setting will be ignored by the special
Dave Love <fx@gnu.org>
parents:
diff changeset
4090 commands. The function will be called with two arguments, the
Dave Love <fx@gnu.org>
parents:
diff changeset
4091 @var{label} and the @var{default-format} (usually @samp{~\ref@{%s@}}).
Dave Love <fx@gnu.org>
parents:
diff changeset
4092 It should return the string to insert into the buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4093 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4094
Dave Love <fx@gnu.org>
parents:
diff changeset
4095 @defopt reftex-level-indent
Dave Love <fx@gnu.org>
parents:
diff changeset
4096 Number of spaces to be used for indentation per section level.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4097 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4098
Dave Love <fx@gnu.org>
parents:
diff changeset
4099 @defopt reftex-guess-label-type
Dave Love <fx@gnu.org>
parents:
diff changeset
4100 Non-@code{nil} means, @code{reftex-reference} will try to guess the
Dave Love <fx@gnu.org>
parents:
diff changeset
4101 label type. To do that, @b{Ref@TeX{}} will look at the word before the
Dave Love <fx@gnu.org>
parents:
diff changeset
4102 cursor and compare it with the magic words given in
Dave Love <fx@gnu.org>
parents:
diff changeset
4103 @code{reftex-label-alist}. When it finds a match, @b{Ref@TeX{}} will
Dave Love <fx@gnu.org>
parents:
diff changeset
4104 immediately offer the correct label menu - otherwise it will prompt you
Dave Love <fx@gnu.org>
parents:
diff changeset
4105 for a label type. If you set this variable to @code{nil}, @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
4106 will always prompt for a label type.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4107 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4108
Dave Love <fx@gnu.org>
parents:
diff changeset
4109 @deffn {Normal Hook} reftex-display-copied-context-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4110 Normal Hook which is run before context is displayed anywhere. Designed
Dave Love <fx@gnu.org>
parents:
diff changeset
4111 for @w{@code{X-Symbol}}, but may have other uses as well.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4112 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4113
Dave Love <fx@gnu.org>
parents:
diff changeset
4114 @deffn Hook reftex-pre-refontification-functions
Dave Love <fx@gnu.org>
parents:
diff changeset
4115 @code{X-Symbol} specific hook. Probably not useful for other purposes.
Dave Love <fx@gnu.org>
parents:
diff changeset
4116 The functions get two arguments, the buffer from where the command
Dave Love <fx@gnu.org>
parents:
diff changeset
4117 started and a symbol indicating in what context the hook is
Dave Love <fx@gnu.org>
parents:
diff changeset
4118 called.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4119 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4120
Dave Love <fx@gnu.org>
parents:
diff changeset
4121 @deffn {Normal Hook} reftex-select-label-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4122 Normal hook which is run when a selection buffer enters
Dave Love <fx@gnu.org>
parents:
diff changeset
4123 @code{reftex-select-label-mode}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4124 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4125
Dave Love <fx@gnu.org>
parents:
diff changeset
4126 @deffn Keymap reftex-select-label-map
Dave Love <fx@gnu.org>
parents:
diff changeset
4127 The keymap which is active in the labels selection process
Dave Love <fx@gnu.org>
parents:
diff changeset
4128 (@pxref{Referencing Labels}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4129 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4130
Dave Love <fx@gnu.org>
parents:
diff changeset
4131 @node Options (Creating Citations), Options (Index Support), Options (Referencing Labels), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4132 @section Creating Citations
Dave Love <fx@gnu.org>
parents:
diff changeset
4133 @cindex Options, creating citations
Dave Love <fx@gnu.org>
parents:
diff changeset
4134 @cindex Creating citations, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4135
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4136 @defopt reftex-bibliography-commands
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4137 LaTeX commands which specify the BibTeX databases to use with the document.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4138 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4139
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4140 @defopt reftex-bibfile-ignore-regexps
Dave Love <fx@gnu.org>
parents:
diff changeset
4141 List of regular expressions to exclude files in
Dave Love <fx@gnu.org>
parents:
diff changeset
4142 @code{\\bibliography@{..@}}. File names matched by any of these regexps
Dave Love <fx@gnu.org>
parents:
diff changeset
4143 will not be parsed. Intended for files which contain only
Dave Love <fx@gnu.org>
parents:
diff changeset
4144 @code{@@string} macro definitions and the like, which are ignored by
Dave Love <fx@gnu.org>
parents:
diff changeset
4145 @b{Ref@TeX{}} anyway.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4146 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4147
Dave Love <fx@gnu.org>
parents:
diff changeset
4148 @defopt reftex-default-bibliography
Dave Love <fx@gnu.org>
parents:
diff changeset
4149 List of BibTeX database files which should be used if none are specified.
Dave Love <fx@gnu.org>
parents:
diff changeset
4150 When @code{reftex-citation} is called from a document with neither
Dave Love <fx@gnu.org>
parents:
diff changeset
4151 a @samp{\bibliography@{...@}} statement nor a @code{thebibliography}
Dave Love <fx@gnu.org>
parents:
diff changeset
4152 environment, @b{Ref@TeX{}} will scan these files instead. Intended for
Dave Love <fx@gnu.org>
parents:
diff changeset
4153 using @code{reftex-citation} in non-LaTeX files. The files will be
Dave Love <fx@gnu.org>
parents:
diff changeset
4154 searched along the BIBINPUTS or TEXBIB path.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4155 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4156
Dave Love <fx@gnu.org>
parents:
diff changeset
4157 @defopt reftex-sort-bibtex-matches
Dave Love <fx@gnu.org>
parents:
diff changeset
4158 Sorting of the entries found in BibTeX databases by reftex-citation.
Dave Love <fx@gnu.org>
parents:
diff changeset
4159 Possible values:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4160 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4161 nil @r{Do not sort entries.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4162 author @r{Sort entries by author name.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4163 year @r{Sort entries by increasing year.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4164 reverse-year @r{Sort entries by decreasing year.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4165 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4166 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4167
Dave Love <fx@gnu.org>
parents:
diff changeset
4168 @defopt reftex-cite-format
Dave Love <fx@gnu.org>
parents:
diff changeset
4169 The format of citations to be inserted into the buffer. It can be a
Dave Love <fx@gnu.org>
parents:
diff changeset
4170 string, an alist or a symbol. In the simplest case this is just the string
Dave Love <fx@gnu.org>
parents:
diff changeset
4171 @samp{\cite@{%l@}}, which is also the default. See the definition of
Dave Love <fx@gnu.org>
parents:
diff changeset
4172 @code{reftex-cite-format-builtin} for more complex examples.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4173
Dave Love <fx@gnu.org>
parents:
diff changeset
4174 If @code{reftex-cite-format} is a string, it will be used as the format.
Dave Love <fx@gnu.org>
parents:
diff changeset
4175 In the format, the following percent escapes will be expanded.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4176
Dave Love <fx@gnu.org>
parents:
diff changeset
4177 @table @code
Dave Love <fx@gnu.org>
parents:
diff changeset
4178 @item %l
Dave Love <fx@gnu.org>
parents:
diff changeset
4179 The BibTeX label of the citation.
Dave Love <fx@gnu.org>
parents:
diff changeset
4180 @item %a
Dave Love <fx@gnu.org>
parents:
diff changeset
4181 List of author names, see also @code{reftex-cite-punctuation}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4182 @item %2a
Dave Love <fx@gnu.org>
parents:
diff changeset
4183 Like %a, but abbreviate more than 2 authors like Jones et al.
Dave Love <fx@gnu.org>
parents:
diff changeset
4184 @item %A
Dave Love <fx@gnu.org>
parents:
diff changeset
4185 First author name only.
Dave Love <fx@gnu.org>
parents:
diff changeset
4186 @item %e
Dave Love <fx@gnu.org>
parents:
diff changeset
4187 Works like @samp{%a}, but on list of editor names. (@samp{%2e} and
Dave Love <fx@gnu.org>
parents:
diff changeset
4188 @samp{%E} work a well).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4189 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4190
Dave Love <fx@gnu.org>
parents:
diff changeset
4191 It is also possible to access all other BibTeX database fields:
Dave Love <fx@gnu.org>
parents:
diff changeset
4192
Dave Love <fx@gnu.org>
parents:
diff changeset
4193 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4194 %b booktitle %c chapter %d edition %h howpublished
Dave Love <fx@gnu.org>
parents:
diff changeset
4195 %i institution %j journal %k key %m month
Dave Love <fx@gnu.org>
parents:
diff changeset
4196 %n number %o organization %p pages %P first page
Dave Love <fx@gnu.org>
parents:
diff changeset
4197 %r address %s school %u publisher %t title
Dave Love <fx@gnu.org>
parents:
diff changeset
4198 %v volume %y year
Dave Love <fx@gnu.org>
parents:
diff changeset
4199 %B booktitle, abbreviated %T title, abbreviated
Dave Love <fx@gnu.org>
parents:
diff changeset
4200 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4201
Dave Love <fx@gnu.org>
parents:
diff changeset
4202 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
4203 Usually, only @samp{%l} is needed. The other stuff is mainly for the
Dave Love <fx@gnu.org>
parents:
diff changeset
4204 echo area display, and for @code{(setq reftex-comment-citations t)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4205
Dave Love <fx@gnu.org>
parents:
diff changeset
4206 @samp{%<} as a special operator kills punctuation and space around it
Dave Love <fx@gnu.org>
parents:
diff changeset
4207 after the string has been formatted.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4208
Dave Love <fx@gnu.org>
parents:
diff changeset
4209 Beware that all this only works with BibTeX database files. When
Dave Love <fx@gnu.org>
parents:
diff changeset
4210 citations are made from the @code{\bibitems} in an explicit
Dave Love <fx@gnu.org>
parents:
diff changeset
4211 @code{thebibliography} environment, only @samp{%l} is available.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4212
Dave Love <fx@gnu.org>
parents:
diff changeset
4213 If @code{reftex-cite-format} is an alist of characters and strings, the
Dave Love <fx@gnu.org>
parents:
diff changeset
4214 user will be prompted for a character to select one of the possible
Dave Love <fx@gnu.org>
parents:
diff changeset
4215 format strings.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4216
Dave Love <fx@gnu.org>
parents:
diff changeset
4217 In order to configure this variable, you can either set
Dave Love <fx@gnu.org>
parents:
diff changeset
4218 @code{reftex-cite-format} directly yourself or set it to the
Dave Love <fx@gnu.org>
parents:
diff changeset
4219 @emph{symbol} of one of the predefined styles. The predefined symbols
Dave Love <fx@gnu.org>
parents:
diff changeset
4220 are those which have an association in the constant
Dave Love <fx@gnu.org>
parents:
diff changeset
4221 @code{reftex-cite-format-builtin}) E.g.: @code{(setq reftex-cite-format
Dave Love <fx@gnu.org>
parents:
diff changeset
4222 'natbib)}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4223 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4224
Dave Love <fx@gnu.org>
parents:
diff changeset
4225 @deffn Hook reftex-format-cite-function
Dave Love <fx@gnu.org>
parents:
diff changeset
4226
Dave Love <fx@gnu.org>
parents:
diff changeset
4227 If non-@code{nil}, should be a function which produces the string to
Dave Love <fx@gnu.org>
parents:
diff changeset
4228 insert as a citation. Note that the citation format can also be changed
Dave Love <fx@gnu.org>
parents:
diff changeset
4229 with the variable @code{reftex-cite-format}. The function will be
Dave Love <fx@gnu.org>
parents:
diff changeset
4230 called with two arguments, the @var{citation-key} and the
Dave Love <fx@gnu.org>
parents:
diff changeset
4231 @var{default-format} (taken from @code{reftex-cite-format}). It should
Dave Love <fx@gnu.org>
parents:
diff changeset
4232 return the string to insert into the buffer.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4233 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4234
Dave Love <fx@gnu.org>
parents:
diff changeset
4235 @defopt reftex-comment-citations
Dave Love <fx@gnu.org>
parents:
diff changeset
4236 Non-@code{nil} means add a comment for each citation describing the full
Dave Love <fx@gnu.org>
parents:
diff changeset
4237 entry. The comment is formatted according to
Dave Love <fx@gnu.org>
parents:
diff changeset
4238 @code{reftex-cite-comment-format}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4239 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4240
Dave Love <fx@gnu.org>
parents:
diff changeset
4241 @defopt reftex-cite-comment-format
Dave Love <fx@gnu.org>
parents:
diff changeset
4242 Citation format used for commented citations. Must @emph{not} contain
Dave Love <fx@gnu.org>
parents:
diff changeset
4243 @samp{%l}. See the variable @code{reftex-cite-format} for possible
Dave Love <fx@gnu.org>
parents:
diff changeset
4244 percent escapes.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4245 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4246
Dave Love <fx@gnu.org>
parents:
diff changeset
4247 @defopt reftex-cite-punctuation
Dave Love <fx@gnu.org>
parents:
diff changeset
4248 Punctuation for formatting of name lists in citations. This is a list
Dave Love <fx@gnu.org>
parents:
diff changeset
4249 of 3 strings.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4250 @enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
4251 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4252 normal names separator, like @samp{, } in Jones, Brown and Miller
Dave Love <fx@gnu.org>
parents:
diff changeset
4253 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4254 final names separator, like @samp{ and } in Jones, Brown and Miller
Dave Love <fx@gnu.org>
parents:
diff changeset
4255 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4256 The @samp{et al.} string, like @samp{ @{\it et al.@}} in
Dave Love <fx@gnu.org>
parents:
diff changeset
4257 Jones @{\it et al.@}
Dave Love <fx@gnu.org>
parents:
diff changeset
4258 @end enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
4259 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4260
Dave Love <fx@gnu.org>
parents:
diff changeset
4261 @deffn {Normal Hook} reftex-select-bib-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4262 Normal hook which is run when a selection buffer enters
Dave Love <fx@gnu.org>
parents:
diff changeset
4263 @code{reftex-select-bib-mode}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4264 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4265
Dave Love <fx@gnu.org>
parents:
diff changeset
4266 @deffn Keymap reftex-select-bib-map
Dave Love <fx@gnu.org>
parents:
diff changeset
4267 The keymap which is active in the citation-key selection process
Dave Love <fx@gnu.org>
parents:
diff changeset
4268 (@pxref{Creating Citations}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4269 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4270
Dave Love <fx@gnu.org>
parents:
diff changeset
4271 @node Options (Index Support), Options (Viewing Cross-References), Options (Creating Citations), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4272 @section Index Support
Dave Love <fx@gnu.org>
parents:
diff changeset
4273 @cindex Options, Index support
Dave Love <fx@gnu.org>
parents:
diff changeset
4274 @cindex Index support, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4275
Dave Love <fx@gnu.org>
parents:
diff changeset
4276 @defopt reftex-support-index
Dave Love <fx@gnu.org>
parents:
diff changeset
4277 Non-@code{nil} means, index entries are parsed as well. Index support
Dave Love <fx@gnu.org>
parents:
diff changeset
4278 is resource intensive and the internal structure holding the parsed
Dave Love <fx@gnu.org>
parents:
diff changeset
4279 information can become quite big. Therefore it can be turned off. When
Dave Love <fx@gnu.org>
parents:
diff changeset
4280 this is @code{nil} and you execute a command which requires index
Dave Love <fx@gnu.org>
parents:
diff changeset
4281 support, you will be asked for confirmation to turn it on and rescan the
Dave Love <fx@gnu.org>
parents:
diff changeset
4282 document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4283 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4284
Dave Love <fx@gnu.org>
parents:
diff changeset
4285 @defopt reftex-index-special-chars
Dave Love <fx@gnu.org>
parents:
diff changeset
4286 List of special characters in index entries, given as strings. These
Dave Love <fx@gnu.org>
parents:
diff changeset
4287 correspond to the @code{MakeIndex} keywords
Dave Love <fx@gnu.org>
parents:
diff changeset
4288 @code{(@var{level} @var{encap} @var{actual} @var{quote} @var{escape})}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4289 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4290
Dave Love <fx@gnu.org>
parents:
diff changeset
4291 @defopt reftex-index-macros
Dave Love <fx@gnu.org>
parents:
diff changeset
4292 List of macros which define index entries. The structure of each entry
Dave Love <fx@gnu.org>
parents:
diff changeset
4293 is
Dave Love <fx@gnu.org>
parents:
diff changeset
4294 @lisp
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4295 (@var{macro} @var{index-tag} @var{key} @var{prefix} @var{exclude} @var{repeat})
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4296 @end lisp
Dave Love <fx@gnu.org>
parents:
diff changeset
4297
Dave Love <fx@gnu.org>
parents:
diff changeset
4298 @var{macro} is the macro. Arguments should be denoted by empty braces,
Dave Love <fx@gnu.org>
parents:
diff changeset
4299 as for example in @samp{\index[]@{*@}}. Use square brackets to denote
Dave Love <fx@gnu.org>
parents:
diff changeset
4300 optional arguments. The star marks where the index key is.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4301
Dave Love <fx@gnu.org>
parents:
diff changeset
4302 @var{index-tag} is a short name of the index. @samp{idx} and @samp{glo}
Dave Love <fx@gnu.org>
parents:
diff changeset
4303 are reserved for the default index and the glossary. Other indices can
Dave Love <fx@gnu.org>
parents:
diff changeset
4304 be defined as well. If this is an integer, the Nth argument of the
Dave Love <fx@gnu.org>
parents:
diff changeset
4305 macro holds the index tag.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4306
Dave Love <fx@gnu.org>
parents:
diff changeset
4307 @var{key} is a character which is used to identify the macro for input
Dave Love <fx@gnu.org>
parents:
diff changeset
4308 with @code{reftex-index}. @samp{?i}, @samp{?I}, and @samp{?g} are
Dave Love <fx@gnu.org>
parents:
diff changeset
4309 reserved for default index and glossary.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4310
Dave Love <fx@gnu.org>
parents:
diff changeset
4311 @var{prefix} can be a prefix which is added to the @var{key} part of the
Dave Love <fx@gnu.org>
parents:
diff changeset
4312 index entry. If you have a macro
Dave Love <fx@gnu.org>
parents:
diff changeset
4313 @code{\newcommand@{\molec@}[1]@{#1\index@{Molecules!#1@}}, this prefix
Dave Love <fx@gnu.org>
parents:
diff changeset
4314 should be @samp{Molecules!}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4315
Dave Love <fx@gnu.org>
parents:
diff changeset
4316 @var{exclude} can be a function. If this function exists and returns a
Dave Love <fx@gnu.org>
parents:
diff changeset
4317 non-nil value, the index entry at point is ignored. This was
Dave Love <fx@gnu.org>
parents:
diff changeset
4318 implemented to support the (deprecated) @samp{^} and @samp{_} shortcuts
Dave Love <fx@gnu.org>
parents:
diff changeset
4319 in the LaTeX2e @code{index} package.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4320
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4321 @var{repeat}, if non-@code{nil}, means the index macro does not typeset
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4322 the entry in the text, so that the text has to be repeated outside the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4323 index macro. Needed for @code{reftex-index-selection-or-word} and for
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4324 indexing from the phrase buffer.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4325
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4326 The final entry may also be a symbol. It must have an association in
Dave Love <fx@gnu.org>
parents:
diff changeset
4327 the variable @code{reftex-index-macros-builtin} to specify the main
Dave Love <fx@gnu.org>
parents:
diff changeset
4328 indexing package you are using. Legal values are currently@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4329 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4330 default @r{The LaTeX default - unnecessary to specify this one}
Dave Love <fx@gnu.org>
parents:
diff changeset
4331 multind @r{The multind.sty package}
Dave Love <fx@gnu.org>
parents:
diff changeset
4332 index @r{The index.sty package}
Dave Love <fx@gnu.org>
parents:
diff changeset
4333 index-shortcut @r{The index.sty packages with the ^ and _ shortcuts.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4334 @r{Should not be used - only for old documents}
Dave Love <fx@gnu.org>
parents:
diff changeset
4335 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4336 Note that AUCTeX sets these things internally for @b{Ref@TeX{}} as well,
Dave Love <fx@gnu.org>
parents:
diff changeset
4337 so with a sufficiently new version of AUCTeX, you should not set the
Dave Love <fx@gnu.org>
parents:
diff changeset
4338 package here.
Dave Love <fx@gnu.org>
parents:
diff changeset
4339 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4340
Dave Love <fx@gnu.org>
parents:
diff changeset
4341 @defopt reftex-index-default-macro
Dave Love <fx@gnu.org>
parents:
diff changeset
4342 The default index macro for @code{reftex-index-selection-or-word}.
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4343 This is a list with @code{(@var{macro-key} @var{default-tag})}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4344
Dave Love <fx@gnu.org>
parents:
diff changeset
4345 @var{macro-key} is a character identifying an index macro - see
Dave Love <fx@gnu.org>
parents:
diff changeset
4346 @code{reftex-index-macros}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4347
Dave Love <fx@gnu.org>
parents:
diff changeset
4348 @var{default-tag} is the tag to be used if the macro requires a
Dave Love <fx@gnu.org>
parents:
diff changeset
4349 @var{tag} argument. When this is @code{nil} and a @var{tag} is needed,
Dave Love <fx@gnu.org>
parents:
diff changeset
4350 @b{Ref@TeX{}} will ask for it. When this is the empty string and the
Dave Love <fx@gnu.org>
parents:
diff changeset
4351 TAG argument of the index macro is optional, the TAG argument will be
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4352 omitted.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4353 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4354
Dave Love <fx@gnu.org>
parents:
diff changeset
4355 @defopt reftex-index-default-tag
Dave Love <fx@gnu.org>
parents:
diff changeset
4356 Default index tag. When working with multiple indexes, RefTeX queries
Dave Love <fx@gnu.org>
parents:
diff changeset
4357 for an index tag when creating index entries or displaying a specific
Dave Love <fx@gnu.org>
parents:
diff changeset
4358 index. This variable controls the default offered for these queries.
Dave Love <fx@gnu.org>
parents:
diff changeset
4359 The default can be selected with @key{RET} during selection or
Dave Love <fx@gnu.org>
parents:
diff changeset
4360 completion. Legal values of this variable are:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4361 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4362 nil @r{Do not provide a default index}
Dave Love <fx@gnu.org>
parents:
diff changeset
4363 "tag" @r{The default index tag given as a string, e.g. "idx"}
Dave Love <fx@gnu.org>
parents:
diff changeset
4364 last @r{The last used index tag will be offered as default}
Dave Love <fx@gnu.org>
parents:
diff changeset
4365 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4366 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4367
Dave Love <fx@gnu.org>
parents:
diff changeset
4368 @defopt reftex-index-math-format
Dave Love <fx@gnu.org>
parents:
diff changeset
4369 Format of index entries when copied from inside math mode. When
Dave Love <fx@gnu.org>
parents:
diff changeset
4370 @code{reftex-index-selection-or-word} is executed inside TeX math mode,
Dave Love <fx@gnu.org>
parents:
diff changeset
4371 the index key copied from the buffer is processed with this format
Dave Love <fx@gnu.org>
parents:
diff changeset
4372 string through the @code{format} function. This can be used to add the
Dave Love <fx@gnu.org>
parents:
diff changeset
4373 math delimiters (e.g. @samp{$}) to the string. Requires the
Dave Love <fx@gnu.org>
parents:
diff changeset
4374 @file{texmathp.el} library which is part of AUCTeX.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4375 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4376
27195
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4377 @defopt reftex-index-phrase-file-extension
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4378 File extension for the index phrase file. This extension will be added
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4379 to the base name of the master file.
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4380 @end defopt
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4381
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4382 @defopt reftex-index-phrases-logical-and-regexp
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4383 Regexp matching the @samp{and} operator for index arguments in phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4384 file. When several index arguments in a phrase line are separated by
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4385 this operator, each part will generate an index macro. So each match of
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4386 the search phrase will produce @emph{several} different index entries.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4387 Make sure this does no match things which are not separators. This
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4388 logical @samp{and} has higher priority than the logical @samp{or}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4389 specified in @code{reftex-index-phrases-logical-or-regexp}.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4390 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4391
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4392 @defopt reftex-index-phrases-logical-or-regexp
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4393 Regexp matching the @samp{or} operator for index arguments in phrases
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4394 file. When several index arguments in a phrase line are separated by
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4395 this operator, the user will be asked to select one of them at each
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4396 match of the search phrase. The first index arg will be the default. A
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4397 number key @kbd{1}--@kbd{9} must be pressed to switch to another. Make
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4398 sure this does no match things which are not separators. The logical
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4399 @samp{and} specified in @code{reftex-index-phrases-logical-or-regexp}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4400 has higher priority than this logical @samp{or}.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4401 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4402
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4403 @defopt reftex-index-phrases-search-whole-words
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4404 Non-@code{nil} means phrases search will look for whole words, not subwords.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4405 This works by requiring word boundaries at the beginning and end of
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4406 the search string. When the search phrase already has a non-word-char
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4407 at one of these points, no word boundary is required there.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4408 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4409
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4410 @defopt reftex-index-phrases-case-fold-search
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4411 Non-@code{nil} means, searching for index phrases will ignore
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4412 case.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4413 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4414
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4415 @defopt reftex-index-verify-function
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4416 A function which is called at each match during global indexing.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4417 If the function returns nil, the current match is skipped.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4418 @end defopt
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4419
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4420 @defopt reftex-index-phrases-skip-indexed-matches
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4421 Non-@code{nil} means, skip matches which appear to be indexed already.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4422 When doing global indexing from the phrases buffer, searches for some
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4423 phrases may match at places where that phrase was already indexed. In
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4424 particular when indexing an already processed document again, this
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4425 will even be the norm. When this variable is non-@code{nil},
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4426 @b{Ref@TeX{}} checks if the match is an index macro argument, or if an
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4427 index macro is directly before or after the phrase. If that is the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4428 case, that match will be ignored.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4429 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4430
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4431 @defopt reftex-index-phrases-wrap-long-lines
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4432 Non-@code{nil} means, when indexing from the phrases buffer, wrap lines.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4433 Inserting indexing commands in a line makes the line longer - often
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4434 so long that it does not fit onto the screen. When this variable is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4435 non-@code{nil}, newlines will be added as necessary before and/or after the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4436 indexing command to keep lines short. However, the matched text
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4437 phrase and its index command will always end up on a single line.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4438 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4439
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4440 @defopt reftex-index-phrases-sort-prefers-entry
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4441 Non-@code{nil} means when sorting phrase lines, the explicit index entry
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4442 is used. Phrase lines in the phrases buffer contain a search phrase, and
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4443 sorting is normally based on these. Some phrase lines also have
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4444 an explicit index argument specified. When this variable is
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4445 non-@code{nil}, the index argument will be used for sorting.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4446 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4447
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4448 @defopt reftex-index-phrases-sort-in-blocks
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4449 Non-@code{nil} means, empty and comment lines separate phrase buffer
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4450 into blocks. Sorting will then preserve blocks, so that lines are
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4451 re-arranged only within blocks.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4452 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4453
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4454 @defopt reftex-index-phrases-map
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4455 Keymap for the Index Phrases buffer.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4456 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4457
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4458 @defopt reftex-index-phrases-mode-hook
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4459 Normal hook which is run when a buffer is put into
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4460 @code{reftex-index-phrases-mode}.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4461 @end defopt
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4462
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4463 @defopt reftex-index-section-letters
Dave Love <fx@gnu.org>
parents:
diff changeset
4464 The letters which denote sections in the index. Usually these are all
Dave Love <fx@gnu.org>
parents:
diff changeset
4465 capital letters. Don't use any downcase letters. Order is not
Dave Love <fx@gnu.org>
parents:
diff changeset
4466 significant, the index will be sorted by whatever the sort function
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4467 thinks is correct. In addition to these letters, @b{Ref@TeX{}} will
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4468 create a group @samp{!} which contains all entries sorted below the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4469 lowest specified letter. In the @file{*Index*} buffer, pressing any of
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4470 these capital letters or @kbd{!} will jump to that section.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4471 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4472
Dave Love <fx@gnu.org>
parents:
diff changeset
4473 @defopt reftex-index-include-context
Dave Love <fx@gnu.org>
parents:
diff changeset
4474 Non-@code{nil} means, display the index definition context in the
Dave Love <fx@gnu.org>
parents:
diff changeset
4475 @file{*Index*} buffer. This flag may also be toggled from the
Dave Love <fx@gnu.org>
parents:
diff changeset
4476 @file{*Index*} buffer with the @kbd{c} key.
Dave Love <fx@gnu.org>
parents:
diff changeset
4477 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4478
Dave Love <fx@gnu.org>
parents:
diff changeset
4479 @defopt reftex-index-follow-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
4480 Non-@code{nil} means, point in @file{*Index*} buffer will cause other
Dave Love <fx@gnu.org>
parents:
diff changeset
4481 window to follow. The other window will show the corresponding part of
Dave Love <fx@gnu.org>
parents:
diff changeset
4482 the document. This flag can be toggled from within the @file{*Index*}
Dave Love <fx@gnu.org>
parents:
diff changeset
4483 buffer with the @kbd{f} key.
Dave Love <fx@gnu.org>
parents:
diff changeset
4484 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4485
Dave Love <fx@gnu.org>
parents:
diff changeset
4486 @deffn Keymap reftex-index-map
Dave Love <fx@gnu.org>
parents:
diff changeset
4487 The keymap which is active in the @file{*Index*} buffer
Dave Love <fx@gnu.org>
parents:
diff changeset
4488 (@pxref{Index Support}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4489 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4490
Dave Love <fx@gnu.org>
parents:
diff changeset
4491 @node Options (Viewing Cross-References), Options (Finding Files), Options (Index Support), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4492 @section Viewing Cross-References
Dave Love <fx@gnu.org>
parents:
diff changeset
4493 @cindex Options, viewing cross-references
Dave Love <fx@gnu.org>
parents:
diff changeset
4494 @cindex Viewing cross-references, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4495
Dave Love <fx@gnu.org>
parents:
diff changeset
4496 @defopt reftex-view-crossref-extra
Dave Love <fx@gnu.org>
parents:
diff changeset
4497 Macros which can be used for the display of cross references.
Dave Love <fx@gnu.org>
parents:
diff changeset
4498 This is used when `reftex-view-crossref' is called with point in an
Dave Love <fx@gnu.org>
parents:
diff changeset
4499 argument of a macro. Note that crossref viewing for citations,
Dave Love <fx@gnu.org>
parents:
diff changeset
4500 references (both ways) and index entries is hard-coded. This variable
Dave Love <fx@gnu.org>
parents:
diff changeset
4501 is only to configure additional structures for which crossreference
Dave Love <fx@gnu.org>
parents:
diff changeset
4502 viewing can be useful. Each entry has the structure
Dave Love <fx@gnu.org>
parents:
diff changeset
4503 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4504 (@var{macro-re} @var{search-re} @var{highlight}).
Dave Love <fx@gnu.org>
parents:
diff changeset
4505 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4506 @var{macro-re} is matched against the macro. @var{search-re} is the
Dave Love <fx@gnu.org>
parents:
diff changeset
4507 regexp used to search for cross references. @samp{%s} in this regexp is
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
4508 replaced with the macro argument at point. @var{highlight} is an
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4509 integer indicating which subgroup of the match should be highlighted.
Dave Love <fx@gnu.org>
parents:
diff changeset
4510 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4511
Dave Love <fx@gnu.org>
parents:
diff changeset
4512 @defopt reftex-auto-view-crossref
Dave Love <fx@gnu.org>
parents:
diff changeset
4513 Non-@code{nil} means, initially turn automatic viewing of crossref info
Dave Love <fx@gnu.org>
parents:
diff changeset
4514 on. Automatic viewing of crossref info normally uses the echo area.
Dave Love <fx@gnu.org>
parents:
diff changeset
4515 Whenever point is on the argument of a @code{\ref} or @code{\cite}
Dave Love <fx@gnu.org>
parents:
diff changeset
4516 macro, and no other message is being displayed, the echo area will
Dave Love <fx@gnu.org>
parents:
diff changeset
4517 display information about that cross reference. You can also set the
Dave Love <fx@gnu.org>
parents:
diff changeset
4518 variable to the symbol @code{window}. In this case a small temporary
Dave Love <fx@gnu.org>
parents:
diff changeset
4519 window is used for the display. This feature can be turned on and of
Dave Love <fx@gnu.org>
parents:
diff changeset
4520 from the menu (Ref->Options).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4521 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4522
Dave Love <fx@gnu.org>
parents:
diff changeset
4523 @defopt reftex-idle-time
Dave Love <fx@gnu.org>
parents:
diff changeset
4524 Time (secs) Emacs has to be idle before automatic crossref display is
Dave Love <fx@gnu.org>
parents:
diff changeset
4525 done.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4526 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4527
Dave Love <fx@gnu.org>
parents:
diff changeset
4528 @defopt reftex-cite-view-format
Dave Love <fx@gnu.org>
parents:
diff changeset
4529 Citation format used to display citation info in the message area. See
Dave Love <fx@gnu.org>
parents:
diff changeset
4530 the variable @code{reftex-cite-format} for possible percent
Dave Love <fx@gnu.org>
parents:
diff changeset
4531 escapes.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4532 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4533
Dave Love <fx@gnu.org>
parents:
diff changeset
4534 @defopt reftex-revisit-to-echo
Dave Love <fx@gnu.org>
parents:
diff changeset
4535 Non-@code{nil} means, automatic citation display will revisit files if
Dave Love <fx@gnu.org>
parents:
diff changeset
4536 necessary. When nil, citation display in echo area will only be active
Dave Love <fx@gnu.org>
parents:
diff changeset
4537 for cached echo strings (see @code{reftex-cache-cite-echo}), or for
Dave Love <fx@gnu.org>
parents:
diff changeset
4538 BibTeX database files which are already visited by a live associated
Dave Love <fx@gnu.org>
parents:
diff changeset
4539 buffers.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4540 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4541
Dave Love <fx@gnu.org>
parents:
diff changeset
4542 @defopt reftex-cache-cite-echo
Dave Love <fx@gnu.org>
parents:
diff changeset
4543 Non-@code{nil} means, the information displayed in the echo area for
Dave Love <fx@gnu.org>
parents:
diff changeset
4544 cite macros (see variable @code{reftex-auto-view-crossref}) is cached and
Dave Love <fx@gnu.org>
parents:
diff changeset
4545 saved along with the parsing information. The cache survives document
Dave Love <fx@gnu.org>
parents:
diff changeset
4546 scans. In order to clear it, use @kbd{M-x reftex-reset-mode}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4547 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4548
Dave Love <fx@gnu.org>
parents:
diff changeset
4549 @node Options (Finding Files), Options (Optimizations), Options (Viewing Cross-References), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4550 @section Finding Files
Dave Love <fx@gnu.org>
parents:
diff changeset
4551 @cindex Options, Finding Files
Dave Love <fx@gnu.org>
parents:
diff changeset
4552 @cindex Finding files, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4553
Dave Love <fx@gnu.org>
parents:
diff changeset
4554 @defopt reftex-texpath-environment-variables
Dave Love <fx@gnu.org>
parents:
diff changeset
4555 List of specifications how to retrieve the search path for TeX files.
Dave Love <fx@gnu.org>
parents:
diff changeset
4556 Several entries are possible.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4557 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
4558 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4559 If an element is the name of an environment variable, its content is
Dave Love <fx@gnu.org>
parents:
diff changeset
4560 used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4561 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4562 If an element starts with an exclamation mark, it is used as a command
Dave Love <fx@gnu.org>
parents:
diff changeset
4563 to retrieve the path. A typical command with the kpathsearch library
Dave Love <fx@gnu.org>
parents:
diff changeset
4564 would be @w{@code{"!kpsewhich -show-path=.tex"}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4565 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4566 Otherwise the element itself is interpreted as a path.
Dave Love <fx@gnu.org>
parents:
diff changeset
4567 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4568 Multiple directories can be separated by the system dependent
Dave Love <fx@gnu.org>
parents:
diff changeset
4569 @code{path-separator}. Directories ending in @samp{//} or @samp{!!} will
Dave Love <fx@gnu.org>
parents:
diff changeset
4570 be expanded recursively. See also @code{reftex-use-external-file-finders}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4571 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4572
Dave Love <fx@gnu.org>
parents:
diff changeset
4573 @defopt reftex-bibpath-environment-variables
Dave Love <fx@gnu.org>
parents:
diff changeset
4574 List of specifications how to retrieve the search path for BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
4575 files. Several entries are possible.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4576 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
4577 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4578 If an element is the name of an environment variable, its content is
Dave Love <fx@gnu.org>
parents:
diff changeset
4579 used.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4580 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4581 If an element starts with an exclamation mark, it is used as a command
Dave Love <fx@gnu.org>
parents:
diff changeset
4582 to retrieve the path. A typical command with the kpathsearch library
Dave Love <fx@gnu.org>
parents:
diff changeset
4583 would be @w{@code{"!kpsewhich -show-path=.bib"}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4584 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4585 Otherwise the element itself is interpreted as a path.
Dave Love <fx@gnu.org>
parents:
diff changeset
4586 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4587 Multiple directories can be separated by the system dependent
Dave Love <fx@gnu.org>
parents:
diff changeset
4588 @code{path-separator}. Directories ending in @samp{//} or @samp{!!} will
Dave Love <fx@gnu.org>
parents:
diff changeset
4589 be expanded recursively. See also @code{reftex-use-external-file-finders}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4590 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4591
Dave Love <fx@gnu.org>
parents:
diff changeset
4592 @defopt reftex-file-extensions
Dave Love <fx@gnu.org>
parents:
diff changeset
4593 Association list with file extensions for different file types.
Dave Love <fx@gnu.org>
parents:
diff changeset
4594 This is a list of items, each item is like:
Dave Love <fx@gnu.org>
parents:
diff changeset
4595 @code{(@var{type} . (@var{def-ext} @var{other-ext} ...))}
Dave Love <fx@gnu.org>
parents:
diff changeset
4596 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4597 @var{type}: @r{File type like @code{"bib"} or @code{"tex"}.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4598 @var{def-ext}: @r{The default extension for that file type, like @code{".tex"} or @code{".bib"}.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4599 @var{other-ext}: @r{Any number of other legal extensions for this file type.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4600 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4601 When a files is searched and it does not have any of the legal extensions,
Dave Love <fx@gnu.org>
parents:
diff changeset
4602 we try the default extension first, and then the naked file name.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4603 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4604
Dave Love <fx@gnu.org>
parents:
diff changeset
4605 @defopt reftex-search-unrecursed-path-first
Dave Love <fx@gnu.org>
parents:
diff changeset
4606 Non-@code{nil} means, search all specified directories before trying
Dave Love <fx@gnu.org>
parents:
diff changeset
4607 recursion. Thus, in a path @samp{.//:/tex/}, search first @samp{./},
Dave Love <fx@gnu.org>
parents:
diff changeset
4608 then @samp{/tex/}, and then all subdirectories of @samp{./}. If this
Dave Love <fx@gnu.org>
parents:
diff changeset
4609 option is @code{nil}, the subdirectories of @samp{./} are searched
Dave Love <fx@gnu.org>
parents:
diff changeset
4610 before @samp{/tex/}. This is mainly for speed - most of the time the
Dave Love <fx@gnu.org>
parents:
diff changeset
4611 recursive path is for the system files and not for the user files. Set
Dave Love <fx@gnu.org>
parents:
diff changeset
4612 this to @code{nil} if the default makes @b{Ref@TeX{}} finding files with
Dave Love <fx@gnu.org>
parents:
diff changeset
4613 equal names in wrong sequence.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4614 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4615
Dave Love <fx@gnu.org>
parents:
diff changeset
4616 @defopt reftex-use-external-file-finders
Dave Love <fx@gnu.org>
parents:
diff changeset
4617 Non-@code{nil} means, use external programs to find files. Normally,
Dave Love <fx@gnu.org>
parents:
diff changeset
4618 @b{Ref@TeX{}} searches the paths given in the environment variables
Dave Love <fx@gnu.org>
parents:
diff changeset
4619 @code{TEXINPUTS} and @code{BIBINPUTS} to find TeX files and BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
4620 database files. With this option turned on, it calls an external
Dave Love <fx@gnu.org>
parents:
diff changeset
4621 program specified in the option @code{reftex-external-file-finders}
Dave Love <fx@gnu.org>
parents:
diff changeset
4622 instead. As a side effect, the variables
Dave Love <fx@gnu.org>
parents:
diff changeset
4623 @code{reftex-texpath-environment-variables} and
Dave Love <fx@gnu.org>
parents:
diff changeset
4624 @code{reftex-bibpath-environment-variables} will be ignored.
Dave Love <fx@gnu.org>
parents:
diff changeset
4625 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4626
Dave Love <fx@gnu.org>
parents:
diff changeset
4627 @defopt reftex-external-file-finders
Dave Love <fx@gnu.org>
parents:
diff changeset
4628 Association list with external programs to call for finding files. Each
Dave Love <fx@gnu.org>
parents:
diff changeset
4629 entry is a cons cell @w{@code{(@var{type} . @var{program})}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4630 @var{type} is either @code{"tex"} or @code{"bib"}. @var{program} is a
Dave Love <fx@gnu.org>
parents:
diff changeset
4631 string containing the external program to use with any arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
4632 @code{%f} will be replaced by the name of the file to be found. Note
Dave Love <fx@gnu.org>
parents:
diff changeset
4633 that these commands will be executed directly, not via a shell. Only
Dave Love <fx@gnu.org>
parents:
diff changeset
4634 relevant when @code{reftex-use-external-file-finders} is
Dave Love <fx@gnu.org>
parents:
diff changeset
4635 non-@code{nil}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4636 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4637
Dave Love <fx@gnu.org>
parents:
diff changeset
4638 @page
Dave Love <fx@gnu.org>
parents:
diff changeset
4639 @node Options (Optimizations), Options (Fontification), Options (Finding Files), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4640 @section Optimizations
Dave Love <fx@gnu.org>
parents:
diff changeset
4641 @cindex Options, optimizations
Dave Love <fx@gnu.org>
parents:
diff changeset
4642 @cindex Optimizations, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4643
Dave Love <fx@gnu.org>
parents:
diff changeset
4644 @defopt reftex-keep-temporary-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
4645 Non-@code{nil} means, keep buffers created for parsing and lookup.
Dave Love <fx@gnu.org>
parents:
diff changeset
4646 @b{Ref@TeX{}} sometimes needs to visit files related to the current
Dave Love <fx@gnu.org>
parents:
diff changeset
4647 document. We distinguish files visited for@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4648 @table @asis
Dave Love <fx@gnu.org>
parents:
diff changeset
4649 @item PARSING
Dave Love <fx@gnu.org>
parents:
diff changeset
4650 Parts of a multifile document loaded when (re)-parsing the
Dave Love <fx@gnu.org>
parents:
diff changeset
4651 document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4652 @item LOOKUP
Dave Love <fx@gnu.org>
parents:
diff changeset
4653 BibTeX database files and TeX files loaded to find a reference, to
Dave Love <fx@gnu.org>
parents:
diff changeset
4654 display label context, etc.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4655 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4656 The created buffers can be kept for later use, or be thrown away
Dave Love <fx@gnu.org>
parents:
diff changeset
4657 immediately after use, depending on the value of this variable:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4658
Dave Love <fx@gnu.org>
parents:
diff changeset
4659 @table @code
Dave Love <fx@gnu.org>
parents:
diff changeset
4660 @item nil
Dave Love <fx@gnu.org>
parents:
diff changeset
4661 Throw away as much as possible.
Dave Love <fx@gnu.org>
parents:
diff changeset
4662 @item t
Dave Love <fx@gnu.org>
parents:
diff changeset
4663 Keep everything.
Dave Love <fx@gnu.org>
parents:
diff changeset
4664 @item 1
Dave Love <fx@gnu.org>
parents:
diff changeset
4665 Throw away buffers created for parsing, but keep the ones created for
Dave Love <fx@gnu.org>
parents:
diff changeset
4666 lookup.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4667 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4668
Dave Love <fx@gnu.org>
parents:
diff changeset
4669 If a buffer is to be kept, the file is visited normally (which is
Dave Love <fx@gnu.org>
parents:
diff changeset
4670 potentially slow but will happen only once). If a buffer is to be thrown
Dave Love <fx@gnu.org>
parents:
diff changeset
4671 away, the initialization of the buffer depends upon the variable
Dave Love <fx@gnu.org>
parents:
diff changeset
4672 @code{reftex-initialize-temporary-buffers}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4673 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4674
Dave Love <fx@gnu.org>
parents:
diff changeset
4675 @defopt reftex-initialize-temporary-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
4676 Non-@code{nil} means do initializations even when visiting file
Dave Love <fx@gnu.org>
parents:
diff changeset
4677 temporarily. When @code{nil}, @b{Ref@TeX{}} may turn off find-file hooks and
Dave Love <fx@gnu.org>
parents:
diff changeset
4678 other stuff to briefly visit a file. When @code{t}, the full default
Dave Love <fx@gnu.org>
parents:
diff changeset
4679 initializations are done (@code{find-file-hook} etc.). Instead of
Dave Love <fx@gnu.org>
parents:
diff changeset
4680 @code{t} or @code{nil}, this variable may also be a list of hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4681 functions to do a minimal initialization.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4682 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4683
Dave Love <fx@gnu.org>
parents:
diff changeset
4684 @defopt reftex-no-include-regexps
Dave Love <fx@gnu.org>
parents:
diff changeset
4685 List of regular expressions to exclude certain input files from parsing.
Dave Love <fx@gnu.org>
parents:
diff changeset
4686 If the name of a file included via @code{\include} or @code{\input} is
Dave Love <fx@gnu.org>
parents:
diff changeset
4687 matched by any of the regular expressions in this list, that file is not
Dave Love <fx@gnu.org>
parents:
diff changeset
4688 parsed by @b{Ref@TeX{}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4689 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4690
Dave Love <fx@gnu.org>
parents:
diff changeset
4691 @defopt reftex-enable-partial-scans
Dave Love <fx@gnu.org>
parents:
diff changeset
4692 Non-@code{nil} means, re-parse only 1 file when asked to re-parse.
Dave Love <fx@gnu.org>
parents:
diff changeset
4693 Re-parsing is normally requested with a @kbd{C-u} prefix to many @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
4694 commands, or with the @kbd{r} key in menus. When this option is
Dave Love <fx@gnu.org>
parents:
diff changeset
4695 @code{t} in a multifile document, we will only parse the current buffer,
Dave Love <fx@gnu.org>
parents:
diff changeset
4696 or the file associated with the label or section heading near point in a
Dave Love <fx@gnu.org>
parents:
diff changeset
4697 menu. Requesting re-parsing of an entire multifile document then
Dave Love <fx@gnu.org>
parents:
diff changeset
4698 requires a @kbd{C-u C-u} prefix or the capital @kbd{R} key in
Dave Love <fx@gnu.org>
parents:
diff changeset
4699 menus.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4700 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4701
Dave Love <fx@gnu.org>
parents:
diff changeset
4702 @defopt reftex-save-parse-info
Dave Love <fx@gnu.org>
parents:
diff changeset
4703 Non-@code{nil} means, save information gathered with parsing in files.
Dave Love <fx@gnu.org>
parents:
diff changeset
4704 The file @file{MASTER.rel} in the same directory as @file{MASTER.tex} is
Dave Love <fx@gnu.org>
parents:
diff changeset
4705 used to save the information. When this variable is @code{t},
Dave Love <fx@gnu.org>
parents:
diff changeset
4706 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
4707 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4708 accessing the parsing information for the first time in an editing
Dave Love <fx@gnu.org>
parents:
diff changeset
4709 session will read that file (if available) instead of parsing the
Dave Love <fx@gnu.org>
parents:
diff changeset
4710 document.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4711 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4712 exiting Emacs or killing a buffer in reftex-mode will cause a new
Dave Love <fx@gnu.org>
parents:
diff changeset
4713 version of the file to be written.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4714 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4715 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4716
27195
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4717 @defopt reftex-parse-file-extension
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4718 File extension for the file in which parser information is stored.
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4719 This extension is added to the base name of the master file.
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4720 @end defopt
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
4721
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4722 @defopt reftex-allow-automatic-rescan
Dave Love <fx@gnu.org>
parents:
diff changeset
4723 Non-@code{nil} means, @b{Ref@TeX{}} may rescan the document when this seems
Dave Love <fx@gnu.org>
parents:
diff changeset
4724 necessary. Applies (currently) only in rare cases, when a new label
Dave Love <fx@gnu.org>
parents:
diff changeset
4725 cannot be placed with certainty into the internal label list.
Dave Love <fx@gnu.org>
parents:
diff changeset
4726 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4727
Dave Love <fx@gnu.org>
parents:
diff changeset
4728 @defopt reftex-use-multiple-selection-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
4729 Non-@code{nil} means use a separate selection buffer for each label
Dave Love <fx@gnu.org>
parents:
diff changeset
4730 type. These buffers are kept from one selection to the next and need
Dave Love <fx@gnu.org>
parents:
diff changeset
4731 not to be created for each use - so the menu generally comes up faster.
Dave Love <fx@gnu.org>
parents:
diff changeset
4732 The selection buffers will be erased (and therefore updated)
Dave Love <fx@gnu.org>
parents:
diff changeset
4733 automatically when new labels in its category are added. See the
Dave Love <fx@gnu.org>
parents:
diff changeset
4734 variable @code{reftex-auto-update-selection-buffers}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4735 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4736
Dave Love <fx@gnu.org>
parents:
diff changeset
4737 @defopt reftex-auto-update-selection-buffers
Dave Love <fx@gnu.org>
parents:
diff changeset
4738 Non-@code{nil} means, selection buffers will be updated automatically.
Dave Love <fx@gnu.org>
parents:
diff changeset
4739 When a new label is defined with @code{reftex-label}, all selection
Dave Love <fx@gnu.org>
parents:
diff changeset
4740 buffers associated with that label category are emptied, in order to
Dave Love <fx@gnu.org>
parents:
diff changeset
4741 force an update upon next use. When @code{nil}, the buffers are left
Dave Love <fx@gnu.org>
parents:
diff changeset
4742 alone and have to be updated by hand, with the @kbd{g} key from the
Dave Love <fx@gnu.org>
parents:
diff changeset
4743 label selection process. The value of this variable will only have any
Dave Love <fx@gnu.org>
parents:
diff changeset
4744 effect when @code{reftex-use-multiple-selection-buffers} is
Dave Love <fx@gnu.org>
parents:
diff changeset
4745 non-@code{nil}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4746 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4747
Dave Love <fx@gnu.org>
parents:
diff changeset
4748 @node Options (Fontification), Options (Misc), Options (Optimizations), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4749 @section Fontification
Dave Love <fx@gnu.org>
parents:
diff changeset
4750 @cindex Options, fontification
Dave Love <fx@gnu.org>
parents:
diff changeset
4751 @cindex Fontification, options
Dave Love <fx@gnu.org>
parents:
diff changeset
4752
Dave Love <fx@gnu.org>
parents:
diff changeset
4753 @defopt reftex-use-fonts
Dave Love <fx@gnu.org>
parents:
diff changeset
4754 Non-@code{nil} means, use fonts in label menu and on-the-fly help.
Dave Love <fx@gnu.org>
parents:
diff changeset
4755 Font-lock must be loaded as well to actually get fontified
Dave Love <fx@gnu.org>
parents:
diff changeset
4756 display. After changing this option, a rescan may be necessary to
Dave Love <fx@gnu.org>
parents:
diff changeset
4757 activate it.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4758 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4759
Dave Love <fx@gnu.org>
parents:
diff changeset
4760 @defopt reftex-refontify-context
Dave Love <fx@gnu.org>
parents:
diff changeset
4761 Non-@code{nil} means, re-fontify the context in the label menu with
Dave Love <fx@gnu.org>
parents:
diff changeset
4762 font-lock. This slightly slows down the creation of the label menu. It
Dave Love <fx@gnu.org>
parents:
diff changeset
4763 is only necessary when you definitely want the context fontified.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4764
Dave Love <fx@gnu.org>
parents:
diff changeset
4765 This option may have 3 different values:
Dave Love <fx@gnu.org>
parents:
diff changeset
4766 @table @code
Dave Love <fx@gnu.org>
parents:
diff changeset
4767 @item nil
Dave Love <fx@gnu.org>
parents:
diff changeset
4768 Never refontify.
Dave Love <fx@gnu.org>
parents:
diff changeset
4769 @item t
Dave Love <fx@gnu.org>
parents:
diff changeset
4770 Always refontify.
Dave Love <fx@gnu.org>
parents:
diff changeset
4771 @item 1
Dave Love <fx@gnu.org>
parents:
diff changeset
4772 Refontify when necessary, e.g. with old versions of the x-symbol
Dave Love <fx@gnu.org>
parents:
diff changeset
4773 package.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4774 @end table
Dave Love <fx@gnu.org>
parents:
diff changeset
4775 The option is ignored when @code{reftex-use-fonts} is @code{nil}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4776 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4777
Dave Love <fx@gnu.org>
parents:
diff changeset
4778 @defopt reftex-highlight-selection
Dave Love <fx@gnu.org>
parents:
diff changeset
4779 Non-@code{nil} means, highlight selected text in selection and
Dave Love <fx@gnu.org>
parents:
diff changeset
4780 @file{*toc*} buffers. Normally, the text near the cursor is the
Dave Love <fx@gnu.org>
parents:
diff changeset
4781 @emph{selected} text, and it is highlighted. This is the entry most
Dave Love <fx@gnu.org>
parents:
diff changeset
4782 keys in the selection and @file{*toc*} buffers act on. However, if you
Dave Love <fx@gnu.org>
parents:
diff changeset
4783 mainly use the mouse to select an item, you may find it nice to have
Dave Love <fx@gnu.org>
parents:
diff changeset
4784 mouse-triggered highlighting @emph{instead} or @emph{as well}. The
Dave Love <fx@gnu.org>
parents:
diff changeset
4785 variable may have one of these values:@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4786
Dave Love <fx@gnu.org>
parents:
diff changeset
4787 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4788 nil @r{No highlighting.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4789 cursor @r{Highlighting is cursor driven.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4790 mouse @r{Highlighting is mouse driven.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4791 both @r{Both cursor and mouse trigger highlighting.}
Dave Love <fx@gnu.org>
parents:
diff changeset
4792 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4793
Dave Love <fx@gnu.org>
parents:
diff changeset
4794 Changing this variable requires to rebuild the selection and *toc*
Dave Love <fx@gnu.org>
parents:
diff changeset
4795 buffers to become effective (keys @kbd{g} or @kbd{r}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4796 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4797
Dave Love <fx@gnu.org>
parents:
diff changeset
4798 @defopt reftex-cursor-selected-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4799 Face name to highlight cursor selected item in toc and selection buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
4800 See also the variable @code{reftex-highlight-selection}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4801 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4802 @defopt reftex-mouse-selected-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4803 Face name to highlight mouse selected item in toc and selection buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
4804 See also the variable @code{reftex-highlight-selection}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4805 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4806 @defopt reftex-file-boundary-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4807 Face name for file boundaries in selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4808 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4809 @defopt reftex-label-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4810 Face name for labels in selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4811 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4812 @defopt reftex-section-heading-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4813 Face name for section headings in toc and selection buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
4814 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4815 @defopt reftex-toc-header-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4816 Face name for the header of a toc buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4817 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4818 @defopt reftex-bib-author-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4819 Face name for author names in bib selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4820 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4821 @defopt reftex-bib-year-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4822 Face name for year in bib selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4823 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4824 @defopt reftex-bib-title-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4825 Face name for article title in bib selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4826 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4827 @defopt reftex-bib-extra-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4828 Face name for bibliographic information in bib selection buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4829 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4830 @defopt reftex-select-mark-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4831 Face name for marked entries in the selection buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
4832 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4833 @defopt reftex-index-header-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4834 Face name for the header of an index buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
4835 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4836 @defopt reftex-index-section-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4837 Face name for the start of a new letter section in the index.
Dave Love <fx@gnu.org>
parents:
diff changeset
4838 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4839 @defopt reftex-index-tag-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4840 Face name for index names (for multiple indices).
Dave Love <fx@gnu.org>
parents:
diff changeset
4841 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4842 @defopt reftex-index-face
Dave Love <fx@gnu.org>
parents:
diff changeset
4843 Face name for index entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
4844 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4845
Dave Love <fx@gnu.org>
parents:
diff changeset
4846 @node Options (Misc), , Options (Fontification), Options
Dave Love <fx@gnu.org>
parents:
diff changeset
4847 @section Miscellaneous
Dave Love <fx@gnu.org>
parents:
diff changeset
4848 @cindex Options, misc
Dave Love <fx@gnu.org>
parents:
diff changeset
4849
Dave Love <fx@gnu.org>
parents:
diff changeset
4850 @defopt reftex-extra-bindings
Dave Love <fx@gnu.org>
parents:
diff changeset
4851 Non-@code{nil} means, make additional key bindings on startup. These
Dave Love <fx@gnu.org>
parents:
diff changeset
4852 extra bindings are located in the users @samp{C-c letter}
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
4853 map. @xref{Key Bindings}.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4854 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4855
Dave Love <fx@gnu.org>
parents:
diff changeset
4856 @defopt reftex-plug-into-AUCTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
4857 Plug-in flags for AUCTeX interface. This variable is a list of
Dave Love <fx@gnu.org>
parents:
diff changeset
4858 5 boolean flags. When a flag is non-@code{nil}, @b{Ref@TeX{}}
Dave Love <fx@gnu.org>
parents:
diff changeset
4859 will@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4860
Dave Love <fx@gnu.org>
parents:
diff changeset
4861 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
4862 - supply labels in new sections and environments (flag 1)
Dave Love <fx@gnu.org>
parents:
diff changeset
4863 - supply arguments for macros like @code{\label} (flag 2)
Dave Love <fx@gnu.org>
parents:
diff changeset
4864 - supply arguments for macros like @code{\ref} (flag 3)
Dave Love <fx@gnu.org>
parents:
diff changeset
4865 - supply arguments for macros like @code{\cite} (flag 4)
Dave Love <fx@gnu.org>
parents:
diff changeset
4866 - supply arguments for macros like @code{\index} (flag 5)
Dave Love <fx@gnu.org>
parents:
diff changeset
4867 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
4868
Dave Love <fx@gnu.org>
parents:
diff changeset
4869 You may also set the variable itself to t or nil in order to turn all
Dave Love <fx@gnu.org>
parents:
diff changeset
4870 options on or off, respectively.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
4871 Supplying labels in new sections and environments applies when creating
Dave Love <fx@gnu.org>
parents:
diff changeset
4872 sections with @kbd{C-c C-s} and environments with @kbd{C-c C-e}.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
4873 Supplying macro arguments applies when you insert such a macro
Dave Love <fx@gnu.org>
parents:
diff changeset
4874 interactively with @kbd{C-c @key{RET}}.@*
Dave Love <fx@gnu.org>
parents:
diff changeset
4875 See the AUCTeX documentation for more information.
Dave Love <fx@gnu.org>
parents:
diff changeset
4876 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4877
Dave Love <fx@gnu.org>
parents:
diff changeset
4878 @defopt reftex-revisit-to-follow
Dave Love <fx@gnu.org>
parents:
diff changeset
4879 Non-@code{nil} means, follow-mode will revisit files if necessary.
Dave Love <fx@gnu.org>
parents:
diff changeset
4880 When nil, follow-mode will be suspended for stuff in unvisited files.
Dave Love <fx@gnu.org>
parents:
diff changeset
4881 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4882
Dave Love <fx@gnu.org>
parents:
diff changeset
4883 @defopt reftex-allow-detached-macro-args
Dave Love <fx@gnu.org>
parents:
diff changeset
4884 Non-@code{nil} means, allow arguments of macros to be detached by
Dave Love <fx@gnu.org>
parents:
diff changeset
4885 whitespace. When this is @code{t}, the @samp{aaa} in @w{@samp{\bbb
Dave Love <fx@gnu.org>
parents:
diff changeset
4886 [xxx] @{aaa@}}} will be considered an argument of @code{\bb}. Note that
Dave Love <fx@gnu.org>
parents:
diff changeset
4887 this will be the case even if @code{\bb} is defined with zero or one
Dave Love <fx@gnu.org>
parents:
diff changeset
4888 argument.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4889 @end defopt
Dave Love <fx@gnu.org>
parents:
diff changeset
4890
Dave Love <fx@gnu.org>
parents:
diff changeset
4891 @node Keymaps and Hooks, Changes, Options, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
4892 @section Keymaps and Hooks
Dave Love <fx@gnu.org>
parents:
diff changeset
4893 @cindex Keymaps
Dave Love <fx@gnu.org>
parents:
diff changeset
4894
Dave Love <fx@gnu.org>
parents:
diff changeset
4895 @b{Ref@TeX{}} has the usual general keymap and load-- and mode-hook.
Dave Love <fx@gnu.org>
parents:
diff changeset
4896
Dave Love <fx@gnu.org>
parents:
diff changeset
4897 @deffn Keymap reftex-mode-map
Dave Love <fx@gnu.org>
parents:
diff changeset
4898 The keymap for @b{Ref@TeX{}} mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
4899 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4900
Dave Love <fx@gnu.org>
parents:
diff changeset
4901 @deffn {Normal Hook} reftex-load-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4902 Normal hook which is being run when loading @file{reftex.el}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4903 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4904
Dave Love <fx@gnu.org>
parents:
diff changeset
4905 @deffn {Normal Hook} reftex-mode-hook
Dave Love <fx@gnu.org>
parents:
diff changeset
4906 Normal hook which is being run when turning on @b{Ref@TeX{}} mode.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4907 @end deffn
Dave Love <fx@gnu.org>
parents:
diff changeset
4908
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4909 Furthermore, the 4 modes used for referencing labels, creating
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4910 citations, the table of contents buffer and the phrases buffer have
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4911 their own keymaps and mode hooks. See the respective sections. There
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4912 are many more hooks which are described in the relevant sections about
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
4913 options for a specific part of @b{Ref@TeX{}}.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4914
Dave Love <fx@gnu.org>
parents:
diff changeset
4915 @node Changes, , Keymaps and Hooks, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
4916 @chapter Changes
Dave Love <fx@gnu.org>
parents:
diff changeset
4917 @cindex Changes
Dave Love <fx@gnu.org>
parents:
diff changeset
4918
Dave Love <fx@gnu.org>
parents:
diff changeset
4919 Here is a list of recent changes to @b{Ref@TeX{}}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4920
Dave Love <fx@gnu.org>
parents:
diff changeset
4921 @ignore
Dave Love <fx@gnu.org>
parents:
diff changeset
4922 @noindent @b{Version 1.00}
Dave Love <fx@gnu.org>
parents:
diff changeset
4923 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4924 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4925 released on 7 Jan 1997.
Dave Love <fx@gnu.org>
parents:
diff changeset
4926 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4927
Dave Love <fx@gnu.org>
parents:
diff changeset
4928 @noindent @b{Version 1.04}
Dave Love <fx@gnu.org>
parents:
diff changeset
4929 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4930 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4931 Macros as wrappers, AMSTeX support, delayed context parsing for
Dave Love <fx@gnu.org>
parents:
diff changeset
4932 new labels.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4933 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4934
Dave Love <fx@gnu.org>
parents:
diff changeset
4935 @noindent @b{Version 1.05}
Dave Love <fx@gnu.org>
parents:
diff changeset
4936 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4937 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4938 XEmacs port.
Dave Love <fx@gnu.org>
parents:
diff changeset
4939 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4940
Dave Love <fx@gnu.org>
parents:
diff changeset
4941 @noindent @b{Version 1.07}
Dave Love <fx@gnu.org>
parents:
diff changeset
4942 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4943 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4944 @b{Ref@TeX{}} gets its own menu.
Dave Love <fx@gnu.org>
parents:
diff changeset
4945 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4946
Dave Love <fx@gnu.org>
parents:
diff changeset
4947 @noindent @b{Version 1.09}
Dave Love <fx@gnu.org>
parents:
diff changeset
4948 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4949 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4950 Support for @code{tex-main-file}, an analogue for
Dave Love <fx@gnu.org>
parents:
diff changeset
4951 @code{TeX-master}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4952 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4953 MS-DOS support.
Dave Love <fx@gnu.org>
parents:
diff changeset
4954 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4955
Dave Love <fx@gnu.org>
parents:
diff changeset
4956 @noindent @b{Version 2.00}
Dave Love <fx@gnu.org>
parents:
diff changeset
4957 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4958 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4959 Labels can be derived from context (default for sections).
Dave Love <fx@gnu.org>
parents:
diff changeset
4960 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4961 Configuration of label insertion and label referencing revised.
Dave Love <fx@gnu.org>
parents:
diff changeset
4962 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4963 Crossref fields in BibTeX database entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
4964 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4965 @code{reftex-toc} introduced (thanks to Stephen Eglen).
Dave Love <fx@gnu.org>
parents:
diff changeset
4966 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4967
Dave Love <fx@gnu.org>
parents:
diff changeset
4968 @noindent @b{Version 2.03}
Dave Love <fx@gnu.org>
parents:
diff changeset
4969 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4970 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4971 @code{figure*}, @code{table*}, @code{sidewaysfigure/table} added to
Dave Love <fx@gnu.org>
parents:
diff changeset
4972 default environments.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4973 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4974 @code{reftex-bibfile-ignore-list} introduced (thanks to Rory Molinari).
Dave Love <fx@gnu.org>
parents:
diff changeset
4975 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4976 New functions @code{reftex-arg-label}, @code{reftex-arg-ref},
Dave Love <fx@gnu.org>
parents:
diff changeset
4977 @code{reftex-arg-cite}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4978 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4979 Emacs/XEmacs compatibility reworked. XEmacs 19.15 now is
Dave Love <fx@gnu.org>
parents:
diff changeset
4980 required.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4981 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4982 @code{reftex-add-to-label-alist} (to be called from AUCTeX style
Dave Love <fx@gnu.org>
parents:
diff changeset
4983 files).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
4984 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4985 Finding context with a hook function.
Dave Love <fx@gnu.org>
parents:
diff changeset
4986 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4987 Sorting BibTeX entries (new variable:
Dave Love <fx@gnu.org>
parents:
diff changeset
4988 @code{reftex-sort-bibtex-matches}).
Dave Love <fx@gnu.org>
parents:
diff changeset
4989 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4990
Dave Love <fx@gnu.org>
parents:
diff changeset
4991 @noindent @b{Version 2.05}
Dave Love <fx@gnu.org>
parents:
diff changeset
4992 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
4993 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4994 Support for @file{custom.el}.
Dave Love <fx@gnu.org>
parents:
diff changeset
4995 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
4996 New function @code{reftex-grep-document} (thanks to Stephen Eglen).
Dave Love <fx@gnu.org>
parents:
diff changeset
4997 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
4998
Dave Love <fx@gnu.org>
parents:
diff changeset
4999 @noindent @b{Version 2.07}
Dave Love <fx@gnu.org>
parents:
diff changeset
5000 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5001 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5002 New functions @code{reftex-search-document},
Dave Love <fx@gnu.org>
parents:
diff changeset
5003 @code{reftex-query-replace-document}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5004 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5005
Dave Love <fx@gnu.org>
parents:
diff changeset
5006 @noindent @b{Version 2.11}
Dave Love <fx@gnu.org>
parents:
diff changeset
5007 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5008 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5009 Submitted for inclusion to Emacs and XEmacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
5010 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5011
Dave Love <fx@gnu.org>
parents:
diff changeset
5012 @noindent @b{Version 2.14}
Dave Love <fx@gnu.org>
parents:
diff changeset
5013 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5014 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5015 Variable @code{reftex-plug-into-AUCTeX} simplifies cooperation with
Dave Love <fx@gnu.org>
parents:
diff changeset
5016 AUCTeX.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5017 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5018
Dave Love <fx@gnu.org>
parents:
diff changeset
5019 @noindent @b{Version 2.17}
Dave Love <fx@gnu.org>
parents:
diff changeset
5020 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5021 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5022 Label prefix expands % escapes with current file name and other stuff.
Dave Love <fx@gnu.org>
parents:
diff changeset
5023 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5024 Citation format now with % escapes. This is not backward
Dave Love <fx@gnu.org>
parents:
diff changeset
5025 compatible!@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5026 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5027 TEXINPUTS variable recognized when looking for input files.
Dave Love <fx@gnu.org>
parents:
diff changeset
5028 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5029 Context can be the nth argument of a macro.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5030 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5031 Searching in the select buffer is now possible (@kbd{C-s} and
Dave Love <fx@gnu.org>
parents:
diff changeset
5032 @kbd{C-r}).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5033 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5034 Display and derive-label can use two different context methods.
Dave Love <fx@gnu.org>
parents:
diff changeset
5035 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5036 AMSmath @code{xalignat} and @code{xxalignat} added.
Dave Love <fx@gnu.org>
parents:
diff changeset
5037 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5038
Dave Love <fx@gnu.org>
parents:
diff changeset
5039 @noindent @b{Version 3.00}
Dave Love <fx@gnu.org>
parents:
diff changeset
5040 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5041 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5042 @b{Ref@TeX{}} should work better for very large projects:
Dave Love <fx@gnu.org>
parents:
diff changeset
5043 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5044 The new parser works without creating a master buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
5045 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5046 Rescanning can be limited to a part of a multifile document.
Dave Love <fx@gnu.org>
parents:
diff changeset
5047 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5048 Information from the parser can be stored in a file.
Dave Love <fx@gnu.org>
parents:
diff changeset
5049 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5050 @b{Ref@TeX{}} can deal with macros having a naked label as an argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
5051 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5052 Macros may have white space and newlines between arguments.
Dave Love <fx@gnu.org>
parents:
diff changeset
5053 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5054 Multiple identical section headings no longer confuse
Dave Love <fx@gnu.org>
parents:
diff changeset
5055 @code{reftex-toc}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5056 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5057 @b{Ref@TeX{}} should work correctly in combination with buffer-altering
Dave Love <fx@gnu.org>
parents:
diff changeset
5058 packages like outline, folding, x-symbol, iso-cvt, isotex, etc.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5059 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5060 All labeled environments discussed in @emph{The LaTeX Companion} by
Dave Love <fx@gnu.org>
parents:
diff changeset
5061 Goossens, Mittelbach & Samarin, Addison-Wesley 1994) are part of
Dave Love <fx@gnu.org>
parents:
diff changeset
5062 @b{Ref@TeX{}}'s defaults.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5063 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5064
Dave Love <fx@gnu.org>
parents:
diff changeset
5065 @noindent @b{Version 3.03}
Dave Love <fx@gnu.org>
parents:
diff changeset
5066 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5067 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5068 Support for the LaTeX package @code{xr}, for inter-document
Dave Love <fx@gnu.org>
parents:
diff changeset
5069 references.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5070 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5071 A few (minor) Mule-related changes.
Dave Love <fx@gnu.org>
parents:
diff changeset
5072 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5073 Fixed bug which could cause @emph{huge} @file{.rel} files.
Dave Love <fx@gnu.org>
parents:
diff changeset
5074 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5075 Search for input and @file{.bib} files with recursive path definitions.
Dave Love <fx@gnu.org>
parents:
diff changeset
5076 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5077
Dave Love <fx@gnu.org>
parents:
diff changeset
5078 @noindent @b{Version 3.04}
Dave Love <fx@gnu.org>
parents:
diff changeset
5079 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5080 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5081 Fixed BUG in the @emph{xr} support.
Dave Love <fx@gnu.org>
parents:
diff changeset
5082 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5083
Dave Love <fx@gnu.org>
parents:
diff changeset
5084 @noindent @b{Version 3.05}
Dave Love <fx@gnu.org>
parents:
diff changeset
5085 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5086 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5087 Compatibility code now first checks for XEmacs feature.
Dave Love <fx@gnu.org>
parents:
diff changeset
5088 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5089
Dave Love <fx@gnu.org>
parents:
diff changeset
5090 @noindent @b{Version 3.07}
Dave Love <fx@gnu.org>
parents:
diff changeset
5091 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5092 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5093 @code{Ref} menu improved.
Dave Love <fx@gnu.org>
parents:
diff changeset
5094 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5095
Dave Love <fx@gnu.org>
parents:
diff changeset
5096 @noindent @b{Version 3.10}
Dave Love <fx@gnu.org>
parents:
diff changeset
5097 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5098 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5099 Fixed a bug which made reftex 3.07 fail on [X]Emacs version 19.
Dave Love <fx@gnu.org>
parents:
diff changeset
5100 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5101 Removed unimportant code which caused OS/2 Emacs to crash.
Dave Love <fx@gnu.org>
parents:
diff changeset
5102 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5103 All customization variables now accessible from menu.
Dave Love <fx@gnu.org>
parents:
diff changeset
5104 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5105
Dave Love <fx@gnu.org>
parents:
diff changeset
5106 @noindent @b{Version 3.11}
Dave Love <fx@gnu.org>
parents:
diff changeset
5107 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5108 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5109 Fixed bug which led to naked label in (e.g.) footnotes.
Dave Love <fx@gnu.org>
parents:
diff changeset
5110 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5111 Added scroll-other-window functions to RefTeX-Select.
Dave Love <fx@gnu.org>
parents:
diff changeset
5112 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5113
Dave Love <fx@gnu.org>
parents:
diff changeset
5114 @noindent @b{Version 3.12}
Dave Love <fx@gnu.org>
parents:
diff changeset
5115 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5116 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5117 There are 3 new keymaps for customization: @code{reftex-toc-map},
Dave Love <fx@gnu.org>
parents:
diff changeset
5118 @code{reftex-select-label-map}, @code{reftex-select-bib-map}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5119 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5120 Refontification uses more standard font-lock stuff.
Dave Love <fx@gnu.org>
parents:
diff changeset
5121 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5122 When no BibTeX database files are specified, citations can also use
Dave Love <fx@gnu.org>
parents:
diff changeset
5123 @code{\bibitem} entries from a @code{thebibliography} environment.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5124 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5125
Dave Love <fx@gnu.org>
parents:
diff changeset
5126 @noindent @b{Version 3.14}
Dave Love <fx@gnu.org>
parents:
diff changeset
5127 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5128 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5129 Selection buffers can be kept between selections: this is faster.
Dave Love <fx@gnu.org>
parents:
diff changeset
5130 See new variable @code{reftex-use-multiple-selection-buffers}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5131 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5132 Prefix interpretation of reftex-view-crossref changed.
Dave Love <fx@gnu.org>
parents:
diff changeset
5133 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5134 Support for the @code{varioref} package (@kbd{v} key in selection
Dave Love <fx@gnu.org>
parents:
diff changeset
5135 buffer).@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5136 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5137
Dave Love <fx@gnu.org>
parents:
diff changeset
5138 @noindent @b{Version 3.16}
Dave Love <fx@gnu.org>
parents:
diff changeset
5139 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5140 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5141 New hooks @code{reftex-format-label-function},
Dave Love <fx@gnu.org>
parents:
diff changeset
5142 @code{reftex-format-ref-function}, @code{reftex-format-cite-function}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5143 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5144 TeXInfo documentation completed.
Dave Love <fx@gnu.org>
parents:
diff changeset
5145 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5146 Some restrictions in Label inserting and referencing removed.
Dave Love <fx@gnu.org>
parents:
diff changeset
5147 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5148 New variable @code{reftex-default-bibliography}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5149 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5150
Dave Love <fx@gnu.org>
parents:
diff changeset
5151 @noindent @b{Version 3.17}
Dave Love <fx@gnu.org>
parents:
diff changeset
5152 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5153 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5154 Additional bindings in selection and @file{*toc*} buffers. @kbd{g}
Dave Love <fx@gnu.org>
parents:
diff changeset
5155 redefined.
Dave Love <fx@gnu.org>
parents:
diff changeset
5156 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5157 New command @code{reftex-save-all-document-buffers}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5158 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5159 Magic word matching made more intelligent.
Dave Love <fx@gnu.org>
parents:
diff changeset
5160 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5161 Selection process can switch to completion (with @key{TAB}).
Dave Love <fx@gnu.org>
parents:
diff changeset
5162 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5163 @code{\appendix} is now recognized and influences section numbering.
Dave Love <fx@gnu.org>
parents:
diff changeset
5164 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5165 File commentary shortened considerably (use Info documentation).
Dave Love <fx@gnu.org>
parents:
diff changeset
5166 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5167 New option @code{reftex-no-include-regexps} to skip some include files.
Dave Love <fx@gnu.org>
parents:
diff changeset
5168 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5169 New option @code{reftex-revisit-to-follow}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5170 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5171
Dave Love <fx@gnu.org>
parents:
diff changeset
5172 @noindent @b{Version 3.18}
Dave Love <fx@gnu.org>
parents:
diff changeset
5173 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5174 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5175 The selection now uses a recursive edit, much like minibuffer input.
Dave Love <fx@gnu.org>
parents:
diff changeset
5176 This removes all restrictions during selection. E.g. you can now
Dave Love <fx@gnu.org>
parents:
diff changeset
5177 switch buffers at will, use the mouse etc.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5178 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5179 New option @code{reftex-highlight-selection}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5180 @item
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
5181 @kbd{mouse-2} can be used to select in selection and @file{*toc*}
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
5182 buffers.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5183 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5184 Fixed some problems regarding the interaction with VIPER mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
5185 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5186 Follow-mode is now only used after point motion.
Dave Love <fx@gnu.org>
parents:
diff changeset
5187 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5188 @b{Ref@TeX{}} now finally does not fontify temporary files anymore.
Dave Love <fx@gnu.org>
parents:
diff changeset
5189 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5190
Dave Love <fx@gnu.org>
parents:
diff changeset
5191 @noindent @b{Version 3.19}
Dave Love <fx@gnu.org>
parents:
diff changeset
5192 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5193 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5194 Fixed bug with AUCTeX @code{TeX-master}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5195 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5196
Dave Love <fx@gnu.org>
parents:
diff changeset
5197 @noindent @b{Version 3.21}
Dave Love <fx@gnu.org>
parents:
diff changeset
5198 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5199 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5200 New options for all faces used by @b{Ref@TeX{}}. They're in the
Dave Love <fx@gnu.org>
parents:
diff changeset
5201 customization group @code{reftex-fontification-configurations}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5202 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5203
Dave Love <fx@gnu.org>
parents:
diff changeset
5204 @noindent @b{Version 3.22}
Dave Love <fx@gnu.org>
parents:
diff changeset
5205 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5206 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5207 Fixed bug with empty context strings.
Dave Love <fx@gnu.org>
parents:
diff changeset
5208 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5209 @code{reftex-mouse-view-crossref} is now bound by default at
37999
8e7df927fd92 Updated to version 4.16
Carsten Dominik <dominik@science.uva.nl>
parents: 37404
diff changeset
5210 @kbd{S-mouse-2}.@refill
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
5211 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5212
Dave Love <fx@gnu.org>
parents:
diff changeset
5213 @noindent @b{Version 3.23}
Dave Love <fx@gnu.org>
parents:
diff changeset
5214 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5215 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5216 Parse files @file{MASTER.rel} made compatible between Emacs and XEmacs.
Dave Love <fx@gnu.org>
parents:
diff changeset
5217 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5218 @code{kill-emacs-hook} and @code{kill-buffer-hook} now write the parse
Dave Love <fx@gnu.org>
parents:
diff changeset
5219 file.
Dave Love <fx@gnu.org>
parents:
diff changeset
5220 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5221 The cursor inside a @code{\ref} or @code{\cite} macro can now trigger
Dave Love <fx@gnu.org>
parents:
diff changeset
5222 automatic display of crossref information in the echo area. See
Dave Love <fx@gnu.org>
parents:
diff changeset
5223 variable @code{reftex-auto-view-crossref}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5224 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5225 AUCTeX interface updates:
Dave Love <fx@gnu.org>
parents:
diff changeset
5226 @itemize @minus
Dave Love <fx@gnu.org>
parents:
diff changeset
5227 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5228 AUCTeX 9.9c and later notifies @b{Ref@TeX{}} about new sections.
Dave Love <fx@gnu.org>
parents:
diff changeset
5229 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5230 @b{Ref@TeX{}} notifies AUCTeX about new labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
5231 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5232 @code{TeX-arg-ref} no longer used (introduction was unnecessary).
Dave Love <fx@gnu.org>
parents:
diff changeset
5233 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5234 @code{reftex-arg-label} and @code{reftex-arg-cite} fixed up.
Dave Love <fx@gnu.org>
parents:
diff changeset
5235 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5236 Settings added to @b{Ref@TeX{}} via style files remain local.
Dave Love <fx@gnu.org>
parents:
diff changeset
5237 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5238 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5239 Fixed bug with @code{reftex-citation} in non-latex buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
5240 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5241 Fixed bug with syntax table and context refontification.
Dave Love <fx@gnu.org>
parents:
diff changeset
5242 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5243 Safety-net for name change of @code{font-lock-reference-face}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5244 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5245
Dave Love <fx@gnu.org>
parents:
diff changeset
5246 @noindent @b{Version 3.24}
Dave Love <fx@gnu.org>
parents:
diff changeset
5247 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5248 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5249 New option @code{reftex-revisit-to-echo}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5250 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5251 Interface with X-Symbol (>=2.6) is now complete and stable.
Dave Love <fx@gnu.org>
parents:
diff changeset
5252 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5253 Adapted to new outline, which uses overlays.
Dave Love <fx@gnu.org>
parents:
diff changeset
5254 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5255 File names in @code{\bibliography} may now have the @code{.bib}
Dave Love <fx@gnu.org>
parents:
diff changeset
5256 extension.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5257 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5258 Fixed Bug with parsing "single file" from master file buffer.
Dave Love <fx@gnu.org>
parents:
diff changeset
5259 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5260
Dave Love <fx@gnu.org>
parents:
diff changeset
5261 @noindent @b{Version 3.25}
Dave Love <fx@gnu.org>
parents:
diff changeset
5262 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5263 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5264 Echoing of citation info caches the info for displayed entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
5265 New option @code{reftex-cache-cite-echo}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5266 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5267 @kbd{M-x reftex-reset-mode} now also removes the file with parsing
Dave Love <fx@gnu.org>
parents:
diff changeset
5268 info.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5269 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5270 Default of @code{reftex-revisit-to-follow} changed to nil.
Dave Love <fx@gnu.org>
parents:
diff changeset
5271 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5272
Dave Love <fx@gnu.org>
parents:
diff changeset
5273 @noindent @b{Version 3.26}
Dave Love <fx@gnu.org>
parents:
diff changeset
5274 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5275 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5276 [X]Emacs 19 no longer supported. Use 3.22 for Emacs 19.
Dave Love <fx@gnu.org>
parents:
diff changeset
5277 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5278 New hooks @code{reftex-translate-to-ascii-function},
Dave Love <fx@gnu.org>
parents:
diff changeset
5279 @code{reftex-string-to-label-function}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5280 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5281 Made sure automatic crossref display will not visit/scan files.
Dave Love <fx@gnu.org>
parents:
diff changeset
5282 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5283
Dave Love <fx@gnu.org>
parents:
diff changeset
5284 @noindent @b{Version 3.27}
Dave Love <fx@gnu.org>
parents:
diff changeset
5285 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5286 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5287 Macros can define @emph{neutral} labels, just like @code{\label}
Dave Love <fx@gnu.org>
parents:
diff changeset
5288 itself.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5289 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5290 New option @code{reftex-allow-detached-macro-args}, default @code{nil}!
Dave Love <fx@gnu.org>
parents:
diff changeset
5291 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5292
Dave Love <fx@gnu.org>
parents:
diff changeset
5293 @noindent @b{Version 3.28}
Dave Love <fx@gnu.org>
parents:
diff changeset
5294 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5295 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5296 Auto view crossref for XEmacs uses @code{post-command-hook} to restart the
Dave Love <fx@gnu.org>
parents:
diff changeset
5297 timer, since itimer restart is not reliable.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5298 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5299 Option @code{reftex-bibfile-ignore-list} renamed to @code{-regexps}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5300 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5301 Expansion of recursive tex and bib path rewritten.
Dave Love <fx@gnu.org>
parents:
diff changeset
5302 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5303 Fixed problem where @b{Ref@TeX{}} did not scan unsaved buffers.
Dave Love <fx@gnu.org>
parents:
diff changeset
5304 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5305 Fixed bug with section numbering after *-red sections.
Dave Love <fx@gnu.org>
parents:
diff changeset
5306 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5307
Dave Love <fx@gnu.org>
parents:
diff changeset
5308 @noindent @b{Version 3.30}
Dave Love <fx@gnu.org>
parents:
diff changeset
5309 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5310 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5311 In @code{reftex-citation}, the regular expression used to scan BibTeX
Dave Love <fx@gnu.org>
parents:
diff changeset
5312 files can be specified using completion on known citation keys.
Dave Love <fx@gnu.org>
parents:
diff changeset
5313 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5314 New keys @kbd{a} and @kbd{A} in BibTeX selection process to cite @emph{all}
Dave Love <fx@gnu.org>
parents:
diff changeset
5315 entries.
Dave Love <fx@gnu.org>
parents:
diff changeset
5316 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5317 New command @code{reftex-renumber-simple-labels} to renumber simple
Dave Love <fx@gnu.org>
parents:
diff changeset
5318 labels like @samp{eq:13} sequentially through a document.
Dave Love <fx@gnu.org>
parents:
diff changeset
5319 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5320 @noindent @b{Version 3.33}
Dave Love <fx@gnu.org>
parents:
diff changeset
5321 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5322 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5323 Multiple selection buffers are now hidden buffers (they start with a
Dave Love <fx@gnu.org>
parents:
diff changeset
5324 SPACE).
Dave Love <fx@gnu.org>
parents:
diff changeset
5325 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5326 Fixed bug with file search when TEXINPUTS environment variable is empty.
Dave Love <fx@gnu.org>
parents:
diff changeset
5327 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5328 @noindent @b{Version 3.34}
Dave Love <fx@gnu.org>
parents:
diff changeset
5329 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5330 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5331 Additional flag in @code{reftex-derive-label-parameters} do make only
Dave Love <fx@gnu.org>
parents:
diff changeset
5332 lowercase labels (default @code{t}).
Dave Love <fx@gnu.org>
parents:
diff changeset
5333 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5334 All @file{.rel} files have a final newline to avoid queries.
Dave Love <fx@gnu.org>
parents:
diff changeset
5335 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5336 Single byte representations of accented European letters (ISO-8859-1)
Dave Love <fx@gnu.org>
parents:
diff changeset
5337 are now legal in labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
5338 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5339 @noindent @b{Version 3.35}
Dave Love <fx@gnu.org>
parents:
diff changeset
5340 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5341 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5342 ISO 8859 Latin-1 chars are converted to ASCII to derive better labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
5343 This takes back the related changes in 3.34 for safety reasons.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5344 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5345 @noindent @b{Version 3.36}
Dave Love <fx@gnu.org>
parents:
diff changeset
5346 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5347 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5348 New value @code{window} for option @code{reftex-auto-view-crossref}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5349 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5350 @noindent @b{Version 3.38}
Dave Love <fx@gnu.org>
parents:
diff changeset
5351 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5352 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5353 @code{reftex-view-crossref} no longer moves to find a macro. Point has
Dave Love <fx@gnu.org>
parents:
diff changeset
5354 to be on the macro argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
5355 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5356 @noindent @b{Version 3.41}
Dave Love <fx@gnu.org>
parents:
diff changeset
5357 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5358 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5359 New options @code{reftex-texpath-environment-variables},
Dave Love <fx@gnu.org>
parents:
diff changeset
5360 @code{reftex-use-external-file-finders},
Dave Love <fx@gnu.org>
parents:
diff changeset
5361 @code{reftex-external-file-finders},
Dave Love <fx@gnu.org>
parents:
diff changeset
5362 @code{reftex-search-unrecursed-path-first}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5363 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5364 @emph{kpathsearch} support. See new options and
Dave Love <fx@gnu.org>
parents:
diff changeset
5365 @code{reftex-bibpath-environment-variables}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5366 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5367 @noindent @b{Version 3.42}
Dave Love <fx@gnu.org>
parents:
diff changeset
5368 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5369 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5370 File search further refined. New option @code{reftex-file-extensions}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5371 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5372 @file{*toc*} buffer can show the file boundaries of a multifile
Dave Love <fx@gnu.org>
parents:
diff changeset
5373 document, all labels and associated context. New keys @kbd{i}, @kbd{l},
Dave Love <fx@gnu.org>
parents:
diff changeset
5374 and @kbd{c}. New options @code{reftex-toc-include-labels},
Dave Love <fx@gnu.org>
parents:
diff changeset
5375 @code{reftex-toc-include-context},
Dave Love <fx@gnu.org>
parents:
diff changeset
5376 @code{reftex-toc-include-file-boundaries}. @refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5377 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5378 @noindent @b{Version 3.43}
Dave Love <fx@gnu.org>
parents:
diff changeset
5379 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5380 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5381 Viewing cross-references generalized. Now works on @code{\label},
Dave Love <fx@gnu.org>
parents:
diff changeset
5382 @code{\ref}, @code{\cite}, @code{\bibitem}, @code{\index}, variations of
Dave Love <fx@gnu.org>
parents:
diff changeset
5383 these, and from BibTeX buffers.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5384 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5385 New option @code{reftex-view-crossref-extra}.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5386 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5387 Support for the additional sectioning commands @code{\addchap} and
Dave Love <fx@gnu.org>
parents:
diff changeset
5388 @code{\addsec} which are defined in the LaTeX KOMA-Script classes.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5389 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5390 Files in @code{reftex-default-bibliography} will be searched along
Dave Love <fx@gnu.org>
parents:
diff changeset
5391 @code{BIBINPUTS} path.@refill
Dave Love <fx@gnu.org>
parents:
diff changeset
5392 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5393 Reading a parse file now checks consistency.
Dave Love <fx@gnu.org>
parents:
diff changeset
5394 @end itemize
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5395 @end ignore
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
5396 @noindent @b{Version 4.00}
Dave Love <fx@gnu.org>
parents:
diff changeset
5397 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5398 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5399 RefTeX has been split into several smaller files which are autoloaded on
Dave Love <fx@gnu.org>
parents:
diff changeset
5400 demand.
Dave Love <fx@gnu.org>
parents:
diff changeset
5401 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5402 Index support, along with many new options.
Dave Love <fx@gnu.org>
parents:
diff changeset
5403 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5404 The selection of keys for @code{\ref} and @code{\cite} now allows to
Dave Love <fx@gnu.org>
parents:
diff changeset
5405 select multiple items by marking entries with the @kbd{m} key.
Dave Love <fx@gnu.org>
parents:
diff changeset
5406 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5407 Fancyref support.
Dave Love <fx@gnu.org>
parents:
diff changeset
5408 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5409 @noindent @b{Version 4.01}
Dave Love <fx@gnu.org>
parents:
diff changeset
5410 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5411 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5412 New command @code{reftex-index-globally} to index a word in many
Dave Love <fx@gnu.org>
parents:
diff changeset
5413 places in the document. Also available from the index buffer with
Dave Love <fx@gnu.org>
parents:
diff changeset
5414 @kbd{&}.
Dave Love <fx@gnu.org>
parents:
diff changeset
5415 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5416 The first item in a @code{reftex-label-alist} entry may now also be a parser
Dave Love <fx@gnu.org>
parents:
diff changeset
5417 function to do non-standard parsing.
Dave Love <fx@gnu.org>
parents:
diff changeset
5418 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5419 @code{reftex-auto-view-crossref} no longer interferes with
Dave Love <fx@gnu.org>
parents:
diff changeset
5420 @code{pop-up-frames} (patch from Stefan Monnier).
Dave Love <fx@gnu.org>
parents:
diff changeset
5421 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5422 @noindent @b{Version 4.02}
Dave Love <fx@gnu.org>
parents:
diff changeset
5423 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5424 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5425 macros ending in @samp{refrange} are considered to contain references.
Dave Love <fx@gnu.org>
parents:
diff changeset
5426 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5427 Index entries made with @code{reftex-index-selection-or-word} in TeX
Dave Love <fx@gnu.org>
parents:
diff changeset
5428 math mode automatically get enclosing @samp{$} to preserve math mode. See
Dave Love <fx@gnu.org>
parents:
diff changeset
5429 new option @code{reftex-index-math-format}. Requires AUCTeX.
Dave Love <fx@gnu.org>
parents:
diff changeset
5430 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5431 @noindent @b{Version 4.04}
Dave Love <fx@gnu.org>
parents:
diff changeset
5432 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5433 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5434 New option @code{reftex-index-default-tag} implements a default for queries.
Dave Love <fx@gnu.org>
parents:
diff changeset
5435 @end itemize
Dave Love <fx@gnu.org>
parents:
diff changeset
5436 @noindent @b{Version 4.06}
Dave Love <fx@gnu.org>
parents:
diff changeset
5437 @itemize @bullet
Dave Love <fx@gnu.org>
parents:
diff changeset
5438 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5439 @code{reftex-section-levels} can contain a function to compute the level
Dave Love <fx@gnu.org>
parents:
diff changeset
5440 of a sectioning command.
Dave Love <fx@gnu.org>
parents:
diff changeset
5441 @item
Dave Love <fx@gnu.org>
parents:
diff changeset
5442 Multiple @code{thebibliography} environments recognized.
Dave Love <fx@gnu.org>
parents:
diff changeset
5443 @end itemize
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5444 @noindent @b{Version 4.09}
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5445 @itemize @bullet
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5446 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5447 New option @code{reftex-toc-max-level} to limit the depth of the toc.
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 38003
diff changeset
5448 New key binding @kbd{t} in the @file{*toc*} buffer to change this
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5449 setting.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5450 @item
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46684
diff changeset
5451 RefTeX maintains an @file{Index Phrases} file in which phrases can be
26911
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5452 collected. When the document is ready, RefTeX can search all
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5453 these phrases and assist indexing all matches.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5454 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5455 The variables @code{reftex-index-macros} and
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5456 @code{reftex-index-default-macro} have changed their syntax slightly.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5457 The @var{repeat} parameter has move from the latter to the former.
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5458 Also calls to @code{reftex-add-index-macros} from AUCTeX style files
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5459 need to be adapted.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5460 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5461 The variable @code{reftex-section-levels} no longer contains the
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5462 default stuff which has been moved to a constant.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5463 @item
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5464 Environments like theorems can be placed into the TOC by putting
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5465 entries for @samp{"begin@{theorem@}"} in
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5466 @code{reftex-setion-levels}.@refill
d7f536a01276 Update to reftex 4.9
Carsten Dominik <dominik@science.uva.nl>
parents: 25829
diff changeset
5467 @end itemize
27195
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5468 @noindent @b{Version 4.10}
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5469 @itemize @bullet
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5470 @item
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5471 Renamed @file{reftex-vcr.el} to @file{reftex-dcr.el} because of conflict
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5472 with @file{reftex-vars.el} on DOS machines.
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5473 @item
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5474 New options @code{reftex-parse-file-extension} and
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5475 @code{reftex-index-phrase-file-extension}.
d7311a9cb223 version 4.10
Carsten Dominik <dominik@science.uva.nl>
parents: 26911
diff changeset
5476 @end itemize
27604
0b645a4a64fa RefTeX 4.11
Carsten Dominik <dominik@science.uva.nl>
parents: 27195
diff changeset
5477 @noindent @b{Version 4.11}
0b645a4a64fa RefTeX 4.11
Carsten Dominik <dominik@science.uva.nl>
parents: 27195
diff changeset
5478 @itemize @bullet
0b645a4a64fa RefTeX 4.11
Carsten Dominik <dominik@science.uva.nl>
parents: 27195
diff changeset
5479 @item
0b645a4a64fa RefTeX 4.11
Carsten Dominik <dominik@science.uva.nl>
parents: 27195
diff changeset
5480 Fixed bug which would parse @samp{\Section} just like @samp{\section}.
0b645a4a64fa RefTeX 4.11
Carsten Dominik <dominik@science.uva.nl>
parents: 27195
diff changeset
5481 @end itemize
29772
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
5482 @noindent @b{Version 4.12}
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
5483 @itemize @bullet
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
5484 @item
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
5485 Support for @file{bibentry} citation style.
265fdb06f294 Update to reftex 4 14
Carsten Dominik <dominik@science.uva.nl>
parents: 29713
diff changeset
5486 @end itemize
34403
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5487 @noindent @b{Version 4.15}
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5488 @itemize @bullet
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5489 @item
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5490 Fixed bug with parsing of BibTeX files, when fields contain quotes or
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5491 unmatched parenthesis.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5492 @item
34403
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5493 Small bug fixes.
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5494 @item
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5495 Improved interaction with Emacs LaTeX mode.
6679ef9b33fe RefTeX 4.15 update
Carsten Dominik <dominik@science.uva.nl>
parents: 30009
diff changeset
5496 @end itemize
46684
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5497 @noindent @b{Version 4.17}
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5498 @itemize @bullet
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5499 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5500 The toc window can be split off horizontally. See new options
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5501 @code{reftex-toc-split-windows-horizontally},
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5502 @code{reftex-toc-split-windows-horizontally-fraction}.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5503 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5504 It is possible to specify a function which verifies an index match
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5505 during global indexing. See new option @code{reftex-index-verify-function}.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5506 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5507 The macros which input a file in LaTeX (like \input, \include) can
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5508 be configured. See new option @code{reftex-include-file-commands}.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5509 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5510 The macros which specify the bibliography file (like \bibliography) can
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5511 be configured. See new option @code{reftex-bibliography-commands}.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5512 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5513 The regular expression used to search for the \bibliography macro has
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5514 been relaxed to allow for @samp{@{\bibliography@{...@}@}} needed by
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5515 chapterbib.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5516 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5517 Small bug fixes.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5518 @end itemize
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5519 @noindent @b{Version 4.18}
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5520 @itemize @bullet
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5521 @item
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5522 @code{reftex-citation} uses the word before the cursor as a default
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5523 search string.
9569bac241a3 Update to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents: 46272
diff changeset
5524 @end itemize
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
5525
Dave Love <fx@gnu.org>
parents:
diff changeset
5526 @node Index, , , Top
Dave Love <fx@gnu.org>
parents:
diff changeset
5527 @unnumbered Index
Dave Love <fx@gnu.org>
parents:
diff changeset
5528 @printindex cp
Dave Love <fx@gnu.org>
parents:
diff changeset
5529
Dave Love <fx@gnu.org>
parents:
diff changeset
5530 @summarycontents
Dave Love <fx@gnu.org>
parents:
diff changeset
5531 @contents
Dave Love <fx@gnu.org>
parents:
diff changeset
5532 @bye
Dave Love <fx@gnu.org>
parents:
diff changeset
5533