作为一个恰当的情况这个问题,我想使用 cleveref,但它不断打印未缩写的文本(Chapter
、Section
等)。有没有办法强制使用缩写形式(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}}...
额外的一对括号使变化保持局部性。