![如何在参考书目中仅显示作者、标题和年份?](https://linux22.com/image/332369/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E4%B8%AD%E4%BB%85%E6%98%BE%E7%A4%BA%E4%BD%9C%E8%80%85%E3%80%81%E6%A0%87%E9%A2%98%E5%92%8C%E5%B9%B4%E4%BB%BD%EF%BC%9F.png)
我正在使用带有alphabet
样式的 biblatex。我\printbibliography
只想打印author
、title
、date
(可能还有doi
)字段。有样式吗?
答案1
你可以简单地定义一个新的驱动程序,并剥离输出
\DeclareBibliographyDriver{#1}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\iftoggle{bbx:doi}
{\printfield{doi}}
{}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\usebibmacro{finentry}}
为了将其应用于所有条目类型,我们使用列表处理
\def\do#1{
\DeclareBibliographyDriver{#1}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/editor+others/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit\newblock
\usebibmacro{date}%
\newunit\newblock
\iftoggle{bbx:doi}
{\printfield{doi}}
{}%
\setunit{\bibpagerefpunct}\newblock
\usebibmacro{pageref}%
\newunit\newblock
\usebibmacro{finentry}}}
\makeatletter
\abx@dotypes
\makeatother
此处针对每个已知的条目类型\abx@dotypes
执行\do
。(在即将推出的 3.4 版本中将\abx@dotypes
被称为\abx@doentrytypes
。)
不用说,这种风格需要非常小心地应用。对于具有 DOI 的书籍或文章来说,这种风格可能没问题,但如果不了解包含该作品的作品,就很难在合集中找到文章或条目(尤其是如果您无法访问互联网和书籍/期刊内搜索)。
答案2
我目前拥有的解决方案是调用\clearfield
,\clearlist
并对\clearname
我在.bbl
文件中找到的所有内容(除了author
、title
、year
和 )进行调用doi
。
\AtEveryBibitem{%
\clearfield{journal}%
.
.
.
\clearfield{pages}%
}