Skip to content

biblatex, die Verwendung von Leerzeichen in der URL funktioniert nicht

Lösung:

Sie können das URL-Bibmacro neu definieren, um urlraw anstelle von URL zu verwenden:

documentclass{article}

PassOptionsToPackage{obeyspaces}{url}%
usepackage[backend=biber,sorting=nyt,style=alphabetic]{biblatex}
usepackage{hyperref}
bibliography{test}

renewbibmacro*{url}{printfield{urlraw}}
begin{document}
 cite{mean_well_rcp-1600_2018}
 url{C:/Test Folder/file}
 printbibliography
end{document}

Bildbeschreibung hier eingeben

C:/Test Folder/file ist eine ziemlich ungewöhnliche URL für ein Literaturverzeichnis, aber das kann natürlich nur als Beispiel dienen. Wenn dies nicht der Fall ist, sollten Sie sich die file Feld, es wird von keinem der Standardstile verwendet, aber es wäre die semantisch fundierte Entscheidung.

Biber maskiert URLs in Prozentcodierung. Wenn du das nicht willst, kannst du es zeigen urlraw Stattdessen finden Sie unter So deaktivieren Sie die Prozentcodierung in URLs?.

documentclass{article}
usepackage[backend=biber,sorting=nyt,style=alphabetic]{biblatex}
usepackage{hyperref}
usepackage{filecontents}
begin{filecontents}{jobname.bib}
@misc{mean_well_rcp-1600_2018,
  langid     = {english},
  title      = {RCP-1600 series},
  url        = {C:/Test Filder/file},
  shorttitle = {RCP-1600},
  date       = {2018-01-15},
  author     = {MEANtextasciitilde{}WELL}
}
end{filecontents}

DeclareFieldFormat{url}{mkbibacro{URL}addcolonspaceurl{thefield{urlraw}}}

addbibresource{jobname.bib}
begin{document}
 cite{mean_well_rcp-1600_2018}
 url{C:/Test Folder/file}
 raggedright
 printbibliography
end{document}

Die URL im Literaturverzeichnis wird jetzt als <code data-lazy-src=

Sie können etwas sicherer sein und auf die codierte Version verlinken, während Sie die uncodierte Version mit anzeigen

DeclareFieldFormat{url}{%
  mkbibacro{URL}addcolonspace
  ifhyperref
    {href{#1}{nolinkurl{thefield{urlraw}}}}
    {expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafter
     nolinkurl
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafterexpandafterexpandafterexpandafterexpandafter
     expandafterexpandafterexpandafter
     {thefield{urlraw}}}}

Notiere dass der langid Feld sollte einen bekannten Sprachnamen enthalten babel oder polyglossia. Englisch in diesem Kontext kein gültiger Sprachname ist, möchten Sie wahrscheinlich english.

Ein Dateipfad darf keine gültige URL sein. Verwenden Sie also in Ihrer Startnummer nicht die url Feld, um einen Dateipfad zu speichern!

Erste Lösung (mit eprint und eprinttype Felder)

documentclass{article}
usepackage{filecontents}
begin{filecontents*}{jobname.bib}
@misc{mean_well_rcp-1600_2018,
 langid = {Englisch},
 title = {RCP-1600 series},
 eprint = {C:/Test Folder/file},
 eprinttype= {raw},
 shorttitle = {RCP-1600},
 date = {2018-01-15},
 author = {MEANtextasciitilde{}WELL}
}
end{filecontents*}

usepackage[backend=biber,sorting=nyt,style=alphabetic]{biblatex}
usepackage{hyperref}

DeclareFieldFormat{eprint:raw}{%
  Pathaddcolonspacetexttt{#1}%
}

addbibresource{jobname.bib}
begin{document}
 cite{mean_well_rcp-1600_2018}

 printbibliography
end{document}

Bildbeschreibung hier eingeben

Zweite Lösung (mit file Gebiet)

(diese Antwort bilden)

documentclass{article}
usepackage{filecontents}
begin{filecontents*}{jobname.bib}
@misc{mean_well_rcp-1600_2018,
 langid = {Englisch},
 title = {RCP-1600 series},
 file = {C:/Test Folder/file},
 shorttitle = {RCP-1600},
 date = {2018-01-15},
 author = {MEANtextasciitilde{}WELL}
}
end{filecontents*}

pagestyle{empty}

usepackage[backend=biber,sorting=nyt,style=alphabetic]{biblatex}
usepackage{hyperref}

DeclareFieldFormat{file}{%
  bibstring{file}addcolonspacetexttt{#1}%
}
renewbibmacro{finentry}{%
  finentryaddspace
  printfield{file}%
}

addbibresource{jobname.bib}
begin{document}
 cite{mean_well_rcp-1600_2018}

 printbibliography
end{document}
Click to rate this post!
[Total: 0 Average: 0]



Anderer Beitrag

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.