\DeclareSortingTemplate:未按预期工作

\DeclareSortingTemplate:未按预期工作

在以下 MWE 中,我希望参考文献“B”出现在参考文献列表中的“A”之前,因为sortyear应该优先于year。但经过多次修改后,我还是无法做到这一点……我读过问题和 biblatex 手册的相应部分没有太多帮助。

\documentclass{article}
\usepackage[
  backend=bibtex,
  defernumbers=true,
  sorting=xxx,
]{biblatex}
\begin{filecontents}[overwrite]{mwe.bib}
  @article{A,
    title = {A},
    year = {1111},
    sortyear = {2222}
  }
  @article{B,
    title = {B},
    year = {2222},
    sortyear = {1111}
  }
\end{filecontents}
\addbibresource{mwe}\nocite{*}
\DeclareSortingTemplate{xxx}{
  \sort{
    \field{sortyear}
    \field{year}
  }
}
\begin{document}
  \printbibliography[resetnumbers=true]
\end{document}

答案1

正如评论中所讨论的,您只能使用受限backend=bibtex的排序方案列表(none,,,,,,,,,),并且ntyBibTeX根本无法使用。nytnyvtanytanyvtyntydntdebug\DeclareSortingTemplate

您将需要使用 Biber 来处理您的文档。(无论如何,这是一个好主意,因为 的许多biblatex高级功能都需要 Biber。文档曾经解释过哪些部分是 Biber 独有的,但几年前,我们决定将 BibTeX 设为“遗留后端”,并假设普通用户使用 Biber。)

https://github.com/plk/biblatex/commit/0c21cd8c142d1a2f0c2d1e4810890388fa82551e如果 BibTeX 使用不受支持的排序模板,将会发出警告。

相关内容