|
| From: | Alan Ristow |
| Subject: | [AUCTeX] Re: Referencing labels with refstyle.sty |
| Date: | Wed, 11 Jul 2007 19:10:47 -0400 |
| User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070604 Thunderbird/2.0.0.4 Mnenhy/0.7.5.0 |
Ralf Angeli wrote:
* Alan Ristow (2007-07-11) writes:This gets me halfway there, inserting \figref{fig:foo} rather than the \figref{foo} that I would like. Not being much of a Lisp programmer, after some struggle I came up with(setq reftex-label-alist '(("figure" ?f "fig:" reftex-format-ref-function caption nil)))The fourth element in the list must be a string. So you cannot use a function there. (Perhaps RefTeX should support that.)
Ah. Glad to see I least got the need for reftex-format-ref-function correct.... I figured that since it returns a string, I might be able to use it in place of one -- obviously not!
RefTeX allows specifying a function for formatting the reference by
setting `reftex-format-ref-function', see
(info "(reftex)Options (Referencing Labels)"). You could set this
function in a style file for refstyle.sty for example like this:
(defun my-reftex-format-ref-function (label format)
(let* ((label-sep-pos (string-match ":" label))
(prefix (substring label 0 label-sep-pos))
(suffix (substring label (1+ label-sep-pos))))
(format "\\%sref{%s}" prefix suffix)))
(set (make-local-variable 'reftex-format-ref-function)
'my-reftex-format-ref-function)
I had to change that last line to: (setq reftex-format-ref-function 'my-reftex-format-ref-function)))but beyond that it works brilliantly (and I've learned a couple of important things about Elisp and AUCTeX in the process). I've put the code into my own refstyle.el and it loads and runs perfectly. Thanks for the help!
Alan
| [Prev in Thread] | Current Thread | [Next in Thread] |