我有一份文档,其中的参考书目按类别划分。我想通过数字引用元素 [1]。在每个参考书目中,条目应按年份名称标题 (ynt) 排序,但第一个参考书目中的数字应小于第二个参考书目中的数字。
梅威瑟:
\documentclass{article}
\usepackage[sorting = ynt,bibstyle=numeric]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{a,
author = "I",
year = "1973"
}
@book{a2,
author = "I",
year = "1923"
}
@book{b,
author = "You",
year = "1959"
}
\end{filecontents}
\addbibresource{\jobname.bib}
\DeclareBibliographyCategory{own}
\begin{document}
\nocite{a,a2}
\addtocategory{own}{a,a2}
\nocite{b}
\printbibliography[category=own,title={A}]
\printbibliography[notcategory=own,title={B}]
\end{document}
现在,参考书目中的数字顺序在第一个列表中为“[1],[3]”,在第二个列表中为“[2]”。这看起来很奇怪,如果有更多项目,则必须搜索两个列表才能找到参考。我希望第一个列表中有“[1],[2]”,第二个列表中有“[3]”。
一个选项是向 bib 文件中的相应条目添加一个“预排序”键,但我想不是触摸 bib 文件。例如,是否有可能在 tex 文件之后添加“预排序”键?或者 biblatex 可以按类别排序(我搜索了手册但没有找到任何线索)?
答案1
按照文件biblatex
中的建议.log
Package biblatex Warning: Split bibliography detected.
(biblatex) Many simple split bibliography setups with
(biblatex) non-overlapping bibliographies benefit from
(biblatex) setting 'defernumbers=true'.
(biblatex) See the documentation for details.
(biblatex) This warning can be suppressed with
(biblatex) '\BiblatexSplitbibDefernumbersWarningOff'.
并使用defernumbers=true
。
编辑:此消息已在以下几个版本中删除:https://github.com/plk/biblatex/issues/493,但现在它又回来了。
这biblatex
文档解释见第 53 页
与标准 LaTeX 不同,此包生成的数字标签通常分配给文档正文开头的完整参考文献列表。如果启用此选项,则数字标签 [...] 在任何参考书目中第一次打印条目时分配。
并在第 121 页第 3.12.5 节“参考书目过滤器和引文标签”中指出
此包生成的引文标签在被任何书目过滤器拆分之前会分配给完整的参考文献列表。
refsection
无论您使用多少个书目过滤器,它们都保证在整个文档(或环境中)中是唯一的。但是,当使用数字引文方案时,这很可能会导致拆分的书目中的编号不连续。使用defernumbers
包选项可以避免此问题。如果启用此选项,则在任何书目中第一次打印条目时都会分配数字标签。