如果换用别的包,可以这样做
\documentclass{article}
\usepackage{amsthm}
\usepackage{zref-clever}
\AddToHook{env/thm/begin}{\zcsetup{countertype={thm = theorem}}}
\AddToHook{env/lem/begin}{\zcsetup{countertype={thm = lemma}}}
\newtheorem{thm}{Theorem}[section]
\newtheorem{lem}[thm]{Lemma}
\begin{document}
\begin{thm}\label{thm}
foo
\end{thm}
\begin{lem}\label{lem}
foo
\end{lem}
\zcref{lem}
\end{document}
这里的 theorem
和 lamma
都是 zref-clever
支持的已知类型,如果是未知类型,还可以做类似如下的设置
\zcRefTypeSetup{experiment}{
Name-sg= Experiment,
name-sg= experiment,
Name-pl= Expariments,
name-pl= experiments,
Name-sg-ab= Expr.,
name-sg-ab= expr.,
Name-pl-ab= Exprs.,
name-pl-ab= exprs.
}
然后就可以
\AddToHook{env/expr/begin}{\zcsetup{countertype={expr = experiment}}}
\newtheorem{expr}{Experiment}
仅从这个问题来看,zref-clever
仿佛并未打开多少便利,但已经很多人都换成这个包了,我姑且也慢慢适应吧
问 `cleveref` 引用名称不正确