这个问题与以下问题类似(但不是重复)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”。)