summaryrefslogtreecommitdiff
path: root/elpa/auctex-13.1.3/style/harvard.el
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/auctex-13.1.3/style/harvard.el')
-rw-r--r--elpa/auctex-13.1.3/style/harvard.el133
1 files changed, 133 insertions, 0 deletions
diff --git a/elpa/auctex-13.1.3/style/harvard.el b/elpa/auctex-13.1.3/style/harvard.el
new file mode 100644
index 0000000..6373af3
--- /dev/null
+++ b/elpa/auctex-13.1.3/style/harvard.el
@@ -0,0 +1,133 @@
+;;; harvard.el --- Support for Harvard Citation style package for AUCTeX. -*- lexical-binding: t; -*-
+
+;; Copyright (C) 1994, 1997, 2005, 2012, 2014, 2020 Free Software Foundation, Inc.
+
+;; Author: Berwin Turlach <statba@nus.edu.sg>
+;; Maintainer: auctex-devel@gnu.org
+;; 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.
+
+;;; Code:
+
+(require 'tex)
+(require 'latex)
+
+(TeX-add-style-hook
+ "harvard"
+ (lambda ()
+
+ (LaTeX-add-environments
+ '("thebibliography" LaTeX-env-harvardbib ignore))
+
+ (TeX-add-symbols
+ "harvardand"
+ '("citeasnoun"
+ (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) nil)
+ TeX-arg-cite)
+ '("possessivecite"
+ (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) nil)
+ TeX-arg-cite)
+ '("citeaffixed"
+ (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) nil)
+ TeX-arg-cite "Affix")
+ '("citeyear"
+ (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) nil)
+ TeX-arg-cite)
+ '("citename"
+ (TeX-arg-conditional TeX-arg-cite-note-p ([ "Note" ]) nil)
+ TeX-arg-cite)
+ '("citationstyle"
+ (TeX-arg-eval completing-read "Citation style: " '(("agsm") ("dcu"))))
+ '("citationmode"
+ (TeX-arg-eval completing-read "Citation mode: "
+ '(("full") ("abbr") ("default"))))
+ '("harvardparenthesis"
+ (TeX-arg-eval completing-read "Harvardparenthesis: "
+ '(("round") ("curly") ("angle") ("square"))))
+ '("bibliographystyle"
+ (TeX-arg-eval
+ completing-read "Bibliography style: "
+ '(("agsm") ("apsr") ("dcu") ("jmr") ("jphysicsB") ("kluwer") ("nederlands") ("econometrica")))
+ ignore)
+ '("harvarditem" [ "Short citation" ]
+ "Complete citation" "Year" TeX-arg-define-cite))
+
+ (setq TeX-complete-list
+ (append '(("\\\\citeasnoun\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
+ 1 LaTeX-bibitem-list "}")
+ ("\\\\citeasnoun{\\([^{}\n\r\\%,]*\\)" 1
+ LaTeX-bibitem-list "}")
+ ("\\\\possessivecite\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
+ 1 LaTeX-bibitem-list "}")
+ ("\\\\possessivecite{\\([^{}\n\r\\%,]*\\)" 1
+ LaTeX-bibitem-list "}")
+ ("\\\\citename\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
+ 1 LaTeX-bibitem-list "}")
+ ("\\\\citename{\\([^{}\n\r\\%,]*\\)" 1
+ LaTeX-bibitem-list "}")
+ ("\\\\citeaffixed\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
+ 1 LaTeX-bibitem-list "}")
+ ("\\\\citeaffixed{\\([^{}\n\r\\%,]*\\)" 1
+ LaTeX-bibitem-list "}")
+ ("\\\\citeaffixed{\\([^{}\n\r\\%]*,\\)\\([^{}\n\r\\%,]*\\)"
+ 2 LaTeX-bibitem-list)
+ ("\\\\citeyear\\[[^]\n\r\\%]*\\]{\\([^{}\n\r\\%,]*\\)"
+ 1 LaTeX-bibitem-list "}")
+ ("\\\\citeyear{\\([^{}\n\r\\%,]*\\)" 1
+ LaTeX-bibitem-list "}")
+ ("\\\\citeyear{\\([^{}\n\r\\%]*,\\)\\([^{}\n\r\\%,]*\\)"
+ 2 LaTeX-bibitem-list))
+ TeX-complete-list))
+
+ (setq LaTeX-auto-regexp-list
+ (append '(("\\\\harvarditem{\\([a-zA-Z][^%#'()={}]*\\)}{\\([0-9][^, %\"#'()={}]*\\)}{\\([a-zA-Z][^, %\"#'()={}]*\\)}" 3 LaTeX-auto-bibitem)
+ ("\\\\harvarditem\\[[^][\n\r]+\\]{\\([a-zA-Z][^%#'()={}]*\\)}{\\([0-9][^, %\"#'()={}]*\\)}{\\([a-zA-Z][^, %\"#'()={}]*\\)}" 3 LaTeX-auto-bibitem)
+ )
+ LaTeX-auto-regexp-list))
+
+ (setq LaTeX-item-list
+ (cons '("thebibliography" . LaTeX-item-harvardbib)
+ LaTeX-item-list))
+
+ ;; Tell RefTeX
+ (when (and LaTeX-reftex-cite-format-auto-activate
+ (fboundp 'reftex-set-cite-format))
+ (reftex-set-cite-format 'harvard)))
+ TeX-dialect)
+
+(defun LaTeX-env-harvardbib (environment &optional _ignore)
+ "Insert ENVIRONMENT with label for harvarditem."
+ (LaTeX-insert-environment environment
+ (concat TeX-grop "xx" TeX-grcl))
+ (end-of-line 0)
+ (delete-char 1)
+ (delete-horizontal-space)
+ (LaTeX-insert-item))
+
+;; Analog to LaTeX-item-bib from latex.el
+(defun LaTeX-item-harvardbib ()
+ "Insert a new harvarditem."
+ (TeX-insert-macro "harvarditem"))
+
+(defvar LaTeX-harvard-package-options '("full" "abbr" "default"
+ "agsmcite" "dcucite" "round"
+ "curly" "angle" "square" "none")
+ "Package options for the harvard package.")
+
+;; harvard.el ends here