Как сделать reftex-цитату, чтобы распознать \ subcaption? - PullRequest
1 голос
/ 06 февраля 2012

С RefTeX Cc C -) вызывает reftex-citation, который сначала запрашивает тип метки, на которую нужно ссылаться, а затем просит выбрать ссылку из списка.Список представляет собой список меток в документе.Для рисунков LaTeX список включает заголовок каждой фигуры (аргументы \caption).Всякий раз, когда документ содержит подразделы, сделанные с помощью \subcaption, они не распознаются и, следовательно, не включаются в список.Можно ли заставить RefTeX распознавать их так, чтобы они помещались рядом с их соответствующими метками в списке?

Я полагаю, что решение состоит в том, чтобы изменить переменную reftex-label-alist, позволив регулярному выражению найти\subcaption.

Ниже приведен пример, чтобы прояснить проблему.Скажем, у вас есть следующий документ 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 -) , вы увидите что-то вроде следующего:

*RefTeX Select* of reftex-citation: No match for content regexp

Обратите внимание, что заголовок главной фигуры показан, но не заголовок подфигуры.

1 Ответ

1 голос
/ 09 февраля 2012

Вы можете настроить reftex-default-context-regexps и изменить регулярное выражение записи заголовка с \\\(rot\)?caption\*?[[{] на \\\(rot\|sub\)?caption\*?[[{].

Я думаю, вам, возможно, придется перезапустить emacs или запустить (reftex-set-dirty 'reftex-default-context-regexps reftex-default-context-regexps), или что-то еще, чтобы AUCTeX обновил правильные переменные. Он должен делать это автоматически, но у меня были некоторые проблемы с этим.

Если вам не нравится Customize, вы можете установить его с помощью следующего кода:

(eval-after-load "reftex-vars"
  '(progn (setcdr (assoc 'caption reftex-default-context-regexps)
                  "\\\\\\(rot\\|sub\\)?caption\\*?[[{]")))
...