我有一个 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
,但这确实是一场噩梦。