Ich muss eine bestimmte BST-Datei verwenden und bin daher auf die Verwendung von einfachem BibTeX beschränkt.
\fullcite
Gibt es in dieser Situation eine Methode, etwas Äquivalentes zu BibLaTeX zu erhalten ?
Antwort1
Für mein Setup das Bibentry-Paket (sieheWie zitiert man eine Bibliographie vollständig im Fließtext?) hat nicht funktioniert. Ich habe einen dieser Fehler oder eine dieser Warnungen erhalten:
! Package natbib Error: Bibliography not compatible with author-year citations.
pdfTeX warning ext4: destination with the same identifier name{cite.xxxx2015}
has been already used, duplicate ignored
Für meine Zwecke konnte ich jedoch ausnutzen, dass die Bibliographieeinträge dem Muster folgen \bibitem[LABEL]{CITEKEY} BIBLIOGRAPHYENTRY\par
. Da ich einen Auszug aus der von mir definierten Bibliographie benötigte
\documentclass{scrreprt}
\usepackage{pgffor}
\begin{document}
\makeatletter
\newcommand{\filterbib}[1]{
% Requires enumitem package.
\nocite{#1}% ensure that the entries are in the bibliography.
\def\bibitem[##1]##2##3\par{
\edef\fb@keyA{##2}
\foreach \fb@keyB in {#1}{
\ifx\fb@keyA\fb@keyB \item ##3\fi
}
}
\begingroup
\renewenvironment{thebibliography}[1]{
\itemize
}{\enditemize}
\InputIfFileExists{\jobname.bbl}{}{%
\PackageWarning{kdb:backmatter}{No file \jobname.bbl}%
}%
\endgroup
}
\filterbib{Adles2008prb,Eisenthal2006,Bauer2015}
\bibliographystyle{draftabbrev}
\bibliography{library}
\end{document}
Die Lösung ist grob, funktioniert aber. Einige Einschränkungen:
- Die Zitate werden immer der Hauptbibliographie hinzugefügt.
- Die Zitate stehen dabei immer in der gleichen Reihenfolge wie im Literaturverzeichnis (absichtlich).
- Fehlende Prüfung auf ungültige Schlüssel, obwohl \nocitesollenkümmere dich darum.
- Hängt von der Formatierung der .bbl-Datei ab: Wenn beispielsweise zwischen dem letzten Zitat und \end{thebibliography} keine leere Zeile steht, schlägt der Vorgang fehl.