Seitenzahlen in der Bibliographie werden nicht korrekt gedruckt, wenn die Liste {S. 12-34} in der Bib-Datei enthält

Seitenzahlen in der Bibliographie werden nicht korrekt gedruckt, wenn die Liste {S. 12-34} in der Bib-Datei enthält

Ich habe Probleme mit dem Ausdruck meiner Bibliographie.

Ich habe eine Bib-Datei, die so aussieht

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

Ich verwende dies mit biblatexund biber.

Allerdings wird meine Bibliographie für den zweiten Typ korrekt gedruckt, nicht jedoch für den ersten (d. h.Seiten 3-4), während im zweiten Fall nur stehtSeiten.

Dieser uneinheitliche Stil der Seitenliste entsteht bei mir dadurch, dass ich die Zitate aus unterschiedlichen Internetquellen sammle, die mal den ersten, mal den zweiten Typ aufweisen.

Gibt es eine Möglichkeit, biber zu sagen, dass er alleS.In der ListeSeitenund immer ausdruckenSeiten ab?

Mein Workaround besteht bisher darin, die Listen manuell zu ändern und dieS.Ich bin jedoch der Meinung, dass es eine Möglichkeit geben muss, dies automatisch zu tun.

Bisher konnte ich keins finden. Hat jemand eine Idee dazu?

Zur Info: Ich verwende MikTex 2,9 und kompiliere mit dem pdflatexAufruf über das latexmkPaket.

Hier ist ein minimales funktionierendes Beispiel, das den Fehler mit der obigen Bib-Datei verursacht, die als mybib im selben Ordner gespeichert ist.

\documentclass{scrartcl}

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

\bibliography{mybib}

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

    \printbibliography
\end{document}

Antwort1

Sie können biber bitten, solche Ersetzungen für Sie vorzunehmen. Meine Kenntnisse im Umgang mit regulären Ausdrücken sind bestenfalls lückenhaft, aber ich glaube, das hier funktioniert:

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

Antwort2

Ersetzen Sie einfach alle „{pp. “ durch „{ “ mit der Ersetzen-Option eines beliebigen Texteditors!

verwandte Informationen