Necesito usar un archivo .bst determinado y, por lo tanto, estoy restringido a usar BibTeX simple.
¿Existe algún método para obtener algo equivalente a BibLaTeX \fullcite
en esta situación?
Respuesta1
Para mi configuración, el paquete bibentry (ver¿Cómo citar un bibentry completo en el cuerpo del texto?) no funcionó. Recibiría uno de estos errores o advertencias:
! 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
Sin embargo, para mis propósitos, pude aprovechar que las entradas de la bibliografía siguen el patrón \bibitem[LABEL]{CITEKEY} BIBLIOGRAPHYENTRY\par
. Como lo que necesitaba era un extracto de la bibliografía que definí
\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}
La solución es aproximada, pero funciona. Algunas limitaciones:
- Las citas siempre se añaden a la bibliografía principal.
- Las citas siempre tienen el mismo orden que en la bibliografía (intencional).
- Falta de verificación de claves no válidas, aunque el \nocitedeberíaocúpate de eso.
- Depende del formato del archivo .bbl: por ejemplo, si no hay una línea vacía entre la última cita y \end{thebibliography}, fallará.