;;; reftex-vars.el --- configuration variables for RefTeX
-;; Copyright (C) 1997-1999, 2001-2013 Free Software Foundation, Inc.
+;; Copyright (C) 1997-1999, 2001-2015 Free Software Foundation, Inc.
;; Author: Carsten Dominik <dominik@science.uva.nl>
;; Maintainer: auctex-devel@gnu.org
(("wrapfigure" ?f nil nil caption)))
(ctable "The ctable package"
- (("\\ctable[]{}{}{}" ?t "tab:" "\\ref{%s}" 1 ("table" "Tabelle"))))
+ (("\\ctable[]{}{}{}" ?t "tab:" "~\\ref{%s}" 1 ("table" "Tabelle"))))
(listings "The listings package"
(("lstlisting" ?l "lst:" "~\\ref{%s}" nil (regexp "[Ll]isting"))))
;; The label macro is hard coded, but it *could* be defined like this:
;;("\\label{*}" nil nil nil nil)
- )))
+ ))
+
+ ;; Texinfo
+ (Texinfo "Texinfo default environments" nil))
"The default label environment descriptions.
Lower-case symbols correspond to a style file of the same name in the LaTeX
distribution. Mixed-case symbols are convenience aliases.")
The file name is expected after the command, either in braces or separated
by whitespace."
:group 'reftex-table-of-contents-browser
+ :set 'reftex-set-dirty
:type '(repeat string))
(defcustom reftex-max-section-depth 12
(string :tag ""))
(option (boolean :tag "Downcase words "))))
+(if (featurep 'xemacs)
+ ;; XEmacs 21.5 doesn't have explicitly numbered matching groups,
+ ;; so this list mustn't get any more items.
+ (defconst reftex-label-regexps '("\\\\label{\\([^}]*\\)}"))
+ (defcustom reftex-label-regexps
+ '(;; Normal \\label{foo} labels
+ "\\\\label{\\(?1:[^}]*\\)}"
+ ;; keyvals [..., label = {foo}, ...] forms used by ctable,
+ ;; listings, minted, ...
+ "\\[[^]]*\\<label[[:space:]]*=[[:space:]]*{?\\(?1:[^],}]+\\)}?")
+ "List of regexps matching \\label definitions.
+The default value matches usual \\label{...} definitions and
+keyval style [..., label = {...}, ...] label definitions. It is
+assumed that the regexp group 1 matches the label text, so you
+have to define it using \\(?1:...\\) when adding new regexps.
+
+When changed from Lisp, make sure to call
+`reftex-compile-variables' afterwards to make the change
+effective."
+ :version "24.4"
+ :set (lambda (symbol value)
+ (set symbol value)
+ (when (fboundp 'reftex-compile-variables)
+ (reftex-compile-variables)))
+ :group 'reftex-defining-label-environments
+ :type '(repeat (regexp :tag "Regular Expression"))))
+
+(defcustom reftex-label-ignored-macros-and-environments nil
+ "List of macros and environments to be ignored when searching for labels.
+The purpose is to ignore environments and macros that use keyval
+style label=foo arguments, but the label has a different meaning
+than a \\label{foo}. Standard \\label{...} definitions are never
+ignored.
+
+E.g., TikZ defines several macros/environments where [label=foo]
+defines the label to be printed at some node or edge, but it's
+not a label used for referencing.
+
+Note that this feature is only supported if you are using AUCTeX
+and the functions `TeX-current-macro' and
+`LaTeX-current-environment' are bound. Also note that this
+feature might slow down the reftex parsing process for large TeX
+files."
+ :version "24.4"
+ :group 'reftex-defining-label-environments
+ :type '(repeat string))
+
(defcustom reftex-label-illegal-re "[^-a-zA-Z0-9_+=:;,.]"
"Regexp matching characters not valid in labels."
:group 'reftex-making-and-inserting-labels
FORMAT, which usually is `\\label{%s}'. The function should return the
string to insert into the buffer."
:group 'reftex-making-and-inserting-labels
- :type 'function)
+ :type '(choice (const nil) function))
;; Label referencing
("Fancyref" "fancyref"
(("\\fref" ?f) ("\\Fref" ?F)))
("Hyperref" "hyperref"
- (("\\autoref" ?a) ("\\autopageref" ?u))))
+ (("\\autoref" ?a) ("\\autopageref" ?u)))
+ ("Cleveref" "cleveref"
+ (("\\cref" ?c) ("\\Cref" ?C) ("\\cpageref" ?d) ("\\Cpageref" ?D))))
"Alist of reference styles.
Each element is a list of the style name, the name of the LaTeX
package associated with the style or t for any package, and an
:group 'reftex)
(defcustom reftex-bibliography-commands
- '("bibliography" "nobibliography" "setupbibtex\\[.*?database=")
+ '("bibliography" "nobibliography" "setupbibtex\\[.*?database=" "addbibresource")
"LaTeX commands which specify the BibTeX databases to use with the document."
:group 'reftex-citation-support
:type '(repeat string))
:group 'reftex-index-support
:type '(choice
(const :tag "no default" nil)
- (const :tag "last used " 'last)
+ (const :tag "last used " last)
(string :tag "index tag " "idx")))
(defcustom reftex-index-math-format "$%s$"