可以在投影机中暂时覆盖吗?

可以在投影机中暂时覆盖吗?

考虑这个最小的例子:

\documentclass[aspectratio=169, 16pt]{beamer}
\usetheme[titleformat=smallcaps]{metropolis} % Usemetropolistheme

\usepackage[english]{babel}

\begin{document}
\begin{frame}[standout]
\only<+>{H}
\only<+>{He}
\only<+>{Hel}
\only<+>{Hell}
\only<+>{Hello}
\only<+>{Hello w}
\only<+>{Hello wo}
\only<+>{Hello wor}
\only<+>{Hello worl}
\only<+>{Hello world}
\only<+>{Hello world!}
\end{frame}
\end{document}

基本上,它是使用 beamer 叠加层的动画文本。但是,据我所知,我必须手动转到下一张幻灯片才能使其正常工作。有办法让这个过程慢下来吗?我知道解决方案可能是导出图像,制作 gif 并使用动画包。但是这个解决方案有两个缺点:gif 不是矢量的,每次我在布局中更改某些内容(例如字体或类似内容)时,我都必须制作一个新的 gif。

笔记使用 beamer 覆盖不是强制性的。但是,该解决方案必须与 beamer 类和 xelatex 编译器配合使用。

答案1

您可以指定每个覆盖的显示时间\transduration{<time in seconds>}

\documentclass[aspectratio=169]{beamer}
\usetheme{moloch}% modern fork of the metropolis theme

\usepackage[english]{babel}

\begin{document}
\begin{frame}[standout]
\transduration{0.1}
\only<+>{H}
\only<+>{He}
\only<+>{Hel}
\only<+>{Hell}
\only<+>{Hello}
\only<+>{Hello w}
\only<+>{Hello wo}
\only<+>{Hello wor}
\only<+>{Hello worl}
\only<+>{Hello world}
\only<+>{Hello world!}
\end{frame}
\end{document}

在此处输入图片描述

注意:自动幻灯片切换仅适用于支持 java 脚本的 pdf 查看器,并且需要处于演示模式。

答案2

只是为了澄清一个误解,即animate基于 的解决方案需要一组预制的位图(gif、png 等)动画帧。当然,这种动画需要支持 JavaScript 的 PDF 查看器;在 Linux 上,至少有 Okular 提供此功能,其他平台则有 Acrobat Reader。

\documentclass[aspectratio=169,16pt]{beamer}
\usetheme[titleformat=smallcaps]{metropolis} % Use metropolis theme

\usepackage{animate}
\usepackage[english]{babel}

\begin{document}
\begin{frame}[standout]

  \begin{animateinline}[autoplay,loop]{2}
    \makebox[\widthof{\strut Hello world!}][l]{\strut} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut H} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut He} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hel} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hell} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello w} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello wo} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello wor} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello worl} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello world} \newframe  
    \makebox[\widthof{\strut Hello world!}][l]{\strut Hello world!}
  \end{animateinline}

\end{frame}
\end{document}

点击图像查看动画版本(矢量 [SVG]):

相关内容