首页 > 其他分享 >LaTeX cleveref 宏包的用法

LaTeX cleveref 宏包的用法

时间:2024-05-13 21:43:06浏览次数:26  
标签:LaTeX 渲染 宏包 crefname Crefname cleveref 引用 crefformat fig

介绍

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

相关文章

  • LaTeX 常用引用标签前缀
    引用对象标签前缀ChapterchSectionsecSubsectionsecAppendixappFigurefigTabletabListitemitmEquationeqnAlgorithmalg参考:LaTeX交叉引用系统简介......
  • On latex
    VScodebasicsettingLaTeXWorkshop的自动补全与代码段latex---vscode编辑器配置及快捷键(snnipets)设置VisualStudioCode(vscode)配置LaTeX@委员长长毛鸣1.ii$$快速创建使用$$包裹的行内公式 2.II\(\)快速创建使用\(\)包裹的行内公式 3.dd$$......
  • markdown latex语法
    LaTex上标/下标$a_2$$a^2$attent:如果上下标的内容超过一个字符,则需要用花括号{}包裹,否则上下标只对后面的一个符号起作用下标:$a_2$上标:$a^2$大于等于$\geqslant$$\leqslant$大于等于:$\geqslant$小于等于:$\leqslant$希腊字母命令显示命令显示\alp......
  • LaTeX 三种短横线的区别
    在LaTeX中,有三种基本的短横线,它们各自的长度和用法都有所不同。这三种短横线分别是连字符、短划线(或数字短横)和长划线。下面是它们的具体描述和用法:连字符(Hyphen,'-')用法:用于连词和复合词。示例:mother-in-law,twenty-four。短划线(Endash,'--')用法:主要用于......
  • Markdown和Latex中文字上下标的方法
    技术背景在Markdown和Latex中,如果只是写公式,不论是行内公式还是行间公式,都可以直接使用^和_这两个符号实现上下标。但有个问题是,如果只是使用公式来做上下标,出来的字体是斜着的。例如这样的语法:$$P_{OK}$$输出结果是这样的:\[P_{OK}\]但是有些时候想要的字符不能使用斜体,这......
  • vscode/texstudio中实现latex字数统计的方法
    A:vscode 1.在这里免登录下载perl语言:[Download&InstallPerl-ActiveState](https://www.activestate.com/products/perl/),默认安装步骤并将其文件夹路径加入系统Path(使用ActiveState安装的perl其路径在一串杂码下,在安装完成后会显示这个路径,路径名称参见[安装ActiveState......
  • LaTeX 常见希腊字母
    字母名称大写命令小写命令alphaAAα\alphabetaBBβ\betagammaΓ\Gammaγ\gammadeltaΔ\Deltaδ\deltaepsilonEEϵ\epsilonε\varepsilonetaEEη\etathetaΘ\Thetaθ\thetalambdaΛ\Lambdaλ\lambdaMu......
  • 使用 python matplotlib 将 LaTex 公式转为 svg
    使用pythonmatplotlib将LaTex公式转为svg,从而方便插入无法打出所需公式的ppt中。importmatplotlib.pyplotaspltdeflatex_formula2svg(text,font_size=12,save_fig='formula.svg'):plt.rc('text',usetex=True)#使用LaTeX渲染文本plt.rc('f......
  • 如何对一个新的 VSCode 配置 LaTeX
    texlive的安装件参考资料[1]。往VSCode里面装LaTeXWorkshop插件,也可以直接搜James-Yu.latex-workshop。Ctrl+Shift+P打开setting.json,应该是UserSettings即可。把以下内容粘进去:(注意和参考资料[1]有所不同,加了--shell-escape之类的东西)点击查看代码"late......
  • LaTeX 插入表格
    普通表格\begin{table}[h]%h:here\begin{center}%一个字母代表一列\begin{tabular}{|c|cccc|}%c:center,l:left,r:right\hline&00&01&11&10\\\hline0&$m_0$&$m_1$&$m_3$&$m_2$......