![当框架标题中有引用时,footnotecite 或 footnotemark-footcitetext 会在 beamer 中生成错误的引用编号](https://linux22.com/image/402164/%E5%BD%93%E6%A1%86%E6%9E%B6%E6%A0%87%E9%A2%98%E4%B8%AD%E6%9C%89%E5%BC%95%E7%94%A8%E6%97%B6%EF%BC%8Cfootnotecite%20%E6%88%96%20footnotemark-footcitetext%20%E4%BC%9A%E5%9C%A8%20beamer%20%E4%B8%AD%E7%94%9F%E6%88%90%E9%94%99%E8%AF%AF%E7%9A%84%E5%BC%95%E7%94%A8%E7%BC%96%E5%8F%B7.png)
我正在尝试在 beamer 列中生成脚注引用。目前,可以找到将引用信息正确放置在页面底部的可能解决方案这里。但是,如果您在 frametitle 中有引文,它将错误地对列中使用 footnotemark-footcitetext 的实例进行编号(请参阅下面的 MWE)。即使引用互换,这两个 MWE 也会产生相同的输出。有什么想法可以克服这个问题吗?
最大能量 (1):
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{test,
title={NA},
author={NA},
journal={NA},
volume={1},
number={1},
pages={1},
year={1},
publisher={NA}
}
@article{example,
title={ANAasd},
author={ANAasd},
journal={ANAasd},
volume={1},
number={1},
pages={1},
year={2},
publisher={NA}
}
\end{filecontents*}
\documentclass[usenames]{beamer}
\beamertemplatenavigationsymbolsempty
\mode<presentation>{}
\usepackage[
citestyle=numeric,
style = authoryear,
backend=biber,
sorting = nyt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\begin{frame}
\frametitle{Great paper\footcite{test}}
\begin{columns}[T]
\column{.45\linewidth}
\begin{itemize}
\item Citation here does not work\footnotemark
\end{itemize}
\end{columns}
\footcitetext{example}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
\printbibliography
\end{frame}
\end{document}
最大能量 (2):
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@article{test,
title={NA},
author={NA},
journal={NA},
volume={1},
number={1},
pages={1},
year={1},
publisher={NA}
}
@article{example,
title={ANAasd},
author={ANAasd},
journal={ANAasd},
volume={1},
number={1},
pages={1},
year={2},
publisher={NA}
}
\end{filecontents*}
\documentclass[usenames]{beamer}
\beamertemplatenavigationsymbolsempty
\mode<presentation>{}
\usepackage[
citestyle=numeric,
style = authoryear,
backend=biber,
sorting = nyt]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\begin{frame}
\frametitle{Great paper\footcite{example}}
\begin{columns}[T]
\column{.45\linewidth}
\begin{itemize}
\item Citation here does not work\footnotemark
\end{itemize}
\end{columns}
\footcitetext{test}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
\printbibliography
\end{frame}
\end{document}
答案1
作为一种解决方法,你可以这样做
\documentclass[usenames]{beamer}
\usepackage[
citestyle=numeric,
style = authoryear,
backend=biber,
sorting = nyt
]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\begin{frame}
\frametitle{Great paper\footnotemark[1]}
\vphantom{\footcite{test}}
\begin{columns}[T]
\column{.45\linewidth}
\begin{itemize}
\item Citation here does not work\footnote[frame]{\cite{example}}
\end{itemize}
\end{columns}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[allowframebreaks]
\frametitle{References}
\printbibliography
\end{frame}
\end{document}