Multibib zeigt kein zweites Literaturverzeichnis im Anhang an

Multibib zeigt kein zweites Literaturverzeichnis im Anhang an

Ich verwende multibibund natbibzusammen, um zwei verschiedene Bibliographien zu erhalten (eine für den Haupttext und eine für den Anhang). Hier ist ein Beispielcode

\documentclass[12pt]{article}
\usepackage{natbib}
\usepackage{multibib} 
\newcites{apndx}{References}
\begin{document}

First paper to cite: \cite{X1}
\bibliographystyle{ecca}
\bibliography{XXX}

\appendix

Cite a paper in the appendix \citeapndx{X2}

\bibliographystyleapndx{ecca} 
\bibliographyapndx{XXX}


\end{document}

Allerdings taucht die zweite Bibliographie nicht auf und die Quellenangabe im Anhang enthält nur ein "?". Ich habe im multibibHandbuch und in anderen ähnlichen Fragen nachgeschaut, komme aber nicht dahinter, wo der Fehler liegt.

UPDATE 1 Dies passiert, obwohl ich die Bibtex-Datei zweimal ausführe. Hier ist die logDatei:

Process started: /Library/TeX/texbin/bibtex "prova".aux

This is BibTeX, Version 0.99d (TeX Live 2016)
The top-level auxiliary file: prova.aux
The style file: plain.bst
Database file #1: myrefs.bib

Process exited normally 

Process started: /Library/TeX/texbin/bibtex "prova".aux

This is BibTeX, Version 0.99d (TeX Live 2016)
The top-level auxiliary file: prova.aux
The style file: plain.bst
Database file #1: myrefs.bib

Process exited normally

sec.auxUPDATE 2: Ich denke, das Problem liegt darin, dass mein TexStudio die Datei, die den Link zur zweiten Bibliographie generiert, nicht ausführt . Ich bin den Schritten dieses Links gefolgthttps://sourceforge.net/p/texstudio/wiki/Tips%20and%20Tricks/und habe eins erstellt .cwlund es zu TexStudio Completion hinzugefügt, aber es funktioniert immer noch nicht.

Antwort1

multibibDie Ergebnisse werden nach dem ersten Kompilierungslauf der Datei mwe.texmit pdflatex(oder in Ihrem Fall mit TeXStudio) in zwei neuen Dateien mwe.auxund verwendet apndx.aux. Beide .auxDateien müssen mit ausgeführt werden bibtex. TeXStudio führt den Lauf mit bibtexfür die Datei aus mwe.aux, denn apndx.auxSie müssen dies selbst tun. Führen Sie den Befehl einfach bibtex apndxin einem Windows-Terminal aus. Danach können Sie zwei Mal mit TeXStudio kompilieren, um das resultierende PDF zu erhalten.

Um einen Befehl \citeapndxin der Überschrift einer Abbildung auszuführen (Ihre Frage in den Kommentaren), müssen Sie einen Befehl \protectwie diesen verwenden (dasselbe gilt für \section):

  \caption{In figure caption \protect\citeapndx{Johnson2000}}
 %                           ^^^^^^^^

Also mit der folgenden Datei mwe.tex(das Paket filecontentswird nur verwendet, um sowohl Bib-Dateien als auch den Tex-Code in einem kompilierenden MWE zu haben):

% needs:  bibtex apndx
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{Creighton2006,
  author    = {Creighton, Oliver and Ott, Martin and Bruegge, Bernd},
  booktitle = {Requirements Engineering, 14th IEEE International Conference},
  isbn      = {0769525555},
  pages     = {109--118},
  publisher = {IEEE},
  title     = {{Software cinema-video-based requirements engineering}},
  url       = {http://ieeexplore.ieee.org/xpls/abs{\_}all.jsp?arnumber=1704054},
  year      = {2006},
}
\end{filecontents}
\begin{filecontents}{apndx.bib}
@article{Johnson2000,
  author  = {Johnson, W Lewis and Rickel, Jeff W and Lester, James C},
  journal = {International Journal of Artificial Intelligence in Education},
  number  = {11},
  pages   = {47--78},
  title   = {{Animated pedagogical agents: face-to-face interaction in 
              interactive learning environments}},
  volume  = {Internatio},
  year    = {2000},
}
\end{filecontents}


\documentclass[12pt]{article}

\usepackage{natbib}
\usepackage{multibib} 
\usepackage{graphicx}

\newcites{apndx}{References in Appendix}


\begin{document}

First paper to cite: \cite{Creighton2006}
\bibliographystyle{ecca}
\bibliography{\jobname}

\appendix

Cite a paper in the appendix \citeapndx{Johnson2000}

%\section{In the appendix \protect\citeapndx{Johnson2000}} % <===========
\begin{figure}
  \centering
    \includegraphics[width=5cm]{example-image-a}
  \caption{In figure caption \protect\citeapndx{Johnson2000}} % <=======
  \label{fig:example-image-a}
\end{figure}

\bibliographystyleapndx{ecca} 
\bibliographyapndx{apndx}

\end{document}

und die Kompilierungskette (unabhängig von TeXStudio):

  • Öffnen Sie ein Terminalfenster in Windows, indem Sie die Windows-Starttaste drücken R, dann eingeben cmdund die Eingabetaste drücken
  • Wechseln Sie in das Verzeichnis, in dem Sie Ihren Tex-Code und die Bib-Datei(en) haben mitcd <directory path>
  • Befehl ausführen pdflatex mwe(führt zu zwei benötigten .auxDateien)
  • Befehl ausführen bibtex mwe (kompiliert mwe.aux)
  • Befehl ausführen bibtex apndx(kompiliert apndx.aux)
  • Befehl ausführen pdflatex mwe(ergibt Dateien *.bblund *.blg)
  • Befehl ausführen pdflatex mwe(ergibt eine pdfDatei mit Bibliographie)

Wenn Sie einen Editor (TeXStudio, TeXnicCenter, ...) verwenden, kann der Editor pdflatex mweund bibtex mwefür Sie ausführen, aber nicht bibtex apndx. Führen Sie diesen Befehl also nach dem ersten Kompilierungslauf mit TeXStudio in einem Windows-Terminal aus ...

Nach dem Ausführen der Kompilierungskette erhalten Sie das folgende resultierende PDF:

Bildbeschreibung hier eingeben

verwandte Informationen