如果在 refsection 环境中,则不会显示按类别自动生成的书目(\bibbycategory)

如果在 refsection 环境中,则不会显示按类别自动生成的书目(\bibbycategory)

在以下 MCE 中插入了按类别划分的参考书目:

  1. 手动,得益于\printbibliography[category=...]
  2. 自动,得益于\bibbycategory

并按预期显示。

\documentclass{article}
\usepackage{biblatex}
%
\addbibresource{biblatex-examples.bib}
%
\DeclareBibliographyCategory{primary}
\DeclareBibliographyCategory{secondary}
%
\defbibheading{primary}{\subsection*{Primary Sources}}
\defbibheading{secondary}{\subsection*{Secondary Sources}}
% 
\addtocategory{primary}{aristotle:anima}
\addtocategory{secondary}{nussbaum}
%
\addbibresource{\jobname.bib}
%
\begin{document}
% \begin{refsection}
  \autocite{aristotle:anima,nussbaum}
  %
  \section{Manual bibliographies by categories}
  \printbibliography[category=primary,title={Primary Sources}]
  \printbibliography[category=secondary,title={Secondary Sources}]
  %
  \section{Automatic bibliographies by categories}
  \printbibheading
  \bibbycategory
% \end{refsection}
\end{document}

但是,如果两者都包含在一个refsection环境中,则按类别插入参考书目:

  1. 手动操作,按预期显示,
  2. 自动,不会显示(并发出 LaTeX 警告“输入行上的参考书目为空...”)。

您了解为什么会出现这个问题以及如何解决这个问题吗?

答案1

这似乎是一个错误\bibbycategory:它强制引用部分 0 并忽略当前引用部分。

它应该固定在https://github.com/plk/biblatex/commit/81a5e01777e0b3a79a4d12a3b790f233a9922c3dhttps://github.com/plk/biblatex/issues/1266),它将成为下一biblatex版本的一部分。

如果你需要暂时解决办法,你可以选择

\documentclass{article}
\usepackage{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareBibliographyCategory{primary}
\DeclareBibliographyCategory{secondary}

\defbibheading{primary}{\subsection*{Primary Sources}}
\defbibheading{secondary}{\subsection*{Secondary Sources}}

\addtocategory{primary}{aristotle:anima}
\addtocategory{secondary}{nussbaum}

\begin{document}
 \begin{refsection}
  \autocite{aristotle:anima,nussbaum}

  \section{Manual bibliographies by categories}
  \printbibliography[category=primary,title={Primary Sources}]
  \printbibliography[category=secondary,title={Secondary Sources}]

  \section{Automatic bibliographies by categories}
  \printbibheading
  \edef\therealrefsection{\therefsection}
  \bibbycategory[section=\therealrefsection]
 \end{refsection}
\end{document}

明确强制当前引用。

相关内容