Hi Arash, 2015-08-18 22:19 GMT+02:00 Arash Esbati <esb...@gmx.de>: > Hi all, > > caption.sty has an undocumented command `\captionbox' with the following > syntax: > > \captionbox[list entry]{heading}[width][inner-pos]{contents} > \captionbox*{heading}[width][inner-pos]{contents} > > `heading' contains the caption text and the `\label{}'. Currently, I > have the following code in `caption.el' to implement this command: > > --8<---------------cut here---------------start------------->8--- > (defun LaTeX-arg-caption-captionbox (optional &optional prompt) > "Query for the arguments of `\\captionbox' incl. a label and > insert them." > (let* ((caption (TeX-read-string (TeX-argument-prompt optional prompt > "Caption"))) > (label (if (fboundp 'reftex-label) > (reftex-label nil t) > (TeX-read-string (TeX-argument-prompt optional prompt > "Label")))) > (width (completing-read (TeX-argument-prompt t prompt "Width") > (mapcar (lambda(elt) (concat TeX-esc (car > elt))) > (LaTeX-length-list)))) > (inpos (completing-read (TeX-argument-prompt t prompt "Inner > position") > '("c" "l" "r" "s"))) > (heading (format "%s\\label{%s}" caption label))) > (LaTeX-indent-line) > (TeX-argument-insert heading optional) > (cond (;; 2 optional args > (and width (not (string-equal width "")) > inpos (not (string-equal inpos ""))) > (insert (format "[%s][%s]" width inpos))) > (;; 1st empty opt. arg, 2nd opt. arg > (and (string-equal width "") > inpos (not (string-equal inpos ""))) > (insert (format "[][%s]" inpos))) > (;; 1st opt. arg, 2nd empty opt. arg > (and width (not (string-equal width "")) > (string-equal inpos "")) > (insert (format "[%s]" width))) > (t ; Do nothing if both empty > (ignore))) > (LaTeX-fill-paragraph))) > > (TeX-add-style-hook > "caption" > (lambda () > '("captionbox" [ "List entry" ] (LaTeX-arg-caption-captionbox) t))) > --8<---------------cut here---------------end--------------->8--- > > My question is, does AUCTeX has something equivalent to `reftex-label' > or should I just read the label as a string?
To insert a new label there is `TeX-arg-define-label', instead to read a label we have `TeX-arg-label'. There is also `LaTeX-label' to insert the whole "\label{}" macro (which is probably what you're looking for, right?). As a rule of thumb, in AUCTeX you should always use these functions and avoid using reftex' ones, since the jobs are seamlessly transferred to the reftex equivalents if `reftex-plug-into-AUCTeX' has been called. Bye, Mosè _______________________________________________ auctex-devel mailing list auctex-devel@gnu.org https://lists.gnu.org/mailman/listinfo/auctex-devel