複數 cref 用於類似定理的環境,單數 cref 用於列舉其中的項目

複數 cref 用於類似定理的環境,單數 cref 用於列舉其中的項目

我有一個類似定理的環境,examples它的體內總是包含一個枚舉。使用cleveref,我如何使用複數名稱“Examples”引用整個環境(即所有枚舉項目),同時使用單數名稱“Example”引用其中的單一項目? (其中的一系列項目再次使用複數名稱“示例”?)

範例來源:

\documentclass[12pt]{memoir}

\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{enumitem}

\usepackage[colorlinks=true,linkcolor=red]{hyperref}
\usepackage[nameinlink,noabbrev,capitalize]{cleveref}

\swapnumbers

\declaretheoremstyle[
  headfont= \sffamily\bfseries,
  headpunct={\sffamily\bfseries.},
  postheadspace=0.5em,
  notefont=\sffamily\bfseries,
  headformat=\NAME\NUMBER\let\thmt@space\@empty\NOTE,
  bodyfont=\mdseries\itshape,
  spaceabove=12pt,spacebelow=12pt
]{thmstyle}

\theoremstyle{thmstyle}% default
\declaretheorem[name=Theorem,numberwithin=chapter]{theorem}

\declaretheoremstyle[
  headfont= \sffamily\bfseries,
  headpunct={\sffamily\bfseries.},
  postheadspace=0.5em,
  notefont=\sffamily\bfseries,
 bodyfont=\normalfont,
 spaceabove=12pt,spacebelow=12pt
]{defstyle}

\theoremstyle{defstyle}
\newtheorem{examples}[theorem]{Examples}

\newlist{parensenum}{enumerate}{3}
\setlist[parensenum,1]{%
  label= \upshape(\arabic*),
  ref={\arabic*}, % strips formatting!
}

\crefname{examples}{Examples}{Examples}
\Crefname{examples}{Examples}{Examples}
\crefname{parensenumi}{}{}
\crefformat{parensenumi}{(#2#1#3)}
\Crefformat{parensenumi}{(#2#1#3)}

\begin{document}

\chapter{Chapter}

\section{Section}

\large % for visibility in posting 
\begin{examples}\label{exs:several-exs}

\begin{parensenum}
\item\label{ex:one}      First example.
\item\label{ex:two}      Second example.
\item\label{ex:three}   Third example.

\end{parensenum}

\end{examples}

\textbf{References}

\begin{itemize}

\item  \cref{exs:several-exs}.  [OK as is.]

\item \cref{exs:several-exs} \cref{ex:two}. [Want singular ``Example'' in hyperlink.]

\item \crefrange{ex:two}{ex:three}.  [Want hyperlink: Examples 1.1 (2)--(3).]

[Can do this too verbosely as: \cref{exs:several-exs} \cref{ex:two}--\cref{ex:three}.]

\end{itemize}

\end{document}

輸出
有缺陷的單/複數 cref

問題)

我的主要問題是如何折磨cref或以其他方式獲得對環境中枚舉列表中單個項目的引用,examples以使用單數“Example”而不是“Examples”,同時仍然保留複數“Examples”參考整個examples環境。

(如果我必須使用指示的詳細形式來獲取對枚舉列表中一系列項目的引用,那也沒關係 - 儘管我寧願不必這樣做。)

如果它使解決方案成為可能,甚至變得更加容易,我願意放棄nameinlinks選擇cleveref

相關內容