使用投影机与主题,我想要一个全局过渡效果(快速淡入淡出),我使用以下代码进行设置:
\addtobeamertemplate{background canvas}{\transfade[duration=0.2]}{}
如这回答。
但是,这样做会弄乱我的幻灯片设置。它不会改变每张幻灯片,只会改变\section
稍微向右移动的幻灯片,并在左侧添加一条白线,如下所示:
我尝试使用 XeLaTeX 和 LuaLaTeX,因为它们是我当前字体的唯一编译器,但它们都存在同样的问题。
它可能来自主题,但我不知道为什么会发生这种情况或如何解决它。
编辑 :平均能量损失
\documentclass{beamer}
\usetheme{m}
\addtobeamertemplate{background canvas}{\transfade}{}
\begin{document}
\section{test}
\end{document}
需要 mtheme 才能工作
答案1
问题的根源%
在于缺少
\newcommand\beamer@dotrans[2][]{%
\def\beamer@transdir{}%
\def\beamer@dur{}%
\setkeys{beamertrans}{#1}%
\edef\beamer@temp{{pdfpagetransition={#2 \beamer@transdir\space\beamer@dur}}}% <- This one is missing
\expandafter\hypersetup\beamer@temp}
(这个问题已在https://github.com/josephwright/beamer/commit/b7a4383535e9b534c822fdbe039369ce6044724f)
一个快速的解决方法:在背景画布模板的末尾添加转换,而不是在开始处:
\documentclass{beamer}
\usetheme[background=dark]{metropolis}
\addtobeamertemplate{background canvas}{}{\transdissolve[duration=0.2]}
\begin{document}
\begin{frame}
content...
\end{frame}
\section{test}
\begin{frame}
content...
\end{frame}
\end{document}