我想使用该包showlabels
来显示我的文档中所有内容的标签,如下https://www.overleaf.com/learn/latex/Latex-questions/Keep_track_of_your_labels_with_showlabels演示。我正在使用newtcbtheorem
环境创建定理/引理框,这些框会自动附带标签(如下所述:tcbtheorem 环境的正文被纳入选项)。 然而
\documentclass{article}
\usepackage{amsmath}
\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\tcbuselibrary{breakable}
\usepackage[colorlinks = true, urlcolor = red]{hyperref}
\usepackage{pifont}
\usepackage{showlabels}
\newtcbtheorem[number within=section]{mylemma}{Lemma}%
{colframe=blue!45!white,enlarge top by=0.15cm,before
skip=3pt,after skip=6.5pt,fonttitle=\slshape,breakable}{lem}
\usepackage{thmtools}
\declaretheorem[name=Theorem,numberwithin=section]{thm}
\begin{document}
\[
E=mc^2 \label{eq:einstein} \tag{\ding{37}}
\]
As we can see from \eqref{eq:einstein}
\begin{mylemma}{Substitution lemma}{substitution}
Lemma in a tcolorbox
\end{mylemma}
Reference to the lemma \ref{lem:substitution}
\end{document}
词干框在输出中没有明显标记(而明确的\label
ed 方程是):
(MWE 的灵感部分来自于用符号标记方程式)。
答案1
您提到定理/引理框会自动定义标签,例如lem:substitution
。我的猜测是,这样做是使用 的原始定义\label
,而不是已showlabels
更改的定义。我原本以为使用的定义是扩展时有效的定义,但我可以想象在某些情况下,它是定义{mylemma}
时有效的定义。{mylemma}
如果是这样,那么可能如果您将 showlabels 放在定义 的包之前,这将神奇地起作用{mylemma}
。否则,它将涉及逐步检查实际执行的操作,以查看它使用{mylemma}
的定义。\label