PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex: ß in url



petjo
15-09-2015, 12:43
Hallo,
ich habe ein Problem mit der Darstellung von 'ß' in einer WEB-Adresse im Literaturverzeichnis.

Beispielprogramm:

Test.bib:


@book{piccato,
author = {Piccato, Pablo},
editor = {Susan Biker},
title = {City of Suspects},
date = 2001,
publisher = {Duke University Press},
location = {Durham and London},
langid = {english},
langidopts = {variant=american},
subtitle = {Crime in {Mexico City}, 1900--1931},
shorttitle = {City of Suspects},
annotation = {This is a \texttt{book} entry. Note the format of the
\texttt{location} field in the database file},
url = {http://www.historisches-lexikon-bayerns.de/base/ßtart},
note = {note: \url{http://de.wikipedia.org/wiki/Karl_der_Große}}
}


Test.tex:


\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{betababel}%
\usepackage[babel]{csquotes}
\usepackage{url}%

\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{Test.bib}

\begin{document}
\section*{Test}
\cite{piccato}
\printbibliography
\end{document}


Kompiliert mit:


pdflatex Test
biber Test
pdflatex Test


Ergebnis: %6161

Kann jemand einen Hinweis geben?

Gruß Thomas

The EYE
15-09-2015, 14:50
Interessantes Problem das du da hast ;-)

Ich habe dein Minimalbeispiel noch ein bisschen weiter minimiert. Darüber hinaus ist es bei sowas ganz praktisch die benötigten Daten durch das Paket "filecontents" einzubinden. So müssen potentielle Helfer deinen Code nur aus einem Fenster kopieren und können direkt starten.

Eine Lösung kann ich dir leider nicht anbieten. Allerdings habe ich herausgefunden, dass das Problem nur im Literaturverzeichnis auftaucht. Im Text wird das ß korrekt dargestellt. Hinzu kommt, dass das Ersetzen von ß durch {\ss} ebenfalls im Text funktioniert, im Literaturverzeichnis allerdings nicht. Vielleicht führt das jemanden der sich besser mit Biblatex auskennt auf die richtige Spur.

Hier mein neues Minimalbeispiel:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{betababel}%
\usepackage[babel]{csquotes}
\usepackage{url}%

\usepackage{filecontents}
\begin{filecontents}{Test.bib}
@book{piccato,
author = {Piccato, Pablo},
editor = {Susan Biker},
title = {City of Suspects},
url = {http://www.historisches-lexikon-bayerns.de/base/ßtart}
}
@book{Test,
author = {Nachname, Vorname},
title = {Titel},
url = {http://www.historisches-lexikon-bayerns.de/base/{\ss}tart}
}
\end{filecontents}

\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{Test.bib}

\begin{document}
\section*{Test}
http://www.historisches-lexikon-bayerns.de/base/ßtart \cite{piccato}\\
http://www.historisches-lexikon-bayerns.de/base/{\ss}tart \cite{Test}

\printbibliography
\end{document}

Gruß Max

petjo
15-09-2015, 15:32
Danke, Max, werden in Zukunft 'filecontents' nutzen,

Gruß Thomas

Johannes_B
16-09-2015, 18:23
Das Paket biblatex verhält sich hier vollkommen korrekt, es ersetzt das ß (Eszett) im Sinne des URL-Encodings (https://en.wikipedia.org/wiki/Percent-encoding).

Das ß (Eszett) als Argument von url kannst du nur mit utf8-fähigen TeX-Implementierungen setzen.


% arara: xelatex
%\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@online{piccato,
url = {www.ß.com},
}
\end{filecontents}
\documentclass[a4paper,ngerman]{article}
%\usepackage[utf8]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{babel}

\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{url}%

\begin{document}
\cite{piccato}
\url{ß}
\printbibliography
\end{document}