
Я использую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}