diff options
Diffstat (limited to 'elpa/auctex-13.1.3/style/jurabib.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/jurabib.el | 644 |
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 |