Biblatex: endash вместо дефиса в диапазонах страниц

Biblatex: endash вместо дефиса в диапазонах страниц

Короткая социальная реклама для таких людей, как я, которые в будущем могут попасть сюда через Google: эта проблемав целом решилась сама собой с версией Biblatex 3.11- если у вас это установлено, у вас может быть другая проблема. (Согласно комментариям Ульрике Фишер и Мёве)

Если у вас Biblatex 3.11 и он по-прежнему не работает, причиной может быть строка «\DeclareFieldFormat{postnote}{#1}», которая, по-видимому, сбрасывает его.


Если я цитирую ряд страниц работы, тире не должно быть дефисом. В библиографии Bibлаtex правильно меняет все на endash. Однако в сносках есть только дефис. Если я ввожу его с "--", возникают некоторые проблемы с распознаванием как диапазона страниц, что приводит к повторению более длинных цитат вместо ibidems (и довольно "нечисто" просто вручную вводить тире в любое время, когда Tex должен делать что-то, что он явно может сделать для Библиографии).

Проблема

Я нашел два решения, которые не сработали:

\DefineBibliographyExtras{ngerman}{\renewcommand*{\bibrangedash}{\textendash}}

и

\DefineBibliographyExtras{ngerman}{\protected\def\bibrangedash{\textendash}}

Может кто-нибудь помочь мне изменить эту мелочь? Спасибо миллион раз заранее!

MWE следующим образом:

\documentclass{scrartcl}
\usepackage[
backend=biber,
style=verbose-inote,
backref=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\bibi.bib}
@article{dash,
  author = {Dashing, Walter Very},
  year = {1942},
  title = {Dashing Past a Hyphen},
  journaltitle = {Life},
  volume = {42},
  number = {42},
  pages = {123-321},
}
\end{filecontents}

\addbibresource{\bibi.bib}

\begin{document}

Could I get a dash please -- size does matter in typography...\footcite[142-242]{dash}.

\printbibliography

\end{document}

решение1

Начиная с версии biblatex 3.11, диапазоны страниц в postonoteнормализуются по умолчанию, поэтому дефисы и тире в диапазонах страниц будут преобразованы в \bibrangedash, а запятые и точки с запятой в \bibrangesep. Для получения более подробной информации см. заметки о выпуске для версии 3.11. Другими словами, ответ ниже устарел и больше не нужен. Если только вы по какой-то причине не застряли с устаревшей версией biblatex.

Если вы не хотите использовать версию для разработки, как предлагает Ульрике Фишер, вы можете изменить директивы форматирования постзаметки следующим образом:

\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}

Технически это приведет к сжатию postnoteдиапазонов страниц, но если вы этого не хотите, вы можете настроить используемые счетчики \mkcomprangeтак, чтобы этого фактически не происходило.

Обратите внимание, что версия 3.11 должна скоро поступить в дистрибуцию, как сообщил @moewe в комментариях. И она решит вашу проблему из коробки. Так что, проявив немного терпения, вам вообще ничего не придется делать.

Полная версия MWE:

\documentclass{scrartcl}
\usepackage[
backend=biber,
style=verbose-inote,
backref=false]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{dash,
  author = {Dashing, Walter Very},
  year = {1942},
  title = {Dashing Past a Hyphen},
  journaltitle = {Life},
  volume = {42},
  number = {42},
  pages = {123-321},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\DeclareFieldFormat{postnote}{\mkcomprange[{\mkpageprefix[pagination]}]{#1}}
\setcounter{mincomprange}{100000}
\setcounter{mincompwidth}{100000}

\begin{document}

Could I get a dash please -- size does matter in typography...\footcite[142-242]{dash}.

\printbibliography

\end{document}

введите описание изображения здесь

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