当我使用 amsthm 和 cleveref 时,出现不需要的空格的问题。
以下是强调该问题的 MWE。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{amsthm}
\usepackage[hypertexnames=false]{hyperref}
\usepackage[noabbrev,nameinlink]{cleveref}
\hypersetup{colorlinks=true,linkcolor={red}}
\newtheoremstyle{test}{}{}{\itshape}{}{\bfseries}{.}{.5em}{#1#2 (\thmnote{#3})}
\theoremstyle{test}
\newtheorem{test}{Test T}
\begin{document}
\begin{test}[Test Name]
\label{test}
Test.
\end{test}
\Cref{test}.
\end{document}
正如可以注意到的,我想要通过 Cref 获取“Test T1”,但实际上我得到的是“Test T 1”。
欢迎任何反馈!
答案1
我认为你正在寻找类似的东西:
\documentclass{article}
\usepackage[english]{babel}
\usepackage{amsthm}
\usepackage[colorlinks,linkcolor=red]{hyperref}
\usepackage[noabbrev,nameinlink]{cleveref}
\newtheoremstyle{test}{}{}{\itshape}{}{\bfseries}{.}{.5em}{#1 #2 (\thmnote{#3})}
\theoremstyle{test}
\newtheorem{test}{Test}
\renewcommand\thetest{T\arabic{test}}
\crefname{test}{Test}{Tests} % for \cref and \Cref calls with more than 1 arg.
\begin{document}
\begin{test}[Test Name] \label{testa} Test. \end{test}
\begin{test}[Another Test] \label{testb} Another test. \end{test}
\Cref{testa}.
\Cref{testa,testb}.
\end{document}