我希望将“项目”一词改为“假设”具体的枚举环境,使其保持不变,以供文档后面的其他环境使用。通过 提供的命令\crefname
和仅在全局范围内执行此操作。(我还使用。)\Crefname
cleveref
enumitem
具体来说,我希望最后一行
\begin{enumerate}[label=\textbf{\arabic*.}, ref=\textbf{\arabic*}]
\item\label{1} Blah
\item\label{2} Blah
\item\label{3} Blah
\end{enumerate}
See \cref{2,3}.
呈现为“参见假设 2 和 3。”我该怎么做呢?
答案1
您可以利用\crefalias
宏和cleveref
提供可选参数的功能来\label
实现格式化目标。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{enumitem}
\usepackage{cleveref}
% Create an alias for 'item' (of enumi level):
\crefalias{postulate}{enumi}
\crefname{postulate}{postulate}{postulates}
\Crefname{postulate}{Postulate}{Postulates}
\begin{document}
\begin{enumerate}[label=\textbf{\arabic*.},
ref=\arabic*]
\item\label[postulate]{1} Blah % note use of optional argument of \label
\item\label[postulate]{2} Blah % ditto
\item\label[postulate]{3} Blah % ditto
\end{enumerate}
See \cref{2,3}.
\end{document}
答案2
我建议定义一个新的类似枚举的环境,并为 cleverref 适当定义交叉引用。请注意,如果您有一个 cleveref.cfg 文件,则必须将定义放在此文件中。
\documentclass[11pt]{article}
\usepackage{enumitem}
\usepackage{cleveref}
\newlist{postulates}{enumerate}{1}
\setlist[postulates]{label = \arabic*, font = \bfseries}
\crefname{postulatesi}{postulate}{postulates}
\Crefname{postulatesi}{Postulate}{Postulates}
\begin{document}
\begin{postulates}
\item\label{1} Blah.
\item\label{2} Blah blah.
\item\label{3} Blah blah blah.
\end{postulates}
See \cref{2,3}. \Cref{1} instead, perhaps.
\end{document}