номера страниц в библиографии печатаются неправильно, если список содержит {стр. 12-34} в файле bib

номера страниц в библиографии печатаются неправильно, если список содержит {стр. 12-34} в файле bib

У меня возникли проблемы с печатью моей библиографии.

У меня есть файл с нагрудным номером, который выглядит вот так

    @Article{Sample:01,
  Title                    = {Some Title},
  Author                   = {Doe, John},
  Year                     = {111},
  Pages                    = {pp. 1-2},
  Journal                  = {Really Cool Journal},
  }

    @Article{Sample:02,
  Title                    = {Different Title},
  Author                   = {Doe, Jane},
  Year                     = {222},
  Pages                    = {3-4},
  Journal                  = {Other Cool Journal},
  }

Я использую это с biblatexи biber.

Однако моя библиография напечатана правильно для второго типа, но не для первого (т.е.страницы 3-4), тогда как во втором случае говорится толькостраницы.

У меня получается такой неунифицированный стиль списка страниц, поскольку я собираю цитаты из разных интернет-источников, которые иногда относятся к первому, иногда ко второму типу.

Могу ли я как-то сказать Биберу игнорировать любыестр.в спискеСтраницыи всегда распечатывайтестраницы ab?

Мой обходной путь на данный момент — вручную изменить списки и удалитьстр.Однако я считаю, что должен быть какой-то способ сделать это автоматически.

Пока что я не смог найти ни одного. Есть ли у кого-нибудь идеи по этому поводу?

Для справки: я использую MikTex 2,9 и компилирую с помощью pdflatexinvoked через latexmkпакет.

Вот минимальный рабочий пример, который создает ошибку с указанным выше файлом bib, сохраненным как mybib в той же папке.

\documentclass{scrartcl}

\usepackage[
    backend=biber, natbib
]{biblatex}

\bibliography{mybib}

\begin{document}
    \citet{Sample:01}, \citet{Sample:02}

    \printbibliography
\end{document}

решение1

Вы можете попросить biber сделать такие замены для вас. Мои возможности с регулярными выражениями в лучшем случае неравномерны, но я думаю, что это работает:

\DeclareSourcemap{
  \maps[datatype=bibtex,overwrite=true]{
    \map{
      \step[fieldsource=pages,
            match=\regexp{pp\.(.+)},
            replace=\regexp{$1}]
    }
  }
}

решение2

Просто замените все '{pp. ' на '{ ', используя опцию Replace любого текстового редактора!

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