有没有办法引用文本间命令中的定理?

有没有办法引用文本间命令中的定理?

我正在尝试引用theorem位​​于内部的intertext

\documentclass{article}
\usepackage{amsmath,amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{align*}
\intertext{\begin{theorem} \label{thm:my-theorem}
My theorem inside intertext.
\end{theorem}}
\end{align*}    
\ref{thm:my-theorem}
\end{document}

然而,我得到:

参考第 1 页上的“thm:my-theorem”在输入行 10 上未定义。

有没有办法在intertext命令中引用定理?


(当然,我的实际用例没有 MWE 那么毫无意义。在那里,我有一个assumption环境,并且在长时间计算的过程中我需要引入一个假设。这就是我将 嵌套assumption在 中的原因intertext。但是,我认为该theorem版本更通用。)

答案1

在 中align\label命令被重新定义,但你可以在 中使用原来的命令\intertext。假设你真的想这么做。

\documentclass{article}
\usepackage{amsmath,amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{align*}
\intertext{\begin{theorem} \csname ltx@label\endcsname{thm:my-theorem}
My theorem inside intertext.
\end{theorem}}
\end{align*}    
\ref{thm:my-theorem}
\end{document}

为了稍微改善一下糟糕的效果,您可以使用\shortintertext,从mathtools

\documentclass{article}
\usepackage{amsmath,mathtools,amsthm}
\newtheorem{theorem}{Theorem}
\begin{document}
\begin{align*}
a&=b\\
\shortintertext{\begin{theorem} \csname ltx@label\endcsname{thm:my-theorem}
My theorem inside intertext.
\end{theorem}}
c&=ddddddddddd
\end{align*}    
\ref{thm:my-theorem}
\end{document}

在此处输入图片描述

附加说明

cleveref正如评论中所说,当加载时,这将不起作用。对于这种情况,请使用\csname cref@label\endcsname

相关内容