nocite 某个 biblatex 条目类型的所有条目

nocite 某个 biblatex 条目类型的所有条目

我正在写我的简历,虽然我只想打印我的部分内容@unpublished@inproceedings参考书目中的条目,但我确实想打印我的所有@article条目。

有什么方法可以让我获得\nocite特定类型的所有条目(@article在这种情况下)?

考虑到我根据条目的类型将其放在不同的文件中。以下是 MWE:

\documentclass{article}

\usepackage[backend=biber]{biblatex}

\addbibresource{articles.bib}
\addbibresource{talks.bib}
\addbibresource{unpublished.bib}

\begin{document}

% How do I nocite all @article entries?
\nocite{<all @article entries>}

\nocite{sometalk, someothertalk}

\nocite{someunpublished, someotherunpublished}


% This should print all articles
\printbibliography[title=Articles, type=article]

% This should print sometalk and someothertalk
\printbibliography[title=Talks, type=inproceedings]

% This should print someunpublished and someotherunpublished
\printbibliography[title=Unpublished, type=unpublished]

\end{document}

答案1

\nocite仅支持列表输入键你想添加到你的参考书目或\nocite{*}允许全部.bib要添加的文件中可用的条目。

没有办法告诉\nocite只选择@articles 或具有其他属性的条目,请参阅\nocite{*} 用于 biblatex/biber 的单个 bibdatasources是否可以使用 Biblatex/Biber 并在文档代码内根据关键字向参考书目添加条目?

不过,在较新版本的 Biber 中有一个解决方法,它允许您使用源映射清除不需要的条目。这将产生预期的输出。

您将需要在3.15/Biber 2.15starnocited中添加的关键字(biblatexhttps://github.com/plk/biber/issues/319)。

\documentclass{article}

\usepackage[backend=biber, defernumbers=true]{biblatex}

\DeclareSourcemap{
  \maps[datatype=bibtex, overwrite]{
    \map{
      \pernottype{article}
      \step[starnocited=true, final]
      \step[entrynull]
    }
  }
}

\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{*}

\nocite{westfahl:space,gaonkar:in}

\nocite{salam} % we don't want moraux


% This should print all articles
\printbibliography[title=@article, type=article]

% This should print salam but not moraux
\printbibliography[title=@inproceedings, type=inproceedings]

% This should print westfahl:space gaonkar:in and nothing else
\printbibliography[title=@incollection, type=incollection]

\end{document}

生成的参考书目的一部分。

这将清除所有非@articles 的条目,这些条目仅因为\nocite{*}(即未使用其密钥明确\cited 或d 的条目) 而存在\nocite

相关内容