@Booklet 作为脚注,不包含在参考书目中

@Booklet 作为脚注,不包含在参考书目中

目前我正在使用biblatex(以 biber 作为后端)。我正在使用\parencite{}\textcite{}创建引用。

我想知道是否可以为某些条目类型创建脚注(带编号参考),例如@online或 ,@booklet而不是将它们添加到参考书目中。除此之外,是否还可以按照某种模式自定义脚注文本,例如title + url + urldate

更新: 以下是乳胶代码以及我的 bib 文件的样子:

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, defernumbers, backend=biber]{biblatex}
\usepackage{hyperref}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{book1,
  author       = "Max Mustermann",
  title        = "My Book",
  date         = "1980",
  isbn         = "123456789",
}

@booklet{online1,
  author       = "John Doe",
  title        = "Title of Online Reference",
  url          = "http://www.online-resource.com",
  howpublished = "XYZ",
  urldate      = "2019-05-04",
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
Reference book \parencite{book1}. \\
I want footnotes for online resources like that \footnote{John Doe. \textit{Title of Online Reference}. http://www.online-resource.com (accessed 04.05.2019)} instead of \parencite{online1}.

\printbibliography
\end{document}

结果

我想用 bib-entry 中的值创建一个脚注,例如\addfootcite{online1}应该创建结果中显示的脚注,但是不是将它们添加到参考书目中。

答案1

您可以使用 定义新\...cite命令\DeclareCiteCommand。通常,此类命令定义的主要部分位于 bibmacro 中。

虽然最好有一个统一的引用命令,用于所有引用,并根据条目类型自动选择要执行的操作,但我选择了一种更手动的解决方案,即通过使用不同的\...cite命令强制执行特定输出。统一\...cite命令的实现会困难得多,因为它必须妥善处理不同类型的多个引用。这需要在实际引用处理之前进行预处理步骤。

此处的新命令显示的详细信息比\footfullcite应显示的内容要少。由于新命令引用的条目未出现在参考书目中,因此显示更多详细信息可能会很有用,但您可以在 bibmacro 中自定义确切的输出。

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=numeric, defernumbers, backend=biber]{biblatex}
\usepackage{hyperref}

\newbibmacro{semifullcite}{%
  \printnames{labelname}%
  \setunit{\printdelim{nametitledelim}}%
  \printfield[citetitle]{labeltitle}%
  \newunit
  \usebibmacro{url+urldate}}

\DeclareBibliographyCategory{nobib}

\DeclareCiteCommand{\nobibsemifullfootcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\addtocategory{nobib}{\thefield{entrykey}}%
   \usebibmacro{semifullcite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{book1,
  author       = {Max Mustermann},
  title        = {My Book},
  date         = {1980},
  isbn         = {123456789},
}
@booklet{online1,
  author       = {John Doe},
  title        = {Title of Online Reference},
  url          = {http://www.online-resource.com},
  howpublished = {XYZ},
  urldate      = {2019-05-04},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Reference book \parencite{book1}.

I want footnotes for online resources like that\nobibsemifullfootcite{online1}.

\printbibliography[notcategory=nobib]
\end{document}

book1 的数字引用,<code>online1</code> 的脚注。参考书目仅包含 <code>book1</code>。

对于字幕,使用标准方法可能会有所帮助\footnotemark\footnotetext详见在图的 \caption 中使用 \footnote

\DeclareCiteCommand{\nobibsemifullfootcitetext}[\mkbibfootnotetext]
  {\usebibmacro{prenote}}
  {\addtocategory{nobib}{\thefield{entrykey}}%
   \usebibmacro{semifullcite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

然后使用\footnotemark\nobibsemifullfootcitetext{sigfridsson}

\begin{figure}
  \centering
  \includegraphics{foo}
  \caption[Caption for LOF]{Real caption\footnotemark}
\end{figure}

Anywhere on the same page where the float appears\nobibsemifullfootcitetext{sigfridsson}

相关内容