编辑 cleveref 的格式以用于多个标签引用

编辑 cleveref 的格式以用于多个标签引用

我正在使用该cleveref包在文章 (LaTeX) 中引用定理、方程等。我希望引用格式如下:Thm. (1) 表示单个定理(或方程、图形等),Thms. (1,2) 表示一对(定理)标签。

为了实现我所需的格式,cleveref我这样做:

\usepackage{cleveref}
\crefformat{theorem}{Thm.~(#2{}#1{}#3)}
\crefname{theorem}{Thm.}{Thms.}
\newcommand{\crefpairconjunction}{ ,~}

但是,我无法完全实现具有一对标签的情况所需的格式——我要求引用中的计数器用“(”和“)”括号括起来:

谢谢。 (1.1、1.2)

有人能帮我修改多个标签格式吗?由于有人要求 MWE,所以这里是其中一个:

\documentclass[12pt]{article}
\usepackage{amsmath}

\newtheorem{theorem}{Theorem}[section]

\usepackage{hyperref}
\hypersetup{colorlinks,linkcolor=blue}

\usepackage{cleveref}
\crefformat{theorem}{Thm.~(#2{}#1{}#3)}
\crefname{theorem}{Thm.}{Thms.}
\newcommand{\crefpairconjunction}{ ,~}

\renewcommand{\baselinestretch}{2}

\begin{document}

\section{\today}

Here is a sample theorem:
\begin{theorem} \label{thm-something}
Define something \dots
\end{theorem}

Here is another sample theorem:
\begin{theorem} \label{thm-some-other-thing}
Define some other thing \dots
\end{theorem}

I do not want references in this format: \cref{thm-something,thm-some-other-thing}

I want to enclose the counters by ``('' and ``)'' parenthesis. So it should be: ``Thms. (1.1, 1.2)''.
\end{document}

我根据之前帖子的评论编辑了这个问题。(这个问题是如何同时交叉引用多个对象

答案1

该命令\crefformat用于定义对方程、图形、定理等单个实例的交叉引用格式。要设置对一系列项目的交叉引用格式,您需要使用\crefrangeformat。以下设置可能适合您的需求:

\crefrangeformat{equation}{Eqs.~(#3#1#4--#5#2#6)}
\crefrangeformat{figure}{Figs.~(#3#1#4--#5#2#6)}
\crefrangeformat{theorem}{Thms.~(#3#1#4--#5#2#6)}

\crefrange{<first-label>}{<last-label>}引用标签范围时请务必使用该命令。

{}顺便说一句,您的说明中似乎有很多对花括号 , , \crefformat。这些花括号可能没有必要。

相关内容