Seite 1 von 1

Formatierung von Monographien:

Verfasst: Mo 14. Dez 2015, 11:27
von Verena
Hallo, nachdem ich nun soweit das ganze Internet durchforstet habe, muss ich mich leider an euch wenden. Folgende Schwierigkeit:

In meinem Literatuverzeichnis werden die Reihentitel und die dazugehörige Nummer des Bandes im Reihentitel perfekt zitiert, wenn es sich um Sammelbände bzw. Artikel in Sammelbänden handelt (im Code: "incollection").
Allerdings funktioniert das nicht, wenn ich die Reihentitel und die dazugehörige Nummer des Reihentitels für eine Monographie ("book") angeben möchte. Ich habe schon einiges versucht, aber entweder erscheint nur der Reihentitel, OHNE Angabe der Nummer oder es erscheint: (Reihentitel, Bd. x). Allerdings wünsche ich mir das Format so wie beim Reihentitel von Sammelbänden mit: (Reihentitel x).

Hier mein Minimalbsp.:
%

\documentclass[paper=a4, 12pt, oneside, headsepline]{scrbook}

\usepackage[french, ngerman]{babel}
\usepackage[backend=biber, style=authoryear-comp, isbn=false, dashed=false, maxitems=2, maxnames=3]{biblatex}

\DeclareFieldFormat{pages}{#1} %zum Löschen von S. vor Seitenangabe
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[T1]{fontenc} 
\renewcommand{\baselinestretch}{1.30}\normalsize
\usepackage{setspace} 
\setlength{\parindent}{1cm}
\usepackage{hyperref}
\usepackage{microtype}
\setkomafont{pagehead}{\normalfont\footnotesize}
\hyphenpenalty=5000 \tolerance=1000

\renewcommand{\footnotesize}{\small} %Größe der Fußnoten 
\setlength{\footnotesep}{12pt} 
\setlength{\skip\footins}{1.00cm} 
\deffootnote[2em]{0em}{0em}{
            \makebox[2em][l]{\thefootnotemark}}  

\newenvironment{myquote}%
	{\vspace{0pt}\begin{quote}
	\renewcommand{\baselinestretch}{1.00}
	\small}
	{\end{quote}\vspace{-4pt}}

\bibliography{BibDatei}
\DefineBibliographyStrings{ngerman}{%
	page = {{}{}},pages = {{}{}}
	editor = {{\typeeditor}{\typeeditor}}
	editors = {{\typeeditors}{\typeeditors}}
	typeeditor = {Hrsg\adddot}
	typeeditors = {Hrsg\adddot}
	}
\DefineBibliographyExtras{ngerman}{\renewcommand*{\bibrangedash}{-}} 
\setlength{\bibitemsep}{1em} 
\setlength{\bibhang}{2em} 
\AtBeginBibliography{%
  \renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}
	\renewcommand*{\labelnamepunct}{\addcolon\addspace}} 
