我在文档中使用该cleveref
包进行交叉引用。我\cref
在整个文档中都使用它,因此标签已添加到引用中。但是,我希望标签Figure
采用Table
小写字母形状(\scshape
?)。我该如何实现?
以下是 MWE:
\documentclass{article}
\usepackage[capitalise]{cleveref}
\begin{document}
\begin{table}
\begin{tabular}{lr}
\hline
0 & 1\\
1 & 0\\
\hline
\end{tabular}
\caption{A table}
\label{tab:example}
\end{table}
Here is a reference: \cref{tab:example}.
\end{document}
答案1
我发现的解决方案分为两部分:
\usepackage[labelfont = {sc}]{caption}
将标签大写。
\Crefformat{figure}{#2{}\scshape{Figure} #1{}#3}
和\Crefformat{table}{#2{}\scshape{Table} #1{}#3}
引用。当然,如果您希望方程式、部分等具有相同的行为,则必须添加这些。
\Crefformat
来自 ctan 文档的参数解释:
它应该包含三个参数,#1、#2 和 #3。第一个参数是标签计数器的格式化版本(例如 \theequation)。当使用 hyperref 包时,其他两个参数用于标记形成超链接的交叉引用部分的开始和结束,并且必须按该顺序出现。
\documentclass{article}
\usepackage[labelfont = {sc}]{caption}
\usepackage[capitalise]{cleveref}
\Crefformat{figure}{#2{}\scshape{Figure} #1{}#3}
\Crefformat{table}{#2{}\scshape{Table} #1{}#3}
\begin{document}
\begin{table}
\begin{tabular}{lr}
\hline
0 & 1\\
1 & 0\\
\hline
\end{tabular}
\caption{A table}
\label{tab:example}
\end{table}
Here is a reference: \cref{tab:example}.
\end{document}