Los números de página de la bibliografía no se imprimen correctamente si la lista contiene {pp. 12-34} en archivo dorsal

Los números de página de la bibliografía no se imprimen correctamente si la lista contiene {pp. 12-34} en archivo dorsal

Tengo problemas con la impresión de mi bibliografía.

Tengo un archivo babero que se parece a este

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

Yo uso esto con biblatexy biber.

Sin embargo, mi bibliografía está impresa correctamente para el segundo tipo pero no para el primero (es decir,páginas 3-4), mientras que en el segundo caso sólo dicepaginas.

Obtengo este estilo no unificado de la lista de páginas, ya que recopilo las citas de diferentes fuentes de Internet, que a veces tienen el primer tipo y otras el segundo.

¿Hay alguna forma de decirle a Biber que ignore cualquierpáginas.en la listapaginasy siempre imprimirpáginas ab?

Mi solución hasta ahora es cambiar las listas a mano y eliminar elpáginas.Sin embargo, creo que debe haber alguna forma de hacerlo automáticamente.

Hasta ahora no pude encontrar uno. ¿Alguien tiene una idea sobre esto?

Para que conste: estoy usando MikTex 2,9 y compilo usando pdflatexinvoked a través del latexmkpaquete.

Aquí hay un ejemplo de trabajo mínimo que crea el error con el archivo bib anterior almacenado como mybib en la misma carpeta.

\documentclass{scrartcl}

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

\bibliography{mybib}

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

    \printbibliography
\end{document}

Respuesta1

Puede pedirle a Biber que haga dichos reemplazos por usted. Mi facilidad con las expresiones regulares es, en el mejor de los casos, irregular, pero creo que esto funciona:

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

Respuesta2

Simplemente reemplace todos los '{pp. ' con '{ ' usando la opción Reemplazar de cualquier editor de texto.

información relacionada