Literaturverzeichnis mit cite

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.
JB95
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 24. Aug 2019, 18:23

Literaturverzeichnis mit cite

Beitrag von JB95 »

Hallo,

ich habe seit längerer Zeit wieder eine Hausarbeit in LaTeX verfasst. Für Zitate habe ich cite verwendet. Bei der Kontrolle des Literaturverzeichnisses ist mir nun aufgefallen, dass Quellen mit mehreren Autoren/-innen in der Form "Nachname1, V1., Nachname 2, V2., ... , and Nachname i, Vi." angegeben werden.

Im Internet fanden sich dafür schnell verschieden Lösungsmöglichkeiten. Diese führten jedoch bestenfalls zu keiner Veränderung. Für Quellen mit zwei Autoren/-innen konnte ich das Problem lösen, in dem ich den Text in der .bib Datei in "Nachname 1, V1 und Nachname 2 V2" ändere.

Für Quellen mit drei oder mehr Autoren/-innen konnte ich jedoch noch keine Lösung finden, wie ich ein passendes, deutsches Format erhalte.

Hier ein Beispiel für eine Quelle:

Code: Alles auswählen

@Book{Lucius2018,
  title     = {{B}iologie von {P}arasiten},
  publisher = {Springer Berlin Heidelberg},
  year      = {2018},
  author    = {Richard Lucius and Brigitte Loos-Frank and Richard P. Lane},
  doi       = {10.1007/978-3-662-54862-2},
}
Auch entsprechende Änderungen von "Vorname Nachname" zu "Nachname, Vorname" oder "Nachname, V." halfen nicht weiter.

Hier ein Minimalbeispiel:

Code: Alles auswählen

