reftex: Figure Wrapper
3.4.3 Figure Wrapping Macro
---------------------------
Suppose you want to make figures not directly with the figure
environment, but with a macro like
\newcommand{\myfig}[5][tbp]{%
\begin{figure}[#1]
\epsimp[#5]{#2}
\caption{#3}
\label{#4}
\end{figure}}
which would be called like
\myfig[htp]{filename}{caption text}{label}{1}
Now we need to tell RefTeX that the fourth argument of the ‘\myfig’
macro _is itself_ a figure label, and where to find the context.
(setq reftex-label-alist
'(("\\myfig[]{}{}{*}{}" ?f nil nil 3)))
The empty pairs of brackets indicate the different arguments of the
‘\myfig’ macro. The ‘*’ marks the label argument. ‘?f’ indicates that
this is a figure label which will be listed together with labels from
normal figure environments. The ‘nil’ entries for prefix and reference
format mean to use the defaults for figure labels. The ‘3’ for the
context method means to grab the third macro argument: the caption.
As a side effect of this configuration, ‘reftex-label’ will now
insert the required naked label (without the ‘\label’ macro) when point
is directly after the opening parenthesis of a ‘\myfig’ macro argument.
Again, here the configuration in the customization buffer:
[INS] [DEL] Package or Detailed : [Value Menu] Detailed:
Environment or \macro : [Value Menu] String: \myfig[]{}{}{*}{}
Type specification : [Value Menu] Char : f
Label prefix string : [Value Menu] Default
Label reference format: [Value Menu] Default
Context method : [Value Menu] Macro arg nr: 3
Magic words:
[INS]
[ ] Make TOC entry : [Value Menu] No entry