如果尝试在带星号的方程式环境中引用标签,如何发出警告?

如果尝试在带星号的方程式环境中引用标签,如何发出警告?

我的文件非常大(超过 100 个方程式,并且还在不断增加),我不想手动检查我使用了哪些方程式标签。所以我的目标是将所有equation环境更改为equation*,但对标签的任何引用equation*都不会输出任何内容或“不相关”的数字没有创建任何警告。

有没有办法强制此类情况产生警告?

分数维:

\documentclass[a4paper, 11pt]{article}
\usepackage{amsmath}

\begin{document}
\begin{equation*} \label{mylabel}
    \pi = 3.2
\end{equation*}
I want a warning if i'm trying to reference equation \eqref{mylabel} since the equation environment is starred.
\end{document}

答案1

以下情况会导致\label内部调用equation*打印警告:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\AddToHook{env/equation*/begin}{%
  \renewcommand*{\label@in@display}[1]{%
    \errmessage{\string\label{#1} used in equation* environment!}%
  }%
}
\makeatother

\begin{document}

\begin{equation*} \label{mylabel}
    x = 3.2
\end{equation*}

\end{document}

相关内容