如何使用 biblatex 按引用顺序获取参考书目?

如何使用 biblatex 按引用顺序获取参考书目?

我正在使用以下评论在我的笔记中创建参考列表。

\documentclass[11pt,twoside]{article}

\usepackage[backend=bibtex,sorting=none,defernumbers=true]{biblatex}
\bibliography{mybib}
%\DeclareFieldFormat{entrykey}{\ttfamily[#1]}
%\renewbibmacro*{begentry}{\printfield{entrykey}\setunit{\addspace}} %for the entrykey in bibliography instead of numbers uncomment it
\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}
\nocite{*}
\AtEveryBibitem{%
\ifentrytype{book}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{collection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{incollection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
}  



\begin{document}


First reference is \cite{berman1974inverses}.. And the second reference is this \cite{lang2002algebra}. etc...

But I want the reference list has to be in the citation order. Thats bermans book has to be the first reference as I have cited in my content, and the second has be lang's.

\printbibliography[title=works cited, category=cited]
\end{document}

问题:

如何按引用顺序获取参考文献列表?

我的输出是,

在此处输入图片描述

笔记:

我有一个参考书目条目数据库。可以找到这里

答案1

首先,这是一个更简单的例子:

\documentclass{article}
\usepackage[backend=bibtex,sorting=none,defernumbers=true]{biblatex}
\bibliography{biblatex-examples}
\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}
\nocite{*}
\AtEveryBibitem{%
\ifentrytype{book}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{collection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{incollection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
}
\begin{document}

  \cite{nussbaum}

  \cite{markey}

  \cite{doody}

  \printbibliography[title=works cited, category=cited]

\end{document}

这是完整的,并重现了不需要的行为:

排序参考

不过,它可能会进一步最小化。我怀疑是否\AtEveryBibitem{}需要重现该问题。

问题是\nocite{*}将所有条目添加到参考书目中,这意味着文档中的引用顺序无关紧要,因为现在至少第二次考虑作品。

删除\nocite{*}会产生想要的行为:

未分类的参考文献

\documentclass{article}
\usepackage[backend=bibtex,sorting=none,defernumbers=true]{biblatex}
\bibliography{biblatex-examples}
\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}
\AtEveryBibitem{%
\ifentrytype{book}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{collection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
\ifentrytype{incollection}{
    \clearfield{url}%
    \clearfield{urlyear}%
}{}
}
\begin{document}

  \cite{nussbaum}

  \cite{markey}

  \cite{doody}

  \printbibliography[title=works cited, category=cited]

\end{document}

如果删除不起作用\nocite{*},请编辑您的问题以提供完整的最小示例。目前,它依赖于从其他地方获取条目数据库,而不是自给自足。尝试使用标准进行复制,或者,如果失败,请在问题中.bib包含最少数量的必需条目。.bib

相关内容