Biber - Mehrere Autoren

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
chrislohjenn
Forum-Anfänger
Forum-Anfänger
Beiträge: 41
Registriert: Do 8. Mär 2012, 12:18

Biber - Mehrere Autoren

Beitrag von chrislohjenn »

Ich benutze eine Bibliographie, die ziemlich an meine Anforderungen angepasst ist.
Leider erscheinen mehrere Autoren in der Form: Nachname, Vorname und Vorname Nachname.

Das kann so nicht gewollt sein. Ich würde das gern ändern in: Nachname, Vorname und Nachname, Vorname ...

Zudem erscheinen beim Zitieren wahllos abgekürzte Vornamen, obwohl nur der Nachname in der Fußnote erscheinen soll. Das Problem lässt sich mit dem folgenden Minimalbeispiel nicht wiederholen, aber vielleicht ist anderen ja offensichtlich woran es liegt.

Ich bitte um Hilfe, an welchen Schrauben ich drehen müsste, damit es passt.
Danke!


[code]
\begin{filecontents}{\jobname.bib}
@Book{test,
author = {Name, Thomas and Smith, Jakob},
title = {Title},
year = {2019},
publisher = {publisher},
location = {London},
shorttitle = {xxxyyyy},
}


\end{filecontents}

\documentclass[12pt,headsepline,pagesize=auto,ngerman,greek,hebrew,english,russian,latin,bibliography=totocnumbered,oneside]{scrreprt}
\usepackage[a4paper,left=2.25cm, right=2.5cm,top=2.75cm,bottom=2.25cm]{geometry}



\usepackage[german=swiss]{csquotes}
\usepackage{xpatch}
\usepackage[backend=biber, style=authoryear-ibid, autocite=footnote]{biblatex}
\addbibresource{\jobname.bib}
\setlength{\bibitemsep}{0.5em} % Abstand zwischen Literaturangaben
%\setlength{\bibhang}{2em}
\renewcommand{\mkbibnamefamily}[1]{\textsc{#1}}
\renewcommand{\mkbibnamegiven}[1]{\textsc{#1}}
\xpatchbibmacro{date+extrayear}{%
\printtext[parens]}{%
\printtext[brackets]}
{}{}
\renewcommand*{\newunitpunct}{\addsemicolon\space}
\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\renewcommand{\labelnamepunct}{\addspace}
\DeclareDelimFormat{titleyeardelim}{\addspace}
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}

\newbibmacro*{cite:title}{%
\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}
\renewbibmacro*{cite}{%
\global\boolfalse{cbx:loccit}%
\iffieldundef{shorthand}
{\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
{\usebibmacro{cite:ibid}}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}}
{\printnames{labelname}}%
\setunit{\printdelim{nametitledelim}}%
\usebibmacro{cite:title}%
\setunit{\printdelim{titleyeardelim}}%
\printtext[parens]{\usebibmacro{cite:labelyear+extrayear}}}}
{\usebibmacro{cite:shorthand}}}

\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{#1.}

\begin{document}
aaa\footnote{Vgl. \cite[123]{test}}

\nocite{*}
\printbibliography


\end{document}
\endinput
[/code]


Gast

Beitrag von Gast »

Das ist tatsächlich "so gewollt". Die Idee dahinter ist wohl, dass die "natürliche Namensreihenfolge" Vorname Nachname ist, aber dass es sinnvoll ist, dass der Nachname der ersten Autorin/Herausgeberin vorn steht, da ja nach dem Nachnamen alphabetisch sortiert wird. Beim zweiten Namen in der Liste ist das nicht mehr so wichtig, daher steht der nun in natürlicher Reihenfolge. Natürlich lässt sich das leicht mit

Code: Alles auswählen

\DeclareNameAlias{sortname}{family-given}
ändern.
Zudem erscheinen beim Zitieren wahllos abgekürzte Vornamen, obwohl nur der Nachname in der Fußnote erscheinen soll.
Das wird wahrscheinlich an der unqiuename-Option liegen. Siehe https://tex.stackexchange.com/q/134535/35864 und https://tex.stackexchange.com/q/91225/35864

Ich habe den Code mal etwas eingerückt, damit ich ihn vernünftig lesen und verstehen kann. Ferner habe ich kleine Anpassungen vorgenommen, um den Code hübscher und besser mit aktuellen biblatex kompatibel zu machen.

Statt \footnote{Vgl. \cite[123]{foo}} schreibt man besser \autocite[Vgl.][123]{foo} (wenn man wie Du autocite=footnote gesetzt hat; sonst eben statt \autocite direkt \footnote). Dann bekommt man auch automatisch einen Punkt am Ende der Fußnote und muss ihn nicht über das postnote-Format einschmuggeln.

Code: Alles auswählen

\begin{filecontents}{\jobname.bib}
@book{test,
  author     = {Name, Thomas and Smith, Jakob},
  title      = {Title},
  year       = {2019},
  publisher  = {publisher},
  location   = {London},
  shorttitle = {xxxyyyy},
}
\end{filecontents}

\documentclass[12pt, headsepline, pagesize=auto, ngerman, bibliography=totocnumbered, oneside]{scrreprt}
\usepackage[a4paper,left=2.25cm, right=2.5cm,top=2.75cm,bottom=2.25cm]{geometry}
\usepackage{babel}
\usepackage[german=swiss]{csquotes}

\usepackage{xpatch}

\usepackage[backend=biber, style=authoryear-ibid, uniquename=false, autocite=footnote]{biblatex}
\addbibresource{\jobname.bib}
\setlength{\bibitemsep}{0.5em}

\renewcommand{\mkbibnamefamily}{\textsc}
\renewcommand{\mkbibnamegiven}{\textsc}

\DeclareNameAlias{sortname}{family-given}

\xpatchbibmacro{date+extradate}
  {\printtext[parens]}
  {\printtext[brackets]}
  {}{}

\renewcommand*{\newunitpunct}{\addsemicolon\space}

\DeclareDelimFormat{nametitledelim}{\addcolon\space}
\DeclareDelimFormat[bib]{nametitledelim}{\addspace}

\DeclareDelimFormat{titleyeardelim}{\addspace}
\DeclareFieldFormat*{citetitle}{\mkbibemph{#1}}

\newbibmacro*{cite:title}{%
  \printtext[bibhyperref]{%
    \printfield[citetitle]{labeltitle}}}

\newbibmacro*{cite:paren:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \printtext[bibhyperref]{%
         \printlabeldateextra}}}}

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
          {\usebibmacro{cite:label}}
          {\printnames{labelname}}%
        \setunit{\printdelim{nametitledelim}}%
        \usebibmacro{cite:title}%
        \setunit{\printdelim{titleyeardelim}}%
        \usebibmacro{cite:paren:labeldate+extradate}}}
    {\usebibmacro{cite:shorthand}}}

\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{postnote}{\mknormrange{#1}}

\begin{document}
aaa\autocite[Vgl.][123]{test}

\nocite{*}
\printbibliography
\end{document}

chrislohjenn
Forum-Anfänger
Forum-Anfänger
Beiträge: 41
Registriert: Do 8. Mär 2012, 12:18

Wow

Beitrag von chrislohjenn »

Wow und einfach nur Danke.
Ich hatte mich auf eine längere Fehlersuche gefasst gemacht und das ein oder andere Stündchen und so einige Nerven dafür eingeplant.

Soweit ich sehe funktioniert durch die Veränderungen alles tadel- und reibungslos. Herrlich und ganz vielen Dank.

Antworten