emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/auctex 71a288a2fe 08/77: Add styles for iftex bundle


From: Tassilo Horn
Subject: [elpa] externals/auctex 71a288a2fe 08/77: Add styles for iftex bundle
Date: Fri, 26 Aug 2022 16:06:31 -0400 (EDT)

branch: externals/auctex
commit 71a288a2fe522c3baec1b10e0c581df13405360f
Author: Arash Esbati <arash@gnu.org>
Commit: Arash Esbati <arash@gnu.org>

    Add styles for iftex bundle
    
    * style/ifluatex.el: Update license header.
    Adjust style to use 'iftex.el'.
    
    * Makefile.in (STYLESRC): Add new styles.
    
    * style/ifetex.el:
    * style/ifpdf.el:
    * style/iftex.el:
    * style/ifvtex.el:
    * style/ifxetex.el: New files.
---
 Makefile.in       |   4 +-
 style/ifetex.el   |  47 ++++++++++++++
 style/ifluatex.el |  47 ++++++--------
 style/ifpdf.el    |  47 ++++++++++++++
 style/iftex.el    | 189 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 style/ifvtex.el   |  47 ++++++++++++++
 style/ifxetex.el  |  47 ++++++++++++++
 style/multibib.el | 123 +++++++++++++++++++++++++++++++++++
 8 files changed, 524 insertions(+), 27 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 67c31b24b5..77cb7d35a7 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -179,7 +179,9 @@ STYLESRC = style/prosper.el \
           style/cuted.el     style/floatpag.el  style/flushend.el \
           style/midfloat.el  style/stabular.el  style/stfloats.el \
           style/rotating.el  style/sidecap.el   style/l3doc.el \
-          style/ifthen.el    style/etoolbox.el
+          style/ifthen.el    style/etoolbox.el  style/ifetex.el \
+          style/ifpdf.el     style/iftex.el     style/ifvtex.el \
+          style/ifxetex.el
 
 STYLEELC = $(STYLESRC:.el=.elc)
 
diff --git a/style/ifetex.el b/style/ifetex.el
new file mode 100644
index 0000000000..28a1d8ddce
--- /dev/null
+++ b/style/ifetex.el
@@ -0,0 +1,47 @@
+;;; ifetex.el --- AUCTeX style for `ifetex.sty' version 1.3.  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-04-23
+;; Keywords: tex
+
+;; 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 `ifetex.sty' 1.3.  The package is now
+;; part of 'iftex' bundle and therefore, the code is now in
+;; 'iftex.el'.
+
+;;; Code:
+
+(require 'tex)
+
+(TeX-add-style-hook
+ "ifetex"
+ (lambda ()
+   ;; Run the style hook for 'iftex' which does the work:
+   (TeX-run-style-hooks "iftex"))
+ TeX-dialect)
+
+(defvar LaTeX-ifetex-package-options nil
+  "Package options for the ifetex package.")
+
+;;; ifetex.el ends here
diff --git a/style/ifluatex.el b/style/ifluatex.el
index 86a7638ac9..c909783355 100644
--- a/style/ifluatex.el
+++ b/style/ifluatex.el
@@ -1,6 +1,6 @@
-;;; ifluatex.el --- AUCTeX style for `ifluatex.sty' version 1.3.  -*- 
lexical-binding: t; -*-
+;;; ifluatex.el --- AUCTeX style for `ifluatex.sty' version 1.5.  -*- 
lexical-binding: t; -*-
 
-;; Copyright (C) 2014, 2016, 2018, 2020 Free Software Foundation, Inc.
+;; Copyright (C) 2014--2022 Free Software Foundation, Inc.
 
 ;; Author: Davide G. M. Salvetti <salve@debian.org>
 ;; Maintainer: auctex-devel@gnu.org
@@ -10,22 +10,25 @@
 ;; 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.
+;; 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.
+;; 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, see
-;; <https://www.gnu.org/licenses/>.
+;; 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 `ifluatex.sty' 1.3.
+;; This file adds support for `ifluatex.sty' 1.5.  The package is now
+;; part of 'iftex' bundle and therefore, the code is now in
+;; 'iftex.el'.
 
 ;;; Code:
 
@@ -36,28 +39,20 @@
                   "font-latex"
                   (keywords class))
 
