我正在使用以下评论在我的笔记中创建参考列表。
\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