From: Arash Esbati Date: Sat, 26 Oct 2019 11:29:14 +0000 (+0200) Subject: Improve support for biblatex and cleveref macros X-Git-Tag: emacs-27.0.90~876 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=75b9f4652bad2f408a45a51bc1bbff8bc70d3552;p=emacs.git 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. --- diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el index 9d45f9aba79..79f1913c9f2 100644 --- a/lisp/textmodes/reftex-cite.el +++ b/lisp/textmodes/reftex-cite.el @@ -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 diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el index 8973e5dc1a2..95a33077c71 100644 --- a/lisp/textmodes/reftex-dcr.el +++ b/lisp/textmodes/reftex-dcr.el @@ -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")