I recently thought my problem was solved, but it is more involved. Consider the following example:
\documentclass{article}
\usepackage{ntheorem}
\usepackage[capitalize]{cleveref}
\newtheorem{conjecture}{Conjecture}
\newtheorem{solution}{Solution}
\crefname{conjecture}{conjecture}{conjectures}
\crefname{solution}{solution}{solutions}
\begin{document}
\begin{conjecture} \label{c1} Something happened.
\end{conjecture}
\begin{conjecture} \label{c2} Something else also happened.
\end{conjecture}
\begin{solution} \label{s} A lot of things happened.
\end{solution}
\Cref{c1,c2,s} are both \namecref{s} and \namecref{c1}.
\end{document}
The output is the following:
Conjectures 1 and 2 and solution 1 are both solution and conjecture.
I would want the output to be:
Conjectures 1 and 2 and Solution 1 are both solution and conjecture.
How do I achieve this? In other words, I want everything to be capitalized in a \Cref
statement with multiple references. In fact, I would even be happy if I could achieve this with a \cref
statement, because I want everything to be capitalized when it has a number, but as illustrated in the example, I do not want \namecref
output to be capitalized.
Thoughts
The solution to my previous question was the capitalise
option, but this does not work here because it relies on cleveref auto-defining the names from the ntheorem definitions, and if we do this the plural for conjecture
is not defined. The cleveref manual states:
Therefore, if the plural form is ever required, cleveref will produce a "\reference type undefined" warning, and type-set the cross-reference where the plural form is required as:
?? \ref{label} ...
In this case, you will have to provide an explicit \crefname or \Crefname definition yourself, to define the plural form as well as the singular form.
If I do that, the capitalise
will not work any more because:
[...] if you explicitly define a \cref variant to not be capitalised, cleveref will still honour your definition. In other words, you're responsible for defining the capitalisation correctly in your own format definitions.
Maybe what I want is not possible, but it seems odd to me that the capitalise
option is so useless.
\namecref
that outputs a lowercase word. I.e. this is Theorem 9, a reference to a theorem. This is also the reason why I would be happy with thecapitalise
option, but it does not work well (actually, at all?) with plurals.