alt textHallo,

ich bekomme immer eine Fehlermeldung bei \begin{document} mit der Meldung:

Command \apashortdash undefined.

Was mache ich falsch?

\documentclass[openright,twoside,12pt,a4paper]{article}

% Deutsche Sonderzeichen und Silbentrennung nutzen
\usepackage[ngerman]{babel}

% Abkürzungsverzeichnis
\usepackage[german]{nomencl}
\let\abbrev\nomenclature
\usepackage[printonlyused]{acronym}
\usepackage[format=plain]{caption}

%Includes "References" in the table of contents
\usepackage[backend=biber,style=authoryear, natbib=true,hyperref=true]{biblatex}
\renewcommand{\postnotedelim}{\addcolon\addspace}

% damit u.a in et al. umgeändert wird 
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{
   andothers = {{et\,al\adddot}},
}

% einen Doppelpunkt hinzufügen bei Zitierweise hinten
\renewcommand*{\labelnamepunct}{\addcolon\space}
\addbibresource{bib.bib} %Import the bibliography file

\begin{document}

\end{document}

gefragt 30 Apr '20, 14:20

lisa2610's gravatar image

lisa2610
4113
Akzeptiert-Rate: 0%

bearbeitet 29 Jun '20, 10:05

gast3's gravatar image

gast3
(ausgesetzt)

1

Das ist leider mit nur einem Screenshot von nur einem Teil des Codes schwer zu sagen. (TeX meldet den Fehler zwar in der Zeile mit dem \begin{document}, dort ist die Ursache des Problems allerdings sehr wahrscheinlich nicht zu finden.) Kannst Du den Fehler mit so wenig Code wie möglich reproduzieren und den Code hier direkt (als kopierbaren Code-Text) in die Frage einfügen? Dann können wir sicher mehr sagen. Man nennt das dann ein Minimalbeispiel: https://texwelt.de/fragen/569/

