Beamer和Bibentry

Beamer和Bibentry

在 Beamer-Presentation 中,我使用 Bibentry 打印选定的文章等。

我有一个问题:每个书目条目的标题都显示为超级引用,之后有一个中断。

输出

我怎样才能关闭它?

以下是代码:

\documentclass[10pt,a4paper]{beamer}
\ProcessOptionsBeamer
\mode<presentation>
\usepackage{natbib}
\usepackage{bibentry}
\usepackage{filecontents}
\begin{filecontents}{pwaLiterature.bib}
    @incollection{Garner2009,
        Address = {Oxford and New York, NY},
        Author = {Garner, Robert},
        Booktitle = {Introduction to Politics},
        Date-Added = {2014-10-06 07:40:47 +0000},
        Date-Modified = {2014-10-06 07:42:45 +0000},
        Editor = {Garner, Robert and Ferdinand, Peter and Lawson, Stephanie},
        Pages = {1-21},
        Publisher = {Oxford University Press},
        Title = {Introduction: The Nature of Politics and Political Analysis},
        Year = {2009}}
\end{filecontents}
\begin{document}
\nobibliography*

\frame{\frametitle{}
\begin{tabular}{p{.15\textwidth} p{.85\textwidth}}
                &   \hangindent=0.5cm \bibentry{Garner2009}.\\
\end{tabular}
}

\bibliographystyle{apalike2}
\nobibliography{pwaLiterature}
\end{document}

答案1

正如 Mike Renfro 已经提到的,该问题与引用样式有关,在本例中是 apalike2。

“incollection”的功能如下:

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  author format.key output              % special for
  output.year.check                 % apalike
  new.block
  format.title "title" output.check
  new.block
  crossref missing$
    { eho.format.in.ed.booktitle "booktitle" output.check
    % The above line is changed by Eric Ho <eho@word> on Fri Jan 12
    % 19:20:28 1990 so that it'll call eho.format.in.ed.booktitle instead
    % of format.in.ed.booktitle.

      format.bvolume output
      format.number.series output
      format.chapter.pages eho.special.output
      new.sentence
%      publisher "publisher" output.check
%      address output
% switched order of publisher and address for incollection -- BJR 1/3/90
      address eho.output    % Use eho.output instead of output.
      publisher "publisher" eho.output.check    % Use eho.output.check instead
                        % of output.check.
      format.edition output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  new.block
  note output
  fin.entry
}

这个名为 new.block 的函数一定是负责中断的函数:

FUNCTION {new.block}
{ output.state before.all =
    'skip$
    { after.block 'output.state := }
  if$
}

通过删除它,我得到了正确的输出。

但是为什么该问题(没有修改apalike2)只出现在beamer类中,而不会出现在article类中呢?

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{lmodern}
\usepackage{natbib}
\usepackage{bibentry} 
\usepackage{filecontents}
\begin{filecontents}{pwaLiterature.bib}
    @incollection{Garner2009,
        Address = {Oxford and New York, NY},
        Author = {Garner, Robert},
        Booktitle = {Introduction to Politics},
        Date-Added = {2014-10-06 07:40:47 +0000},
        Date-Modified = {2014-10-06 07:42:45 +0000},
        Editor = {Garner, Robert and Ferdinand, Peter and Lawson, Stephanie},
        Pages = {1-21},
        Publisher = {Oxford University Press},
        Title = {Introduction: The Nature of Politics and Political Analysis},
        Year = {2009}}
\end{filecontents}

\begin{document}
\nobibliography*
\begin{tabular}{p{.15\textwidth} p{.85\textwidth}}
            &   \hangindent=0.5cm \bibentry{Garner2009}.\\
\end{tabular}

\bibliographystyle{apalike2}
\nobibliography{pwaLiterature}
\end{document}

答案2

尝试评论new.block

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  author format.key output              % special for
  output.year.check                 % apalike
  %new.block<-----------commented!!!!!!
  format.title "title" output.check
  new.block
  crossref missing$....

相关内容