如何在 biblatex 中嵌入评论?

如何在 biblatex 中嵌入评论?

biblatex在可以说的上下文中bibstyle=reading,这将产生包括摘要和注释字段的参考书目。我正在考虑使用注释来包含我对该参考文献的评论。

能够在评论中使用 LaTeX 并且可以使用特殊格式和方程式,这很酷。

我感兴趣的是哪种方法可以让我实现这一目标。

或者也许引用每个包含评论的参考文献的外部文件,像这样的文件结构可能是:

mylatex project/
 doc.tex
 bib/
  doc.bib
  bibannotation-key1.tex
  bibannotation-key2.tex
  bibannotation-key3.tex

答案1

大多数领域biblatex被称为文字字段,这基本上意味着您可以用普通的 LaTeX 内容填充它们。您不必将自己限制在只有单词而没有宏的范围内。对于您可以输入的内容,在分组和特殊字符方面有一些限制,并且代码将在其中打印的上下文施加了一些限制,但段落、显示和内联数学以及基本文本格式都可以。

有时建议进一步限制输入。title例如,类似字段可能受制于\MakeSentenceCase,其实现相当复杂,并且需要用花括号“保护”特殊宏。

无论如何,如果出现这种情况annotation,您可以直接输入 LaTeX 代码。

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

\usepackage[style=authoryear, bibstyle=reading, backend=biber]{biblatex}


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author     = {Humphrey Appleby},
  title      = {On the Importance of the Civil Service},
  date       = {1980},
  annotation = {Lorem ipsum \[x^2+y^2=z^2\] that was mathy.
                Also $a+b=c$ and so forth.
                Just a few words to make the next
                paragraph stand out properly.\par
                We can even have a new paragraph.},
}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson,appleby}
\printbibliography
\end{document}

附有大量注释的参考书目。


annotation然而,在某些时候,在文件字段中编辑大量 LaTeX 代码可能会变得乏味.bib。为此,biblatex已经提供了一种加载外部文件的方法。您可以在 §3.13.8 中阅读有关此内容的内容外部摘要和注释和 §4.11.3外部摘要和注释文档biblatex

要启用此功能,请加载biblatex选项loadfiles。然后,您可以将注释放在文件中bibannotation-<entrykey>.texbibannotation-可以使用宏自定义位\bibannotationprefix

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

\usepackage[style=authoryear, bibstyle=reading, loadfiles, backend=biber]{biblatex}


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{appleby,
  author     = {Humphrey Appleby},
  title      = {On the Importance of the Civil Service},
  date       = {1980},
}
\end{filecontents}
\begin{filecontents}{bibannotation-appleby.tex}
Lorem ipsum \[x^2+y^2=z^2\] that was mathy.
Also $a+b=c$ and so forth.
Just a few words to make the next
paragraph stand out properly.

We can even have a new paragraph.
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}


\begin{document}
\cite{sigfridsson,appleby}
\printbibliography
\end{document}

和上面的一样。

在你问题中的子目录设置中,bib你可能还会说

\renewcommand*{\bibannotationprefix}{bib/bibannotation-}

文件路径是相对于主.tex文件(或者更确切地说是您的 LaTeX 调用)的,而不是相对于.bib文件的。


实现的背后的想法loadfiles非常简单,您可以将其扩展为加载文件中给定字段中指定的文件名,.bib而不是基于 entrykey 的文件名。您还可以将这个想法扩展到不同于annotation或 的字段abstract

相关内容