使 \cpageref 输出逗号而不是“and”

使 \cpageref 输出逗号而不是“and”

我可以用来\cpageref输出页面引用列表。例如,标记:

You should check \cpageref{sec:section1,sec:section2,sec:section3}.

... 渲染为:

You should check pages 3, 5 and 7.

然而,在特定情况下我需要的是输出:

You should check pages 3, 5, 7.

有什么方法可以告诉\cpageref我总是使用逗号而不是“and”?

答案1

如果您需要在整个文档中使用此行为,只需在序言中添加以下行

\newcommand{\creflastconjunction}{,\nobreakspace}

梅威瑟:

\documentclass{article}
\usepackage[sort]{cleveref}
\usepackage{lipsum} % just for the example

\newcommand{\creflastconjunction}{,\nobreakspace}

\begin{document}

\section{First}\label{sec:section1}
\lipsum[1-5]

\section{Second}\label{sec:section2}
\lipsum[1-5]

\section{Third}\label{sec:section3}
\lipsum[1-5]

\bigskip

You should check \cpageref{sec:section1,sec:section2,sec:section3}.

\end{document} 

输出:

在此处输入图片描述

否则,如果你只需要在特定的地方使用它,请使用

{\renewcommand{\creflastconjunction}{,\nobreakspace}\cpageref{sec:section1,sec:section2,sec:section3}}

梅威瑟:

\documentclass{article}
\usepackage[sort]{cleveref}
\usepackage{lipsum} % just for the example

\begin{document}

\section{First}\label{sec:section1}
\lipsum[1-5]

\section{Second}\label{sec:section2}
\lipsum[1-5]

\section{Third}\label{sec:section3}
\lipsum[1-5]

\bigskip

You should check \cpageref{sec:section1,sec:section2,sec:section3}.

And now check again 
{\renewcommand{\creflastconjunction}{,\nobreakspace}\cpageref{sec:section1,sec:section2,sec:section3}}.

\end{document} 

输出:

在此处输入图片描述

相关内容