使用 Biblatex 的问题

使用 Biblatex 的问题

我正在尝试使用它biblatex来生成我的简历上的出版物列表。

这工作正常,但它没有生成我想要的输出:

\documentclass{article}
\usepackage[
    sorting=ydnt,
    bibstyle=ieee
]{biblatex} %ydnt: Sort by year (descending), name, title.
\addbibresource{MyPublications.bib}

\begin{document}
\cite{FirstPaper}
\printbibliography[title={Journal Papers}]
\end{document}

然后我尝试了这个,按照示例 3.10.4biblatex用户手册

\documentclass{article}
\usepackage[
    sorting=ydnt,
    bibstyle=ieee
]{biblatex} %ydnt: Sort by year (descending), name, title.
\addbibresource{MyPublications.bib}
\DeclareBibliographyCategory{primary}
\addtocategory{primary}{FirstPaper}

\begin{document}
\printbibheading
\printbibliography[category=primary,heading=subbibliography,title={Journal Papers}]
\end{document}

该代码生成一个空文档,其中只有一个名为“参考”的部分。

我正在使用 64 位 MiKTeX 2.9 和 TeXstudio(Windows),但我也尝试了 TeXnicCenter 和 WinEdt。

顺便说一句,在第二种情况下,.bbl文件是空的(除了标题),这可能会给出一些关于哪里出了问题的迹象。

答案1

对于第一个问题,您能否详细说明您想要实现的目标以及“它没有生成您想要的输出”到底是什么意思?可能您还应该包含屏幕截图或示例文件.bib

第二次尝试没有显示任何内容,这是显而易见的,因为文档中没有引用任何内容。您可以使用\nocite{*}before\printbibliography来显示.bib文件中的所有内容。

我认为添加一个关键词到你的书目条目,描述类别,例如keywords = {primary}。这样你就不必每次添加新的 bib 条目时都更改你的 tex 文件。所以总的来说它应该像下面这样工作:

\documentclass{article}
\usepackage[
    sorting=ydnt,
    bibstyle=ieee
]{biblatex} %ydnt: Sort by year (descending), name, title.
\addbibresource{MyPublications.bib}

\begin{document}
    \nocite{*}
    \printbibheading
    \printbibliography[keyword=primary,heading=subbibliography,title={Journal Papers}]
    \printbibliography[keyword=secondary,heading=subbibliography,title={Books}]
\end{document}

但还要注意,如果您根据条目类型区分类别,如论文、书籍、网络链接等,您甚至可以使用\printbibliography[type=book,...]。(您引用的用户指南中也提到过)

答案2

我将其添加为答案而不是对 canaaerus 答案的评论,因为否则它会太长。

即使您实际上没有引用任何内容,您也需要使用 Biblatex 的引用命令来处理条目,这是唯一的方法。开发人员已经考虑到了您的问题,他们创建了一个\nocite命令,该命令的作用与通常的相同\cite,只是它实际上不打印引用(仅打印参考书目)。

\addtocategory命令会将条目添加到参考书目中的特定类别(如“书籍”或“期刊论文”),但它不会取代引用命令。它只是将条目标记为属于某个类别,并且只有在引用后才会生效(因此您可以拥有一个定义类别的主文件并将其用于所有论文)。

为了将您的条目分类到子类别中,最简单的选择可能是使用typenottype(它们指的是条目类型,例如“书籍”或“文章”),或keywordnotkeywordcategorynotcategory等。您可以使用其中的几个来微调分段。

\documentclass{article}
\usepackage[sorting=ydnt,bibstyle=ieee]{biblatex}
\addbibresource{MyPublications.bib}

\begin{document}
\nocite{*}
\printbibheading
\printbibliography[type=article,heading=subbibliography,title={Journal Papers}]
\printbibliography[type=book,heading=subbibliography,title={Books}]
\end{document}

关于标签问题,我建议你看一下这个答案。我现在没有时间进行实验,但经过一番尝试后,它应该可以满足您的要求。请注意,此解决方案还实现了反向编号(我不确定您是否想要它,但它与反向时间顺序一致)。

相关内容