Improve support for biblatex and cleveref macros

* lisp/textmodes/reftex-cite.el (reftex-figure-out-cite-format):
Extend regexp to match additional cite commands from biblatex.sty.

* lisp/textmodes/reftex-dcr.el (reftex-view-crossref): Extend
regexp to match additional cite commands from biblatex.sty and
reference commands from cleveref.sty.
This commit is contained in:
Arash Esbati 2019-10-26 13:29:14 +02:00 committed by Tassilo Horn
parent 368e88b8cb
commit 75b9f4652b
2 changed files with 12 additions and 5 deletions

View file

@ -763,7 +763,10 @@ in order to only add another reference in the same cite command."
(setq format "%l"))
((and (stringp macro)
(string-match "\\`\\\\cite\\|cite\\'" macro))
;; Match also commands from biblatex ending with `s'
;; (\parencites) or `*' (\parencite*) and `texts?'
;; (\footcitetext and \footcitetexts).
(string-match "\\`\\\\cite\\|cite\\([s*]\\|texts?\\)?\\'" macro))
;; We are already inside a cite macro
(if (or (not arg) (not (listp arg)))
(setq format

View file

@ -60,11 +60,15 @@ to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'."
(setq reftex-call-back-to-this-buffer (current-buffer))
(cond
((string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" macro)
;; A citation macro: search for bibitems or BibTeX entries
((string-match "\\`\\\\cite\\|cite\\([s*]\\|texts?\\)?\\'\\|bibentry" macro)
;; A citation macro: search for bibitems or BibTeX entries.
;; Match also commands from biblatex ending with `s'
;; (\parencites) or `*' (\parencite*) and `texts?'
;; (\footcitetext and \footcitetexts).
(setq dw (reftex-view-cr-cite arg key auto-how)))
((string-match "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" macro)
;; A reference macro: search for labels
((string-match "\\`\\\\ref\\|ref\\(range\\|s\\)?\\*?\\'" macro)
;; A reference macro: search for labels.
;; Match also commands from cleveref ending with `s' (\namecrefs).
(setq dw (reftex-view-cr-ref arg key auto-how)))
(auto-how nil) ;; No further action for automatic display (speed)
((or (equal macro "\\label")