From 09b3619693cf4979212d828a0452741e00fca8a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Simonyi?= Date: Tue, 2 Aug 2022 11:32:17 +0200 Subject: [PATCH] oc-csl: Add support for title, locators and bibentry citation styles --- lisp/oc-csl.el | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/lisp/oc-csl.el b/lisp/oc-csl.el index 0b2fe5c41..d84c97e69 100644 --- a/lisp/oc-csl.el +++ b/lisp/oc-csl.el @@ -61,7 +61,10 @@ ;; - noauthor (na), including bare (b), caps (c) and bare-caps (bc) variants, ;; - nocite (n), ;; - year (y), including a bare (b) variant, -;; - text (t). including caps (c), full (f), and caps-full (cf) variants, +;; - text (t), including caps (c), full (f), and caps-full (cf) variants, +;; - title (ti), including a bare (b) variant, +;; - locators (l), including a bare (b) variant, +;; - bibentry (b), including a bare (b) variant, ;; - default style, including bare (b), caps (c) and bare-caps (bc) variants. ;; ;; Using "*" as a key in a nocite citation includes all available items in @@ -349,6 +352,21 @@ a property list." (pcase variant ((or "bare" "b") '(:mode year-only :suppress-affixes t)) (_ '(:mode year-only)))) + ;; "bibentry" style + (`(,(or "bibentry" "b") . ,variant) + (pcase variant + ((or "bare" "b") '(:mode bib-entry :suppress-affixes t)) + (_ '(:mode bib-entry)))) + ;; "locators" style + (`(,(or "locators" "l") . ,variant) + (pcase variant + ((or "bare" "b") '(:mode locator-only :suppress-affixes t)) + (_ '(:mode locator-only)))) + ;; "title" style + (`(,(or "title" "ti") . ,variant) + (pcase variant + ((or "bare" "b") '(:mode title-only :suppress-affixes t)) + (_ '(:mode title-only)))) ;; "text" style. (`(,(or "text" "t") . ,variant) (pcase variant @@ -730,7 +748,10 @@ property list." (("year" "y") ("bare" "b")) (("text" "t") ("caps" "c") ("full" "f") ("caps-full" "cf")) (("nil") ("bare" "b") ("caps" "c") ("bare-caps" "bc")) - (("nocite" "n")))) + (("nocite" "n")) + (("title" "ti") ("bare" "b")) + (("bibentry" "b") ("bare" "b")) + (("locators" "l") ("bare" "b")))) (provide 'oc-csl) ;;; oc-csl.el ends here -- 2.25.1