有时我想写\cref{item1,,item2,,item3}
“项目 1、项目 2 或项目 3”,而不是“项目 1、项目 2 和项目 3”。
这可以临时完成吗?
答案1
这是可以做到的,但并不简单。请参阅文档。 这个问题有一个比下面我的答案更简单的答案(但请注意问题下的最后一条评论)。在我的答案中,您还需要指定计数器:
\usepackage{etoolbox}
\usepackage{cleveref}
\makeatletter
\newcommand{\crefor}[2]{%
\crefmultiformat{#1}{\csuse{cref@#1@name}~##2##1##3}%
{ or~\csuse{cref@#1@name}~##2##1##3}%
{, \csuse{cref@#1@name}~##2##1##3}%
{, or~\csuse{cref@#1@name}~##2##1##3}%
\cref{#2}%
\crefmultiformat{#1}{\csuse{cref@#1@name@plural}~##2##1##3}%
{ and~##2##1##3}{, ##2##1##3}{, and~##2##1##3}%
}
\makeatother
您将其用作\crefor{<counter>}{item1,,item2,,item3}
。您还需要为 创建一个\Cref
,并且可能还要添加\crefrangemultiformat
和\Crefrangemultiformat
。如果您希望在方程数字周围加上括号,那么情况会变得更加复杂。
我让你决定是否要使用牛津逗号。