Modifikationen in @incollection/@inbook funktionieren nicht

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
Marla
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 8. Jul 2019, 15:39

Modifikationen in @incollection/@inbook funktionieren nicht

Beitrag von Marla »

Hey,

ich habe schon ein paar Dinge in meinem Literaturverzeichnis angepasst (danke Internet). Nun habe ich endlich die für mich wichtigen Sachen erreicht (das ist insb. die Reihenfolge der Namen bei Autor*innen oder Editor*innen).

Das einzige Problem: Die Modifikationen funktionieren nicht, sobald es um "Beitrag in:" geht, also @inbook und @incollection. Evtl. sehe ich den Wald vor lauter Bäumen nicht und hoffe, ihr könnt mir weiterhelfen.

Ich möchte:

, in: Nachname, Vorname (Hrsg.) % bei 1 Autor*in
, in: Nachname, Vorname und Vorname Nachname (Hrsg.) % bei 2
, in: Nachname, Vorname; Nachname, Vorname und Vorname Nachname (Hrsg.) % ab 3

(jeweils OHNE komma vor (Hrsg.))

Meine Hauptdatei:

Code: Alles auswählen

\documentclass[12pt]{scrartcl} % Dokumenteinstellungen
\usepackage[utf8]{inputenc} % Formatierung UTF-8
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel} % Sprache
\newcommand{\mylinespread}{1.0} % Zeilenabstand
\input{chapter/ownbib.tex} % hier werden meine Modifikationen eingelesen

\begin{document}
\include{chapter/titlepage}
\newpage
\setcounter{page}{1} %Seite beginnt bei $Zahl


Dieser Satz ist zurückzuführen auf \cite[56-59]{Abbate.2012}. Zweiter satz ist aussage von
 \textcite[55-56]{Draude.2014}
 und \cite{DrewsSylla.2010}
 und \cite{Faulkner.2007} 
 und \cite{Becker.2009b}
 und \cite{Butow.2013}


\newpage
\printbibliography

\end{document}

Hier meine Modifikationen (ownbib.tex):

Code: Alles auswählen

\usepackage[%
    style=ext-authoryear, % Bibliographiestil
    citestyle=authoryear, % Zitationsstil
    maxbibnames=50, % Namen statt et al. bis 50 Autor*innen
    maxcitenames=2, % ab 3 Autor*innen et al. statt Name im Fließtext
    innamebeforetitle=true, % Name vor Titel in 'Beitrag in' (funktioniert nur mit ext-authoryear)
    isbn=false,
    doi=false]
    {biblatex}

%% Zitationsstile im Literaturverzeichnis %%
    % Sortierung Name, Vorname; Name, Vorname und Vorname Name

