biblatex:根据类型分离参考书目,并配有单独的计数器

biblatex:根据类型分离参考书目,并配有单独的计数器

我正在尝试制作一个出版物列表,其中显示我的所有出版物(在 .bib 文件中)(最新出版物在前),并按类型(文章、论文、书籍等)进行划分。目前,我想到了一个或多或少可行的方法,只是计数器在所有不同的书目之间共享,请参见下图。

截屏

我希望文章中的计数器为[1]、,然后[2]...书籍中的计数器重置为[1]、,[2]等等...

上面 MWE 的代码如下:

\documentclass{article}
\usepackage[sorting=ymdnt, backend=biber]{biblatex}
\DeclareSortingScheme{ymdnt}{
  \sort{
    \field{presort}
  }
  \sort[final]{
    \field{sortkey}
  }
  \sort[direction=descending]{
    \field[strside=left,strwidth=4]{sortyear}
    \field[strside=left,strwidth=4]{year}
    \literal{9999}
  }
  \sort[direction=descending]{
    \field{month}
    \literal{9999}
  }
  \sort{
    \field{sortname}
    \field{author}
    \field{editor}
    \field{translator}
    \field{sorttitle}
    \field{title}
  }
  \sort{
    \field{sorttitle}
    \field{title}
  }
}

\usepackage{filecontents}
\begin{filecontents}{references.bib}
@book{knuth1986texbook,
  keywords = {book},
  title={The texbook},
  author={Knuth, D.E. and Bibby, D.},
  volume={1993},
  year={1986},
  publisher={Addison-Wesley}
}
@article{knuth1977fast,
  keywords = {article},
  title={Fast pattern matching in strings},
  author={Knuth, D.E. and Morris Jr, J.H. and Pratt, V.R.},
  journal={SIAM journal on computing},
  volume={6},
  number={2},
  pages={323--350},
  year={1977},
  publisher={SIAM}
}
@article{doe2001,
  keywords = {article},
  title={Whatever},
  author={Doe, John},
  journal={SIAM journal on computing},
  volume={6},
  number={2},
  pages={323--350},
  year={2001},
  publisher={SIAM}
}
\end{filecontents}
\addbibresource{references.bib}
\begin{document}
\nocite{*}
\printbibliography[type=article,title=Articles]
\printbibliography[type=book,title=Books]
\end{document}

答案1

您需要两样东西:(1)全局defernumbers(包)选项和(2)本地(每个\printbibliography)选项resetnumbers

当然,这意味着标签极不唯一,不能用于引用条目,但您无疑意识到了这一点。

\documentclass{article}
\usepackage[sorting=ydnt, backend=biber, defernumbers]{biblatex}

\addbibresource{biblatex-examples.bib}
\begin{document}
\nocite{*}
\printbibliography[type=article, title=Articles, resetnumbers]
\printbibliography[type=book, title=Books, resetnumbers]
\end{document}

用单独的编号拆分参考书目。

我简化了 MWE,使其更紧凑,更容易将注意力集中在重要的事情上。但请注意,在较新版本的biblatex命令中\DeclareSortingScheme,现在称为\DeclareSortingTemplate。旧名称仍然有效,但会生成警告。

相关内容