Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have to prepare a beamer presentation on the topic of citations and bibliographies. So I should be able to display selected bibliographic items in the slides as examples in most of the slides. I will be having a main .bib file. So how can I display selected bibliographic items in arbitrary places in the main body of the text?

I am using biblatex with the biblatex-mla style.

share|improve this question
2  
I've edited your question to reflect the fact that you're using biblatex-mla. This was really important information that you should have mentioned in your question originally. (As a result, two people gave good answers that don't actually work for you.) –  Alan Munn Dec 17 '11 at 16:13
    
+1 for making my question more clear. –  nixnotwin Dec 17 '11 at 17:27

3 Answers 3

up vote 10 down vote accepted

The biblatex-mla package doesn't define a \fullcite command (it would have been very helpful to have mentioned that you were using this package in your question). Adapting some code (and naming convention) from the biblatex-apa package, based on Hanging references using \fullcite, here is a solution to your problem. Since MLA uses different author name ordering in footnote references and bibliography references but you want to be able to display both, we define a \fullcitebib command which will insert a properly formatted full bibliography entry in the text and a \fullcitefoot command which will insert a properly formatted footnote-style entry.

\documentclass{beamer}

\usepackage[style=mla,autocite=footnote]{biblatex}
\DeclareAutoCiteCommand{footnote}[f]{\footcite}{\footcites}
\setlength{\bibhang}{1.5em}
\makeatletter
\DeclareCiteCommand{\fullcitefoot}
  {\renewcommand{\finalnamedelim}
   {\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\space}%
   \list{}
   {\setlength{\leftmargin}{\bibhang}%
     \setlength{\itemindent}{-\leftmargin}%
     \setlength{\itemsep}{\bibitemsep}%
     \setlength{\parsep}{\bibparsep}}\item}
  {\usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}\finentry}
  {\item}
  {\endlist\global\undef\bbx@lasthash}

\DeclareCiteCommand{\fullcitebib}
  {\renewcommand{\finalnamedelim}
   {\ifnum\value{liststop}>2 \finalandcomma\fi\addspace\&\space}%
   \list{}
   {\setlength{\leftmargin}{\bibhang}%
     \setlength{\itemindent}{-\leftmargin}%
     \setlength{\itemsep}{\bibitemsep}%
     \setlength{\parsep}{\bibparsep}}\item}
  {\usedriver
    {}
    {\thefield{entrytype}}\finentry}
  {\item}
  {\endlist\global\undef\bbx@lasthash}
\makeatother
\makeatother
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journaltitle = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\addbibresource{\jobname.bib}

%\renewcommand{\footnotesize}{\scriptsize} uncomment this if you want footnotes smaller
\begin{document}

\begin{frame}
This is a full citation in  footnote style: \fullcitefoot{Bli74}.

This is a full citation in bibliography style: \fullcitebib{Bli74}
\end{frame}

 \begin{frame}
 \printbibliography
 \end{frame}

\end{document}

output of code

share|improve this answer
    
It works well. One small change needs to be done. MLA does not invert author's name in footnote citation. So all the entries show author names as they are (without inversion). Let the \fullbibcite command remain as it is, because I can use it to show how footnote citations appear. So there should be another command to show entires with inverted author names. –  nixnotwin Dec 18 '11 at 12:36
    
@nixnotwin I've updated the answer to give you both options. –  Alan Munn Dec 18 '11 at 15:30
    
That worked as well. If you don't mind I need one more feature. The \printbibliography prints all the entries on one slide. So only 4 items are visible and rest (about 10) are invisible. Can there be an option to display a limited number of items, and rest pushed to the next slides. –  nixnotwin Dec 19 '11 at 8:51
1  
@nixnotwin Add [allowframebreaks] to the frame command that contains the bibliography. –  Alan Munn Dec 19 '11 at 14:01
    
Yes, it worked. –  nixnotwin Dec 19 '11 at 14:11

You may use biblatex and its \fullcite macro. Note that is not necessary to typeset the full bibliography.

\documentclass{beamer}

\usepackage{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journaltitle = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\begin{frame}
\fullcite{Bli74}
\end{frame}

% \begin{frame}
% \printbibliography
% \end{frame}

\end{document}
share|improve this answer
    
Unfortunately biblatex-mla doesn't provide a \fullcite command (not surprising, since it's heavily footnote driven). So this solution as it stands won't work with style=mla. –  Alan Munn Dec 17 '11 at 14:28
    
@AlanMunn You are right. The tex document fails to compile. Is there any other way I can address the issue? –  nixnotwin Dec 17 '11 at 14:58

You can use the bibentry package. First, place \usepackage{bibentry} in the preamble. Then use the \bibentry{AuthorYear} to display the full bibliography entry anywhere in the document.

\begin{document}
\usepackage{bibentry}
\begin{document}
    You should read this book: \bibentry{AuthorYear).
    \bibliography{mybooks}
\end{document}
share|improve this answer
    
It does not work. I'm using bilatex-mla package. –  nixnotwin Dec 17 '11 at 10:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.