multibib mit natbib kompatibel machen

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


LisaLi

multibib mit natbib kompatibel machen

Beitrag von LisaLi »

Hallo,
ich versuche mein Glück nochmal hier und hoffe trotz natbib auf Gnade. Ich stehe recht kurz vor der Abgabe, ich möchte also nicht auf etwas anderes umsteigen.

Ich brauche ein Quellen- und ein Literaturverzeichnis.
Ich arbeite wie gesagt mit natbib und habe durch meine bisherigen Recherchen herausgefunden, dass es mit \multibib klappen sollte.

Ich arbeite mit der Dokumentation
http://get-software.net/macros/latex/co ... ltibib.pdf

Beim Kompilieren entsteht auch eine aux.Datei wie es soll. Nur muss Latex jetzt mit dieser Datei kompilieren, wenn ich das richtig verstanden habe bzw. mich richtig ausgedrückt habe.


Hier ein VM:
\documentclass[a4paper,fontsize=12pt]{scrreprt} 

\usepackage[utf8]{inputenc}
\usepackage[english, ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[round]{natbib}
\usepackage{multibib}  
\newcites{lprim}{Primärliteratur} 

\begin{filecontents}{Literatur}

@periodical{AEGBedienungsanleitung.2018,
 title = {{USER MANUAL Backofen}},
 editor = {AEG},
 abstract = {},
userb = {2018}
}


@online{FuchsPhone.2017,
 author = {FuchsPhone},
 year = {27.01.2017},
 title = {{Samsung Galaxy A5}},
 url = {https://www.youtube.com/watch?v=8YZhf0kcz2I&t=37s},
 abstract = {},
 location = {YouTube}
}

\end{filecontents}



\begin{document}
\section{Abstract}
Primärquelle\footnote{\citetlprim{FuchsPhone.2017}.} \footnote{\citetlprim{AEGBedienungsanleitung.2018}.}

\addcontentsline{toc}{chapter}{Literaturverzeichnis}

\bibliographystylelprim{apalike-german}
\bibliographylprim{Literatur}
\bibliography{Literatur}
\end{document}


In der Dokumentation (S. 5) steht, dass nun \@citex durch Packages modifiziert werden muss:


\providecommand\@newciteauxhandle{\@auxout}
\def\@restore@auxhandle{\gdef\@newciteauxhandle{\@auxout}}
\AtBeginDocument{%
\@ifundefined{newcites}{\global\let\@restore@auxhandle\relax}{}}


hab ich in der Präambel eingefügt (produziert aber Fehler, dazu gleich), zweiter Schritt ist laut Dokumentation nun:
In the redefinitions of \@citex replace \@auxout by \@newciteauxhandle

--> und da hängts bei mir! Was ist damit gemeint, "in the redefinitions of \@citex ?

Die Fehler, die oben produziert werden, lauten:

! LaTeX Error: Missing \begin{document}.
und
! Use of \@ doesn't match its definition.

Ich hoffe, das ist in irgendeiner Weise nachvollziehbar. Ich bin auch um einfachere Tipps dankbar.

Gast

Beitrag von Gast »

multibib und natbib sind beide zweite Wahl. Ich empfehle biblatex wie in den wichtigen Hinweisen zu diesem Forum erklärt. Damit kann man auch direkt mehrere Literaturverzeichnisse verwenden.

Gast

Beitrag von Gast »

Zunächst sind multibib und natbib kompatibel. Um das herauszufinden reicht ein Blick auf die CTAN-Seite zu multibib.

Deine Probleme beginnen bei Deiner .bib-Datei. apalike-german kennt weder den Typen @periodical (und die Anleitung eines Backofens ist auch sicher kein @periodical) und auch nicht @online, aber seis drum, BibTeX fällt dann auf einen Typen zurück, den es kennt.

Schlimmer ist aber der Inhalt der Einträge. Deswegen beschwert natbib sich auch. AEGBedienungsanleitung.2018 hat nämlich gar kein Jahr! Also hat es schon, aber aus irgendwelchen Gründen steht das nicht in year, wo es hingehört, sondern in userb. Nun kann BibTeX aber nicht hellsehen... Außerdem kann Dein Stil hier mit dem editor-Feld nicht richtig umgehen. author wäre die richtige Wahl, damit auch AEG im Verzeichnis erscheint.

Bei FuchsPhone.2017 ist "27.01.2017" zwar nicht wirklich das Jahr, aber es gibt zumindest keine Fehler.

Soweit so gut.

Da multibib bereits kompatibel mit natbib ist, musst Du keinen weiteren Code in die Präambel stopfen. Aber Du musst das Dokument korrekt kompilieren und das ist mit multibib recht kompliziert. So kompliziert, dass ich es mir nicht zutraue, Dir zu erklären, wie das in Deinem Editor funktioniert, wir müssen also auf die Kommandozeile ausweichen: Bitte lies Dir unbedingt https://texwelt.de/wissen/fragen/3461/w ... m-terminal durch, bevor wir fortfahren.

Gehe in einen neuen, leeren Ordner und lege eine Datei namens testlisa.tex mit dem folgenden Inhalt an
\documentclass[a4paper,fontsize=12pt]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage[english, ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[round]{natbib}
\usepackage{multibib}  
\newcites{lprim}{Primärliteratur}

\begin{filecontents}{Literatur.bib}
@periodical{AEGBedienungsanleitung.2018,
 title = {{USER MANUAL Backofen}},
 author = {AEG},
year = {2018}
}


@online{FuchsPhone.2017,
 author = {FuchsPhone},
 year = {27.01.2017},
 title = {{Samsung Galaxy A5}},
 url = {https://www.youtube.com/watch?v=8YZhf0kcz2I&t=37s},
 abstract = {},
 location = {YouTube}
}
\end{filecontents}

\begin{document}
\section{Abstract}
Primärquelle\footnote{\citetlprim{FuchsPhone.2017}.} \footnote{\citetlprim{AEGBedienungsanleitung.2018}.}

\addcontentsline{toc}{chapter}{Literaturverzeichnis}

\bibliographystylelprim{apalike-german}
\bibliographylprim{Literatur}
\bibliography{Literatur}
\end{document}
Nur die mit filecontents erzeugte .bib-Datei ist anders (Achtung! Da filecontents genutzt wird, kann Luetartur.bib überschrieben werden. Teste das nur in einem leeren Ordner.)

Wenn Du die Datei mit pdflatex testlisa kompilierst und das ohne Fehler durchläuft, findest Du in dem Ordner für jedes Literaturverzeichnis eine .aux-Datei. In unserem Beispiel testlisa.aux und lprim.aux. Du musst auf allen diesen Dateien BibTeX laufen lassen
bibtex testlisa.aux
bibtex lprim.aux
Ich bekomme ein paar böse Fehlermeldungen wegen dieses Bugs https://github.com/CarlOrff/apalike-german/issues/1 aber die kann man ignorieren. Du solltest jetzt in dem Ordner zu jeder .aux-Datei eine .bbl-Datei sehen. Kompiliere nun nochmals pdflatex testlisa und stelle fest, dass die Dinge nun wie gewünscht aussehen.

Das war jetzt alles recht kompliziert und frickelig. Das ist auch der Grund, warum ich mich meiner Vorrednerin/meinem Vorredner nur anschließen kann: Nutze biblatex und Biber. Da geht das alles mehr oder weniger automatisch.

LisaLi

Beitrag von LisaLi »

Es hat geklappt! (Zumindest in der Testdatei, nun kommt eine Kopie der echten, dann die die echte ;) )

VIELEN DANK dir, du hast mich wirklich gerettet!
Ich lasse den Post noch offen, bis ich die echte Datei ebenfalls fertig habe, was ein paar Tage dauern kann.

Benutzeravatar
Archaeopath
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: So 18. Mär 2018, 10:56
Kontaktdaten:

Beitrag von Archaeopath »

Ich habe eine neue Version von apalike-german auf dem CTAN hochgeladen, die die Warnmeldung wegen des fehlerhaften Märzmakros vermeidet (wobei apalike ja keine Monate benutzt): https://ingram-braun.net/public/program ... ate-style/. TeX Live ist allerdings z. Zt. eingefroren.

Antworten