\documentclass[12pt,titlepage]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage[a4paper,lmargin={4cm},rmargin={2cm},
tmargin={2.5cm},bmargin = {2.5cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage[table,xcdraw]{xcolor}
\usepackage[official]{eurosym}
\usepackage{cite}
\usepackage{hyperref}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua \cite[S. 123]{Lucius2018}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\newpage
\addcontentsline{toc}{section}{Literaturverzeichnis}
\bibliography{Literatur}
\bibliographystyle{apalike}

\end{document}

Gast

Beitrag von Gast »

Gibt es irgend einen Grund, nicht wie in den wichtigen Hinweisen erklärt, biblatex und biber zu verwenden, mit denen dergleichen recht einfach und ohne editieren von schwer lesbaren bst-Dateien möglich ist?

Ist dir klar, dass apalike.bst nicht für andere Sprachen als Englisch gedacht ist, während biblatex, dessen Standardstile und auch die meisten Zusatzstile zu biblatex von vornherein multilingual entworfen sind?

JB95
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 24. Aug 2019, 18:23

Danke für die schnelle Antwort

Beitrag von JB95 »

Der Grund liegt einfach darin, dass ich wie gesagt LaTeX schon ein paar Jahre nicht mehr benutzt habe und mich an den Anleitungen orientiert habe, die wir damals an der Uni bekommen haben. Das Problem wird darin nicht angesprochen.

Wie kann ich das Problem dem jetzt am besten lösen bzw. was muss ich ändern? Bin mit LaTeX nicht ganz so fit und auf 200 Seiten die Zitate zu ändern ist auch ganz optimal. :shock:

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4017
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

die bib zu ändern ist der komplett falsche Weg. Dort sollte die Daten hinterlegt werden, nicht die Formatierung.

Die Formatierung wird vom Stil bestimmt. Wenn dir apalike nicht gefällt, kannst du was anderes suchen. Mit biblatex hast du allerdings deutlich bessere Möglichkeiten, den Stil zu ändern. Eine einfache Anpassung sähe wie folgt aus. Du musst dann nur noch lernen, wie man biber statt bibtex aufruft.


Code: Alles auswählen

\documentclass[12pt,titlepage]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage[a4paper,lmargin={4cm},rmargin={2cm},
tmargin={2.5cm},bmargin = {2.5cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage[table,xcdraw]{xcolor}
\usepackage[official]{eurosym}
\usepackage[style=apa]{biblatex}
\addbibresource{test.bib}
\usepackage{hyperref}

\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua \cite[123]{Lucius2018}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.


\printbibliography
\end{document}

JB95
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 24. Aug 2019, 18:23

Beitrag von JB95 »

Danke für die Antwort. Ich habe Biber ausgewählt und die genannten Änderungen durchgeführt. Nach dem Kompilieren zeigte er mir zunächst hinter jedem Autor "yearmonthday" an.

Im internet habe ich dazu als Lösung den Befehl

Code: Alles auswählen

 \DeclareLanguageMapping{ngerman}{ngerman-apa} 
gefunden.

Was mich sehr stört, ist, dass er mir nun bei Zitaten "Autor u.a., Jahr, Seite" ohne die eckigen Klammern anzeigt. Diese benötige ich aber. Sobald ich mit "$[$" und "$]$" Klammern selbst um das Zitat setze, zählt er mit sämtliche Autoren im Text auf.

Dazu habe ich folgenden Eintrag gefunden:
biblatex-eckige-klammern-bei-den-zitier ... 20757.html

Die dort genannte Lösung mittels

Code: Alles auswählen

 \DeclareOuterCiteDelim{parencite}{\bibopenbracket}{\bibclosebracket} 
hilft mir allerdings auch nicht weiter. Zudem wird nun als erste Seiten vor dem Deckblatt eine Seite mit dem Text "parencite[]" erstellt.

Gast

Beitrag von Gast »

Zunächst würde ich die Nutzung von biblatex-apa (also style=apa) nur empfehlen, wenn Du wirklich den Vorgaben des Publication Manual of the American Psychological Association folgen möchtest. Der APA-Stil ist in der Psychologe zuhause und auch in einigen verwandten und benachbarten Feldern in Verwendung, aber er ist sehr speziell. Ursprünglich hast Du apalike.bst verwendet, der Stil ist wirklich nur "wie APA" und entspricht den Vorgaben nicht. Das lässt mich vermuten, dass Du eigentlich gar nicht den APA-Stil möchtest, sondern auf der Suche nach einem allgemeinen Autor-Jahr-Stil bist. Da bist Du bei biblatex bei den Standardstilen (style=authoryear) besser aufgehoben.

Die Frage nach den eckigen Klammern macht es für mich sehr deutlich, dass Du den APA-Stil nicht möchtest.

In der Tat ist

Code: Alles auswählen

\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[style=ext-authoryear-icomp]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareOuterCiteDelim{parencite}{\bibopenbracket}{\bibclosebracket}

\begin{document}
Beispiel Zitierung: \autocite{sigfridsson}

\printbibliography
\end{document}
Da eine der einfachsten Möglichkeiten, das zu bekommen. Die Nutzung von biblatex-ext erfordert aber eine vergleichsweise aktuelle TeX-Installation. Insbesondere ist das von vielen genutzte TeX-System von Overleaf zu alt. Dass Du die \DeclareLanguageMapping-Zeile brauchst, um biblatex-apa zum Fliegen zu bekommen, ist ein deutliches Indiz dafür, dass Du ein veraltetes System benutzt. Seit mehr als anderthalb Jahren ist das nicht mehr notwendig.

Die beste Lösung wäre es, das bestehende TeX-System zu aktualisieren oder ein aktuelles neu zu installieren. Ich kann jedem Overleaf-Nutzer nur empfehlen, sich nach ein bisschen Zeit mit LaTeX auch lokal ein System zuzulegen. Da hat man mehr Kontrolle und es ist einfacher, Debuggingschritte durchzuführen, wenn etwas schiefläuft.

Gast

Beitrag von Gast »

JB95 hat geschrieben:Im internet habe ich dazu als Lösung den Befehl

Code: Alles auswählen

 \DeclareLanguageMapping{ngerman}{ngerman-apa} 
gefunden.
Der sollte bei Verwendung einer aktuellen LaTeX-Distribution (für biblatex-apa gab es gerade erst ein Update) nicht notwendig sein.

Ein Update (nicht nur von biblatex sondern min. auch von allen davon abhängigen Paketen und biber) könnte helfen.
JB95 hat geschrieben:Was mich sehr stört, ist, dass er mir nun bei Zitaten "Autor u.a., Jahr, Seite" ohne die eckigen Klammern anzeigt. Diese benötige ich aber. Sobald ich mit "$[$" und "$]$" Klammern selbst um das Zitat setze, zählt er mit sämtliche Autoren im Text auf.

Dazu habe ich folgenden Eintrag gefunden:
biblatex-eckige-klammern-bei-den-zitier ... 20757.html
Jene Lösung ist für die Verwendung eines anderen Stils. Die Erweiterungen von biblatex-ext gibt es nur mit einem der Stile von biblatex-ext. Wenn du nur irgend einen Autor-Jahr-Stil benötigst, ist das durchaus empfehlenswert. Dann musst du eben bei Option style etwas wie ext-authoryear oder wie in dem referenzierten Fall ext-authoryear-icomp verwenden.

Der Stil apa ist sehr speziell. Er hält sich sehr streng an die APA-Vorschriften und verwendet für \parencite deshalb auch runde Klammern. Trotzdem kann man das ändern, indem man entweder \mkbibparens umdefiniert (einfach zu \mkbibbrackets oder etwas sauberer \parncite umdefiniert:

Code: Alles auswählen

\begin{filecontents*}{\jobname.bib}
@Book{Lucius2018,
  title     = {{B}iologie von {P}arasiten},
  publisher = {Springer Berlin Heidelberg},
  year      = {2018},
  author    = {Richard Lucius and Brigitte Loos-Frank and Richard P. Lane},
  doi       = {10.1007/978-3-662-54862-2},
}
\end{filecontents*}  
\documentclass[12pt,titlepage]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage[a4paper,lmargin={4cm},rmargin={2cm},
tmargin={2.5cm},bmargin = {2.5cm}]{geometry}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{graphicx}
\usepackage{floatflt}
\usepackage{wrapfig}
\usepackage[table,xcdraw]{xcolor}
\usepackage[official]{eurosym}
\usepackage[style=apa,autocite=inline]{biblatex}[2018/11/02]
\addbibresource{\jobname.bib}
\usepackage{hyperref}

\DeclareCiteCommand{\parencite}[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \usebibmacro{cite:post}}
  {}
  {\usebibmacro{postnote}}

\DeclareCiteCommand*{\parencite}[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{citeyear}%
   \usebibmacro{cite:post}}
  {}
  {\usebibmacro{postnote}}


\begin{document}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua \autocite[123]{Lucius2018}. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.


\printbibliography
\end{document}
JB95 hat geschrieben:Zudem wird nun als erste Seiten vor dem Deckblatt eine Seite mit dem Text "parencite[]" erstellt.
Du solltest dir abgewöhnen, nur auf das Ergebnis zu sehen, und stattdessen mehr Fehlermeldungen Beachtung schenken. Die Fehlermeldung hätte dir gezeigt, dass \DeclareOuterCiteDelim mit style=apa nicht definiert ist.

JB95
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 24. Aug 2019, 18:23

Beitrag von JB95 »

Danke für die schnelle Antwort. Was den Stil angeht, halte ich mich nur an die Vorgaben meiner Dozentin. Ich verwende texmaker / MiKTeX. Das habe ich schon seit Anfang 2013, habe aber alles vor ca. drei Monaten neu installiert.

edit: Runde Klammern wären auch noch okay, die lassen sich aber genausowenig erzeugen. Fehlermeldungen werden keine angezeigt.

Gast

Beitrag von Gast »

Mit \parencite (oder mit \autocite, wenn Option autocite entsprechend gesetzt ist) werden sehr wohl runde Klammern erzeugt. Und mit oben vorgeführten Änderung werden daraus dann eckige Klammern.

Keine Fehlermeldung trotz der Seite mit parencite[] vor dem Deckblatt? Zeig doch bitte mal das zugehörige Minimalbeispiel. Vielleicht hast du ja einen ganz anderen Fehler gemacht als vermutet.

Wie man MiKTeX updated, findest du übrigens in dessen Anleitung oder auf TeX.SX.

Gast

Beitrag von Gast »

Ein vor drei Monaten installiertes (und damals aktuelles) MikTeX-System sollte zumindest was die hier diskutierten Funktionen angeht aktuell genug sein. Hast Du vor der Neuinstallation das alte System entfernt? Nicht dass Du jetzt zwei Systeme auf Deinem Rechner hast und immer das alte nutzt aber das neue updatest.

In jedem Fall ist es eine gute Idee, das System vollständig zu aktualisieren (bei einer Mehrbenutzerinstallation im Admin- und Nutzermodus).

Antworten