
Para um arquivo de estilo, gostaria de gerar automaticamente um parágrafo/seção de texto de reconhecimento antes das referências (com base em algumas opções definidas por macros fornecidas pelo usuário). A abordagem deve funcionar com ambos bibtex
e biblatex
. Como fazer isso?
Ao usar o bibtex, consigo fazer isso pré-pendente em thebibliography
:
\BeforeBeginEnvironment{thebibliography}{%
\section{Acknowledgements}%
Example text.%
}
Isso não funciona com o biblatex. Eu tentei corrigir\printbibliography
\pretocmd\printbibliography{%
\section{Acknowledgements}%
Example text.%
}{}{}%
Mas isso não funciona. Existe uma solução fácil/elegante para isso?
++++ Atualização para fornecer um MWE
Desculpas por não fornecer um MWE. Suponha que exista um template.bib que contenha uma referência:
@article{RSA78,
author = {Ronald L. Rivest and Adi Shamir and Leonard M. Adleman},
title = {A Method for Obtaining Digital Signatures and Public-Key Cryptosystems},
pages = {120--126},
year = {1978},
journal = {Communications of the ACM},
volume = {21},
number = {2},
publisher = {ACM New York, NY, USA},
doi = {10.1145/359340.359342},
}
Então eu gostaria de inserir automaticamente um parágrafo/seção antes da exibição das referências (sem que o autor modifique comandos no seu final). Este é um MWE:
\documentclass{article}
\begin{document}
This is an example citation~\cite{RSA78}.
\bibliographystyle{alphaurl}
\bibliography{template}
\end{document}
Ao usar o Bibtex, posso conseguir isso usando:
\documentclass{article}
\usepackage{etoolbox}
\BeforeBeginEnvironment{thebibliography}{%
\section*{Acknowledgements}%
Section text.%
}
\begin{document}
This is an example citation~\cite{RSA78}.
\bibliographystyle{alphaurl}
\bibliography{template}
\end{document}
Como fazer isso usando biblatex/biber? MWE:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{template.bib}
\begin{document}
This is an example citation~\cite{RSA78}.
\printbibliography
\end{document}
Usar a opção de notas \printbibliography
não alcança o que desejo.
Responder1
biblatex
já possui infraestrutura para esse tipo de inserção, não há necessidade de redefinir internos para isso. Nomeadamente, a prenote
opção to \printbibliography
, que permite selecionar uma bibnote definida com \defbibnote
. Você pode definir no momento da chamada \printbibliography
ou definir padrões globais com \DeclarePrintbibliographyDefaults
, dependendo do seu caso de uso real. No exemplo, estou definindo o prenote
como padrão e o title
local, pois parece fazer mais sentido:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{template.bib}
\defbibnote{myprenote}{Section text.}
\DeclarePrintbibliographyDefaults{prenote=myprenote}
\begin{document}
This is an example citation~\cite{RSA78}.
\printbibliography[title=Acknowledgements]
\end{document}
Editar: Conforme esclarecido nos comentários (mas o comentário foi editado depois...), o que realmente se desejava era algo anterior ao próprio título. Para isso, você pode definir um \defbibheading
:
\documentclass{article}
\usepackage{biblatex}
\addbibresource{template.bib}
\defbibheading{myheading}[\bibname]{%
\section*{Acknowledgements}%
Section text.%
\section*{#1}%
\markboth{#1}{#1}}
\DeclarePrintbibliographyDefaults{heading=myheading}
\begin{document}
This is an example citation~\cite{RSA78}.
\printbibliography
\end{document}