在以下 MCE 中插入了按类别划分的参考书目:
- 手动,得益于
\printbibliography[category=...]
, - 自动,得益于
\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
环境中,则按类别插入参考书目:
- 手动操作,按预期显示,
- 自动,不会显示(并发出 LaTeX 警告“输入行上的参考书目为空...”)。
您了解为什么会出现这个问题以及如何解决这个问题吗?
答案1
这似乎是一个错误\bibbycategory
:它强制引用部分 0 并忽略当前引用部分。
它应该固定在https://github.com/plk/biblatex/commit/81a5e01777e0b3a79a4d12a3b790f233a9922c3d(https://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}
明确强制当前引用。