在 Beamer 中仅使用注释时的参考

在 Beamer 中仅使用注释时的参考

我在幻灯片中使用笔记,这对我的讲座很有帮助。我还喜欢将笔记传给学生(用handoutshow 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在于beamershow 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}

相关内容