Используйте пакет CleverEf для вывода списка из трех и более глав

Используйте пакет CleverEf для вывода списка из трех и более глав

Я используюcleverefпакет для ссылки на главы в моем документе с \documentclass{book}.

Ниже приведен MWE.

\documentclass{book}
\usepackage[capitalize]{cleveref}
\begin{document}
\chapter{First chapter}\label{ch:first}
\chapter{Second chapter}\label{ch:second}
\chapter{Third chapter}\label{ch:third}
\chapter{Fourth chapter}\label{ch:fourth}
We saw in \cref{ch:first,ch:second,ch:third} that ...
\end{document}

Для главы 4 MWE дает следующее:

глава

Есть ли какой-то относительно простой способ \crefвместо этого дать следующее?

В главах 1, 2 и 3 мы увидели, что...

Глядя наcleveref package manual, кажется, что \Crefmultiformatили\Crefrangemultiformat может быть уместно. Но если возможно, я бы хотел, чтобы это применялось либо только локально, либо только к главам. Например, я действительно могу захотеть что-то вроде "Разделы 2.1 по 2.3" дляразделы,просто не дляглавы.

решение1

Проблема здесь в том, что вы сжимаете ссылки по умолчанию, но для ссылок на главы вы не хотите делать это сжатие. Решение — вставить дополнительную запятую между (в данном случае) последними двумя вашими ссылками; это отключит сжатие для этого списка ссылок. Для более полного описания см. §5 документации. Если вы хотите использовать Оксфордскую запятую в своих ссылках, вам нужно будет раскомментировать код \crefmultiformatв коде ниже.

\documentclass{book}
\usepackage[capitalize]{cleveref}
%\crefmultiformat{chapter}{Chapters~#2#1#3}{ and~#2#1#3}{, #2#1#3}{, and~#2#1#3}
\begin{document}
\chapter{First chapter}\label{ch:first}
\chapter{Second chapter}\label{ch:second}
\chapter{Third chapter}\label{ch:third}
\chapter{Fourth chapter}\label{ch:fourth}
We saw in \cref{ch:first,ch:second,,ch:third} that ...
\end{document}

вывод кода

Связанный контент