+(defcustom reftex-ref-style-alist
+ '(("Default" t
+ (("\\ref" ?\C-m) ("\\pageref" ?p)))
+ ("Varioref" "varioref"
+ (("\\vref" ?v) ("\\vpageref" ?g) ("\\Vref" ?V) ("\\Ref" ?R)))
+ ("Fancyref" "fancyref"
+ (("\\fref" ?f) ("\\Fref" ?F)))
+ ("Hyperref" "hyperref"
+ (("\\autoref" ?a) ("\\autopageref" ?u))))
+ "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
+alist of macros where the first entry of each item is the
+reference macro and the second a key for selecting the macro when
+the macro type is being prompted for. (See also
+`reftex-ref-macro-prompt'.) The keys, represented as characters,
+have to be unique."
+ :group 'reftex-referencing-labels
+ :version "24.3"
+ :type '(alist :key-type (string :tag "Style name")
+ :value-type (group (choice :tag "Package"
+ (const :tag "Any package" t)
+ (string :tag "Name"))
+ (repeat :tag "Macros"
+ (group (string :tag "Macro")
+ (character :tag "Key"))))))
+
+(defcustom reftex-ref-macro-prompt t
+ "If non-nil, `reftex-reference' prompts for the reference macro."
+ :group 'reftex-referencing-labels
+ :version "24.3"
+ :type 'boolean)
+