Como imprimo qualquer campo de um arquivo .bib?
Por exemplo, como imprimo o título da seguinte entrada?
@article{Gerace2019,
Author = {Gerace, Dario and Laussy, Fabrice and Sanvitto, Daniele},
Journal = {Nature Materials},
Number = {3},
Pages = {200--201},
Title = {Quantum nonlinearities at the single-particle level},
Volume = {18},
Year = {2019}
}
Eu quero fazer algo como:
The title of the paper \cite{Gerace2019} is \printtitle{Gerace2019}
Responder1
Se você estiver usando biblatex
o comando que procura é chamado \citetitle
.
Para os campos mais comuns biblatex
possui comandos dedicados \cite...
( \citeauthor
, \citetitle
, \citedate
, \cityear
, \citeurl
) se o campo que você deseja imprimir não estiver entre eles, então você pode usar o genérico \citefield{<key>}{<field>}
. Como biblatex
diferencia entre campos, listas e listas de nomes, existem \citefield
, \citelist
e \citename
, consulte tambémComo extrair entradas do BibTeX (como DOI, resumo, etc.). É possível criar seu próprio \cite...
comando para campos que ainda não possuem (veja também o link anterior).
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=numeric, backend=biber]{biblatex}
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Gerace2019,
author = {Gerace, Dario and Laussy, Fabrice and Sanvitto, Daniele},
journal = {Nature Materials},
number = {3},
pages = {200--201},
title = {Quantum nonlinearities at the single-particle level},
volume = {18},
year = {2019},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
The title of the paper \cite{Gerace2019} is \citetitle{Gerace2019}
\printbibliography
\end{document}
Se você estiver usando uma solução baseada em BibTeX, você pode carregar o arquivousebib
pacotee use seu \usebibentry
comando.
Observe que usebib
não analisa o conteúdo do campo como BibTeX ou Biber. Em particular, as listas de nomes e outras listas não são divididas como de costume. Isso significa que embora seja possível exibir campos de nome como author
with usebib
, a saída será exatamente igual à entrada no .bib
arquivo.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage{usebib}
%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Gerace2019,
author = {Gerace, Dario and Laussy, Fabrice and Sanvitto, Daniele},
journal = {Nature Materials},
number = {3},
pages = {200--201},
title = {Quantum nonlinearities at the single-particle level},
volume = {18},
year = {2019},
}
\end{filecontents}
\bibinput{\jobname} % give the file name of your .bib file here (without extension)
% just as in \bibliography
\begin{document}
The title of the paper \cite{Gerace2019} is \usebibentry{Gerace2019}{title}
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}