\renewcommand{\multinamedelim}[0]{/}
\renewcommand{\finalnamedelim}[0]{/} 
\DeclareFieldFormat{editortype}{\mkbibparens{#1}} %Hrsg. in Klammern						
\DeclareNameFormat{sortname}{% bei allen Hrsg. wird Nachname nach vorne gestellt 
	\iffirstinits
	{\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
	{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
	\usebibmacro{name:andothers}} 			

%formatiert Monographien
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
	\newunit
	\setunit{\addspace}
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

%formatiert Titel in Sammelband			
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
	\begingroup% 
  \renewbibmacro*{date+extrayear}{}% 
	\usebibmacro{editor+others}
	\setunit{\addcolon\space} %Doppelpunkt nach (Hrsg.)
	\endgroup% 
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
	\newunit\newblock %
  \usebibmacro{publisher+location+date}%
	\newunit
	\setunit{\addspace}
	\usebibmacro{series+number}% -> Reihentitel
	\newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\makeatletter %kein Komma zw. Namen und (Hrsg.)
\renewbibmacro*{bbx:editor}[1]{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                 \NOT\iffirstonpage\AND
         \(\NOT\boolean{bbx@inset}\OR
           \iffieldequalstr{entrysetcount}{1}\)}
       {\bibnamedash}
       {\printnames{editor} %
    \setunit{\addspace} %statt "`\addcomma\space"' nur "`\addspace"'
    \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\addspace}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\addspace}}%
  \usebibmacro{date+extrayear}}
\makeatother

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

\begin{document}
\tableofcontents
\newpage

Hier wird Text stehen.

\newpage
\printbibliography

\end{document}


Das entsprechende Bsp. aus BibTex (das ich im Übrigen über das Exportieren einer Citavi-Datei erhalte):

@book{Calabrese.2013b,
author = {Calabrese, Laura},
year = {2013},
title = {L'{\'e}v{\'e}nement en discours: Presse et m{\'e}moire sociale},
keywords = {{\'E}v{\'e}nement et moment discursif;Formule},
address = {Louvain-la-neuve},
volume = {9},
publisher = {L'Harmattan-Academia},
isbn = {2806100984},
series = {Sciences du langage: carrefours et points de vue}
}


-> ergibt mit dem Code von oben (Nummerierung in der Reihe fehlt):
Calabrese, Laura (2013): L’événement en discours: Presse et mémoire sociale. Louvain-la-neuve: L’Harmattan-Academia (Sciences du langage: carrefours et points de vue).

-> sollte ergeben:
Calabrese, Laura (2013): L’événement en discours: Presse et mémoire sociale. Louvain-la-neuve: L’Harmattan-Academia (Sciences du langage: carrefours et points de vue 9).

Hinbekommen habe ich noch:
[...] (Sciences du langage: carrefours et points de vue, Bd. 9 ),
sodass ausgehend hiervon dann das Komma sowie "Bd." und das Leerzeichen nach der Zahl gelöscht werden müssten.

DANKE für eure Hilfe!

Verfasst: Mo 14. Dez 2015, 11:39
von Gast
Ich habe gerade nicht die Muße das Beispiel durchlaufen zu lassen. (Aber schön, das eines dabei ist, ich schaue es mir nachher genauer an.)

Mir ist aber aufgefallen, dass Dein .bib-Eintrag
@book{Calabrese.2013b,
author = {Calabrese, Laura},
year = {2013},
title = {L'{\'e}v{\'e}nement en discours: Presse et m{\'e}moire sociale},
keywords = {{\'E}v{\'e}nement et moment discursif;Formule},
address = {Louvain-la-neuve},
volume = {9},
publisher = {L'Harmattan-Academia},
isbn = {2806100984},
series = {Sciences du langage: carrefours et points de vue}
} 
ist. Die (Band-)Nummer in einer Reihe (series) wir aber als number und nicht als volume angegeben.
Du möchtest also wohl eher
@book{Calabrese.2013b,
author = {Calabrese, Laura},
year = {2013},
title = {L'{\'e}v{\'e}nement en discours: Presse et m{\'e}moire sociale},
keywords = {{\'E}v{\'e}nement et moment discursif;Formule},
address = {Louvain-la-neuve},
number = {9},
publisher = {L'Harmattan-Academia},
isbn = {2806100984},
series = {Sciences du langage: carrefours et points de vue}
} 
Das volume-Feld bei bezieht sich bei Büchern auf den maintitle, zu series gehört number.

Verfasst: Mo 14. Dez 2015, 12:51
von Gast
Ich habe mir das Beispiel noch angesehen und möchte noch ein paar Kommentare loswerden.

Wenn ich das richtig sehe, kannst Du den ganzen Block
\DefineBibliographyStrings{ngerman}{%
   page = {{}{}},pages = {{}{}}
   editor = {{\typeeditor}{\typeeditor}}
   editors = {{\typeeditors}{\typeeditors}}
   typeeditor = {Hrsg\adddot}
   typeeditors = {Hrsg\adddot}
   }
einfach weglassen. Wenn Du wirklich nirgendwo das "S." für die Seitenzahl möchtest, brauchst Du dann neben \DeclareFieldFormat{pages}{#1} noch
\DeclareFieldFormat{pagetotal}{#1}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{volcitepages}{#1}
\DeclareFieldFormat{multipostnote}{#1}
Der Teil mit \typeeditor sieht mir zumindest recht merkwürdig aus. Wo kommt der denn her?
\renewcommand{\multinamedelim}[0]{/}
\renewcommand{\finalnamedelim}[0]{/}
würde ich zu
\renewcommand*{\multinamedelim}{/}
\renewcommand*{\finalnamedelim}{\multinamedelim}
umwandeln.

Statt
\DeclareNameFormat{sortname}{% bei allen Hrsg. wird Nachname nach vorne gestellt
   \iffirstinits
   {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
   {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
   \usebibmacro{name:andothers}}
ist
\DeclareNameAlias{sortname}{last-first}
kürzer.

Beispiel
\begin{filecontents}{\jobname.bib}
@book{Calabrese.2013b,
author = {Calabrese, Laura},
year = {2013},
title = {L'{\'e}v{\'e}nement en discours: Presse et m{\'e}moire sociale},
keywords = {{\'E}v{\'e}nement et moment discursif;Formule},
address = {Louvain-la-neuve},
number = {9},
publisher = {L'Harmattan-Academia},
isbn = {2806100984},
series = {Sciences du langage: carrefours et points de vue}
} 
\end{filecontents}

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{microtype}
\usepackage[french, ngerman]{babel}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber, style=authoryear-comp, isbn=false, dashed=false, maxitems=2, maxnames=3]{biblatex}
\usepackage{hyperref}


\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\DefineBibliographyExtras{ngerman}{\renewcommand*{\bibrangedash}{-}}

\DeclareFieldFormat{pages}{#1} 

\AtBeginBibliography{%
  \renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}%
  \renewcommand*{\labelnamepunct}{\addcolon\addspace}}

\renewcommand*{\multinamedelim}{/}
\renewcommand*{\finalnamedelim}{\multinamedelim}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareNameAlias{sortname}{last-first}
        

%formatiert Monographien
\DeclareBibliographyDriver{book}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/editor+others/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{maintitle+title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{byeditor+others}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
  \newunit\newblock
  \usebibmacro{publisher+location+date}%
   \newunit
   \setunit{\addspace}
  \usebibmacro{series+number}%
  \newunit\newblock
  \printfield{note}%
  \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit
  \printfield{pagetotal}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

%formatiert Titel in Sammelband        
\DeclareBibliographyDriver{incollection}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author/translator+others}%
  \setunit{\labelnamepunct}\newblock
  \usebibmacro{title}%
  \newunit
  \printlist{language}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{in:}%
   \begingroup%
  \renewbibmacro*{date+extrayear}{}%
   \usebibmacro{editor+others}
   \setunit{\addcolon\space} %Doppelpunkt nach (Hrsg.)
   \endgroup%
  \usebibmacro{maintitle+booktitle}%
  \newunit\newblock
  \printfield{edition}%
  \newunit
  \iffieldundef{maintitle}
   \newunit\newblock %
  \usebibmacro{publisher+location+date}%
   \newunit
   \setunit{\addspace}
   \usebibmacro{series+number}% -> Reihentitel
   \newunit\newblock
  \usebibmacro{chapter+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{finentry}}

\makeatletter %kein Komma zw. Namen und (Hrsg.)
\renewbibmacro*{bbx:editor}[1]{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                 \NOT\iffirstonpage\AND
         \(\NOT\boolean{bbx@inset}\OR
           \iffieldequalstr{entrysetcount}{1}\)}
       {\bibnamedash}
       {\printnames{editor}%
    \setunit{\addspace}% statt "`\addcomma\space"' nur "`\addspace"'
    \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\addspace}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\addspace}}%
  \usebibmacro{date+extrayear}}
\makeatother

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

\begin{document}
\cite{Calabrese.2013b,sigfridsson,worman,geer,westfahl:space,westfahl:frontier}

\printbibliography
\end{document} 
Die filecontents-Umgebung ist nur dazu da, die .bib-Datei zu erzeugen, sodass das Beispiel direkt lauffähig ist.

Verfasst: Di 15. Dez 2015, 00:03
von Verena
Ganz lieben Dank für die Mühe und die ausführliche Antwort. Teilweise ergeben sich im Dokument Formatierungsschwierigkeiten, sodass ich für einzelne Probleme dann ab und an einzelne Dinge aus dem Internet fische.... daher kann es schon sein, dass der Code an einigen Stellen ein bisschen seltsam ausschaut.
Danke fürs Helfen!

Das Problem mit volume / number hatte ich auch schon bemerkt, aber gehofft, dass man das in Latex dennoch hinbekommt. Ich habe eben an den Citavi-Support geschrieben, um nachzufragen, wie ich das Feld ändern kann. Hoffentlich gibt es eine Lösung.....

DANKE nochmals!