cleveref 和 amsthm 中的 Cref 命令会产生不需要的水平空格

cleveref 和 amsthm 中的 Cref 命令会产生不需要的水平空格

当我使用 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}

相关内容