diff options
Diffstat (limited to 'elpa/auctex-13.1.3/style/biblatex.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/biblatex.el | 645 |
1 files changed, 0 insertions, 645 deletions
diff --git a/elpa/auctex-13.1.3/style/biblatex.el b/elpa/auctex-13.1.3/style/biblatex.el deleted file mode 100644 index 43115be..0000000 --- a/elpa/auctex-13.1.3/style/biblatex.el +++ /dev/null @@ -1,645 +0,0 @@ -;;; biblatex.el --- AUCTeX style for `biblatex.sty' version 2.8a. -*- lexical-binding: t; -*- - -;; Copyright (C) 2012-2021 Free Software Foundation, Inc. - -;; Author: Ralf Angeli <angeli@caeruleus.net> -;; Maintainer: auctex-devel@gnu.org -;; Created: 2012-11-14 -;; 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 `biblatex.sty' version 2.8a. - -;;; Code: - -(require 'tex) -(require 'latex) - -;; Silence the compiler: -(declare-function font-latex-add-keywords - "font-latex" - (keywords class)) - -(defvar reftex-cite-format-builtin) - -(defvar LaTeX-biblatex-entrytype - '(;; Regular Types - "article" "book" "mvbook" "inbook" "bookinbook" "suppbook" "booklet" - "collection" "mvcollection" "incollection" "suppcollection" "manual" "misc" - "online" "patent" "periodical" "suppperiodical" "proceedings" - "mvproceedings" "inproceedings" "reference" "mvreference" "inreference" - "report" "set" "thesis" "unpublished" "xdata" "customa" "customb" "customc" - "customd" "custome" "customf" - ;; Type Aliases - "conference" "electronic" "masterthesis" "phdthesis" "techreport" "www" - ;; Unsupported Types - "artwork" "audio" "bibnote" "commentary" "image" "jurisdiction" - "legislation" "legal" "letter" "movie" "music" "performance" "review" - "software" "standard" "video") - "List of biblatex entry types.") - -(defvar LaTeX-biblatex-executebibliographyoptions-options - '(;; General - ("sorting" ("nty" "nyt" "nyvt" "anyt" "anyvt" "ynt" "ydnt" "none" "debug")) - ("sortcase" ("true" "false")) - ("sortupper" ("true" "false")) - ("sortlocale") - ("sortlos" ("bib" "los")) - ("related" ("true" "false")) - ("sortcites" ("true" "false")) - ("maxnames") - ("minnames") - ("maxbibnames") - ("minbibnames") - ("maxcitenames") - ("mincitenames") - ("maxitems") - ("minitems") - ("autocite" ("plain" "inline" "footnote" "superscript")) - ("autopunct" ("true" "false")) - ("language" (append LaTeX-biblatex-language-list - '("autobib" "autocite" "auto"))) - ("clearlang" ("true" "false")) - ("autolang" ("none" "hyphen" "other" "other*" "langname")) - ("block" ("none" "space" "par" "nbpar" "ragged")) - ("notetype" ("foot+end" "footonly" "endonly")) - ("hyperref" ("true" "false" "auto")) - ("backref" ("true" "false")) - ("backrefstyle" ("none" "three" "two" "two+" "three+" "all+")) - ("backrefsetstyle" ("setonly" "memonly" "setormem" "setandmem" "memandset" - "setplusmem")) - ("indexing" ("true" "false" "cite" "bib")) - ("loadfiles" ("true" "false")) - ("refsection" ("none" "part" "chapter" "section" "subsection")) - ("refsegment" ("none" "part" "chapter" "section" "subsection")) - ("citereset" ("none" "part" "chapter" "section" "subsection")) - ("abbreviate" ("true" "false")) - ("date" ("short" "long" "terse" "comp" "iso8601")) - ("datelabel" ("year" "short" "long" "terse" "comp" "iso8601")) - ("origdate" ("short" "long" "terse" "comp" "iso8601")) - ("eventdate" ("short" "long" "terse" "comp" "iso8601")) - ("urldate" ("short" "long" "terse" "comp" "iso8601")) - ("alldates" ("short" "long" "terse" "comp" "iso8601")) - ("datezeros" ("true" "false")) - ("dateabbrev" ("true" "false")) - ("defernumbers" ("true" "false")) - ("punctfont" ("true" "false")) - ("arxiv" ("abs" "ps" "pdf" "format")) - ("texencoding" ("auto")) - ("bibencoding" ("auto")) - ("safeinputenc" ("true" "false")) - ("bibwarn" ("true" "false")) - ("mincrossrefs") - ;; Style-specific - ("isbn" ("true" "false")) - ("url" ("true" "false")) - ("doi" ("true" "false")) - ("eprint" ("true" "false")) - ;; Internal - ("pagetracker" ("true" "false" "page" "spread")) - ("citecounter" ("true" "false" "context")) - ("citetracker" ("true" "false" "context" "strict" "constrict")) - ("ibidtracker" ("true" "false" "context" "strict" "constrict")) - ("opcittracker" ("true" "false" "context" "strict" "constrict")) - ("loccittracker" ("true" "false" "context" "strict" "constrict")) - ("idemtracker" ("true" "false" "context" "strict" "constrict")) - ("parentracker" ("true" "false")) - ("maxparens") - ("firstinits" ("true" "false")) - ("sortfirstinits" ("true" "false")) - ("terseinits" ("true" "false")) - ("labelalpha" ("true" "false")) - ("maxalphanames") - ("minalphanames") - ("labelnumber" ("true" "false")) - ("labeltitle" ("true" "false")) - ("labeltitleyear" ("true" "false")) - ("labeldate" ("true" "false")) - ("singletitle" ("true" "false")) - ("uniquename" ("true" "false" "init" "full" "allinit" "allfull" "mininit" - "minfull")) - ("uniquelist" ("true" "false" "minyear"))) - "Key=value options for ExecuteBibliographyOptions macro of the biblatex package.") - -;; See table 2 of Biblatex reference manual. -(defvar LaTeX-biblatex-language-list - '("catalan" "croatian" "czech" "danish" "dutch" "american" "british" - "canadian" "australian" "newzealand" "finnish" "french" "german" "austrian" - "ngernam" "naustrian" "greek" "italian" "norwegian" "polish" "brazilian" - "portuguese" "russian" "spanish" "swedish") - "List of languages supported by biblatex packages.") - -(defvar LaTeX-biblatex-addbibresource-options - '(("label") - ("location" ("local" "remote")) - ("type" ("file")) - ("datatype" ("bibtex" "ris" "zoterordfxml" "endnotexml"))) - "Key=value options for addbibresource macro of the biblatex package.") - -(defun LaTeX-arg-addbibresource (optional &optional prompt) - "Prompt for a BibLaTeX database file. -If OPTIONAL is non-nil, insert the resulting value as an optional -argument, otherwise as a mandatory one. Use PROMPT as the prompt -string." - (let (files inputs database) - (if LaTeX-using-Biber - (setq files 'TeX-Biber-global-files - inputs 'biberinputs) - (setq files 'BibTeX-global-files - inputs 'bibinputs)) - (setq files 'TeX-Biber-global-files - inputs 'biberinputs) - (message "Searching for BibLaTeX files...") - (or (symbol-value files) - (set files (mapcar #'list (TeX-search-files-by-type - 'biberinputs 'global t nil)))) - (message "Searching for BibLaTeX files...done") - (setq database (completing-read - (TeX-argument-prompt optional prompt "BibLaTeX files") - (append (mapcar #'list (TeX-search-files-by-type - inputs 'local t nil)) - (symbol-value files)))) - (LaTeX-add-bibliographies database) - ;; Run style file associated to the bibliography database file in order to - ;; immediately fill `LaTeX-bibitem-list'. We need to strip the extension - ;; because AUCTeX style files don't use it. - (TeX-run-style-hooks (file-name-sans-extension database)) - (TeX-argument-insert database optional))) - -;; Support for multicite commands, see § 3.7.3 of Biblatex reference manual. -(defun LaTeX-arg-biblatex-cites (optional &optional prompt) - "Prompt for citations with completion until input is empty. -Prompt also for optional prenotes and postnotes. If OPTIONAL is -non-nil, insert the citation key as an optional argument, -otherwise as a mandatory one. Use PROMPT as the prompt string -for citation keys." - ;; Prompt for global prenote and postnote. - (and TeX-arg-cite-note-p (not current-prefix-arg) - (let ((TeX-arg-opening-brace "(") - (TeX-arg-closing-brace ")") - (prenote (TeX-read-string - (TeX-argument-prompt t nil "Global prenote")))) - (TeX-argument-insert prenote t) - ;; If the prenote is empty the postnote is optional, otherwise it's - ;; mandatory. - (TeX-argument-insert - (TeX-read-string (TeX-argument-prompt t nil "Global postnote")) - (equal prenote "")))) - (let ((items t) (noinsert nil)) - (while items - ;; Prompt for prenote and postnote of the current keys. - (and TeX-arg-cite-note-p (not current-prefix-arg) - (let ((TeX-arg-opening-brace "[") - (TeX-arg-closing-brace "]") - (prenote (TeX-read-string - (TeX-argument-prompt t nil "Prenote")))) - (TeX-argument-insert prenote t) - ;; If the prenote is empty the postnote is optional, otherwise it's - ;; mandatory. - (TeX-argument-insert - (TeX-read-string (TeX-argument-prompt t nil "Postnote")) - (equal prenote "")))) - (setq items (if (and (fboundp 'reftex-citation) - (fboundp 'reftex-plug-flag) - (reftex-plug-flag 3)) - ;; Use RefTeX when enabled. - (reftex-citation t) - ;; Multiple citation keys in each argument are allowed. - (TeX-completing-read-multiple - (TeX-argument-prompt optional prompt "Key(s)") - (LaTeX-bibitem-list)))) - (apply #'LaTeX-add-bibitems items) - ;; If input is empty, insert an empty group only the first time, when - ;; `noinsert' flag is nil. - (unless (and (not items) noinsert) - (TeX-argument-insert (mapconcat #'identity items ",") optional)) - (setq noinsert t)))) - -(defun LaTeX-arg-biblatex-natbib-notes (optional) - "Prompt for two note arguments of a natbib compat citation command." - (when TeX-arg-cite-note-p - (let ((pre (TeX-read-string - (TeX-argument-prompt optional nil "Prenote"))) - (post (TeX-read-string - (TeX-argument-prompt optional nil "Postnote")))) - (TeX-argument-insert pre optional) - (TeX-argument-insert post optional) - ;; pre is given, post is empty: Make sure that we insert an - ;; extra pair of `[]', otherwise pre becomes post - (when (and pre (not (string= pre "")) - (string= post "")) - (insert LaTeX-optop LaTeX-optcl))))) - -(TeX-add-style-hook - "biblatex" - (lambda () - ;; Biblatex uses as default backend biber, run it unless biblatex `backend' - ;; option value is one of `bibtex', `bibtex8', `bibtexu'. Autodetection of - ;; the backend can be overridden by setting `LaTeX-biblatex-use-Biber' as a - ;; local variable. - (setq LaTeX-using-Biber - (if (local-variable-p 'LaTeX-biblatex-use-Biber (current-buffer)) - LaTeX-biblatex-use-Biber - (not (or (LaTeX-provided-package-options-member - "biblatex" "backend=bibtex") - (LaTeX-provided-package-options-member - "biblatex" "backend=bibtex8") - (LaTeX-provided-package-options-member - "biblatex" "backend=bibtexu"))))) - - (TeX-run-style-hooks - "keyval" - "kvoptions" - "logreq" - "ifthen" - "url") - (TeX-add-symbols - ;;; Global Customization - ;; Setting Package Options - '("ExecuteBibliographyOptions" - [TeX-arg-eval mapconcat #'identity - (TeX-completing-read-multiple - "Entry type: " LaTeX-biblatex-entrytype) ","] - (TeX-arg-key-val LaTeX-biblatex-executebibliographyoptions-options)) - ;;; Bibliography Commands - ;; Resources - '("addbibresource" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options] - LaTeX-arg-addbibresource) - '("addglobalbib" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options] - LaTeX-arg-addbibresource) - '("addsectionbib" [TeX-arg-key-val LaTeX-biblatex-addbibresource-options] - LaTeX-arg-addbibresource) - ;; The Bibliography - '("printbibliography" - [TeX-arg-key-val (("env") ("heading") ("title") ("prenote") ("postnote") - ("section") ("segment") ("sorting") ("type") ("nottype") - ("subtype") ("notsubtype") ("keyword") ("notkeyword") - ("categoy") ("notcategory") ("filter") ("check") - ("prefixnumbers") ("resetnumbers" ("true" "false")) - ("omitnumbers" ("true" "false")))]) - '("bibbysection" - [TeX-arg-key-val (("env") ("heading") ("prenote") ("postnote"))]) - '("bibbysegment" - [TeX-arg-key-val (("env") ("heading") ("prenote") ("postnote"))]) - '("bibbycategory" - [TeX-arg-key-val (("env") ("prenote") ("postnote") ("section"))]) - '("printbibheading" - [TeX-arg-key-val (("heading") ("title"))]) - ;; The List of Shorthands - '("printshorthands" - [TeX-arg-key-val (("env") ("heading") ("title") ("prenote") ("postnote") - ("section") ("segment") ("sorting") ("type") ("nottype") - ("subtype") ("notsubtype") ("keyword") ("notkeyword") - ("categoy") ("notcategory") ("filter") ("check"))]) - ;; Bibliography Sections - '("newrefsection" ["Resources"]) - "endrefsection" - ;; Bibliography Segments - "newrefsegment" - "endrefsegment" - ;; Bibliography Categories - '("DeclareBibliographyCategory" "Category") - '("addtocategory" "Category" TeX-arg-cite) - ;; Bibliography Headings and Environments - '("defbibenvironment" "Name" 3) - '("defbibheading" "Name" ["Title"] t) - ;; Bibliography Notes - '("defbibnote" "Name" "Text") - ;; Bibliography Filters and Checks - '("defbibfilter" "Name" t) - '("defbibcheck" "Name" t) - ;; Dynamic Entry Sets - '("defbibentryset" "Set" - (TeX-arg-eval mapconcat #'identity (TeX-completing-read-multiple - "Keys: " (LaTeX-bibitem-list)) ",")) - ;;; Citation Commands - '("cite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Cite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("parencite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Parencite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("footcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("footcitetext" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - ;; Style-specific Commands - '("textcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Textcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("smartcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Smartcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("cite*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("parencite*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("supercite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - ;; Qualified Citation Lists - '("cites" LaTeX-arg-biblatex-cites) - '("Cites" LaTeX-arg-biblatex-cites) - '("parencites" LaTeX-arg-biblatex-cites) - '("Parencites" LaTeX-arg-biblatex-cites) - '("footcites" LaTeX-arg-biblatex-cites) - '("footcitetexts" LaTeX-arg-biblatex-cites) - '("smartcites" LaTeX-arg-biblatex-cites) - '("Smartcites" LaTeX-arg-biblatex-cites) - '("textcites" LaTeX-arg-biblatex-cites) - '("Textcites" LaTeX-arg-biblatex-cites) - '("supercites" LaTeX-arg-biblatex-cites) - ;; Style-independent Commands - '("autocite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Autocite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("autocite*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Autocite*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("autocites" LaTeX-arg-biblatex-cites) - '("Autocites" LaTeX-arg-biblatex-cites) - ;; Text Commands - '("citeauthor" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Citeauthor" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citeauthor*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Citeauthor*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citetitle" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citetitle*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citeyear" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citeyear*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citedate" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citedate*" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("citeurl" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("parentext" "Text") - '("brackettext" "Text") - ;; Special Commands - '("fullcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("footfullcite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("volcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Volcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Pvolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Pvolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("fvolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("ftolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("svolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Svolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("tvolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Tvolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("avolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("Avolcite" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"]) ()) "Volume" - (TeX-arg-conditional TeX-arg-cite-note-p (["Page"]) ()) TeX-arg-cite) - '("notecite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Notecite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("pnotecite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("Pnotecite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - '("fnotecite" (TeX-arg-conditional TeX-arg-cite-note-p - (["Prenote"] ["Postnote"]) ()) TeX-arg-cite) - ;; Low-level Commands - '("citename" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ()) - TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ()) - "Name list") - '("citelist" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ()) - TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ()) - "Literal list") - '("citefield" - (TeX-arg-conditional TeX-arg-cite-note-p (["Prenote"] ["Postnote"]) ()) - TeX-arg-cite (TeX-arg-conditional TeX-arg-cite-note-p (["Format"]) ()) - "Field") - ;; Miscellaneous Commands - "citereset" - "citereset*" - "mancite" - "pno" - "ppno" - "nopp" - "psq" - "psqq" - '("RN" "Integer") - '("Rn" "Integer") - ;; Localization Commands - '("DefineBibliographyStrings" - (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) t) - '("DefineBibliographyExtras" - (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) t) - '("UndefineBibliographyExtras" - (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) t) - '("DefineHyphenationExceptions" - (TeX-arg-eval completing-read "Language: " LaTeX-biblatex-language-list) t) - "NewBibliographyString") - - ;; § 3.8.9 natbib Compatibility Commands - (when (or (LaTeX-provided-package-options-member "biblatex" "natbib") - (LaTeX-provided-package-options-member "biblatex" "natbib=true")) - (let ((cmds '(("citet" . 1) ("citet*" . 1) - ("Citet" . 1) ("Citet*" . 1) - ("citep" . 2) ("citep*" . 2) - ("Citep" . 2) ("Citep*" . 2) - ("citealt" . 1) ("citealt*" . 1) - ("Citealt" . 1) ("Citealt*" . 1) - ("citealp" . 2) ("citealp*" . 2) - ("Citealp" . 2) ("Citealp*" . 2)))) - ;; Taken from natbib.el: - (apply - #'TeX-add-symbols - (mapcar - (lambda (cmd) - (cond - ((= (cdr cmd) 1) - ;; Just one optional argument, the post note - (list - (car cmd) - '(TeX-arg-conditional TeX-arg-cite-note-p (["Postnote"]) nil) - #'TeX-arg-cite)) - ((= (cdr cmd) 2) - ;; Pre and post notes - (list - (car cmd) - '(TeX-arg-conditional TeX-arg-cite-note-p - ([LaTeX-arg-biblatex-natbib-notes]) - nil) - #'TeX-arg-cite)))) - cmds)) - - ;; Fontification for compat macros does not go into `font-latex.el': - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords '(("citet" "*[[{") - ("Citet" "*[[{") - ("citep" "*[[{") - ("Citep" "*[[{") - ("citealt" "*[[{") - ("Citealt" "*[[{") - ("citealp" "*[[{") - ("Citealp" "*[[{")) - 'biblatex)))) - - (LaTeX-add-environments - ;;; Bibliography commands - ;; Bibliography Sections - '("refsection" ["Resources"]) - ;; Bibliography Segments - "refsegment") - - ;; Declaring expert macros and environments. Criterion: all macros and - ;; environments to fine tune the bibliography, probably they will be used - ;; only by expert users. - (TeX-declare-expert-macros - "biblatex" - "ExecuteBibliographyOptions" "printshorthands" "newrefsection" - "endrefsection" "newrefsegment" "endrefsegment" - "DeclareBibliographyCategory" "addtocategory" "defbibenvironment" - "defbibheading" "defbibnote" "defbibfilter" "defbibcheck" "defbibentryset" - "citereset" "citereset*" "mancite" "pno" "ppno" "nopp" "psq" "psqq" "RN" - "Rn" "DefineBibliographyStrings" "DefineBibliographyExtras" - "UndefineBibliographyExtras" "DefineHyphenationExceptions" - "NewBibliographyString") - (LaTeX-declare-expert-environments - "biblatex" - "refsection" "refsegment") - - ;; Tell RefTeX: If package option `natbib' is given, activate that - ;; format, otherwise stick with `biblatex': - (when (and LaTeX-reftex-cite-format-auto-activate - (fboundp 'reftex-set-cite-format)) - (if (or (LaTeX-provided-package-options-member "biblatex" "natbib") - (LaTeX-provided-package-options-member "biblatex" "natbib=true")) - (reftex-set-cite-format 'natbib) - ;; The entry `biblatex' is defined in - ;; `reftex-cite-format-builtin' in reftex-vars.el which will be - ;; part of Emacs >= 25.3. So check here if we find an entry, - ;; otherwise do it manually for older Emacsen. - (if (assoc 'biblatex reftex-cite-format-builtin) - (reftex-set-cite-format 'biblatex) - (reftex-set-cite-format - '((?\C-m . "\\cite[][]{%l}") - (?C . "\\cite*[][]{%l}") - (?t . "\\textcite[][]{%l}") - (?T . "\\textcite*[][]{%l}") - (?p . "\\parencite[][]{%l}") - (?P . "\\parencite*[][]{%l}") - (?f . "\\footcite[][]{%l}") - (?s . "\\smartcite[][]{%l}") - (?u . "\\autocite[][]{%l}") - (?U . "\\autocite*[][]{%l}") - (?a . "\\citeauthor{%l}") - (?A . "\\citeauthor*{%l}") - (?i . "\\citetitle{%l}") - (?I . "\\citetitle*{%l}") - (?y . "\\citeyear{%l}") - (?Y . "\\citeyear*{%l}") - (?n . "\\nocite{%l}"))))))) - TeX-dialect) - -(defvar LaTeX-biblatex-package-options-list - (append - ;;; Preamble Options - LaTeX-biblatex-executebibliographyoptions-options - '(;;; Load-time Options - ("backend" ("biber" "bibtex" "bibtexu" "bibtex8")) - ("style" BibLaTeX-global-style-files) - ("bibstyle" BibLaTeX-global-style-files) - ("citestyle" BibLaTeX-global-style-files) - ("natbib" ("true" "false")) - ("mcite" ("true" "false")) - ;;; Entry Options - ;; Preamble/Type/Entry Options - ("useauthor" ("true" "false")) - ("useeditor" ("true" "false")) - ("usetranslator" ("true" "false")) - ("useprefix" ("true" "false")) - ("indexing" ("true" "false" "cite" "bib")) - ;; Type/Entry Options are not available globally. - ;; Legacy Options (deprecated) - ("openbib"))) - "Package options for the biblatex package.") - -(defun LaTeX-biblatex-package-options nil - "Prompt for package options for the biblatex package." - (unless BibLaTeX-global-style-files - (if (if (eq TeX-arg-input-file-search 'ask) - (not (y-or-n-p "Find BibLaTeX style yourself? ")) - TeX-arg-input-file-search) - ;; ...then, search for BibLaTeX styles. - (progn - (message "Searching for BibLaTeX styles...") - (setq BibLaTeX-global-style-files - (TeX-search-files-by-type 'bbxinputs 'global t t)) - (message "Searching for BibLaTeX styles...done")) - ;; ...else, use for completion only standard BibLaTeX styles (see §3.3 of - ;; Biblatex reference manual). - (setq BibLaTeX-global-style-files - '("numeric" "numeric-comp" "numeric-verb" "alphabetic" - "alphabetic-verb" "authoryear" "authoryear-comp" "authoryear-ibid" - "authoryear-icomp" "authortitle" "authortitle-comp" - "authortitle-ibid" "authortitle-icomp" "authortitle-terse" - "authortitle-tcomp" "authortitle-ticomp" "verbose" "verbose-ibid" - "verbose-note" "verbose-inote" "verbose-trad1" "verbose-trad2" - "verbose-trad3" "reading" "draft" "debug")))) - (TeX-read-key-val t LaTeX-biblatex-package-options-list)) - -;;; biblatex.el ends here |