biblatex 和 \nocite{*} 问题

biblatex 和 \nocite{*} 问题

我不需要在文本中添加任何引用,但我需要书末的参考书目。当我输入命令时,我遇到了after 的\nocite{*}深度递归问题。biberxelatex

biber2.7版本,缓存已清除

\documentclass[12pt, twoside, openany]{book}
\usepackage{xunicode}
\usepackage{xltxtra}
\usepackage[T2A]{fontenc}
\usepackage{polyglossia}
%
\usepackage[%
defernumbers = true,
backend=biber,
bibstyle=gost-numeric,
citestyle=gost-footnote,
language=auto,
babel=other,
sorting=ntvy,
doi=false,
eprint=false,
isbn=false,
dashed=false
]{biblatex}
\addbibresource{astrsaints.bib}
\usepackage{filecontents}{astrsaints.bib}
@Book{marian,
    ids        = {marian},
    title      = {Святые и подвижники благочестия земли Астраханской},
    location   = {Астрахань},
    publisher  = {Тип. «Новая линия»},
    year       = {2010},
    totalpage = {532},
    editor = {игумен Иосиф (Марьян)},
    editortype = {compiler},
    langid     = {russian},
    language   = {russian},
    keywords   = {commons},
}
\end{filecontents}
\begin{document}
    %
\nocite{*}
\printbibliography[heading=secbib, title={Общие работы}, keyword = commons]
\end{document}

在此处输入图片描述

答案1

那里的问题似乎在于您在 bib 条目中定义了一个与原始密钥完全相等的密钥别名。

因此,如果您删除ids = {marian},对您没有好处的内容,或者将其更改为ids = {marian2},biber 应该可以很好地处理。

编辑:这是我使用的完整代码(根据评论中 egreg 的建议进行了改进):

\documentclass[12pt, twoside, openany]{book}

\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{russian}
\setmainfont{CMU Serif}
%
\usepackage[%
defernumbers = true,
backend=biber,
bibstyle=gost-numeric,
citestyle=gost-footnote,
language=auto,
babel=other,
sorting=ntvy,
doi=false,
eprint=false,
isbn=false,
dashed=false
]{biblatex}

\addbibresource{astrsaints.bib}

\usepackage{filecontents}
\begin{filecontents}{astrsaints.bib}
@Book{marian,
    ids        = {marian2},
    title      = {Святые и подвижники благочестия земли Астраханской},
    location   = {Астрахань},
    publisher  = {Тип. «Новая линия»},
    year       = {2010},
    totalpage = {532},
    editor = {игумен Иосиф (Марьян)},
    editortype = {compiler},
    langid     = {russian},
    language   = {russian},
    keywords   = {commons},
}
\end{filecontents}

\begin{document}
\nocite{*}
\printbibliography[title={Общие работы}, keyword = commons]
\end{document}

结果是:

在此处输入图片描述

相关内容