下面是另一个示例,其中 cleveref 没有在应该大写时使用大写字母

下面是另一个示例,其中 cleveref 没有在应该大写时使用大写字母

这个问题与以下问题类似(但不是重复)cleveref capitalize 选项似乎没有产生大写输出

原始帖子提供了一个代码示例,但似乎并不总是能重现问题。这是一个更好的尝试。

以下代码应该将 \cref 用法输出为大写标签名称,但实际上不起作用。Section 输出为大写,但定义输出为小写。

如果有人能帮我弄清楚为什么它似乎不起作用,我会很高兴。我还附上了一张图片来显示尽管使用了大写选项,“定义”仍然是小写的。

在此处输入图片描述

\documentclass[a4paper]{article}
\usepackage{pgf}

\usepackage{color}
\definecolor{blueye}{rgb}{0, 0.2, 0.5}
\usepackage{mathtools}
\usepackage[colorlinks=true,allcolors=blueye]{hyperref}
\usepackage[capitalize]{cleveref}
\usepackage{amsthm}
\usepackage{framed}

\newtheorem{protodefinition}{Definition}[section]

\newenvironment{definition}
   {\colorlet{shadecolor}{green!5}\begin{shaded}\begin{protodefinition}}
   {\end{protodefinition}\end{shaded}}

\crefname{protodefinition}{definition}{definitions}
\Crefname{protodefinition}{Definition}{Definitions}

\begin{document}

\section{Introduction}
\label{sec.intro}

The problem we examine in this article is that of using Boolean
operations to decompose a set of partially overlapping regions into a
valid partition.  In particular, given $V=\{A_1, A_2, ..., A_M\}$,
suppose that for each pair $(A_i,A_j)$, we whether
$A_i \subseteq A_j$, $A_i \supseteq A_j$, or $A_i \cap A_j = \emptyset$.  We would
like to compute the maximal disjoint decomposition of $V$.  We define
precisely what we mean by maximal disjoint decomposition in
\cref{def.mdd} of \cref{sec.1253}.

\subsection{Maximal Disjoint Decomposition}
\label{sec.1253}

\begin{definition}
  \label{def.mdd}
  If $D$ is a disjoint decomposition such that for any other disjoint
decomposition $D'$ it holds that $|D| > |D'|$, then $D$ is said to be
a \emph{maximal disjoint decomposition}.
\end{definition}

\end{document}

答案1

正如 @samcarter 所说,这是预期和记录的行为:cleveref始终遵守您的手动格式定义,无论它们是什么,无论包选项如何。(选项也是如此nameinlink。)这样您就可以始终手动覆盖单个引用类型的默认值。

只需定义您想要的参考格式即可。如果您希望\cref参考文献大写,请定义要大写的格式:

\crefname{protodefinition}{Definition}{Definitions}

(请注意,这里只有这一行而没有相应的内容\Crefname就足够了,因为自动派生的\Crefname结果将完全相同,这正是您想要的。虽然提供两者可能是一种很好的做法,以防您以后决定要将格式更改\cref为“Def。”同时保持\Cref格式为“Definition”。)

相关内容