我想自定义执行 时出现的文本\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
必须是一个计数器,并且enumi
,enumii
和是环境在前三个级别enumiii
使用的计数器。enumerate
还请注意,此解决方案在enumerate
环境内的任何级别都有效。如果您希望它仅在第三级工作,则必须更改enumi
为enumiii
。