![如何防止 cleveref 在枚举环境中拾取分隔符?](https://linux22.com/image/452576/%E5%A6%82%E4%BD%95%E9%98%B2%E6%AD%A2%20cleveref%20%E5%9C%A8%E6%9E%9A%E4%B8%BE%E7%8E%AF%E5%A2%83%E4%B8%AD%E6%8B%BE%E5%8F%96%E5%88%86%E9%9A%94%E7%AC%A6%EF%BC%9F.png)
我正在用 定义一个新的标签类cleveref
,我将其命名为“Cases”。我还用 定义了一个自定义枚举环境enumitem
。除其他事项外,我通过传递选项 确保列表中的数字后面有一个点label=\arabic*.
。但是,这意味着点是命令\cref
在其输出中显示的内容的一部分。请参阅此 MWE:
\documentclass[a4paper,parskip=full-,overfullrule=true]{scrartcl}
% PACKAGES LOADING
\usepackage[capitalise,noabbrev,nameinlink]{cleveref}
\usepackage{enumitem}
\setenumerate{label=\arabic*.,wide=0pt, widest=99,leftmargin=20pt,labelsep=*,topsep=-\parskip,partopsep=0pt,parsep=0pt,itemsep=0pt}
\crefname{case}{Case}{Cases}
\begin{document}
\begin{enumerate}
\item Whatever fancy text\label[case]{c1}
\item More fancy text\label[case]{c2}
\end{enumerate}
By \cref{c1}, it must be the case that this text is fancy. By \cref{c2}, it must be the case that this text is twice as fancy.
\end{document}
我想去掉“案例 1。”和“案例 2。”中的点,而不改变列表环境的外观。我一直在检查 的enumitem
软件包文档,但没有找到任何有用的信息。你能帮我实现我需要的吗?
答案1
您enumitem
可以分别设置参考文献的标签和格式。
\setenumerate{
label=\arabic*.,
ref=\arabic*,
wide=0pt,
widest=99,
leftmargin=20pt,
labelsep=*,
topsep=-\parskip,
partopsep=0pt,
parsep=0pt,
itemsep=0pt
}
不要仅仅label
用 来替换ref
。
请注意,如果嵌套列表,列表看起来会很奇怪。