-(defun LaTeX-ifluatex-set-TeX-exit-mark (_optional)
-  "Discard OPTIONAL and set `TeX-exit-mark' to current point."
-  (set-marker TeX-exit-mark (point)))
-
 (TeX-add-style-hook
  "ifluatex"
  (lambda ()
+
+   ;; Run the style hook for 'iftex' which does the work:
+   (TeX-run-style-hooks "iftex")
+
    (TeX-add-symbols
-    '("ifluatex"
-      (TeX-arg-literal "%\n")
-      LaTeX-ifluatex-set-TeX-exit-mark
-      (TeX-arg-literal "\n\\else%\n\\fi%"))
     '("luatexversion" 0)
     '("luatexrevision" 0))
+
    (TeX-declare-expert-macros
     "ifluatex"
-    "ifluatex" "luatexversion" "luatexrevision")
-
-   ;; This package is used to make it possible to compile a document with both
-   ;; LuaTeX and base TeX engines.  By setting `TeX-check-engine-list' to nil
-   ;; we ignore engine restrictions posed by other packages.
-   (setq TeX-check-engine-list nil)
+    "luatexversion" "luatexrevision")
 
    (when (and (featurep 'font-latex)
               (eq TeX-install-font-lock 'font-latex-setup))
diff --git a/style/ifpdf.el b/style/ifpdf.el
new file mode 100644
index 0000000000..9c71b3b21a
--- /dev/null
+++ b/style/ifpdf.el
@@ -0,0 +1,47 @@
+;;; ifpdf.el --- AUCTeX style for `ifpdf.sty' version 3.4.  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-04-23
+;; Keywords: tex
+
+;; 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 `ifpdf.sty' 3.4.  The package is now
+;; part of 'iftex' bundle and therefore, the code is now in
+;; 'iftex.el'.
+
+;;; Code:
+
+(require 'tex)
+
+(TeX-add-style-hook
+ "ifpdf"
+ (lambda ()
+   ;; Run the style hook for 'iftex' which does the work:
+   (TeX-run-style-hooks "iftex"))
+ TeX-dialect)
+
+(defvar LaTeX-ifpdf-package-options nil
+  "Package options for the ifpdf package.")
+
+;;; ifpdf.el ends here
diff --git a/style/iftex.el b/style/iftex.el
new file mode 100644
index 0000000000..284f14b85d
--- /dev/null
+++ b/style/iftex.el
@@ -0,0 +1,189 @@
+;;; iftex.el --- AUCTeX style for `iftex.sty' version 1.0f  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-04-17
+;; Keywords: tex
+
+;; 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 `iftex.sty' v1.0f from 2022/02/03.
+;; `iftex.sty' is part of TeXlive.
+
+;;; Code:
+
+(require 'tex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+                  "font-latex"
+                  (keywords class))
+
+(defun LaTeX-iftex-set-TeX-exit-mark (_optional)
+  "Ignore OPTIONAL and set `TeX-exit-mark' to current point."
+  (set-marker TeX-exit-mark (point)))
+
+(TeX-add-style-hook
+ "iftex"
+ (lambda ()
+
+   (TeX-add-symbols
+    '("ifetex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifeTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifpdftex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifPDFTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifxetex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifXeTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifluatex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifLuaTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifluahbtex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifLuaHBTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifptex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifpTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifuptex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifupTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifptexng"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifpTeXng"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifvtex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifVTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifalephtex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifAlephTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("iftutex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifTUTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("iftexpadtex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifTexpadTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("iftex"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifTeX"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    '("ifhint"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+    '("ifHINT"
+      LaTeX-iftex-set-TeX-exit-mark
+      (TeX-arg-literal "\\else\\fi"))
+
+    "RequireeTeX"
+    "RequirePDFTeX"
+    "RequireXeTeX"
+    "RequireLuaTeX"
+    "RequireLuaHBTeX"
+    "RequirepTeX"
+    "RequireupTeX"
+    "RequirepTeXng"
+    "RequireVTeX"
+    "RequireAlephTeX"
+    "RequireTUTeX"
+    "RequireTexpadTeX"
+    "RequireHINT")
+
+   ;; This package is used to make it possible to compile a document
+   ;; with different TeX engines.  By setting `TeX-check-engine-list'
+   ;; to nil we ignore engine restrictions posed by other packages.
+   (TeX-check-engine-add-engines nil)
+
+   ;; Fontification:
+   (when (and (featurep 'font-latex)
+              (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("RequireeTeX"      "")
+                                ("RequirePDFTeX"    "")
+                                ("RequireXeTeX"     "")
+                                ("RequireLuaTeX"    "")
+                                ("RequireLuaHBTeX"  "")
+                                ("RequirepTeX"      "")
+                                ("RequireupTeX"     "")
+                                ("RequirepTeXng"    "")
+                                ("RequireVTeX"      "")
+                                ("RequireAlephTeX"  "")
+                                ("RequireTUTeX"     "")
+                                ("RequireTexpadTeX" "")
+                                ("RequireHINT"      ""))
+                              'function)))
+ TeX-dialect)
+
+(defvar LaTeX-iftex-package-options nil
+  "Package options for the iftex package.")
+
+;;; iftex.el ends here
diff --git a/style/ifvtex.el b/style/ifvtex.el
new file mode 100644
index 0000000000..e46a545879
--- /dev/null
+++ b/style/ifvtex.el
@@ -0,0 +1,47 @@
+;;; ifvtex.el --- AUCTeX style for `ifvtex.sty' version 1.7.  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-04-23
+;; Keywords: tex
+
+;; 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 `ifvtex.sty' 1.7.  The package is now
+;; part of 'iftex' bundle and therefore, the code is now in
+;; 'iftex.el'.
+
+;;; Code:
+
+(require 'tex)
+
+(TeX-add-style-hook
+ "ifvtex"
+ (lambda ()
+   ;; Run the style hook for 'iftex' which does the work:
+   (TeX-run-style-hooks "iftex"))
+ TeX-dialect)
+
+(defvar LaTeX-ifvtex-package-options nil
+  "Package options for the ifvtex package.")
+
+;;; ifvtex.el ends here
diff --git a/style/ifxetex.el b/style/ifxetex.el
new file mode 100644
index 0000000000..a1c8b687a4
--- /dev/null
+++ b/style/ifxetex.el
@@ -0,0 +1,47 @@
+;;; ifxetex.el --- AUCTeX style for `ifxetex.sty' version 0.7.  -*- 
lexical-binding: t; -*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-04-23
+;; Keywords: tex
+
+;; 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 `ifxetex.sty' 0.7.  The package is now
+;; part of 'iftex' bundle and therefore, the code is now in
+;; 'iftex.el'.
+
+;;; Code:
+
+(require 'tex)
+
+(TeX-add-style-hook
+ "ifxetex"
+ (lambda ()
+   ;; Run the style hook for 'iftex' which does the work:
+   (TeX-run-style-hooks "iftex"))
+ TeX-dialect)
+
+(defvar LaTeX-ifxetex-package-options nil
+  "Package options for the ifxetex package.")
+
+;;; ifxetex.el ends here
diff --git a/style/multibib.el b/style/multibib.el
new file mode 100644
index 0000000000..f1b4369cf2
--- /dev/null
+++ b/style/multibib.el
@@ -0,0 +1,123 @@
+;;; multibib.el --- AUCTeX style for `multibib.sty'  -*- lexical-binding: t; 
-*-
+
+;; Copyright (C) 2022 Free Software Foundation, Inc.
+
+;; Author: Arash Esbati <arash@gnu.org>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2022-01-18
+;; Keywords: tex
+
+;; 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 Street, Fifth Floor, Boston,
+;; MA 02110-1301 USA.
+
+;;; Commentary:
+
+;; This file adds support for `multibib.sty' v1.4 form 2008-12-10.
+
+;;; Code:
+
+(require 'tex)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+                  "font-latex"
+                  (keywords class))
+
+;; Setup for \newcites: Note that the macro is called \newcites and we
+;; choose the name newcite in order to get away with any un-natural
+;; plural form:
+(TeX-auto-add-type "multibib-newcite" "LaTeX")
+
+(defvar LaTeX-multibib-newcites-regexp
+  `(,(concat "\\\\newcites"
+             "[ \t\n\r%]*"
+             "{\\([^}]+\\)}")
+    1 LaTeX-auto-multibib-newcite)
+  "Matches the arguments of \\newtcbox from tcolorbox package.")
+
+(defun LaTeX-multibib-auto-prepare ()
+  "Clear `LaTeX-auto-multibib-newcite' variables before parsing."
+  (setq LaTeX-auto-multibib-newcite nil))
+
+(defun LaTeX-multibib-auto-cleanup ()
+  "Process the parsed elements from \\newcites macro."
+  (when (LaTeX-multibib-newcite-list)
+    (let (suffix)
+      (dolist (elt (LaTeX-multibib-newcite-list))
+        (push (replace-regexp-in-string "[ %\n\r\t]" "" (car elt)) suffix))
+      (setq suffix (mapconcat #'identity suffix ","))
+      (dolist (elt (split-string suffix "," t))
+        (TeX-add-symbols
+         `(,(concat "cite" elt)
+           (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) ())
+           TeX-arg-cite)
+         `(,(concat "nocite" elt) TeX-arg-cite)
+         `(,(concat "bibliographystyle" elt) TeX-arg-bibstyle)
+         `(,(concat "bibliography" elt) TeX-arg-bibliography))
+        ;; RefTeX: Check if `reftex-bibliography-commands' is bound
+        ;; and append our newly defined entry to a local version of
+        ;; it:
+        (when (boundp 'reftex-bibliography-commands)
+          (add-to-list (make-local-variable 'reftex-bibliography-commands)
+                       (concat "bibliography" elt)
+                       t))
+        ;; Fontification
+        (when (and (featurep 'font-latex)
+                   (eq TeX-install-font-lock 'font-latex-setup))
+          (font-latex-add-keywords `((,(concat "cite" elt)   "[{")
+                                     (,(concat "nocite" elt) "{")
+                                     (,(concat "bibliography" elt) "{"))
+                                   'reference)
+          (font-latex-add-keywords `((,(concat "bibliographystyle" elt) "{"))
+                                   'function))))))
+
+(add-hook 'TeX-auto-prepare-hook #'LaTeX-multibib-auto-prepare t)
+(add-hook 'TeX-auto-cleanup-hook #'LaTeX-multibib-auto-cleanup t)
+(add-hook 'TeX-update-style-hook #'TeX-auto-parse t)
+
+(TeX-add-style-hook
+ "multibib"
+ (lambda ()
+
+   ;; Add 'multibib' to the parser:
+   (TeX-auto-add-regexp LaTeX-multibib-newcites-regexp)
+
+   (TeX-add-symbols
+    '("newcites"
+      (TeX-arg-eval
+       (lambda ()
+         (let ((suf (TeX-read-string
+                     (TeX-argument-prompt nil nil "Suffix"))))
+           (LaTeX-add-multibib-newcites suf)
+           (LaTeX-multibib-auto-cleanup)
+           (format "%s" suf))))
+      "Heading")
+    '("setbiblabelwidth" "Label"))
+
+
+   ;; Fontification
+   (when (and (featurep 'font-latex)
+              (eq TeX-install-font-lock 'font-latex-setup))
+     (font-latex-add-keywords '(("newcites"         "{{")
+                                ("setbiblabelwidth" "{"))
+                              'function)))
+ TeX-dialect)
+
+(defvar LaTeX-multibib-package-options '("labeled" "resetlabels")
+  "Package options for the multibib package.")
+
+;;; multibib.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]