|
@@ -152,10 +152,10 @@ triplet following the pattern
|
|
(NAME BIBLIOGRAPHY-STYLE CITATION-STYLE)
|
|
(NAME BIBLIOGRAPHY-STYLE CITATION-STYLE)
|
|
|
|
|
|
There, NAME is the name of a registered citation processor providing export
|
|
There, NAME is the name of a registered citation processor providing export
|
|
-functionality, as a symbol. BIBLIOGRAPHY-STYLE (resp. CITATION-STYLE) is the
|
|
|
|
-desired default style to use when printing a bibliography (resp. exporting a
|
|
|
|
-citation), as a string or nil. Both BIBLIOGRAPHY-STYLE and CITATION-STYLE are
|
|
|
|
-optional. NAME is mandatory.
|
|
|
|
|
|
+functionality, as a symbol. BIBLIOGRAPHY-STYLE (respectively CITATION-STYLE)
|
|
|
|
+is the desired default style to use when printing a bibliography (respectively
|
|
|
|
+exporting a citation), as a string or nil. Both BIBLIOGRAPHY-STYLE and
|
|
|
|
+CITATION-STYLE are optional. NAME is mandatory.
|
|
|
|
|
|
The export process selects the citation processor associated to the current
|
|
The export process selects the citation processor associated to the current
|
|
export back-end, or the most specific back-end the current one is derived from,
|
|
export back-end, or the most specific back-end the current one is derived from,
|
|
@@ -502,8 +502,8 @@ This function assumes S precedes CITATION."
|
|
|
|
|
|
(defun org-cite--move-punct-before (punct citation s info)
|
|
(defun org-cite--move-punct-before (punct citation s info)
|
|
"Move punctuation PUNCT before CITATION object.
|
|
"Move punctuation PUNCT before CITATION object.
|
|
-String S contains PUNCT. The function assumes S follows CITATION.
|
|
|
|
-Parse tree is modified by side-effect."
|
|
|
|
|
|
+String S contains PUNCT. INFO is the export state, as a property list.
|
|
|
|
+The function assumes S follows CITATION. Parse tree is modified by side-effect."
|
|
(if (equal s punct)
|
|
(if (equal s punct)
|
|
(org-element-extract-element s) ;it would be empty anyway
|
|
(org-element-extract-element s) ;it would be empty anyway
|
|
(org-element-set-element s (substring s (length punct))))
|
|
(org-element-set-element s (substring s (length punct))))
|
|
@@ -877,6 +877,9 @@ modified by side-effect."
|
|
|
|
|
|
INFO is the export state, as a property list.
|
|
INFO is the export state, as a property list.
|
|
|
|
|
|
|
|
+Optional argument RULE is the punctuation rule used, as a triplet. When nil,
|
|
|
|
+rule is determined according to `org-cite-note-rules', which see.
|
|
|
|
+
|
|
Optional argument PUNCT is a list of punctuation marks to be considered.
|
|
Optional argument PUNCT is a list of punctuation marks to be considered.
|
|
When nil, it defaults to `org-cite-punctuation-marks'.
|
|
When nil, it defaults to `org-cite-punctuation-marks'.
|
|
|
|
|
|
@@ -1274,11 +1277,13 @@ by side-effect."
|
|
;; Before removing the citation, transfer its `:post-blank'
|
|
;; Before removing the citation, transfer its `:post-blank'
|
|
;; property to the object before, if any.
|
|
;; property to the object before, if any.
|
|
(org-cite--set-previous-post-blank cite blanks info)
|
|
(org-cite--set-previous-post-blank cite blanks info)
|
|
- ;; We want to be sure any non-note citation is preceded by
|
|
|
|
- ;; a space. This is particularly important when using
|
|
|
|
|
|
+ ;; Make sure there is a space between a quotation mark and
|
|
|
|
+ ;; a citation. This is particularly important when using
|
|
;; `adaptive' note rule. See `org-cite-note-rules'.
|
|
;; `adaptive' note rule. See `org-cite-note-rules'.
|
|
- (unless (org-cite-inside-footnote-p cite t)
|
|
|
|
- (org-cite--set-previous-post-blank cite 1 info))
|
|
|
|
|
|
+ (let ((previous (org-export-get-previous-element cite info)))
|
|
|
|
+ (when (and (org-string-nw-p previous)
|
|
|
|
+ (string-suffix-p "\"" previous))
|
|
|
|
+ (org-cite--set-previous-post-blank cite 1 info)))
|
|
(pcase replacement
|
|
(pcase replacement
|
|
;; String.
|
|
;; String.
|
|
((pred stringp)
|
|
((pred stringp)
|
|
@@ -1384,7 +1389,8 @@ ARG is the prefix argument received when calling `org-open-at-point', or nil."
|
|
|
|
|
|
;;; Meta-command for citation insertion (insert capability)
|
|
;;; Meta-command for citation insertion (insert capability)
|
|
(defun org-cite--allowed-p (context)
|
|
(defun org-cite--allowed-p (context)
|
|
- "Non-nil when a citation can be inserted at point."
|
|
|
|
|
|
+ "Non-nil when a citation can be inserted at point.
|
|
|
|
+CONTEXT is the element or object at point, as returned by `org-element-context'."
|
|
(let ((type (org-element-type context)))
|
|
(let ((type (org-element-type context)))
|
|
(cond
|
|
(cond
|
|
;; No citation in attributes, except in parsed ones.
|
|
;; No citation in attributes, except in parsed ones.
|