使用 cleveref 进行名称格式化 - 关于类型的问题

使用 cleveref 进行名称格式化 - 关于类型的问题

我想自定义执行 时出现的文本\cref{},例如,我想创建一个指向第 0.1 节的链接,但我希望文本显示“摘要”而不是第 0.1 节。我使用文档顶部的以下行来完成此部分:

\crefformat{section}{\textbf{#2Summary#3}}

然后当我调用参考时我使用:

\cref{sec:CogSysParadigm}

它显示为“摘要”(但周围有一个红色框)。这很完美。我的问题是我无法让同一件事物发挥作用。我尝试了“item”、itemize item、subitem 等。我尝试的示例:

\crefformat{item}{#2ToC#3} % so this would have a ToC as the text 

然后我使用\cref如下方法:

\cref{itm:CogSysParadigm} % but it gives me item 1(d)ii instead

答案1

我不知道为什么你需要以这种方式修改参考文献的格式,但我认为改变

\crefformat{item}{#2ToC#3}

\crefformat{enumi}{#2ToC#3}

就是您所需要的。

例如,以下 MWE

\documentclass{article}
\usepackage{hyperref}
\usepackage{cleveref}

\crefformat{enumi}{#2ToC#3}
\crefformat{section}{\textbf{#2Summary#3}}

\begin{document}

\section{introduction}\label{sec:CogSysParadigm}

\begin{enumerate}
  \item
  \begin{enumerate}
    \item 1.1
    \item 1.2
    \item 1.3
    \item
    \begin{enumerate}
      \item 1.4.1
      \item 1.4.2\label{itm:CogSysParadigm}
    \end{enumerate}
  \end{enumerate}
  \item 2
\end{enumerate}

In the \cref{sec:CogSysParadigm} I want to point out the \cref{itm:CogSysParadigm}.

\end{document}

生成:

在此处输入图片描述

请注意,的第一个参数\crefformat必须是一个计数器,并且enumienumii和是环境在前三个级别enumiii使用的计数器。enumerate

还请注意,此解决方案在enumerate环境内的任何级别都有效。如果您希望它仅在第三级工作,则必须更改enumienumiii

相关内容