我希望 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 应该能够检测您的标签定义并支持引用它。