Automatisches Hinzufügen einer benutzerdefinierten URL zu meiner Bibliographie, basierend auf der lokalen URL-Umschreibung

Automatisches Hinzufügen einer benutzerdefinierten URL zu meiner Bibliographie, basierend auf der lokalen URL-Umschreibung

Ich suche nach einer Lösung, um meiner Bibliografie automatisch eine benutzerdefinierte URL hinzuzufügen, basierend auf der lokalen URL-Umschreibung.

Ich habe beispielsweise einen Biblatex-Eintrag library.libmit einer lokalen PDF-URL wie folgt:

@phdthesis{Stonedahl2011a,
author = {Stonedahl, Forrest J.},
file = {:home/srey/TRAVAUX/THESE/REPOSITORY\_PDF/RANGE/Stonedahl\_2011\_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf:pdf},
number = {December},
pages = {394},
school = {Evanston, Illinois},
title = {{Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models}},
year = {2011}
}

Die Latex-Datei:

\documentclass[a4paper, 12pt,twoside, openright]{memoir}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{fontspec}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[autostyle=true,french=guillemets,maxlevel=3]{csquotes}
\usepackage{xparse}
\usepackage{graphicx}
\usepackage[protrusion=true]{microtype}
\sidecapmargin{outer}
\setsidecappos{t}

\usepackage[backend=biber,backref=true, natbib=true, isbn=false, doi=false, url=false, style=authoryear,maxcitenames=1, maxbibnames=999, sorting=nyt, refsection=chapter, hyperref]{biblatex}

\addbibresource[datatype=bibtex]{library.bib}

\begin{document}

\chapterstyle{bringhurst}

My blabla text with citation. \autocite{Stonedahl2011a}

\printbibliography

\end{document}

Wie kann ich meiner Bibliographie eine benutzerdefinierte URL hinzufügen, um Dokumente aus einer benutzerdefinierten Quelle herunterzuladen, und wie kann ich diese URL automatisch in eine Biblatex-Datei übersetzen?

home/srey/TRAVAUX/THESE/REPOSITORY\_PDF/RANGE/Stonedahl\_2011\_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf transform

hinein

http://mycustomserver.com/Stonedahl_2011_Genetic Algorithms for the Exploration of Parameter Spaces in Agent-Based Models.pdf

Antwort1

Wenn es als Backend biblatexverwendet wird biber, ist es möglich, \DeclareSourcemapdie Felder im laufenden Betrieb zu bearbeiten.

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=file]
      \step[fieldset=url, origfieldval]
      \step[fieldsource=url, 
        match=\regexp{:home/srey/TRAVAUX/THESE/REPOSITORY_PDF/RANGE/(.+):pdf},
        replace={http://www.example.com/$1}]
    }
  }  
}

Die ersten beiden Schritte dienen dazu, den Wert des Felds filein das Feld zu kopieren url, der letzte stepdient dazu, den Pfad in filedurch die entsprechende URL zu ersetzen. Bei \regexpVerwendung sind normale Regexp-Gruppierungen und Ersetzungen möglich.

Das Biblatex-Handbuch beschreibt solche Vorgänge ausführlich in Abschnitt 4.5.2.

Hier ist das Ergebnis (Ändern der urlOption, um das Ergebnis der Ersetzung anzuzeigen).

Bildbeschreibung hier eingeben

verwandte Informationen