LaTeX cleveref 宏包用法
介绍
cleveref 宏包是 LaTeX 中用于增强交叉引用功能的一个强大工具。它的主要特点是能够自动地按照不同元素的类型(如章节、图表等)生成格式化的引用,同时还支持定制引用格式,提供了比 LaTeX 默认的 \ref 更多的灵活性和功能。
传统的 \ref 命令只会输出标签对应的编号,而 cleveref 会在编号前自动添加对应的类型。例如,对于一个图像的标签,cleveref 可以自动生成“Figure 1”的形式,而不仅仅是“1”。
cleveref 也允许用户自定义各种元素的引用格式,包括单个引用和多个引用的情况。
基本用法
% Preamble
\usepackage{cleveref}
% Body
\section{xxx} \label{sec:xxx} % 定义标签
...
\Cref{sec:xxx} % 使用标签
生成结果为 Section 2.8
自定义引用格式
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>是引用的类型,如section、figure、table等。<format>是当引用这种类型时使用的格式化字符串,它可能包含:#1:引用标签#2:前链接文本(默认为空)#3:后链接文本(默认为空)
和 crefname 一样,crefformat 也有大写和小写两种命令
例:
% 对代码行引用格式的定义
\crefformat{line}{第~#2#1#3~行}
当我们引用一行代码时,\Cref{alg:myalg:code} 就会被渲染成 第 1 行。
crefrangeformat
\crefmultiformat 用于定义多个引用的格式。命令的形式是:
\crefmultiformat{<type>}{<format>}{<middle format>}{<between-last>}{<after-last>}
<type>是引用的类型。<format>是对第一个引用使用的格式。<middle format>是第一个和最后一个之间的其他引用使用的格式。<between-last>是倒数第二个和最后一个引用之间的格式。<after-last>是最后一个引用之后的格式。
例:
\crefmultiformat{section}{\S\S#2#1#3}{及~#2#1#3}{, #2#1#3}{, and~#2#1#3}
这将设置对多个节的引用格式。例如,引用 \cref{sec:first,sec:second,sec:third} 将产生 "§§1, 2, and 3",其中第一个引用使用 "§§",中间的引用用逗号隔开,最后一个引用前使用 "and" 作为连接符。
See also: cleveref Doc
LaTeX cleveref 宏包用法的更多相关文章
- CTEX - 在线文档 - TeX/LaTeX 常用宏包
CTEX - 在线文档 - TeX/LaTeX 常用宏包 页面与章节标题式样 浮动对象及标题设计 生成与插入图形 表格与列表 目录与索引 参考文献 数学与化学公式 ...
- LaTeX自定义宏包、类文件的默认搜索路径设置方法
对于自定义的LaTeX宏包与类,在调用时可以通过在命令\documentclass{}与\usepackage{}命令中指定完整路径或者相对路径,这样确实可以调用,但是编译时总是有烦人的警告信息, ...
- LaTeX绘图宏包 Pgfplots package
Pgfplots package The pgfplots package is a powerful tool, based on tikz, dedicated to create scienti ...
- Latex graphicx 宏包 scalebox命令
scalebox 命令需要加载 \usepackage{graphicx} \scalebox{水平缩放因子}[垂直缩放因子]{对象} \scalebox 命令对其作用的对象进行缩放,使缩放后的对 ...
- LaTeX手动安装宏包(package)以及生成帮助文档的整套流程
注意:版权所有,转载请注明出处. 我使用的是ctex套装,本来已经自带了许多package,但是有时候还是需要使用一些没有预装的宏包,这时就需要自己安装package了.下载package可以从CTA ...
- LaTeX中titlesec宏包的使用
在 xelatex 中使用 \usepackage 指令使用 titlesec 宏包时,可以指定一些格式选项,如下: \usepackage[center]{titlesec} 其中 center 可 ...
- LaTeX的tasks宏包
tasks 宏包 LaTeX的列表(list)通常是将项(item,条目)一个一个垂直的平行显示,所谓"列"表的由来. 水平分列列表,即将多个项分散到各列而不是一列,在出考卷的选择 ...
- Windows 下 LaTeX 手动安装宏包(package)以及生成帮助文档的整套流程
本文简单介绍如何手动安装一个 LaTeX 宏包. 一般来说,下载的 TeX 发行版已经自带了很多宏包,可以满足绝大部分需求,但是偶尔我 们也可能碰到需要使用的宏包碰巧没有安装的情况,这时我们就需要自己 ...
- [原创][LaTex]LaTex学习笔记之框架及宏包
0. 简介 LaTex在书写文档时的最基本单元就是首部的写作,变相的也可以说是头文件.本文章就来总结一下文档的基本格式和常用宏包. 1. 基本单元 基本单元需要对LaTex语法有一定的了解,这个很简单 ...
- 在LaTeX中利用preview宏包和tikz宏包生成单图pdf
有时候我们利用tikz宏包画出的图片后,只想生成一个单图pdf,而且pdf的页面大小与图片相同,以便于以后再次用latex插入. 可以与preview宏包进行搭配,页面大小由图像大小决定,可以通过改变 ...
随机推荐
- SpringBoot+mail 轻松实现各类邮件自动推送
一.简介 在实际的项目开发过程中,经常需要用到邮件通知功能.例如,通过邮箱注册,邮箱找回密码,邮箱推送报表等等,实际的应用场景非常的多. 早期的时候,为了能实现邮件的自动发送功能,通常会使用 Java ...
- 3562-Qt工程编译说明
- CF620E
题目 CF620E 思路 这个题是一个在树上操作的题,每次操作的对象都是以一个结点为根的子树,在1e5的操作下暴力做法必然会超时 观察到c的范围很小,可以考虑状态压缩 考虑将此问题转化为区间问题,利用 ...
- 求之不得的 Java 文档教程大汇总!
已收录至免费编程资源大全:https://github.com/liyupi/free-programming-resources 大家好,我是鱼皮,今天分享几个 GitHub 上非常实用的 Java ...
- [oeasy]python0118_语言的发展_希腊字符_拼音文字_亚历山大大帝
希腊字符回忆上次内容 尼罗河流域 的 埃及圣书体 是象形文字 两河流域 的 苏美尔楔形文字 不是象形文字 做生意的 腓尼基人 利用 埃及圣书体 的 字型 苏美尔楔形文字 的 写法 构造出 腓尼基字符 ...
- sed 进阶使用
sed 进阶使用 工作原理 sed 维护两个数据缓冲区: 活动模式空间 和 辅助保持空间 两者最初都是空的 sed 通过对每一行输入执行以下循环进行操作 从输入流中读取一行,删除任何尾随的换行符,并将 ...
- Umov移动方块-scratch编程作品
程序说明: <Umov移动方块>是一款基于Scratch平台制作的小游戏.在这个游戏中,玩家将面对一个3×3的圆圈棋盘,并通过鼠标控制蓝色方块在这些圆圈中灵活移动.游戏的挑战在于,舞台的四 ...
- 基于禅道数据库对bug进行不同维度统计
工作中经常需要在周报.月报.年报对禅道bug数据进行不同维度统计导出,以下是我常用的统计sql 1.统计2022年每个月bug数(deleted='0'是查询未删除的bug) select DATE_ ...
- VirtualBox扩容CentOS-7虚拟机磁盘
1.背景描述 如上图所示,根路径"/"所在的文件系统已没有可用的磁盘空间,需要扩容磁盘. df -h 2.VirtualBox操作 2.1.查看当前虚拟磁盘的大小 如上图所示,点击 ...
- 【C】Re08 内存
一.概述 程序运行之后,所有的数据加载到内存上 内存会被操作系统进行分区处理, 划分的区域主要分为4个: [1.代码文本区 text] 存放开发者编写的代码文本,二进制内容形式 [2.静态全局区 St ...