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宏包进行搭配,页面大小由图像大小决定,可以通过改变 ...
随机推荐
- 《Programming from the Ground Up》阅读笔记:p1-p18
<Programming from the Ground Up>学习第1天,p1-18总结,总计18页. 一.技术总结 1.fetch-execute cycle p9, The CPU ...
- mac idea 设置类注解说明
类注解 打开file->setting->Editor->File and Code Templates->Includes->File Header #if (${PA ...
- MES 与 PLC 的几种交互方式
在 MES 开发领域,想要从 PLC 获取数据就必须要和 PLC 有信号交互.高效准确的获取 PLC 数据一直是优秀 MES 系统开发的目标之一.初涉相关系统开发的工程师往往不能很好的理解 PLC 和 ...
- adorner 使用示例
模块介绍 adorner 是一个现代轻量级的 Python 装饰器辅助模块. 目前该模块仅实现了 4 个类,对应着 4 个功能:制造装饰器.执行计时.函数缓存.捕获重试. 仓库地址:https://g ...
- SQL Server大量插入 Java
在Java中向数据库执行大量插入操作,通常需要考虑性能和效率.对于大量数据的插入,有几种方法可以提高性能,比如使用批处理(Batch Insert).JDBC的批处理API.或者使用SQL Serve ...
- 用 Git 操作的数据库?这个项目火了!
# 用 Git 操作的数据库?这个项目火了!> 超级特别又实用的数据库,快来补课!Git 是一个开源的分布式版本控制系统,可以敏捷高效地管理代码,让项目代码支持同时存在多个不同的版本和分支,是程 ...
- 只会建数据库怎么写API?database2api 能帮到你!
database2api 意为 DataBase to API,即只要有数据库,就可以生成开放 API. database2api 是一款强大而便捷的工具,主要功能是依据现有的数据库自动生成开放的 A ...
- 深入探究 Golang 反射:功能与原理及应用
Hi 亲爱的朋友们,我是 k 哥.今天,咱们来一同探讨下 Golang 反射. Go 出于通用性的考量,提供了反射这一功能.借助反射功能,我们可以实现通用性更强的函数,传入任意的参数,在函数内通过反射 ...
- java8interface的新特性:default,static,funcation
default:默认方法 在类接口中可以直接定义的方法,实现接口的类可以直接使用 使用案例: public interface MyInterface { default void display() ...
- 关于@Mapper与@MapperScan
o.m.s.mapper.ClassPathMapperScanner : Skipping MapperFactoryBean with name 'gggDao' and 'com.xxx.dao ...