![如何隐藏方程式的标签同时仍然能够交叉引用它?](https://linux22.com/image/422419/%E5%A6%82%E4%BD%95%E9%9A%90%E8%97%8F%E6%96%B9%E7%A8%8B%E5%BC%8F%E7%9A%84%E6%A0%87%E7%AD%BE%E5%90%8C%E6%97%B6%E4%BB%8D%E7%84%B6%E8%83%BD%E5%A4%9F%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8%E5%AE%83%EF%BC%9F.png)
我有以下内容,
\begin{equation}
\label{Hyp}\tag{$\mathbf{H}$}
\nonumber
(\mathbf{H})\left\{
\begin{tabular}{p{\textwidth}}
\begin{enumerate}[label=(\subscript{\mathbf{H}}{{\arabic*}})]
\item something
\item something
\item something
\end{enumerate}
\end{tabular}
\right.
\end{equation}
但是我不希望公式在文档中显示(H)标签,我只希望它在交叉引用时显示出来,即,如果我写了 \ref{Hyp} 那么我想要(H)。
答案1
你可以覆盖该amsmath
机制:
\documentclass{article}
\usepackage{amsmath,enumitem}
\usepackage{lipsum} % for mock text
\makeatletter
\newcommand{\weirdlabel}[2]{%
\protected@write\@auxout{}{\string\newlabel{#1}{{#2}{\thepage}}}%
}
\makeatother
\begin{document}
\lipsum[1][1-5]
\begin{equation*}
\weirdlabel{Hyp}{\ensuremath{\mathbf{H}}}
(\mathbf{H})\left\{
\begin{minipage}{0.8\textwidth}
\begin{enumerate}[label=(\arabic*$_{\mathbf{H}}$)]
\item \lipsum[2][1-5]
\item \lipsum[2][6]
\item \lipsum[2][7]
\end{enumerate}
\end{minipage}
\right.
\end{equation*}
\lipsum[3]
\ref{Hyp}
\end{document}
如您所见,\ref
命令产生了预期的结果H。