介绍
cleveref 宏包会自动在我们引用对象时为渲染结果添加类型文字。例如,当我们引用图片时,如果用 LaTeX 自带的宏 \ref{fig:image}
去引用,渲染的结果是 1
。如果我们用 cleveref 宏包提供的宏 \Cref{fig:image}
去引用,渲染结果就是 Figure 1
。
我们也可以自定义渲染的结果,比如让它渲染成 Fig. 1
或者 图 1
,都可以。下面介绍两种自定义渲染结果的方法。
crefname
使用 crefname 命令,可以修改引用序号前面的文字。命令接受两个参数,第一个参数为引用单个对象时的类型文字,第二个参数为引用多个对象时的类型文字。
比如说,\Crefname{figure}[Fig.][Figs.]
可以让我们引用单个图片时的渲染结果为 Fig. 1
,而引用多个图片时的渲染结果为 Figs. 1-2
。
crefname 命令有大写版和小写版。你可以设置 \crefname{figure}[fig.][figs.]
(注意这里的 c
为小写),这样你使用 \cref{fig:image}
时的渲染结果就是 fig. 1
或者 figs. 1-2
。
下面是一些常用的 crefname 设置。
\crefname{table}{表}{表}
\Crefname{table}{表}{表}
\crefname{algorithm}{算法}{算法}
\Crefname{algorithm}{算法}{算法}
\Crefname{figure}{图}{图}
\crefname{figure}{图}{图}
\crefname{claim}{断言}{断言}
\Crefname{claim}{断言}{断言}
\crefname{lemma}{引理}{引理}
\Crefname{lemma}{引理}{引理}
crefformat
crefname 的局限性在于我们只能设置引用数字前面的类型文字。而 crefformat 则支持我们同时设置引用数字前面的文字和后面的文字。
crefformat 命令的格式如下:
\crefformat{type}{format}
type
是你想要自定义的引用类型,例如figure
,table
,section
,line
等。format
是定义引用显示格式的字符串,其中可以包含:#1
:这是引用的标签本身(通常是数字)。#2
:这通常用来放置#1
之前的内容或标记。#3
:这通常用来放置#1
之后的内容或标记。
例:
% 对代码行引用格式的定义
\crefformat{line}{第~#2#1#3~行}
当我们引用一行代码时,\Cref{alg:myalg:code}
就会被渲染成 第 1 行
。
进阶用法
如果你需要对引用范围进行特殊格式的自定义,可以使用 \crefrangeformat
:
\crefrangeformat{equation}{方程(#3#1#4)到(#5#2#6)}
这对于引用公式等连续项特别有用,其中:
#1
和#2
代表开始和结束的标签号码。#3
和#6
是前缀,通常为空或包含特定符号(如左括号)。#4
和#5
是后缀,通常为空或包含特定符号(如右括号)。
See also: cleveref Doc
标签:LaTeX,渲染,宏包,crefname,Crefname,cleveref,引用,crefformat,fig From: https://www.cnblogs.com/Undefined443/p/18190083