我想做以下事情:
只需输入类似
... we describe this in sections \mycoolref{winter,spring,summer,fall} ...
它将排版为类似
...我们在第 2.1 至 2.4 节中描述了这一点。
有人可能会说,我可以直接输入
... we describe this in sections \ref{winter} to \ref{fall} ...
但棘手的是,我可能会决定稍后更改我的winter
、、、部分的顺序,并且我不想因此而更改我的参考文献。spring
summer
fall
我们可以想象一个奇特的命令,它采用一组标签并生成一个由范围组成的紧凑描述(如果可能),例如
2.1、2.3 至 2.8 和 2.12
或者说,是否存在这样的宏?
答案1
这cleveref
软件包对交叉引用进行排序和压缩。它还会自动确定引用的格式,这样您就不必在源中键入“section”。
\documentclass{article}
\usepackage{cleveref}
\begin{document}
\section{winter}\label{winter}
\section{spring}\label{spring}
\section{summer}\label{summer}
\section{fall}\label{fall}
\section{christmas}\label{christmas}
\section{easter}\label{easter}
\section{pentecost}\label{pentecost}
We describe this in \cref{winter,fall,christmas,summer,pentecost} \dots
\end{document}