números de páginas na bibliografia não impressos corretamente se a lista contiver {pp. 12-34} no arquivo bib

números de páginas na bibliografia não impressos corretamente se a lista contiver {pp. 12-34} no arquivo bib

Estou tendo problemas com a impressão da minha bibliografia.

Eu tenho um arquivo bib que se parece com isso

    @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},
  }

Eu uso isso com biblatexe biber.

No entanto, a minha bibliografia é impressa corretamente para o segundo tipo, mas não para o primeiro (ou seja,páginas 3-4), enquanto no segundo caso diz apenasPáginas.

Recebo esse estilo não unificado de lista de páginas, pois coleto as citações de diferentes fontes da internet, que às vezes têm o primeiro, às vezes o segundo tipo.

Existe alguma maneira que eu poderia dizer ao Biber para ignorar qualquerpp.na listaPáginase sempre imprimapáginas ab?

Minha solução até agora é alterar as listas manualmente e remover opp.No entanto, sinto que deve haver alguma maneira de fazer isso automaticamente.

Até agora não consegui encontrar um. Alguém tem uma ideia sobre isso?

Para constar: estou usando MikTex 2.9 e compilo usando pdflatexinvocado através do latexmkpacote.

Aqui está um exemplo mínimo de trabalho que cria o erro com o arquivo bib acima armazenado como mybib na mesma pasta.

\documentclass{scrartcl}

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

\bibliography{mybib}

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

    \printbibliography
\end{document}

Responder1

Você pode pedir ao Biber para fazer essas substituições para você. Minha facilidade com expressões regulares é, na melhor das hipóteses, irregular, mas acho que funciona:

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

Responder2

Basta substituir todos os '{pp. ' com '{ ' usando a opção Substituir de qualquer editor de texto!

informação relacionada