对同一个 BibTeX 数据库使用不同的参考书目样式

对同一个 BibTeX 数据库使用不同的参考书目样式

我有一个 bibtex 数据库,我将它在 beamer 演示文稿和我的论文之间共享。我希望前者只显示文章的标题和作者,而不是整个引文,因为否则它不适合演示文稿框架。

关于如何做到这一点有什么想法吗?

答案1

您可以修改参考书目样式(.bst)来实现您的目标。但是,这是一项费力的任务,并且可能会出现错误。

假设你有plain.bst样式。然后,您只需找到FUNCTION {article}FUNCTION {book}等等。通常,您需要修改要FUNCTION {<entry>}在参考书目中使用的每个字段,并从中删除不需要的字段。

像这个例子

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  new.block
  format.title "title" output.check
%  new.block
%  crossref missing$
%    { journal emphasize "journal" output.check
%      format.vol.num.pages output
%      format.date "year" output.check
%    }
%    { format.article.crossref output.nonnull
%      format.pages output
%    }
%  if$
%  new.block
%  note output
  fin.entry
}

注释掉的部分将从最终部分中删除。您可以保存修改后的样式,然后像下面myplain.bst这样使用它:

\documentclass{standalone}
\usepackage{cite}

\usepackage{filecontents}

\begin{filecontents}{mybib.bib}
@ARTICLE{Bar2011,
  author = {F. Foo and F. Bar},
  title = {Foo and Bar},
  journal = {Journal of Foo},
  year = {2011},
  volume = {1},
  pages = {1--3}
}

@ARTICLE{Foo2011,
  author = {F. Foo and F. Bar},
  title = {More on Foo and Bar},
  journal = {Journal of Bar},
  year = {2011},
  volume = {1},
  pages = {1--3},
  owner = {adin},
  timestamp = {2011.12.01}
}
\end{filecontents}

\begin{document}

Test~\cite{Bar2011,Foo2011}.

%\bibliographystyle{plain}
\bibliographystyle{myplain}
\bibliography{mybib}

\end{document}

最小(使用myplain.bst

最小

完整(使用plain.bst

满的

答案2

BibTeX 条目的渲染由参考书目样式文件 ( .bst) 执行。使用命令选择要使用的文件\bibliographystyle{...}。查看可用的样式默认情况下看看是否有一个符合您的需求 -cj或者abbrv看起来很有趣,但都包含年份。

如果您真的想删除年份(在科学演示中我不会这样做),您必须复制并编辑其中一个文件.bst,但这确实是一场噩梦。

相关内容