Your "crafted" thebibliography
environment does not consist of fields like author
and title
, but simply of unlabeled strings separated by \newblock
. Therefore, it is not possible to extract specific information. Instead, you must use packages like biblatex
that resort to a bibliography database managed by backend programs like biber or BibTeX. Below, you'll find a compilable example using biblatex
-- the filecontents
package is used to "store" the .bib
database within the example.
Make sure to compile the example using pdflatex -- biber -- pdflatex. If your editor doesn't handle this automatically, use the command line.
See section 3.7.7 of the biblatex
manual for details about the \citelist
command and its cousins \citename
and \citefield
. Note that some standard BibTeX field types are replaced with other types by biblatex
(e.g. journal
becomes journaltitle
); while the old types work in the .bib
file, you must use their biblatex
equivalent within \citefield
.
\documentclass{beamer}
\usepackage{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
location = {Somewhere},
publisher = {A publisher},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\begin{frame}
As was shown by \citeauthor{A01} in \citeyear{A01} (published in
\citelist{A01}{location})~\dots
\printbibliography
\end{frame}
\end{document}
