在正文中显示选定的书目项目

在正文中显示选定的书目项目

我必须准备一个beamer关于引文和参考书目的演示文稿。因此,我应该能够在幻灯片中显示选定的书目项目作为大多数幻灯片中的示例。我将有一个主.bib文件。那么,如何在文本主体的任意位置显示选定的书目项目?

我正在使用biblatex这种biblatex-mla风格。

答案1

biblatex-mla包没有定义\fullcite命令(如果在问题中提到您正在使用这个包,那将非常有帮助)。biblatex-apa根据以下代码改编包中的一些代码(和命名约定):使用 \fullcite 悬挂引用,这里有一个解决方案。由于 MLA 在脚注引用和参考书目引用中使用不同的作者姓名排序,但您希望能够同时显示两者,我们定义了一个\fullcitebib命令,它将在文本中插入格式正确的完整参考书目条目,以及一个\fullcitefoot命令,它将插入格式正确的脚注样式条目。

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

代码输出

答案2

您可以使用比布拉特克斯及其\fullcite宏。请注意,无需排版完整的参考书目。

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

答案3

您可以使用bibentry包。首先,将其放置\usepackage{bibentry}在序言中。然后使用\bibentry{AuthorYear}在文档的任何位置显示完整的参考书目条目。

\begin{document}
\usepackage{bibentry}
\begin{document}
    You should read this book: \bibentry{AuthorYear}.
    \bibliography{mybooks}
\end{document}

相关内容