Bib(la)tex \newrefcontext 带有 labelprefix 导致 \printbibliography 不列出任何条目

Bib(la)tex \newrefcontext 带有 labelprefix 导致 \printbibliography 不列出任何条目

我怀疑我遗漏了一些配置值,但无法确定是哪一个。当我使用为\newrefcontext每条参考资料添加给定标签(选项labelprefix=...)前缀时,我最终发现我的参考资料根本没有列出(带有\printbibliography)。这是我的 TeX 文件的简化版本:

\documentclass[a4paper,10pt]{article}

% Import packages: 
\usepackage[utf8]{inputenc}                                     
\usepackage[
    backend=bibtex,
    style=numeric,
    sorting=ydnt,
    defernumbers=true,
    maxbibnames=99]{biblatex}

\addbibresource{bib_source_file}  % Biblatex source.

\begin{document}
% The following line is just a test:
\cite{Araguz2018X}                % shows [0] unless \newrefcontext is commented out
\section*{Journals}
\newrefcontext[labelprefix=J]     % If commented-out, ALL references are 
                                  % listed (without prefix)
\nocite{Araguz2018Y}
\printbibliography[resetnumbers=true]

\section*{Conferences}
\newrefcontext[labelprefix=C]     % Same than above. Commenting gives the list of 
                                  % ALL non-prefixed refs.
\nocite{Araguz2018Z}
\printbibliography[resetnumbers=true]

\end{document}

答案1

当我运行您的示例时,我收到消息

Package biblatex Warning: Using fall-back BibTeX(8) backend:
(biblatex)                functionality may be reduced/unavailable.

.log文件中。

确实,refcontexts 虽然很有用,但只有在使用 Biber 作为后端时才能得到正确支持的功能之一。

如果我backend=bibtex改为backend=biber并运行 Biber(请参阅Biblatex 与 Biber:配置我的编辑器以避免未定义的引用),示例按预期运行。

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[
    backend=biber,
    style=numeric,
    sorting=ydnt,
    defernumbers=true,
    maxbibnames=99]{biblatex}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{worman}

\section*{Journals}
\newrefcontext[labelprefix=J]
\nocite{sigfridsson}
\printbibliography[resetnumbers=true]

\section*{Conferences}
\newrefcontext[labelprefix=C]
\nocite{geer}
\printbibliography[resetnumbers=true]
\end{document}

该示例显示了两个具有相同三个条目的书目,唯一的区别是标签中的前缀

相关内容