Letzter Author falschrum

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


Raffelk
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Do 4. Mai 2017, 21:16

Letzter Author falschrum

Beitrag von Raffelk »

Hallo,
meine ersten Schritte mit Latex sind immer noch unsicher, aber bis jetzt bin ich recht weit in meiner Bachelorarbeit gekommen. Dank unzähliger Bespiele und auch dieserm Forum und deren Mitglieder, danke an dierser Stelle.
Aktuell versuche ich die Fußnoten und das Literaturverzeichniss sauber hin zu bekommen.
Hier hänge ich momentan an einem Problem fest, das mit der Reihenfolge von Name Vorname des letzten Authors handelt.
Folgendes möchte ich:
.... [Mustermann], Minimalbeispiel. / [Musterfrau], [G]. / [Musterjunge], [A]. (1888), ....
Und das erhalte ich:
[Mustermann|, Minimalbeispiel., [Musterfrau], [G]. und [A]. [Musterjunge] (1888), ....
Layouttechnisch muss ich das noch mit dem / hinbekommen, aber momentan macht mir das mit dem letzten Author mehr sorge.
Hat jeman einen Tip für mich?
% Das ist mein LaTeX-Dokument.

\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{buecher.bib}
@Book{buch1,
author = {Mustermann, Max and Musterfrau,
Gitte and Musterjunge, Alfons},
title = {Das Leben der Musterfamile},
publisher = {Verlag der nutzlosen Bücher},
location = {Musterhausen},
year = {1888},
}

\end{filecontents}


\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,%
maxcitenames=5,maxbibnames=5,]{biblatex}
\bibliography{buecher.bib}

\DeclareNameFormat{neuenamen}{%
  \nameparts{#1}%
  \ifnumequal{\value{listcount}}{\value{listtotal}}
    {\ifgiveninits
       {%
         \usebibmacro{name:given-family}
           {\namepartfamily}
           {\namepartgiveni}
           {\namepartprefix}
           {\namepartsuffix}%
       }
       {%
         \usebibmacro{name:given-family}
           {\namepartfamily}
           {\namepartgiveni}
           {\namepartprefix}
           {\namepartsuffix}%
       }
       {\usebibmacro{name:revsdelim}}
    }
    {\ifgiveninits
       {%
         \usebibmacro{name:family-given}
           {\namepartfamily}
           {\namepartgiveni}
           {\namepartprefix}
           {\namepartsuffix}%
       }
       {%
         \usebibmacro{name:family-given}
           {\namepartfamily}
           {\namepartgiveni}
           {\namepartprefix}
           {\namepartsuffix}%
       }%
    }%
    \usebibmacro{name:andothers}
}
\DeclareNameAlias{author}{neuenamen}

\DeclareCiteCommand{\bibfootcite}[\mkbibfootnote] 
  {\usebibmacro{prenote}}                                 
  {\usebibmacro{citeindex}%
   \setunit{\addnbspace}
   \printnames{author}%
   \setunit{\addnbspace\bibleftparen}
   \printfield{year}%
   \bibrightparen\addcomma
}
  {\addsemicolon\space}
  {\usebibmacro{postnote}}

\begin{document}
Das ist ein Test \bibfootcite[Vgl.][S. 111\psq]{buch1}.
\nocite{*}
\printbibliography
\end{document}

% Ende des Dokumentes 


Danke vor weg fürs lesen und helfen.

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

Beitrag von Bartman »

Mit dem Inhalt des zweiten Arguments von \DeclareNameFormat{neuenamen}{...} kenne ich mich nicht aus.

Vielleicht helfen Dir aber trotzdem die Änderungen im folgenden Beispiel weiter:
\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{buecher.bib}
@Book{buch1,
	author = {Mustermann, Max and Musterfrau, Gitte and Musterjunge, Alfons},
	title = {Das Leben der Musterfamile},
	publisher = {Verlag der nutzlosen Bücher},
	location = {Musterhausen},
	date = {1888}
}
\end{filecontents}

\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear, maxnames=5]{biblatex}% <- geändert
\addbibresource{buecher.bib}

\renewcommand*{\multinamedelim}{\addspace\slash\space}% <-eingefügt
\renewcommand*{\finalnamedelim}{\multinamedelim}% <-eingefügt

\DeclareNameAlias{author}{family-given}% <- geändert

\DeclareCiteCommand{\bibfootcite}[\mkbibfootnote] 
  {\usebibmacro{prenote}}                                 
  {\usebibmacro{citeindex}%
   \setunit{\addnbspace}
   \printnames{author}%
   \setunit{\addnbspace\bibleftparen}
   \printfield{year}%
   \bibrightparen\addcomma
}
  {\addsemicolon\space}
  {\usebibmacro{postnote}}

\begin{document}
Das ist ein Test \bibfootcite[Vgl.][111\psq]{buch1}.% S. entfernt
\printbibliography
\end{document}
Zuletzt geändert von Bartman am Sa 20. Mai 2017, 00:12, insgesamt 1-mal geändert.

Raffelk
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Do 4. Mai 2017, 21:16

Beitrag von Raffelk »

Hallo und herzlichen Dank.
Diesen ganzen Quatsch hätte ich mir sparen können, wenn ich gleich die richtige Option giveninits=true geladen hätte.
Danke für deine schnelle Hilfe.

Für die dies es Interessiert hier die komplette Lösung zum meiner Problemstellung:
% Das ist mein LaTeX-Dokument.
\documentclass[ngerman]{scrartcl}
\usepackage{filecontents}
\begin{filecontents}{buecher.bib}
@Book{buch1,
author = {Mustermann, Max and Musterfrau,
Gitte and Musterjunge, Alfons},
title = {Das Leben der Musterfamile},
publisher = {Verlag der nutzlosen Bücher},
location = {Musterhausen},
year = {1888},
}

\end{filecontents}


\usepackage[utf8]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,%
maxcitenames=5,
maxbibnames=5,
giveninits=true,
]{biblatex}
\bibliography{buecher.bib}


\renewcommand*{\multinamedelim}{\addspace\slash\space}
\renewcommand*{\finalnamedelim}{\multinamedelim} 

\DeclareNameAlias{author}{family-given}

\DeclareCiteCommand{\bibfootcite}[\mkbibfootnote] 
  {\usebibmacro{prenote}}                                 
  {\usebibmacro{citeindex}%
   \setunit{\addnbspace}
   \printnames{author}%
   \setunit{\addnbspace\bibleftparen}
   \printfield{year}%
   \bibrightparen\addcomma
}
  {\addsemicolon\space}
  {\usebibmacro{postnote}}

\begin{document}
Das ist ein Test \bibfootcite[Vgl.][111\psq]{buch1}.
\nocite{*}
\printbibliography
\end{document}
% Ende des Dokumentes 

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

Beitrag von Bartman »

Ich habe meinem Beispiel nachträglich noch eine Änderung hinzugefügt. Wenn den Optionen maxcitenames und maxbibnames der gleiche Wert zugewiesen wird, genügt es, den Wert der Option maxnames zuzuweisen.

Raffelk
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Do 4. Mai 2017, 21:16

Beitrag von Raffelk »

Hallo, ok das macht Sinn, wenn die Anzahl der angezeigten Authoren gleich sind.
Danke.

Antworten