(30 Apr '20, 14:30) moewe

oh ok ich habe es mal so dargestellt reicht das oder braucht man auch noch die Pakete?

(30 Apr '20, 14:45) lisa2610

Ja, absolut. Die Pakete sind entscheidend (die ganze Präambel ist wichtig). Ein Minimalbeispiel sollte immer mit \documentclass beginnen, dann die relevanten Teile der Präambel und des Dokumentenkörpers beinhalten. Beachte bitte, dass wir Deine Dateien, die Du mit \input einfügst alle nicht haben. Wir können Deinen Code so also bei uns nicht testen. Am besten prüfst Du einfach selber, was wir mit Deinem Code sehen, indem Du ihn in ein neues, leeres Overleaf-Projekt einfügst.

(30 Apr '20, 15:02) moewe

Ein echtes Minimalbeispiel muss echt nicht lang sein, oft reicht so etwas wie https://gist.github.com/moewew/ee372fbdb4968a34dcf947387eb5b462 schon völlig aus. Aber es dauert ein bisschen, ein Minimalbeispiel zu produzieren. Arbeite mit einer Kopie Deines eigentlichen Projekts und lösche so viel Text wie möglich und so viel restlichen Code wie möglich heraus, bis Du den Fehler so gut wie möglich eingegrenzt hast.

(30 Apr '20, 15:06) moewe

ok danke für deine Hilfe! Ich habe es mal versucht ich glaube es liegt an dem:

\DeclareLanguageMapping{ngerman}{ngerman-apa} \DefineBibliographyStrings{ngerman}{ andothers = {{et\,al\adddot}}, }

Ich wollte statt "u.a" "et al." in meiner Zitation verwenden und wenn ich den Code rauslösche dann geht auch die Fehlermeldung weg. Wie schreibe ich den Code dann richtig?

(30 Apr '20, 15:23) lisa2610
1

Danke für das Minimalbeispiel. Beim Einfügen scheint irgendetwas schiefgegangen zu sein. Der Code scheint als Zitat und nicht als Code gekennzeichnet worden zu sein, was Zeilenumbrüche ändert und das Kopieren schwer macht. Vielleicht kannst Du das ja nochmal überprüfen. Code wird mit Klick auf das Symbol mit den Nullen und Einsen markiert.

(30 Apr '20, 15:26) moewe

Wenn ich es richtig zusammengebastelt habe, solltest Du einfach die Zeile \DeclareLanguageMapping{ngerman}{ngerman-apa} weglassen. Die braucht man selbst bei der Nutzung von biblatex-apa schon seit Jahren nicht mehr und bei der Nutzung von anderen Stilen (wie style=authoryear,) war es noch nie wirklich sinnvoll.

(30 Apr '20, 15:27) moewe
Ergebnis 5 von 8 show 3 more comments

Du hast den Fehler mit dem neuen Minimalbeispiel schon sehr gut eingegrenzt, wenn man es noch etwas minimaler macht

\documentclass[openright,twoside,12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage[backend=biber, style=authoryear]{biblatex}

\DeclareLanguageMapping{ngerman}{ngerman-apa}

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite{sigfridsson,aksin}
\printbibliography
\end{document}

ist es leicht zu überprüfen, dass die Zeile

\DeclareLanguageMapping{ngerman}{ngerman-apa}

Schuld hat. Damit lädst Du die deutschen Spracheinstellungen von biblatex-apa. Dort wird unter anderem \apashortdash mir \renewcommand umdefiniert. Dieser Befehl ist aber nur in apa.cbx definiert. Wenn dieser Zitierstil nicht geladen wird, kommt es zum Fehler.

Du solltest die Zeile \DeclareLanguageMapping{ngerman}{ngerman-apa} einfach weglassen. Die ist bei Nutzung von biblatex-apa (style=apa,) schon seit Jahren nicht mehr nötig und bei anderen Stilen war sie noch nie sinnvoll.

Für das "et al." reicht der Code mit \DefineBibliographyStrings.


Ich würde den ein klein bisschen ändern, da mir \, doch etwas zu viel des Guten ist.

Ferner ist es eine gute Idee, mit biblatex das Paket csquotes zu laden. Dann kann biblatex nämlich auch die Anführungszeichen für die jeweilige aktive Sprache richtig setzen.

Die Option hyperref=true, von biblatex ist meiner Meinung nach wenig sinnvoll, da sie allein nicht dafür sorgt, dass Dinge verlinkt werden. Du musst noch immer das Paket hyperref laden. Der einzge Unterschied zwischen hyperref=true, und der Voreinstellung hyperref=auto, ist, dass hyperref=true, eine Warnung produziert, wenn das Paket hyperref nicht geladen wurde.

postnotedelim ist inzwischen ein context-sensitive delimiter, der mit \DeclareDelimFormat und nicht mehr einfach \renewcommand umgestellt werden sollte. \labelnamepunct ist durch den context-sensitive delimiter nametitledelim (im bib-Kontext) ersetzt worden.

\documentclass[openright,twoside,12pt,a4paper]{article}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber, style=authoryear]{biblatex}

\DefineBibliographyStrings{german}{
  andothers = {et\addabbrvspace al\adddot},
}

\DeclareDelimFormat{postnotedelim}{\addcolon\space}

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

\addbibresource{biblatex-examples.bib}

\begin{document}
Lorem \autocite[380]{sigfridsson}
ipsum \autocite{aksin}
\printbibliography
\end{document}
Permanenter link

beantwortet 30 Apr '20, 15:43

moewe's gravatar image

moewe
3.7k36
Akzeptiert-Rate: 42%

bearbeitet 30 Apr '20, 17:39

Vielen Dank!! Jetzt sind alle Fehler behoben - super!!. Ich bin leider ein Anfänger und weiß noch nicht genau wie alles 100% funktioniert.

(01 Mai '20, 17:02) lisa2610

@lisa2610 Ich habe deine Antwort, die keine Antwort auf die Frage ist, in einen Kommentar umgewandelt. Lies und beachte bitte: „Ich habe auf meine Frage eine Antwort bekommen. Wie geht es weiter?”, insbesondere auch den Absatz über Danke-Antworten.

(01 Mai '20, 17:33) gast3
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:

×222
×128

gestellte Frage: 30 Apr '20, 14:20

Frage wurde gesehen: 6,881 Mal

zuletzt geändert: 01 Mai '20, 17:35