使用 cleveref 以小写字母引用标签

使用 cleveref 以小写字母引用标签

我在文档中使用该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}

相关内容