Hallo zusammen, als blutiger TeX-Anfänger schreibe ich gerade meine Bachelorarbeit. Dabei muss ich den APA-Zitierstil verwenden. Da ich im Text immer nocite verwendet habe geht es vor allem um den richtigen Stil im Literaturverzeichnis. Ich verwende MikTeX.

Mein Minimalbeispiel ist:

Öffne in Overleaf
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\addbibresource{apabsp.bib}
\begin{document}
Das Zitat in Buch\cite{schlau.2000} ist sehr schlau.
\printbibliography
\end{document}

Die Bib-Datei:

Öffne in Overleaf
@BOOK
{schlau.2000,
author = "Schreiber, Schlauer",
title = "Ein schlaues Buch",
publisher = "Verlag",
year = 2000
}

Ich bekomme jedesmal die Fehlermeldung:

Öffne in Overleaf
! Undefined control sequence.
I.21 \DeclareLanguageMappingSuffix
                        {-apa} 
                              ?

Mit authoryear geht es problemlos. Ich habe es auch mal ohne DeclareLanguageMapping versucht (In der Dokumentation steht dass er nicht mehr notwendig sei), geht bei mir aber auch nicht.

Kann mir jemand helfen?

gefragt 26 Dez '17, 18:13

jsd's gravatar image

jsd
1112
Akzeptiert-Rate: 0%

bearbeitet 31 Dez '17, 12:45

saputello's gravatar image

saputello
10.8k104064

1

Codebeispiele immer in die Frage einfügen.

(27 Dez '17, 01:17) Henri

Ich kann das Problem weder mit biblatex 3.4 von Overleaf noch mit dem aktuellen biblatex 3.9 nachvollziehen. Ich kann daher nur vermuten, dass bei Dir biblatex und biblatex-apa in nicht zusammen passenden Versionen installiert sind (konkret biblatex-apa ist offenbar neuer). Probier mal ein Update Deiner TeX-Distribution. Beachte dabei, dass bei einem Update von biblatex sowohl alle davon abhängigen biblatex-Zusatzpakete (wie eben biblatex-apa) als auch biber aktualisiert werden muss!

(31 Dez '17, 12:41) saputello

\DeclareLanguageMappingSuffix wird in biblatex-apa ab Version 7.5 verwendet, um nicht länger manuelle Sprach-Zuordnungen zu benötigen. biblatex bietet diese Anweisung aber erst seit Version 3.8. Verwendet man eine ältere Version von biblatex, so kommt es zu der genannten Fehlermeldung. Dagegen kann man sich bei Verwendung von biblatex 3.8 die Zeile:

Öffne in Overleaf
\DeclareLanguageMapping{ngerman}{ngerman-apa}

sparen, es genügt:

Öffne in Overleaf
\begin{filecontents*}{\jobname.bib}
@BOOK
{schlau.2000,
author = "Schreiber, Schlauer",
title = "Ein schlaues Buch",
publisher = "Verlag",
year = 2000
}
\end{filecontents*}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=apa]{biblatex}[2017/11/04]% Es wird min. biblatex 3.8 benötigt!
\addbibresource{\jobname.bib}
\begin{document}
Das Zitat in Buch\cite{schlau.2000} ist sehr schlau.
\printbibliography
\end{document}

Wenn dieses Beispiel (wie derzeit bei Verwendung des Overleaf-Links) in der .log-Datei zu einer Warnung wie:

Öffne in Overleaf
LaTeX Warning: You have requested, on input line 21, version
               `2017/11/04' of package biblatex,
               but only version
               `2016/05/14 v3.4 programmable bibliographies (PK/JW/AB)'
               is available.

führt, dann ist das installierte biblatex definitiv zu alt.

Am besten aktualisierst du sowohl biblatex als auch biblatex-apa als auch biber. MiKTeX-Anwender müssen biber ggf. mit der Admin-Version des Update-Managers durchführen. Sollten weitere biblatex-Pakete installiert sein, so sind auch diese ggf. zu aktualisieren.

Permanenter link

beantwortet 31 Dez '17, 12:58

Ijon%20Tichy's gravatar image

Ijon Tichy
9.7k31228
Akzeptiert-Rate: 52%

bearbeitet 31 Dez '17, 13:01

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×191
×122
×12
×6

gestellte Frage: 26 Dez '17, 18:13

Frage wurde gesehen: 4,015 Mal

zuletzt geändert: 31 Dez '17, 13:01