Eu tenho um ambiente semelhante a um teorema, examples
que sempre incluirá um enumerado em seu corpo. Usando cleveref
, como posso me referir a todo o ambiente (ou seja, todos os itens enumerados) com o nome plural 'Exemplos' e ainda me referir a um item individual dentro dele com o nome singular 'Exemplo'? (E uma série de itens dentro dele novamente usando o nome plural 'Exemplos'?)
Fonte de exemplo:
\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}
Questões)
Minha principal questão é como torturar cref
, ou de outra forma, para obter a referência a um único item na lista enumerada dentro do examples
ambiente para usar "Exemplo" no singular em vez de "Exemplos", mantendo o plural "Exemplos" no referência a todo o examples
ambiente.
(Se eu precisar usar a forma detalhada indicada para obter uma referência a um intervalo de itens na lista enumerada, tudo bem — embora eu prefira não ter que fazer isso.)
Se isso tornar uma solução possível, ou mesmo significativamente mais fácil, estou disposto a desistir da nameinlinks
opção cleveref
.