nosort
我可以使用或包选项全局禁用引用排序compress
,如文档中所述。同一章解释了如何为一个实例禁用压缩\cref
。但它没有提到如何为一个实例禁用排序。
梅威瑟:
\documentclass[12pt,a4paper]{article}
\usepackage{cleveref}
\begin{document}
\section{Foo}
\label{sec:foo}
\subsection{Bar}
\label{sec:foo.bar}
\section{Refs}
Check \cref{sec:foo.bar,sec:foo}
\end{document}
输出是“参见第 1 和 1.1 节”,但我想要“参见第 1.1 和 1 节”。
答案1
只需暂时将条件设置为 false 即可\if@cref@sort
:
\documentclass[12pt,a4paper]{article}
\usepackage{cleveref}
\makeatletter
\DeclareRobustCommand{\crefnosort}[1]{%
\begingroup\@cref@sortfalse\cref{#1}\endgroup
}
\makeatother
\begin{document}
\section{Foo}
\label{sec:foo}
\subsection{Bar}
\label{sec:foo.bar}
\section{Refs}
Check \crefnosort{sec:foo.bar,sec:foo}
\end{document}
这\DeclareRobustCommand
是为了防止命令进入 而采取的预防措施\caption
。