Seite 1 von 1

Reihentitel ohne Nummer -> Leerzeichen löschen

Verfasst: So 13. Dez 2015, 19:57
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!

Verfasst: Mo 14. Dez 2015, 02:07
von Bartman
Mach bitte ein Beispiel, welches zu einem Leerzeichen an der beschriebenen Stelle führt.

Verfasst: Mo 14. Dez 2015, 08:39
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.

Verfasst: Mo 14. Dez 2015, 10:51
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!