我在幻灯片中使用笔记,这对我的讲座很有帮助。我还喜欢将笔记传给学生(用handout
和show only notes
)。
但是,当使用 时biblatex
,\printbibliography
注释中的引用无法正确处理。
这是我的 MWE:
\documentclass[12pt,a4paper]{beamer}
\usepackage[utf8]{inputenc}
\setbeameroption{show only notes}
\usepackage{filecontents}
\begin{filecontents*}{mybib.bib}
@book{knuth1979tex,
author = "Donald E. Knuth",
title = "Tex and Metafont, New Directions in Typesetting",
year = "1979",
publisher = "American Mathematical Society and Digital Press",
address = "Stanford"
}
\end{filecontents*}
\usepackage{biblatex}
\addbibresource{mybib.bib}
\begin{document}
\begin{frame}
Citation: \textcite{knuth1979tex}\\
Reference:\printbibliography
\note{
Citation: \textcite{knuth1979tex}\\
Reference:\printbibliography
}
\end{frame}
\end{document}
与线程不同60671, 我做\cite
注释中有s。
Biber
运行成功(返回 0)并且条目存在于bbl
文件中:
...
\entry{knuth1979tex}{book}{}
\name{author}{1}{}{%
{{hash=fcbea740aeb72b8e941e0d4aa9f6a9c6}{%
family={Knuth},
familyi={K\bibinitperiod},
given={Donald\bibnamedelima E.},
...
事实上,使用bbl
时文件没有被使用,忽略了,导致无法生成引用。以下是日志:show only notes
\cite
LaTeX Warning: Citation 'knuth1979tex' on page 1 undefined on input line 30.
有没有办法在仅生成注释时使参考书目发挥作用?
答案1
正如评论中所解释的, 的问题biblatex
在于beamer
的show only notes
选项问题\nofiles
。该命令通常会抑制文件写入.aux
和类似操作,但biblatex
实际上它也会抑制.bbl
文件的加载(它不应该这样做,这可能被认为是biblatex
将在即将推出的版本 3.12 中解决https://github.com/plk/biblatex/commit/9ccd26105820eb11c7c38302123e9a0408c0189d)。
作为一种快速的解决方法,您可以告诉beamer
不要拨打\nofiles
电话show only notes
。
\documentclass[12pt,a4paper]{beamer}
\usepackage[utf8]{inputenc}
\makeatletter
\defbeameroption{show only notes}[]%
{
\beamer@notestrue
\beamer@notesnormalsfalse
}
\makeatother
\setbeameroption{show only notes}
\usepackage{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\begin{frame}
\textcite{sigfridsson}
\printbibliography
\note{
\textcite{worman}
\printbibliography
}
\end{frame}
\end{document}