
Tengo un solo .bib
archivo. Mi documento tiene dos partes y me gustaría imprimir al final de cada parte la bibliografía consólo los elementos citados en esa parte. Por supuesto, podría haber una intersección si un elemento fuera citado en ambas partes.
Sin preferencias, podría ser bibtex
, biblatex
o algo extra.
MWE
\begin{filecontents}{mybib.bib}
@article{faa,
title={Faa Something important},
author={Faa Big Guy and Another Big Guy},
journal={Prestigious Journal},
volume={47},
number={7},
pages={966--978},
year={2001},
publisher={Institute}
}
@article{foo,
title={Foo Something important},
author={Foo Big Guy and Another Big Guy},
journal={Prestigious Journal},
volume={47},
number={7},
pages={966--978},
year={2001},
publisher={Institute}
}
\end{filecontents}
\documentclass{report}
\usepackage{filecontents}
\begin{document}
\part{Faa}
\cite{faa}
\bibliographystyle{plain}
\bibliography{mybib}
\part{Foo}
\cite{foo}
%% I tried to insert twice, but got an error
%\bibliographystyle{plain}
%\bibliography{mybib}
\end{document}
Respuesta1
biblatex
define un refsection
entorno. Consulte § 3.7.4, Secciones de bibliografía, págs. 88-89 en la documentación.
Respuesta2
Bernardoya menciona refsection
s en su respuesta.
Tenga en cuenta que biblatex
tiene una opción llamada refsection
, que se puede usar para iniciar automáticamente un nuevo refsection
comando en cierta sección. Por ejemplo, refsection=part
creará un nuevo refsection
para cada uno \part
. No se requiere ningún código adicional.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber, refsection=part]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\part{One}
\cite{sigfridsson,worman,knuth:ct:b}
\printbibliography
\part{Two}
\cite{sigfridsson,nussbaum,knuth:ct:c}
\printbibliography
\end{document}
Puedes empezar una nueva refsection
que continuará hasta la siguiente refsection
con
\newrefsection
Si desea un control más preciso sobre refsection
los mensajes de correo electrónico y su fin, puede utilizar el formulario de entorno.
\begin{refsection}
\end{refsection}
Tenga en cuenta que los refsection
mensajes no se pueden anidar y que todo lo que esté fuera de un particular refsection
sucede en la sección 0.
refsection
Mantengamos sus contenidos completamente separados e independientes entre sí. Eso significa que la misma entrada podría terminar con diferentes etiquetas de cita en cada sección o viceversa, es decir, dos entradas diferentes obtienen la misma etiqueta.
Si eso no es lo que desea (o está buscando una manera de crear una bibliografía general al final), puede consultar refsegment
s. refsegment
Básicamente, simplemente marque una entrada como citada en un segmento particular de su documento. Nuevamente, hay una opción llamada refsegment
que inicia un nuevo refsegment
comando de sección para cada tipo específico.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber, refsegment=part]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\part{One}
\cite{sigfridsson,worman,knuth:ct:b}
\printbibliography[segment=\therefsegment]
\part{Two}
\cite{sigfridsson,nussbaum,knuth:ct:c}
\printbibliography[segment=\therefsegment]
\printbibliography[title=Overall \bibname]
\end{document}
Me gusta refsection
, refsegment
s se puede empezar con
\newrefsegment
o puede usarse como ambiente
\begin{refsegment}
\end{refsegment}