RefTeX 和 tcbnewtheorem

RefTeX 和 tcbnewtheorem

我希望 RefTeX 了解 tcbtheorem 环境定义的标签。下面是 RefTeX 找不到相关标签的示例...

\documentclass{article}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\newtcbtheorem{theorem}{Theorem}{}{thm}
\begin{document}

\begin{theorem}{Important theorem}{foobar}
  Test of theorem.
\end{theorem}

Reference to theorem: \ref{thm:foobar}.

\end{document}

我能找到的最相似的问题是RefTeX 在自定义环境中找不到“label={name}”,但它并没有完全回答我的问题。

答案1

RefTeX 无法解析中定义的标签前缀参数\newtcbtheorem,然后将其添加到标签定义中foobar,以便您可以引用thm:foobar。如果您可以跳过前缀并将其手动添加到每个标签定义,您可能可以使用 RefTeX 手册中描述的技术15 问题和解决方法并在你的初始化文件中做如下操作:

(setq reftex-label-alist
      '(("\\begin{theorem}{}{*}" ?o "thm:" "~\\ref{%s}" 3)))

这样,RefTeX 应该能够检测您的标签定义并支持引用它。

相关内容