Dividir a bibliografia por partes

Dividir a bibliografia por partes

(quase relacionado)

Eu tenho um único.bib arquivo. Meu documento tem duas partes e gostaria de imprimir no final de cada parte a bibliografia comapenas os itens citados nessa parte. É claro que poderia haver interseção se um item fosse citado em ambas as partes.

bibtexSem preferências , poderia ser biblatexou 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}

Responder1

biblatexdefine um refsectionambiente. Consulte § 3.7.4, Seções bibliográficas, pp. 88-89 na documentação.

Responder2

Bernardojá menciona refsections em sua resposta.

Observe que biblatexexiste uma opção chamada refsection, que pode ser usada para iniciar automaticamente uma nova refsectionseção em determinados comandos. Por exemplo, refsection=partcriará um novo refsectionpara cada arquivo \part. Nenhum código adicional é necessário.

\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}

Partes com refsecções

Você pode começar um novo refsectionque continuará até o próximo refsectioncom

\newrefsection

Se você quiser um controle mais preciso sobre refsections e seu final, você pode usar o formulário de ambiente.

\begin{refsection}

\end{refsection}

Observe que refsections não pode ser aninhado e que tudo fora de um determinado refsectionacontece na seção 0.

refsections mantêm seus conteúdos completamente separados e independentes um do outro. Isso significa que a mesma entrada pode acabar com rótulos de citação diferentes em cada seção ou vice-versa, ou seja, duas entradas diferentes recebem o mesmo rótulo.

Se isso não for desejado (ou se você estiver procurando uma maneira de criar uma bibliografia geral no final), você pode consultar refsegments. refsegmentBasicamente, basta marcar uma entrada como citada em um segmento específico do seu documento. Novamente, existe uma opção chamada refsegmentque inicia um novo refsegmentpara cada comando de corte de um 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}

Peças com refsegmentos

Como refsection, refsegments pode ser iniciado com

\newrefsegment

ou pode ser usado como ambiente

\begin{refsegment}

\end{refsegment}

informação relacionada