Problem mit \, in biblatex Eintrag

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit \, in biblatex Eintrag

von kurztipp » Mo 1. Jun 2015, 20:20

Johannes_B hat geschrieben:Danke, danke, danke. Endlich mal ein Beispiel was auf Anhieb läuft und den Fehler zeigt.
Gerne, ist ja auch keine Raketentechnik ;)
Johannes_B hat geschrieben:Biber interpretiert \, nicht als Einheit, sondern getrennt und verschluckt das Komma. Übrig bleibt der Backslash, welcher aber in der bbl gefolgt wird von einer schließenden geschweiften Klammer. Diese würde somit gedruckt werden, allerdings bemängelt LaTeX bevor dies geschehen könnte, dass eine schließende Klammer fehlt.
Danke für den Hinweis.
Anonymous hat geschrieben:Es sei angemerkt, dass es keine gute Idee, ist in Namensfeldern wie editor und author manuelle Spacingbefehle wie \, zu verwenden.
Wenn Du das Leerzeichen zwischen den Initialen selbst ändern möchtest, dann helfen Dir \bibinitdelim und \bibnamedelimi weiter (siehe [d]biblatex[/d], S. 119-121)
Vielen Dank dafür, die beiden Befehle kannte ich noch nicht. Prinzipiell muss ich die Leerzeichen zwischen den Initialen nicht selbst ändern, aber kann ich mich darauf verlassen, dass biblatex korrekterweise immer ein dünnes Leerzeichen setzt? Habe dergleichen (noch) nicht in der Dokumentation gelesen, aber auch nicht jede einzelne Seite gelesen.

Anonymous hat geschrieben:Es sei noch kurz angemerkt, dass die Lösung von oben nur für Namensfelder funktioniert (editor und author sind solche, publisher nicht).

Allerdings tritt Dein Problem auch nur in Namensfeldern auf, deshalb hattest Du mit dem publisher Feld bisher auch keine Probleme.
Auch gut zu wissen, liegt wohl daran, dass Namensfelder (name lists) noch einmal ausgewertet werden oder?

von Johannes_B » Mo 1. Jun 2015, 19:39

Sehr gut, auf jeden Fall empfehlenswerter als mein Workaround.


Eine nähere Erläuterung zu den verschiedenen Typen findet man in der Biblatex-Doku, Abschnitt 2.2 (Version 2.9a).

von Gast » Mo 1. Jun 2015, 19:36

Es sei angemerkt, dass es keine gute Idee, ist in Namensfeldern wie editor und author manuelle Spacingbefehle wie \, zu verwenden.
Wenn Du das Leerzeichen zwischen den Initialen selbst ändern möchtest, dann helfen Dir \bibinitdelim und \bibnamedelimi weiter (siehe [d]biblatex[/d], S. 119-121), standardmäßig sind sie als
\renewrobustcmd*{\bibinitdelim}{\addnbspace}
\newrobustcmd*{\bibnamedelimi}{\addnbspace}
gegeben, Du könntest das zu
\renewrobustcmd*{\bibinitdelim}{\addnbthinspace}
\renewrobustcmd*{\bibnamedelimi}{\addnbthinspace}
ändern.
Dann bekommst du nach Initialen immer ein dünnes Leerzeichen.

