Function: org-cite-basic--citation-numbers
org-cite-basic--citation-numbers is a byte-compiled function defined
in oc-basic.el.gz.
Signature
(org-cite-basic--citation-numbers CITATION INFO)
Documentation
Return numbers associated to references in CITATION object.
INFO is the export state as a property list.
Source Code
;; Defined in /usr/src/emacs/lisp/org/oc-basic.el.gz
(defun org-cite-basic--citation-numbers (citation info)
"Return numbers associated to references in CITATION object.
INFO is the export state as a property list."
(let* ((numbers
(sort (mapcar (lambda (k) (org-cite-basic--key-number k info))
(org-cite-get-references citation t))
#'<))
(last (car numbers))
(result (list (number-to-string (pop numbers)))))
;; Use compact number references, i.e., "1, 2, 3" becomes "1-3".
(while numbers
(let ((current (pop numbers))
(next (car numbers)))
(cond
((and next
(= current (1+ last))
(= current (1- next)))
(unless (equal "-" (car result))
(push "-" result)))
((equal "-" (car result))
(push (number-to-string current) result))
(t
(push (format ", %d" current) result)))
(setq last current)))
(apply #'concat (nreverse result))))