使用宏包cleveref实现自动的引用

使用宏包cleveref实现自动的引用

本文翻译自:http://www.howtotex.com/packages/automatic-clever-references-with-cleveref/

最近我遇到了一个LaTeX宏包,并且这个宏包节约了我很多的时间,宏包的名字是:cleveref。这个宏包非常容易上手使用,因此我将立刻开始介绍宏包的使用方法。首先,注意:hyperfer提供了一些机器相似的自动引用指令,但是在我眼里,cleveref包更加的精致,使用更加方便

安装

一如既往,这个宏包通过命令\usepackage{cleveref}命令引入,如果在你的文档中,你不得不这样写引用figure ~\ref{···},那么你可以使用\cref{···}来实现。宏包cleveref将自动检测你的引用究竟是figure环境、equation环境、table环境等。上面的引用显示的格式是:fig.图片的标签、eq.公式的标签。那么我们想要使用Equation这样的标记作为前缀呢?我们想要自定义前面显示的名字呢?那么我们想要一次引用多个文件呢(比如同时引用图片、公式和图表)?后面讲解这些问题。

默认的前缀中首字母大写

目前我所知道的,仅仅是fig.eq.等的情况,那么有时我们的引用会是整段的开始,那么英文文章要求首字母必须要大写,此时我们是不是不能使用这个宏包呢?答案是否定的。出于其他种种方面的原因(在原文中并没有提到这些具体的原因),不得不将首字母大写,这样做到底是对还是错?或者这看起来很丑陋,但是不管怎样,你可以使用\Cref{···}代替\cref。实现的效果是:Equation 图片的标签注意:中间并没有使用英文状态下的句号.去连接

多个引用

另外在cleveref宏包的引用时,允许在一个引用命令中同时引用多个不同的公式、图、表等。例如\cref{eq1,eq2},他将会显示eq.(1)and(2),但是这还不是多个引用的全部,当引用不同的环境,比如\cref{fig1,tab2,eq3}时,这个宏包将会自动的打印正确的名字和正确的引用。

编辑引用的名字

在使用\cref时,其实我想要让它写成equation.的形式,而不是eq.,在宏包cleveref中也是很容易实现的,将下面的代码写入到导言区中:

\crefname{equation}{equation}{equations}

在命令\crefname{·}{·}{·}中的第一个参数的含义是引用的类型(equation、table、figure、section等),第二个参数包含的单词,当只有一个引用时将会被输出,当有多个引用是第三个参数将会被输出。在中文情况下:第二个参数和第三个参数可以是汉字,如:\crefname{equation}{公式}{公式}

更多

如果你想了解关于这个包更多的内容,但是我觉得上面的内容就足够了,那么请你参照其官方文档:http://ctan.mackichan.com/macros/latex/contrib/cleveref/cleveref.pdf 。

联系我

如果大家对我所研究的问题感兴趣,或者需要与我联系,请在下方扫描我的微信二维码添加好友:

你可能感兴趣的:(工具,宏,latex)