\DeclareNameFormat{family-given/given-family/last}{%
  \ifboolexpr{test {\ifnumless{\value{listcount}}{\value{listtotal}}} or test {\ifnumequal{\value{listcount}}{1}}} 
    {\ifgiveninits
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}%
     \ifboolexpe{%
       test {\ifdefvoid\namepartgiven}
       and
       test {\ifdefvoid\namepartprefix}}
       {}
       {\usebibmacro{name:revsdelim}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

  \DeclareNameAlias{sortname}{family-given/given-family/last}


\AtBeginBibliography{%
    \renewcommand*{\multinamedelim}{\addsemicolon\space} % ; zwischen mehreren Autor*innen
    \renewcommand*{\finalnamedelim}{\addspace und\space} % und vor letztem Autor*innennamen  
    }
       
\renewcommand*{\newunitpunct}{\addcomma\space} % Komma zwischen allen Einheiten (default ist Punkt)
\renewcommand*{\subtitlepunct}{\adddot\space} % Punkt zwischen Title und Subtitle (Punkt war mit newunitpunct geändert)


%kein Komma zwischen Namen und (Hrsg.)
\makeatletter
\renewbibmacro*{editor}{% Komma vor Herausgeberkürzel entfernen
   \ifboolexpr{
     test \ifuseeditor
     and
     not test {\ifnameundef{editor}}
   }
     {\printnames{editor}%
     \setunit{\addspace}%
     \usebibmacro{editorstrg}%
      \clearname{editor}}
     {}}
\renewbibmacro*{editor+others}{% Komma vor Herausgeberkürzel entfernen
   \ifboolexpr{
     test \ifuseeditor
     and
     not test {\ifnameundef{editor}}
   }
     {\printnames{editor}%
      \setunit{\addspace}%
      \usebibmacro{editor+othersstrg}%
      \clearname{editor}}
     {}}     
\makeatother
Mal zwei meiner Quellen, einmal @incollection, einmal @collection:

Code: Alles auswählen

@incollection{Draude.2014,
 author = {Draude, Claude and Zeising, Anja},
 title = {Grusswort},
 pages = {x},
 bookpagination = {page},
 editor = {Zeising, Anja and Draude, Claude and Schelhowe, Heidi and Maa{\ss}, Susanne},
 booktitle = {Vielfalt der Informatik},
 year = {2014},
 abstract = {},
 location = {Bremen},
 booksubtitle = {Ein Beitrag zu Selbstverst{\"a}ndnis und Aussenwirkung}
}

@collection{DrewsSylla.2010,
 year = {2010},
 title = {Konstruierte Normalit{\"a}ten - normale Abweichungen},
 url = {http://dx.doi.org/10.1007/978-3-531-92429-8},
 publisher = {{VS Verlag f{\"u}r Sozialwissenschaften}},
 isbn = {978-3-531-17230-9},
 editor = {Drews-Sylla, Gesine and D{\"u}tschke, Elisabeth and Leontiy, Halyna and Polledri, Elena}
}

Angehängt ein Beispiel, wie das bei mir aussieht.

Habt ihr Ideen, warum das nicht funktioniert, sobald es um @in... geht?

Danke!
Dateianhänge
Literatur.png
Literatur.png (82.2 KiB) 131 mal betrachtet

Gast

Beitrag von Gast »

Das grundsätzliche Problem ist, dass editor bei @in... nicht das Format sortname verwendet. biblatex-ext nutzt dort ineditor und bookauthor für die Autorin eines @inbook.

Du könntest es wie folgt probieren. (Für Dinge wie ein Grußwort würde ich sogar eher zu @suppcollection statt @incollection tendieren.)

Code: Alles auswählen

\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[%
    style=ext-authoryear,
    maxbibnames=50,
    maxcitenames=2,
    innamebeforetitle=true,
    isbn=false,
    doi=true]
  {biblatex}

\DeclareNameFormat{family-given/given-family/last}{%
  \ifboolexpr{test {\ifnumless{\value{listcount}}{\value{listtotal}}} or test {\ifnumequal{\value{listcount}}{1}}}
    {\ifgiveninits
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:family-given}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}%
     \ifboolexpe{%
       test {\ifdefvoid\namepartgiven}
       and
       test {\ifdefvoid\namepartprefix}}
       {}
       {\usebibmacro{name:revsdelim}}}
    {\ifgiveninits
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiveni}
         {\namepartprefix}
         {\namepartsuffix}}
       {\usebibmacro{name:given-family}
         {\namepartfamily}
         {\namepartgiven}
         {\namepartprefix}
         {\namepartsuffix}}}%
  \usebibmacro{name:andothers}}

\DeclareNameAlias{sortname}{family-given/given-family/last}
\DeclareNameAlias{ineditor}{sortname}
\DeclareNameAlias{bookauthor}{sortname}

\DeclareDelimFormat[bib]{multinamedelim}{\addsemicolon\space}
       
\renewcommand*{\newunitpunct}{\addcomma\space}
\renewcommand*{\subtitlepunct}{\adddot\space}

\DeclareDelimFormat{editortypedelim}{\addspace}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimAlias{translatortypedelim}{editortypedelim}
\DeclareFieldAlias{translatortype}{editortype}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@suppcollection{Draude.2014,
  author       = {Draude, Claude and Zeising, Anja},
  title        = {Grußwort},
  pages        = {x},
  editor       = {Zeising, Anja and Draude, Claude and Schelhowe, Heidi and Maaß, Susanne},
  booktitle    = {Vielfalt der Informatik},
  booksubtitle = {Ein Beitrag zu Selbstverständnis und Außenwirkung},
  year         = {2014},
  location     = {Bremen},
}
@collection{DrewsSylla.2010,
  editor    = {Drews-Sylla, Gesine and Dütschke, Elisabeth and Leontiy, Halyna and Polledri, Elena},
  title     = {Konstruierte Normalitäten -- normale Abweichungen},
  year      = {2010},
  doi       = {10.1007/978-3-531-92429-8},
  publisher = {{VS Verlag für Sozialwissenschaften}},
  isbn      = {978-3-531-17230-9},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\begin{document}
Zweiter satz ist aussage von
 \textcite[55-56]{Draude.2014}
 und \cite{DrewsSylla.2010}

\printbibliography
\end{document}
Die Namensreihenfolge finde ich so übrigens recht ungewöhnlich. Das vordefinierte family-given/given-family kann ich ja noch verstehen, aber family-given/given-family/last sieht irgendwie merkwürdig aus. Auch die Kombination aus Semikolon und "und" ist gewöhnungsbedürftig.

Marla
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 8. Jul 2019, 15:39

Beitrag von Marla »

oh super, vielen dank! ich hatte mir schon gedacht, dass die lösung total einfach ist^^

ja, ich bin mir bei der zitationsweise auch noch nicht ganz sicher, ob ich tatsächlich mit semikolon bspw. arbeite, aber jetzt kann ich wenigstens verschiedene stile durchprobieren. :)

danke nochmal!

Antworten