(TeX-add-style-hook "fulllabel" (lambda () (TeX-add-symbols '("fulllabel" TeX-arg-define-label) '("fulllonglabel" TeX-arg-define-label) '("fullref" TeX-arg-ref)) ;; Tell AUCTeX about the macros (TeX-auto-add-regexp '("\\\\full\\(?:long\\)?label{\\([^\n\r%\\{}]+\\)}" 1 LaTeX-auto-label)) ;; Check if reftex-vars.el is loaded: (when (featurep 'reftex-vars) (make-local-variable 'reftex-label-alist) (make-local-variable 'reftex-label-regexps) (make-local-variable 'reftex-ref-style-alist) (dolist (mac '("fulllabel" "fulllonglabel")) (add-to-list 'reftex-label-alist `(,(concat "\\" mac "{*}") nil nil nil nil) t) (add-to-list 'reftex-label-regexps (concat "\\\\" mac "{\\(?1:[^\n\r%\\{}]+\\)}") t) (unless (string-match-p "\\" (mapconcat #'identity reftex-label-regexps "\\|")) (reftex-compile-variables))) ;; Add a new reference style (add-to-list 'reftex-ref-style-alist '("PFlabel" "fulllabel" (("\\fullref" ?f))) t) ;; And activate it (and LaTeX-reftex-ref-style-auto-activate (fboundp 'reftex-ref-style-activate) (reftex-ref-style-activate "PFlabel"))) ;; Fontification (when (and (featurep 'font-latex) (eq TeX-install-font-lock 'font-latex-setup)) (font-latex-add-keywords '(("fulllabel" "{") ("fulllonglabel" "{") ("fullref" "{")) 'reference))) TeX-dialect) ;;; fulllabel.el ends here