summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/varioref.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/style/varioref.el')
-rw-r--r--elpa/auctex-13.1.3/style/varioref.el112
1 files changed, 112 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/varioref.el b/elpa/auctex-13.1.3/style/varioref.el
new file mode 100644
index 0000000..32134c1
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/varioref.el
@@ -0,0 +1,112 @@
+;;; varioref.el --- AUCTeX style for `varioref.sty' (v1.6b) -*- lexical-binding: t; -*-
+
+;; Copyright (C) 1999, 2013, 2015, 2018--2020 Free Software Foundation, Inc.
+
+;; Author: Carsten Dominik <dominik@strw.leidenuniv.nl>
+;; Mads Jensen <mje@inducks.org>
+;; Maintainer: auctex-devel@gnu.org
+
+;; This file is part of AUCTeX.
+
+;; AUCTeX is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
+
+;; AUCTeX is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with AUCTeX; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+;; 02110-1301, USA.
+
+;;; Commentary:
+
+;; This file adds support for `varioref.sty' (v1.6b) from 2019/09/08.
+;; `varioref.sty' is a standard LaTeX package and part of TeXLive.
+
+;;; Code:
+
+(require 'tex)
+(require 'tex-style)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(TeX-add-style-hook
+ "varioref"
+ (lambda ()
+
+ (TeX-add-symbols
+ ;; 3 The user interface
+ '("vref" TeX-arg-ref)
+ '("vpageref" [ "Same page text" ] [ "Different page text" ] TeX-arg-ref)
+ '("vrefrange" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+ '("vpagerefrange" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+ "vpagerefnum"
+ '("vpagerefcompare" 4)
+ '("vpagerefnearby" 3)
+ '("vref*" TeX-arg-ref)
+ '("vpageref*" [ "Same page text" ] [ "Different page text" ] TeX-arg-ref)
+ '("vrefrange*" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+ '("vpagerefrange*" [ "Same page text" ] TeX-arg-ref TeX-arg-ref)
+
+ '("Vref" TeX-arg-ref)
+ '("Vref*" TeX-arg-ref)
+
+ ;; 5 Customization
+ "reftextbefore" "reftextfacebefore"
+ "reftextafter" "reftextfaceafter"
+ "reftextfaraway" "vreftextvario"
+ "reftextpagerange" "reftexlabelrange"
+ "vrefwarning" "vrefshowerrors"
+ '("fullref" TeX-arg-ref))
+
+ ;; Install completion for labels. Only offer completion for
+ ;; commands that take only one reference as an argument
+ ;; FIXME: The first 3 entries can be reduced to
+ ;; ("\\\\[Vv]ref\\*?{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}") ???
+ (setq TeX-complete-list
+ (append
+ '(("\\\\[Vv]ref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+ ("\\\\vref\\*?{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+ ("\\\\vref\\*{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+ ("\\\\fullref{\\([^{}\n\r\\%,]*\\)" 1 LaTeX-label-list "}")
+ ("\\\\vpageref\\*?\\(\\[[^]]*\\]\\)*{\\([^{}\n\r\\%,]*\\)"
+ 2 LaTeX-label-list "}"))
+ TeX-complete-list))
+
+ ;; Fontification
+ (when (and (fboundp 'font-latex-add-keywords)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(;; vref is already in font-latex.el,
+ ;; so don't add it here again
+ ("vpageref" "*[[{")
+ ("vrefrange" "*[{{")
+ ("vpagerefrange" "*[{{")
+ ("Vref" "*{")
+ ("fullref" "{"))
+ 'reference))
+
+ ;; Activate RefTeX reference style.
+ (and LaTeX-reftex-ref-style-auto-activate
+ (fboundp 'reftex-ref-style-activate)
+ (reftex-ref-style-activate "Varioref")))
+ TeX-dialect)
+
+(defvar LaTeX-varioref-package-options
+ '("afrikaans" "american" "arabic" "austrian" "naustrian" "basque"
+ "bahasam" "brazil" "breton" "bulgarian" "catalan" "croatian"
+ "czech" "danish" "dutch" "english" "esperanto" "finnish" "french"
+ "galician" "german" "ngerman" "greek" "icelandic" "italian" "magyar"
+ "norsk" "nynorsk" "polish" "portuges" "romanian" "russian"
+ "slovak" "slovene" "spanish" "swedish" "turkish" "ukrainian"
+ "francais" "germanb" "draft" "final" "space" "nospace")
+ "Package options for the varioref package.")
+
+;;; varioref.el ends here