summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/jurabib.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/style/jurabib.el')
-rw-r--r--elpa/auctex-13.1.3/style/jurabib.el644
1 files changed, 644 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/jurabib.el b/elpa/auctex-13.1.3/style/jurabib.el
new file mode 100644
index 0000000..68c02fc
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/jurabib.el
@@ -0,0 +1,644 @@
+;;; jurabib.el --- AUCTeX style for the `jurabib' package -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2004-2021 Free Software Foundation, Inc.
+
+;; Author: Ralf Angeli <angeli@iwi.uni-sb.de>
+;; Maintainer: auctex-devel@gnu.org
+;; Created: 2004-10-05
+;; 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 the `jurabib' package.
+
+;; Currently only the citation-related commands are supported. Feel
+;; free to complete the support and send the result to the AUCTeX
+;; mailing list. But be aware that the code can only be included if
+;; you assign the copyright to the FSF.
+
+;;; Code:
+
+(require 'tex)
+(require 'tex-style)
+
+;; Silence the compiler:
+(declare-function font-latex-add-keywords
+ "font-latex"
+ (keywords class))
+
+(defvar reftex-cite-format-builtin)
+
+(TeX-add-style-hook
+ "jurabib"
+ (lambda ()
+ ;; Taken from natbib.el and adapted.
+ (let ((citecmds
+ '(("cite" . 2) ("cite*" . 2)
+ ("citetitle" . 2) ("fullcite" . 2)
+ ("citet" . 1) ("citealt" . 1)
+ ("citep" . 2) ("citealp" . 2)
+ ("citeauthor" . 2) ("citeyear" . 2)
+ ("footcite" . 2) ("footcite*" . 2)
+ ("footcitetitle" . 2) ("footfullcite" . 2)
+ ("footcitet" . 1) ("footcitealt" . 1)
+ ("footcitep" . 2) ("footcitealp" . 2)
+ ("footciteauthor" . 2) ("footciteyear" . 2))))
+ ;; Add these symbols
+ (apply
+ #'TeX-add-symbols
+ (mapcar
+ (lambda (cmd)
+ (cond
+ ((= (cdr cmd) 0)
+ ;; No optional arguments
+ (list (car cmd) #'TeX-arg-cite))
+ ((= (cdr cmd) 1)
+ ;; Just one optional argument, the post note
+ (list
+ (car cmd)
+ '(TeX-arg-conditional TeX-arg-cite-note-p (["Post-note"]) nil)
+ #'TeX-arg-cite))
+ ((= (cdr cmd) 2)
+ ;; Pre and post notes
+ (list
+ (car cmd)
+ '(TeX-arg-conditional TeX-arg-cite-note-p (natbib-note-args) nil)
+ #'TeX-arg-cite))))
+ citecmds))
+ ;; Special cases
+ (TeX-add-symbols
+ ;; FIXME: Completing read for field.
+ '("citefield" ; \citefield[]{}{}
+ (TeX-arg-conditional TeX-arg-cite-note-p (["Post-note"]) nil)
+ "Field" TeX-arg-cite)
+ '("footcitefield" ; \footcitefield[]{}{}
+ (TeX-arg-conditional TeX-arg-cite-note-p (["Post-note"]) nil)
+ "Field" TeX-arg-cite))
+
+ ;; Make an entry in TeX-complete-list
+ (add-to-list
+ 'TeX-complete-list
+ (list
+ (concat "\\\\\\("
+ (mapconcat (lambda (x) (regexp-quote (car x)))
+ (append citecmds
+ '(("citefield") ("footcitefield"))) "\\|")
+ "\\)\\(\\[[^]\n\r\\%]*\\]\\)*{\\([^{}\n\r\\%,]*,\\)*"
+ "\\([^{}\n\r\\%,]*\\)")
+ 4 'LaTeX-bibitem-list "}"))
+
+ ;; Add further symbols
+ (TeX-add-symbols
+ '("citefullfirstfortype" 1)
+ '("citenotitlefortype" 1)
+ '("citeswithoutentry" 1)
+ '("citetitlefortype" 1)
+ '("citeworkwithtitle" 1)
+ '("nextcitefull" 1)
+ '("nextcitenotitle" 1)
+ '("nextcitereset" 1)
+ '("nextciteshort" 1)
+ '("jurabibsetup" 1))
+
+ ;; Fontification
+ (when (and (featurep 'font-latex)
+ (eq TeX-install-font-lock 'font-latex-setup))
+ (font-latex-add-keywords '(("cite" "*[[{")
+ ("citetitle" "[[{")
+ ("fullcite" "[[{")
+ ("citet" "[{")
+ ("citealt" "[{")
+ ("citep" "[[{")
+ ("citealp" "[[{")
+ ("citeauthor" "[[{")
+ ("citeyear" "[[{")
+ ("footcite" "[[{")
+ ("footcite*" "[[{")
+ ("footcitetitle" "[[{")
+ ("footfullcite" "[[{")
+ ("footcitet" "[{")
+ ("footcitealt" "[{")
+ ("footcitep" "[[{")
+ ("footcitealp" "[[{")
+ ("footciteauthor" "[[{")
+ ("footciteyear" "[[{")
+ ("citefield" "[{{")
+ ("footcitefield" "[{{"))
+ 'reference)
+ (font-latex-add-keywords '(("citeswithoutentry" "{")
+ ("nextcitefull" "{")
+ ("nextcitenotitle" "{")
+ ("nextcitereset" "{")
+ ("nextciteshort" "{"))
+ 'function)
+ (font-latex-add-keywords '(("citenotitlefortype" "{")
+ ("citetitlefortype" "{")
+ ("jurabibsetup" "{"))
+ 'variable))
+
+ ;; Tell RefTeX (Thanks, Carsten)
+ (when (and LaTeX-reftex-cite-format-auto-activate
+ (fboundp 'reftex-set-cite-format))
+ ;; Check if RefTeX supports jurabib.
+ (if (assoc 'jurabib reftex-cite-format-builtin)
+ ;; Yes, use the provided default.
+ (reftex-set-cite-format 'jurabib)
+ ;; No, set it by hand.
+ (reftex-set-cite-format
+ '((?\C-m . "\\cite{%l}")
+ (?c . "\\cite[?][]{%l}")
+ (?t . "\\citet{%l}")
+ (?p . "\\citep{%l}")
+ (?e . "\\citep[e.g.][?]{%l}")
+ (?s . "\\citep[see][?]{%l}")
+ (?u . "\\fullcite{%l}")
+ (?i . "\\citetitle{%l}")
+ (?a . "\\citeauthor{%l}")
+ (?e . "\\citefield{?}{%l}")
+ (?y . "\\citeyear{%l}")
+ (?f . "\\footcite{%l}")
+ (?F . "\\footcite[?][]{%l}")
+ (?l . "\\footfullcite{%l}"))))))
+
+ ;; FIXME: The following list is the edited output of
+ ;; `TeX-auto-generate' which probably includes internal macros of
+ ;; jurabib. Unfortunately the macros which should be accessible to
+ ;; the user are not fully documented at the time of this writing.
+ ;; But instead of including only the limited part which is
+ ;; documented we rather give the user a bit too much. The list
+ ;; should be reduced when there is proper documentation, though.
+ (TeX-add-symbols
+ '("Wrapquotes" 1)
+ '("apyformat" 1)
+ '("artnumberformat" 1)
+ '("artvolnumformat" 2)
+ '("artvolumeformat" 1)
+ '("artyearformat" 1)
+ '("bibAnnote" 1)
+ '("bibAnnoteFile" 1)
+ '("bibAnnotePath" 1)
+ '("bibEIMfont" 1)
+ '("bibIMfont" 1)
+ '("bibYear" 1)
+ '("bibedformat" 1)
+ '("bibedinformat" 1)
+ '("bibenf" 5)
+ '("biblenf" 5)
+ '("bibnf" 5)
+ '("bibnumberformat" 1)
+ '("bibrenf" 5)
+ '("bibrlenf" 5)
+ '("bibrnf" 5)
+ '("biburlfont" 1)
+ '("edfont" 1)
+ '("formatarticlepages" ["argument"] 2)
+ '("fsted" 1)
+ '("fullnameoxfordcrossref" 1)
+ '("incolledformat" 5)
+ '("jbArchPages" 1)
+ '("jbPages" 1)
+ '("jbannoteformat" 1)
+ '("jbapifont" 1)
+ '("jbarchnameformat" 1)
+ '("jbarchsig" 2)
+ '("jbartPages" 1)
+ '("jbartcrossrefchecked" ["argument"] 1)
+ '("jbauthorindexfont" 1)
+ '("jbbibargs" 5)
+ '("jbbibyearformat" 1)
+ '("jbcitationoyearformat" 1)
+ '("jbcitationyearformat" 1)
+ '("jbcrossrefchecked" ["argument"] 1)
+ '("jbedafti" 1)
+ '("jbedbyincollcrossreflong" 1)
+ '("jbedbyincollcrossrefshort" 1)
+ '("jbedbyincollcrossrefshortnoapy" 1)
+ '("jbedbyincollcrossrefshortwithapy" 1)
+ '("jbedition" 1)
+ '("jbeditorindexfont" 1)
+ '("jbendnote" 1)
+ '("jbflanguage" 1)
+ '("jbincollcrossref" 2)
+ '("jbisbn" 1)
+ '("jbissn" 1)
+ '("jbnote" 2)
+ '("jborganizationindexfont" 1)
+ '("jbpagesformat" 1)
+ '("jbprformat" 1)
+ '("jbrealcitation" 2)
+ '("jbshortarchformat" 1)
+ '("jbshortsubarchformat" 1)
+ '("jbsy" 1)
+ '("jbtiafed" 1)
+ '("lookatfortype" 1)
+ '("nobibliography" 1)
+ '("nocitebuthowcited" 1)
+ '("numberandseries" 2)
+ '("pageadd" 1)
+ '("pernumberformat" 1)
+ '("pervolnumformat" 2)
+ '("pervolumeformat" 1)
+ '("peryearformat" 1)
+ '("revnumberformat" 1)
+ '("revvolnumformat" 2)
+ '("revvolumeformat" 1)
+ '("revyearformat" 1)
+ '("snded" 1)
+ '("textitswitch" 1)
+ '("translator" 3)
+ '("volumeformat" 1)
+ "Bibbfsasep"
+ "Bibbfsesep"
+ "Bibbstasep"
+ "Bibbstesep"
+ "Bibbtasep"
+ "Bibbtesep"
+ "Bibchaptername"
+ "Bibetal"
+ "Edbyname"
+ "IbidemMidName"
+ "IbidemName"
+ "NAT"
+ "OpCit"
+ "Reprint"
+ "SSS"
+ "Transfrom"
+ "Volumename"
+ "addtoalllanguages"
+ "afterfoundersep"
+ "aftervolsep"
+ "ajtsep"
+ "alsothesisname"
+ "aprname"
+ "augname"
+ "bibBTsep"
+ "bibJTsep"
+ "bibPageName"
+ "bibPagesName"
+ "bibaesep"
+ "bibaldelim"
+ "bibaltformatalign"
+ "bibandname"
+ "bibanfont"
+ "bibansep"
+ "bibapifont"
+ "bibapyldelim"
+ "bibapyrdelim"
+ "bibarchpagename"
+ "bibarchpagesname"
+ "bibardelim"
+ "bibartperiodhowcited"
+ "bibatsep"
+ "bibauthormultiple"
+ "bibbdsep"
+ "bibbfsasep"
+ "bibbfsesep"
+ "bibbstasep"
+ "bibbstesep"
+ "bibbtasep"
+ "bibbtesep"
+ "bibbtfont"
+ "bibbtsep"
+ "bibbudcsep"
+ "bibces"
+ "bibchapterlongname"
+ "bibchaptername"
+ "bibcite"
+ "bibcolumnsep"
+ "bibcommenthowcited"
+ "bibcontinuedname"
+ "bibcrossrefcite"
+ "bibcrossrefciteagain"
+ "bibeandname"
+ "bibedformat"
+ "bibefnfont"
+ "bibeimfont"
+ "bibelnfont"
+ "bibenf"
+ "bibfnfmt"
+ "bibfnfont"
+ "bibhowcited"
+ "bibibidfont"
+ "bibidemPfname"
+ "bibidemPmname"
+ "bibidemPnname"
+ "bibidemSfname"
+ "bibidemSmname"
+ "bibidemSnname"
+ "bibidempfname"
+ "bibidempmname"
+ "bibidempnname"
+ "bibidemsfname"
+ "bibidemsmname"
+ "bibidemsnname"
+ "bibimfont"
+ "bibincollcrossrefcite"
+ "bibincollcrossrefciteagain"
+ "bibjtfont"
+ "bibjtsep"
+ "bibleftcolumn"
+ "bibleftcolumnadjust"
+ "bibleftcolumnstretch"
+ "biblenf"
+ "biblnfmt"
+ "biblnfont"
+ "bibnf"
+ "bibnotcited"
+ "bibpagename"
+ "bibpagesname"
+ "bibpagesnamesep"
+ "bibpldelim"
+ "bibprdelim"
+ "bibrevtfont"
+ "bibrightcolumn"
+ "bibrightcolumnadjust"
+ "bibrightcolumnstretch"
+ "bibsall"
+ "bibsdanish"
+ "bibsdutch"
+ "bibsenglish"
+ "bibsfinnish"
+ "bibsfrench"
+ "bibsgerman"
+ "bibsitalian"
+ "bibsnfont"
+ "bibsnorsk"
+ "bibsportuguese"
+ "bibsspanish"
+ "bibtabularitemsep"
+ "bibtfont"
+ "bibtotalpagesname"
+ "biburlprefix"
+ "biburlsuffix"
+ "bibvolumecomment"
+ "bibvtfont"
+ "bothaesep"
+ "bpubaddr"
+ "byname"
+ "citetitleonly"
+ "citeyearpar"
+ "commaename"
+ "commaname"
+ "dateldelim"
+ "daterdelim"
+ "decname"
+ "diffpageibidemmidname"
+ "diffpageibidemname"
+ "edbyname"
+ "edbysep"
+ "editionname"
+ "editorname"
+ "editorsname"
+ "enoteformat"
+ "etalname"
+ "etalnamenodot"
+ "febname"
+ "fifthedname"
+ "firstedname"
+ "footcitetitleonly"
+ "formatpages"
+ "foundername"
+ "fourthedname"
+ "fromdutch"
+ "fromenglish"
+ "fromfinnish"
+ "fromfrench"
+ "fromgerman"
+ "fromitalian"
+ "fromnorsk"
+ "fromportuguese"
+ "fromspanish"
+ "herename"
+ "howcitedprefix"
+ "howcitedsuffix"
+ "ibidem"
+ "ibidemmidname"
+ "ibidemname"
+ "idemPfedbyname"
+ "idemPfname"
+ "idemPmedbyname"
+ "idemPmname"
+ "idemPnedbyname"
+ "idemPnname"
+ "idemSfedbyname"
+ "idemSfname"
+ "idemSmedbyname"
+ "idemSmname"
+ "idemSnedbyname"
+ "idemSnname"
+ "idemmidname"
+ "idemname"
+ "idempfedbyname"
+ "idempfname"
+ "idempmedbyname"
+ "idempmname"
+ "idempnedbyname"
+ "idempnname"
+ "idemsfedbyname"
+ "idemsfname"
+ "idemsmedbyname"
+ "idemsmname"
+ "idemsnedbyname"
+ "idemsnname"
+ "incollinname"
+ "inname"
+ "inseriesname"
+ "janname"
+ "jbCheckedFirst"
+ "jbFirst"
+ "jbFirstAbbrv"
+ "jbJunior"
+ "jbLast"
+ "jbNotRevedNoVonJr"
+ "jbNotRevedNoVonNoJr"
+ "jbNotRevedOnlyLast"
+ "jbNotRevedVonJr"
+ "jbNotRevedVonNoJr"
+ "jbPAGES"
+ "jbPageName"
+ "jbPages"
+ "jbPagesName"
+ "jbRevedFirstNoVonJr"
+ "jbRevedFirstNoVonNoJr"
+ "jbRevedFirstOnlyLast"
+ "jbRevedFirstVonJr"
+ "jbRevedFirstVonNoJr"
+ "jbRevedNotFirstNoVonJr"
+ "jbRevedNotFirstNoVonNoJr"
+ "jbRevedNotFirstOnlyLast"
+ "jbRevedNotFirstVonJr"
+ "jbRevedNotFirstVonNoJr"
+ "jbVon"
+ "jbactualauthorfnfont"
+ "jbactualauthorfont"
+ "jbaddtomakehowcited"
+ "jbaensep"
+ "jbafterstartpagesep"
+ "jbannotatorfont"
+ "jbapifont"
+ "jbarchnamesep"
+ "jbarchpagename"
+ "jbarchpagesname"
+ "jbartPages"
+ "jbatsep"
+ "jbauthorfnfont"
+ "jbauthorfont"
+ "jbauthorfontifannotator"
+ "jbauthorinfo"
+ "jbbeforestartpagesep"
+ "jbbfsasep"
+ "jbbfsesep"
+ "jbbookedaftertitle"
+ "jbbstasep"
+ "jbbstesep"
+ "jbbtasep"
+ "jbbtesep"
+ "jbbtfont"
+ "jbbtitlefont"
+ "jbcitationyearformat"
+ "jbcrossrefchecked"
+ "jbdisablecitationcrossref"
+ "jbdoitem"
+ "jbdonotindexauthors"
+ "jbdonotindexeditors"
+ "jbdonotindexorganizations"
+ "jbdotafterbibentry"
+ "jbdotafterendnote"
+ "jbdy"
+ "jbedbyincollcrossrefcite"
+ "jbedbyincollcrossrefciteagain"
+ "jbedition"
+ "jbedseplikecite"
+ "jbeimfont"
+ "jbfirstcitepageranges"
+ "jbfootnoteformat"
+ "jbfootnotenumalign"
+ "jbfulltitlefont"
+ "jbhowcitedcomparepart"
+ "jbhowcitednormalpart"
+ "jbhowsepannotatorfirst"
+ "jbhowsepannotatorlast"
+ "jbhowsepbeforetitle"
+ "jbhowsepbeforetitleae"
+ "jbhowsepbeforetitleibidemname"
+ "jbignorevarioref"
+ "jbimfont"
+ "jbindexbib"
+ "jbindexonlyfirstauthors"
+ "jbindexonlyfirsteditors"
+ "jbindexonlyfirstorganizations"
+ "jbindextype"
+ "jblookforgender"
+ "jbmakeinbib"
+ "jbmakeinbiblist"
+ "jbmakeindexactual"
+ "jbnotsamearch"
+ "jbonlyforbib"
+ "jbonlyforcitations"
+ "jbonlyforfirstcitefullbegin"
+ "jbonlyforfirstcitefullend"
+ "jborgauthorfont"
+ "jboyearincitation"
+ "jbpagename"
+ "jbpagenamenodot"
+ "jbpages"
+ "jbpagesep"
+ "jbpagesname"
+ "jbpagesnamesep"
+ "jbsamearch"
+ "jbsamesubarch"
+ "jbsamesubarchindent"
+ "jbshorttitlefont"
+ "jbshowbibextralabel"
+ "jbssedbd"
+ "jbsubarchsep"
+ "jbsuperscripteditionafterauthor"
+ "jbtitlefont"
+ "jbts"
+ "jburldef"
+ "jbuseidemhrule"
+ "jbyear"
+ "jbyearaftertitle"
+ "julname"
+ "junname"
+ "jurthesisname"
+ "marname"
+ "mastersthesisname"
+ "mayname"
+ "nofirstnameforcitation"
+ "noibidem"
+ "noidem"
+ "nopage"
+ "novname"
+ "numbername"
+ "octname"
+ "ofseriesname"
+ "opcit"
+ "organizationname"
+ "origPAGES"
+ "origartPages"
+ "origbibces"
+ "origcrossref"
+ "origpages"
+ "osep"
+ "phdthesisname"
+ "reprint"
+ "reprintname"
+ "reviewbyname"
+ "reviewname"
+ "reviewofname"
+ "samepageibidemmidname"
+ "samepageibidemname"
+ "secondedname"
+ "sepname"
+ "sndecmd"
+ "snded"
+ "sndeditorname"
+ "sndeditorsname"
+ "technicalreportname"
+ "testnosig"
+ "textandname"
+ "texteandname"
+ "theHlvla"
+ "theHlvlb"
+ "theHlvlc"
+ "theHlvld"
+ "theHlvle"
+ "theHlvlf"
+ "theHlvlg"
+ "theHlvlh"
+ "theHlvli"
+ "theHlvlj"
+ "theHlvlk"
+ "theHlvll"
+ "thedname"
+ "thirdedname"
+ "trans"
+ "transby"
+ "transfrom"
+ "updatename"
+ "updatesep"
+ "urldatecomment"
+ "volname"
+ "volumename"
+ "volumeofname"))
+ TeX-dialect)
+
+;;; jurabib.el ends here