Reihentitel ohne Nummer -> Leerzeichen löschen

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Verena
Forum-Anfänger
Forum-Anfänger
Beiträge: 44
Registriert: Mi 18. Nov 2015, 14:41

Reihentitel ohne Nummer -> Leerzeichen löschen

Beitrag von Verena »

Hallo,

bei meinem Problem geht es um die Formatierung von Reihentiteln in Klammern nach dem Muster:
Name, Vorname (2000): Buchtitel (Reihentitel Nummer), Ort: Verlag.

Ich habe das mit \renewbibmarco nach folgendem Muster formatiert:
%
\renewbibmacro*{series+number}{% formatiert Reihentitel
	\iffieldundef{series}%
		{}
		{\printtext[parens]{%
		\printfield{series}%
		\iffieldundef{number}
			{}
			{\setunit{\addspace}%
			\bibstring{volume}~\printfield{number}}
		}}}	

Das Problem: manchmal haben Titel zwar einen Reihentitel aber keine Nummer innerhalb dieser Reihe. Dafür steht ja
%
\iffieldundef{number}
			{}
Nun wird, wenn keine Nummer vorhanden ist, zwischen Reihentitel und der Klammer aber immer in Leerzeichen eingefügt. Durch \adddot kann ich es durch einen Punkt ersetzen. Ich möchte es aber entfernen, sodass da nicht mehr steht:

Name, Vorname (2000): Buchtitel (Reihentitel ), Ort: Verlag.

sondern:
Name, Vorname (2000): Buchtitel (Reihentitel), Ort: Verlag.

Bisher klappt das nur, wenn tatsäclhich eine Bandnummer vorhanden ist, also zum Bsp.:
Name, Vorname (2000): Buchtitel (Reihentitel 2), Ort: Verlag.

Weiß jemand, wie ich das Leerzeichen entfernen kann, auch wenn ich keine Bandnummer habe?
Ich wäre sehr dankbar für HIlfe!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Mach bitte ein Beispiel, welches zu einem Leerzeichen an der beschriebenen Stelle führt.

Gast

Beitrag von Gast »

Soweit ich das übersehen kann, ist Dein Problem der Absatz zwischen
         \bibstring{volume}~\printfield{number}}
      }}}
wenn ich das zu
         \bibstring{volume}~\printfield{number}}}}}
umwandele, sind die Leerzeichen weg.

Ich finde die folgende Version übrigens etwas schöner
\DeclareFieldFormat{number}{\bibstring{volume}~#1}
\renewbibmacro*{series+number}{%
  \iffieldundef{series}%
    {}
    {\printtext[parens]{%
       \printfield{series}%
       \setunit{\addspace}%
       \printfield{number}}}}
Du sparst Dir hier eine Abfrage und das Format des number-Felds wird mit \DeclareFieldFormat angegeben.
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=authoryear-icomp, isbn=false]{biblatex}
\DeclareFieldFormat{pages}{#1}    

\usepackage{hyperref}

\addbibresource{biblatex-examples.bib}

\DeclareFieldFormat{number}{\bibstring{volume}~#1}
\renewbibmacro*{series+number}{%
  \iffieldundef{series}%
    {}
    {\printtext[parens]{%
       \printfield{series}%
       \setunit{\addspace}%
       \printfield{number}}}}  
 

\begin{document}
\nocite{brandt,aristotle:poetics,wilde,sigfridsson}
\printbibliography
\end{document}
Bei solchen Problemen ist es übrigens immer sehr sinnvoll, ein Minimalbeispiel gleich mitzuliefern. So kannst Du sichergehen, dass wir alle über dasselbe reden. Für Dich ist es außerdem kein unglaublich großer Mehraufwand, da Du weißt, wie Dein Dokument aussieht. Für uns bedeutet es im schlimmsten Falle eine Rate-Orgie.

Verena
Forum-Anfänger
Forum-Anfänger
Beiträge: 44
Registriert: Mi 18. Nov 2015, 14:41

Beitrag von Verena »

Tausend Dank! Ich war mir nicht sicher, ob es Sinn macht, ein Minimalbsp. dazuzuschicken, weil mir schon klar war, dass es an diesem Abschnitt liegen muss (aber stimmt, Entschuldigung!). Danke für die Hilfe. Habe den Vorschlag mit "DelcareFieldFormat" übernommen und jetzt passt alles!

Antworten