Hi Uwe, Uwe Brauer <[email protected]> writes:
> I have to work with a file that uses thmtools (which is not supported by > auctex, as far as I can tell, http://git.savannah.gnu.org/cgit/auctex.git/tree/style/thmtools.el is available since 2018. > nor by reftex) RefTeX support OOTB isn't feasible since all environments are defined by the user. > I now run LaTeX-environment and now something strange happens > > The minibuffer offers me > heading (h) key=val (k) Empty (RET) > > Now, RET does not work, nothing happens, RET does work, it just leave the optional argument empty. > h leads to a heading (title) which is ok, but then no label is > inserted as I am used to by > (setq reftex-label-alist > ("cor" ?C "cor:%f:" "~\\ref{%s}" t > ("Corollary" "Cor." "C."))) Note that the setting above cannot work. `reftex-label-alist' is an alist, so you have to do: (setq reftex-label-alist '(("cor" ?C "cor:%f:" "~\\ref{%s}" t ("Corollary" "Cor." "C.")))) And finally, in order to get a label inserted automatically, you have to set `LaTeX-label-alist' *and* `reftex-label-alist': (add-to-list 'LaTeX-label-alist '("cor" . "cor:")) (setq reftex-label-alist '(("cor" ?C "cor:%f:" "~\\ref{%s}" t ("Corollary" "Cor." "C.")))) And then AUCTeX will delegate the generation of label to RefTeX. I think this is also documented in thmtools.el, amsthm.el, ntheorem.el etc. > And > > (defun LaTeX-cor-insert (environment) ;Version:1.20 > (if (y-or-n-p > (format "Do you want a title ")) > (let ((title (read-string "(optional) Title: "))) > (LaTeX-insert-environment "cor" (concat "[" title "]")) > (and (LaTeX-label environment) > (newline-and-indent))) > (LaTeX-insert-environment "cor") > (and (LaTeX-label environment) > (newline-and-indent)))) Why do you need this function? thmtools.el provides `LaTeX-thmtools-env-label' which does the job after parsing the document. Best, Arash
