打印未引用的参考书目条目列表(无引用键)

打印未引用的参考书目条目列表(无引用键)

我正在使用biblatex附加功能将所有引用的参考文献添加到它们自己的类别中:

\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}

如图所示这里.现在考虑这个 MWE:

\documentclass{scrreprt}

\usepackage[refsegment=chapter]{biblatex}
    \DeclareBibliographyCategory{cited}%so we can access all non-cited as own category
    \AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}

\begin{filecontents}{thebib.bib}
@misc{mathworks_constant_2018,
    type = {Documentation},
    title = {Constant volume pneumatic chamber based on ideal gas law},
    url = {https://uk.mathworks.com/help/physmod/simscape/ref/constantvolumepneumaticchamber.html},
    urldate = {2022-01-01},
    journal = {Mathworks Simulink Documentation},
    author = {{Mathworks}},
    year = {2018},
}
@online{WinNT,
  author = {MultiMedia LLC},
  title = {{MS Windows NT} Kernel Description},
  year = 1999,
  url = {http://web.archive.org/web/20080207010024/http://www.808multimedia.com/winnt/kernel.htm},
  urldate = {2010-09-30}
}
\end{filecontents}
\addbibresource{thebib.bib}

\usepackage{cleveref}

\begin{document}
    \chapter{This is a chapter}
    \autocite{mathworks_constant_2018}
    \endrefsegment%anything after not in any segment -> not printed by bibbysegment
    \nocite{*}%
    \printbibheading%print big heading once
    \defbibheading{subbibliography}{\vspace*{1.5\baselineskip}\section*{\Cref{refsegment:\therefsection\therefsegment}}}%
    \bibbysegment[heading=subbibliography]%cycle through all segments and print
    \defbibheading{notcited}{\section*{Further Reading}}
    \printbibliography[notcategory=cited, heading=notcited]
\end{document}

受以下启发的示例这个问题

with是重新定义以允许可点击链接。它不是示例的一部分,但我将其保留下来,这样就不会出现任何问题。我将其删除,\defbibheading这样它们就不会显示出来。结果是:cleverefhyperref

在此处输入图片描述

有没有办法[1]进一步阅读部分?

由于没有任何地方引用该条目,因此我们不需要引用关键字。它只是为任何关心的人提供一份列表。

答案1

您可以为进一步阅读部分。我只是从 as 中复制了定义,authoryear.bbx这给出了一个相当令人满意的结果。您还需要使用该选项defernumbers来确保编号按预期显示(您也可以将该选项添加omitnumbers\printbibliography命令的进一步阅读部分,但这不会改变这里的输出;只有在进一步阅读后面跟着另一个编号\printbibliography为之前没有出现过的条目)。

\documentclass{report}

\usepackage[refsegment=chapter, defernumbers=true]{biblatex}
\usepackage{cleveref}

\DeclareBibliographyCategory{cited}
\AtEveryCitekey{\addtocategory{cited}{\thefield{entrykey}}}

\defbibheading{subbibliography}{%
  \section*{\Cref{refsegment:\therefsection\therefsegment}}}

\defbibheading{notcited}{\section*{Further Reading}}

\defbibenvironment{bibnonum}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}

\begin{filecontents}{\jobname.bib}
@misc{mathworks_constant_2018,
  type    = {Documentation},
  title   = {Constant volume pneumatic chamber based on ideal gas law},
  url     = {https://uk.mathworks.com/help/physmod/simscape/ref/constantvolumepneumaticchamber.html},
  urldate = {2022-01-01},
  journal = {Mathworks Simulink Documentation},
  author  = {{Mathworks}},
  year    = {2018},
}
@online{WinNT,
  author  = {MultiMedia LLC},
  title   = {{MS Windows NT} Kernel Description},
  year    = 1999,
  url     = {http://web.archive.org/web/20080207010024/http://www.808multimedia.com/winnt/kernel.htm},
  urldate = {2010-09-30}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
  \chapter{This is a chapter}
  \autocite{mathworks_constant_2018}

  \endrefsegment
  \nocite{*}
  \printbibheading
  \bibbysegment[heading=subbibliography]
  \printbibliography[notcategory=cited, env=bibnonum, heading=notcited]
\end{document}

第 1 章参考书目带编号。进一步阅读材料不带编号。

我不得不用report而不是scrreprt因为https://github.com/plk/biblatex/issues/857使 MWE 为我工作。我还删除了 MWE,\vspace*{1.5\baselineskip}%因为我想避免它在标准类中引入过多的空间。

相关内容