From 361e78eca47d2a6472064ae37d43e9c1e131faa3 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: Register the newly added citation styles "title", "locators and "bibentry" as supported by the "csl" export processor. (org-cite-csl--create-structure-params): Add support for the creation of citation structures with the new citation styles. --- lisp/oc-csl.el | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/lisp/oc-csl.el b/lisp/oc-csl.el index 0b2fe5c41..7fcc1f1f2 100644 --- a/lisp/oc-csl.el +++ b/lisp/oc-csl.el @@ -61,11 +61,16 @@ ;; - 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 -;; the printed bibliography. +;; Using "*" as a key in a nocite citation includes all available +;; items in the printed bibliography. The "bibentry" citation style, +;; similarly to biblatex's \fullcite, creates a citation which is +;; similar to the bibliography entry. ;; CSL styles recognize "locator" in citation references' suffix. For example, ;; in the citation @@ -349,6 +354,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 +750,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