Dein MWE
\documentclass[fontsize=12pt,paper=a4,titlepage,twoside=false,headings=normal,numbers=noendperiod]{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOKINBOOK{Mill1859,
  author = {Mill, John Stuart},
  title = {On Liberty},
  booktitle = {Essays on Politics and Society},
  year = {1977},
  editor = {Robson, J. M.},
  introduction = {Brady, Alexander},
  maintitle = {Collected Works of John Stuart Mill},
  volume = {18},
  publisher = {University of Toronto Press},
  location = {Toronto and Buffalo},
  origyear = {1859}
}
\end{filecontents*}
\usepackage[style=authortitle, %Fußnoten
%         style=authoryear, %Inline
%           citestyle=authoryear,
%           bibstyle=authoryear,
          language=ngerman,
          maxnames=2,
          sorting=nyt,
          date=short,
          % natbib Unterstützung
          natbib=true,
          % Im Literaturverzeichnis Seiten der Quellenangaben anzeigen
          backref=false,
          hyperref=false,
          % Vor- und Mittelname abkürzen
          firstinits=false,
           backend=biber]{biblatex}
\bibliography{\jobname.bib}
\DeclareLanguageMapping{ngerman}{ngerman-apa}

\usepackage[style=german,
         german=guillemets,
         parthreshold=true,
         autopunct=true]{csquotes}

\renewrobustcmd*{\bibinitdelim}{\addnbthinspace}
\renewrobustcmd*{\bibnamedelimi}{\addnbthinspace}

\begin{document}
\blockcquote[S.][223]{Mill1859}[.]{the only purpose for which power can be rightfuly exercised over any member of a civilized community, against his will, is to prevent harm to others}

\printbibliography[heading=bibintoc]
\end{document}

Es sei noch kurz angemerkt, dass die Lösung von oben nur für Namensfelder funktioniert (editor und author sind solche, publisher nicht).

Allerdings tritt Dein Problem auch nur in Namensfeldern auf, deshalb hattest Du mit dem publisher Feld bisher auch keine Probleme.

von Johannes_B » Mo 1. Jun 2015, 19:23

Danke, danke, danke. Endlich mal ein Beispiel was auf Anhieb läuft und den Fehler zeigt.

Biber interpretiert \, nicht als Einheit, sondern getrennt und verschluckt das Komma. Übrig bleibt der Backslash, welcher aber in der bbl gefolgt wird von einer schließenden geschweiften Klammer. Diese würde somit gedruckt werden, allerdings bemängelt LaTeX bevor dies geschehen könnte, dass eine schließende Klammer fehlt.

Trage es so in deiner Datenbank ein: {Robson, J.{\,}M.}

Bild
\documentclass{scrartcl}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
	@BOOKINBOOK{Mill1859,
		author = {Mill, John Stuart},
		editor = {Robson, J.{\,}M.},
	}
\end{filecontents}
\usepackage[style=authortitle, %Fußnoten
backend=biber]{biblatex}
\bibliography{\jobname.bib}
\DeclareLanguageMapping{ngerman}{ngerman-apa}

\begin{document}
\pagestyle{empty}
\nocite{*}
\printbibliography
J.\,M. Robson\par
J. M. Robson
\end{document}

Dateianhänge
kurztippBiblatexSpace.png
kurztippBiblatexSpace.png (14.55 KiB) 1846 mal betrachtet

Problem mit \, in biblatex Eintrag

von kurztipp » Mo 1. Jun 2015, 19:01

Hallo,

in einem Bibliographieeintrag habe ich den Herausgebernamen
editor = {Robson, J.\,M.}
eingetragen. Wegen des abgekürzten Namens habe ich
\,
zwischen die Initialien eingefügt. Dies habe ich bereits in mehreren Einträgen – bspw auch:
publisher={J.\,C.\,B. Mohr}
Und noch nie Probleme gehabt. Mit diesem editor Eintrag allerdings schon.
Das Minimalbeispiel produziert bei mir folgenden Fehler:
(./Bibliographie-Fehler.aux) (./Bibliographie-Fehler.bbl
Runaway argument?
{{{hash=17742572ed2371587cec17888694ba80}{Robson}{R\bibinitperiod }{M\ETC.
! Paragraph ended before \name was complete.
<to be read again>
\par
l.56

?
)

LaTeX Warning: Empty bibliography on input line 66.
Nehme ich das
\,
heraus, läuft alles. Wieso erzeugt genau dieser Eintrag diesen Fehler, wenn er bei anderen Einträgen mit
\,
nicht kommt? Wie kann ich den Fehler beheben, ohne
\,
aus dem Eintrag herauszunehmen?


\documentclass[fontsize=12pt,paper=a4,titlepage,twoside=false,headings=normal,numbers=noendperiod]{scrartcl}

%%%%% BEGINN: Spracheinrichtung %%%%%
 % Deutsche Sprachunterstützung (Worttrennung, etc.)
\usepackage[ngerman]{babel}
 % Unicode Eingabe
\usepackage[utf8]{inputenc}
 % Sonderzeichen verfügbar machen
\usepackage[T1]{fontenc}
%%%%% ENDE: Spracheinrichtung %%%%%

%%%%% BEGINN: Bibliographieeinrichtung %%%%%
 % Bibliographiedatei
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@BOOKINBOOK{Mill1859,
  author = {Mill, John Stuart},
  title = {On Liberty},
  booktitle = {Essays on Politics and Society},
  year = {1977},
  editor = {Robson, J.\,M.},
  introduction = {Brady, Alexander},
  maintitle = {Collected Works of John Stuart Mill},
  volume = {18},
  publisher = {University of Toronto Press},
  location = {Toronto and Buffalo},
  origyear = {1859}
}
\end{filecontents}
%% Biblatex zur Literaturverwaltung
\usepackage[style=authortitle, %Fußnoten
%			style=authoryear, %Inline
%  			citestyle=authoryear,
%  			bibstyle=authoryear,
 			language=ngerman,
 			maxnames=2,
 			sorting=nyt,
 			date=short,
 			% natbib Unterstützung
 			natbib=true,
 			% Im Literaturverzeichnis Seiten der Quellenangaben anzeigen 
 			backref=false,
 			hyperref=false,
 			% Vor- und Mittelname abkürzen
 			firstinits=false,
  			backend=biber]{biblatex}
\bibliography{\jobname.bib}
\DeclareLanguageMapping{ngerman}{ngerman-apa}



%%%%% BEGINN: Zitationseinrichtung %%%%%
%% csquotes zur Verwaltung der Anführungszeichen
 % Guillements statt Anführungszeichen
 % Absatzkontrolle aktiviert
 % Automatisch Punkte setzen
\usepackage[style=german,
			german=guillemets,
			parthreshold=true,
			autopunct=true]{csquotes}
%%%%% ENDE: Zitationseinrichtung %%%%%

\begin{document}
\blockcquote[S.][223]{Mill1859}[.]{the only purpose for which power can be rightfuly exercised over any member of a civilized community, against his will, is to prevent harm to others}

\printbibliography[heading=bibintoc]
\end{document}

Nach oben