Overleaf: Multibib & Apacite Overflow? Thema ist als GELÖST markiert

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


E_W
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Fr 13. Mai 2022, 17:07

Overleaf: Multibib & Apacite Overflow?

Beitrag von E_W »

Hallo liebe Latex Community!

Ich bin relativ neu mit Latex unterwegs. Als Editor nutze ich Overleaf. Dort arbeite ich an einem Dokument, welches mehrere Bibliographien benötigt. Leider ist es wohl so, dass ab einer bestimmten Anzahl an "\newcite" Befehlen, welche mit sinkender Anzahl an eingebundenen "\usepackage" sich erhöht hat, vermehrt Fehlermeldungen auftauchen.

Ich habe versucht das Problem herunter zu kürzen:
Hier der Link Beispiel in Overleaf: https://de.overleaf.com/read/npkjshxrpkmp
Hier eingebunden:
\begin{filecontents}{Ref1.bib}
@article{Abc.2001,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2001},
}
\end{filecontents}
\begin{filecontents}{Ref2.bib}
@article{Abc.2002,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2002},
}
\end{filecontents}
\begin{filecontents}{Ref3.bib}
@article{Abc.2003,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2003},
}
\end{filecontents}
\begin{filecontents}{Ref4.bib}
@article{Abc.2004,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2004},
}
\end{filecontents}
\begin{filecontents}{Ref5.bib}
@article{Abc.2005,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2005},
}
\end{filecontents}
\begin{filecontents}{Ref6.bib}
@article{Abc.2006,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2006},
}
\end{filecontents}
\begin{filecontents}{Ref7.bib}
@article{Abc.2007,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2007},
}
\end{filecontents}
\begin{filecontents}{Ref8.bib}
@article{Abc.2008,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2008},
}
\end{filecontents}
\begin{filecontents}{Ref9.bib}
@article{Abc.2009,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2009},
}
\end{filecontents}
\begin{filecontents}{Ref10.bib}
@article{Abc.2010,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2010},
}
\end{filecontents}
\begin{filecontents}{Ref11.bib}
@article{Abc.2011,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2011},
}
\end{filecontents}
\begin{filecontents}{Ref12.bib}
@article{Abc.2012,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2012},
}
\end{filecontents}
\begin{filecontents}{Ref13.bib}
@article{Abc.2013,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2013},
}
\end{filecontents}
\begin{filecontents}{Ref14.bib}
@article{Abc.2014,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2014},
}
\end{filecontents}
\begin{filecontents}{Ref15.bib}
@article{Abc.2015,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2015},
}
\end{filecontents}
\begin{filecontents}{Ref16.bib}
@article{Abc.2016,
 author = {Abc, Def and Ghi, Jkl.},
 year = {2016},
}
\end{filecontents}
%%%%%%%%%%

\documentclass[fontsize=10pt, toc=listof, listof=nochaptergap, apacite]{scrbook}
\usepackage{float}
\usepackage[natbibapa, numberedbib, nosectionbib]{apacite}
\usepackage{multibib}
    \newcites{a}{Ref1}
    \newcites{b}{Ref2}
    \newcites{c}{Ref3}
    \newcites{d}{Ref4}
    \newcites{e}{Ref5}
    \newcites{f}{Ref6}
    \newcites{g}{Ref7}
    \newcites{h}{Ref8}
    \newcites{i}{Ref9}
    \newcites{j}{Ref10}
    \newcites{k}{Ref11}
%    \newcites{l}{Ref12}
%    \newcites{m}{Ref13}
%    \newcites{n}{Ref14}
%    \newcites{o}{Ref15}
%    \newcites{p}{Ref16}

%%%%%%%%%%

\begin{document}

\tableofcontents
\listoftables

\part{Hauptteil}
\chapter[Mainchapter]{Mainchapter}
\section{Main}
\citepa{Abc.2001}. \\
\citepb{Abc.2002}. \\
\citepc{Abc.2003}. \\
\citepd{Abc.2004}. \\
\citepe{Abc.2005}. \\
\citepf{Abc.2006}. \\
%\citepg{Abc.2007}. \\
%\citeph{Abc.2008}. \\
%\citepi{Abc.2009}. \\
%\citepj{Abc.2010}. \\
%\citepk{Abc.2011}. \\
%\citepl{Abc.2012}. \\
%\citepm{Abc.2013}. \\
%\citepn{Abc.2014}. \\
%\citepo{Abc.2015}. \\
%\citepp{Abc.2016}. \\
\begin{table}[H]
    \begin{center}
        \caption{CCC123}
        \begin{tabular}{ccc}
            C & C & C \\
            1 & 2 & 3 \\
        \end{tabular}
    \end{center}
