使用RefTeX C-c C - )调用reftex-citation
,它首先询问要引用的标签类型,然后要求其中一个从列表中选择引用。该列表是文档中的标签列表。对于LaTeX数字,该列表包括每个数字的标题(\caption
的参数)。每当文档包含使用\subcaption
完成的子标题时,它们未被识别,因此不会包含在列表中。是否可以使RefTeX识别它们,使它们放在列表中各自的标签旁边?
我想解决方法是让regexp找到\subcaption
来修改变量reftex-label-alist
。
下面是一个使问题更清晰的例子。假设您有以下LaTeX文档:
\documentclass{article}
\usepackage{subcaption}
\begin{document}
\begin{figure}
\begin{minipage}{.5\linewidth}
\subcaption{A subfigure}\label{fig:1a}
\end{minipage}
\caption{A figure}\label{fig:1}
\end{figure}
\end{document}
如果你做 C-c C - ),你会看到如下内容:
请注意,主要数字的标题显示但不是子图的标题。
答案 0 :(得分:1)
您可以自定义reftex-default-context-regexps
并将标题条目的正则表达式从\\\(rot\)?caption\*?[[{]
更改为\\\(rot\|sub\)?caption\*?[[{]
。
我认为您可能必须重新启动emacs,或运行(reftex-set-dirty 'reftex-default-context-regexps reftex-default-context-regexps)
或其他内容,以便AUCTeX将更新正确的变量。它应该自动完成,但我遇到了一些问题。
如果您不喜欢自定义,可以使用以下代码进行设置:
(eval-after-load "reftex-vars"
'(progn (setcdr (assoc 'caption reftex-default-context-regexps)
"\\\\\\(rot\\|sub\\)?caption\\*?[[{]")))