使用 cleverref 强制缩写

使用 cleverref 强制缩写

作为一个恰当的情况这个问题,我想使用 cleveref,但它不断打印未缩写的文本(ChapterSection等)。有没有办法强制使用缩写形式(Chap.Sec.等)?

如果有所不同,我会使用 KOMA-Script 类:

\documentclass[english]{scrreprt}

以及完整的软件包列表:

%%% PAGE DIMENSIONS
\usepackage{geometry} 
\geometry{verbose,a4paper,tmargin=3.5cm,bmargin=2.5cm,lmargin=2.6cm,rmargin=2.6cm,headheight=1.3cm,headsep=1cm}
\pagestyle{headings}

%%% PACKAGES
\usepackage{array} 
\usepackage{paralist} 
\usepackage{verbatim} 
\usepackage{subfig} 
\usepackage{amsmath, amsthm, amssymb, url}
\usepackage{enumitem}
\usepackage{mathrsfs}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{tabu,longtable,booktabs,caption}
\usepackage[pdftex]{graphicx,color}
\usepackage{scrpage2,datetime,tikz}
\usepackage[unicode=true]{hyperref}
\usepackage[numbered]{bookmark}
\usepackage{float}
\usepackage{lscape}
\usepackage{listings}
\usepackage{multirow}
\usepackage[nameinlink]{cleveref}

答案1

我不知道这在英语中是否是一种好的做法。无论如何,您可以使用\crefname提供所需的缩写形式(默认情况下仅缩写方程式和数字);我还提供了非缩写形式,因为\Cref缩写不应在句子开头使用:

\documentclass[english]{scrreprt}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage[nameinlink]{cleveref}

\crefname{chapter}{chap.}{chap.}
\crefname{section}{sect.}{sect.}
\Crefname{chapter}{Chapter}{Chapters}
\Crefname{section}{Section}{Sections}

\begin{document}
\chapter{Test chapter}
\label{cha:test}
\section{Test section}
\label{sec:test}
As we see in \cref{sec:test} of \cref{cha:test}

\Cref{sec:test}

\Cref{cha:test}

\end{document}

在此处输入图片描述

如果由于某种原因,你需要在文档的某个部分使用不同的变体,则可以使用类似

 ...{\Crefname{chapter}{Chap.}{Chap.}\Cref{cha:test}}...

额外的一对括号使变化保持局部性。

相关内容