\end{table}
%%%%%%%%%%
\newpage
\section{References}
\renewcommand{\refnamea}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystylea{apacite}
    \bibliographya{Ref1}{}
\endgroup
\renewcommand{\refnameb}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystyleb{apacite}
    \bibliographyb{Ref2}{}
\endgroup
\renewcommand{\refnamec}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystylec{apacite}
    \bibliographyc{Ref3}{}
\endgroup
\renewcommand{\refnamed}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystyled{apacite}
    \bibliographyd{Ref4}{}
\endgroup
\renewcommand{\refnamee}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystylee{apacite}
    \bibliographye{Ref5}{}
\endgroup
\renewcommand{\refnamef}{References}
\begingroup
    \renewcommand{\chapter}[2]{}
    \bibliographystylef{apacite}
    \bibliographyf{Ref6}{}
\endgroup

\end{document}

Bis zum 11. "\newcite", Zeile 113, kompiliert dieses Beispiel ohne Fehler.
Ab dem 12. "\newcite", Zeile 114,
Bild
Ab dem 13. "\newcite", Zeile 115,
Bild
usw.

Ich nehme an das hat etwas mit den erstellten Logdateien zu tun und dass dort ein Limit erreicht wird? Kann man das irgendwie einfach beheben?

Ich nehme an man wird mir direkt hier raten zu Biblatex und Biber zu wechseln. Falls dieser Fehler hier jedoch einfach zu beheben ist, würde ich das gerne vermeiden.

Vielen Dank und viele Grüße
E_W

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Overleaf: Multibib & Apacite Overflow?

Beitrag von MoeWe »

pdfTeX und XeTeX haben nur 16 \write-Register. Das heißt, TeX kann nur 16 Dateien gleichzeitig offen haben. Für jedes \newcites wird ein solches Register in Beschlag genommen. Je nach weiteren Paketen ist dann bei etwa 10 bis 12 Verzeichnissen Schluss.

Du könntest morewrites laden, damit wird das Problem umgangen. Allerdings definiert das die beim Schreiben genutzten Primitive um, was eventuell Performance-Einbußen bedeuten könnte.

Du kannst aber auch zu LuaTeX umsteigen und Dein Dokument statt mit pdfLaTeX mit LuaLaTeX kompilieren. Bei LuaTeX gibt es mehr \write-Register (ich meine 128 gelesen zu haben, das sollte wohl reichen). Allerdings sollte man mit LuaTeX Schriften anders laden als mit pdfTeX, sodass in der Präambel vielleicht ein paar kleine Veränderungen gefragt wären.

Ich weiß nicht, wie Deine Unterverzeichnisse entstehen, aber vielleicht bietet es sich auch an, eine Alternative zu multbib zu finden (z.B. https://ctan.org/pkg/bibunits oder https://ctan.org/pkg/chapterbib).

Mit biblatex und Biber hättest Du dieses Problem in der Tat nicht. Außerdem sei kurz angemerkt, dass apacite die APA-Vorgaben aus der sechsten Auflage des APA Manuals implementiert. In der aktuellen siebten Auflage gibt es einige deutliche Unterschiede in Zitat- und Literaturverzeichnisstil. Die einzige LaTeX-Implementation von APA7 bietet derzeit biblatex-apa (APA6 gibt es immer noch von biblatex-apa6). Wenn Du apacite also nutzt, weil Du den aktuellen APA-Stil brauchst, dann ist der Wechsel sowieso angebracht.

E_W
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Fr 13. Mai 2022, 17:07

Re: Overleaf: Multibib & Apacite Overflow?

Beitrag von E_W »

Vielen lieben Dank für die schnelle und ausführliche Hilfe @MoeWe! :o

Werde mich bei nächster Gelegenheit dann wohl dennoch mal in biblatex und Biber einarbeiten!

Antworten