Animategraphics、beamer 和 svg 输出

Animategraphics、beamer 和 svg 输出

我正在尝试将 AlexG 的答案改编为这个帖子为了获得包含动画的投影仪演示文稿。

问题是我使用了一些个性化的投影仪主题幻灯片,并且当我按照此过程操作时,幻灯片的一部分由于某种原因被破坏了。

我的个性化主题的文件和我在下面的乳胶代码中使用的pdf图像都是可在此处获得

这是一个与 pdflatex 配合良好的 .tex 文件示例:

\documentclass[dvisvgm,hypertext,aspectratio=169]{beamer}
\usetheme{wamclassic}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}
\usepackage{animate}
\usepackage{graphicx}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PageDown, PageUp key event handling; navigation symbols
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[totpages]{zref}
\usepackage{atbegshi}
\usepackage{fontawesome}
\setbeamertemplate{navigation symbols}{}
\AtBeginShipout{%
  \AtBeginShipoutAddToBox{%
    \special{dvisvgm:raw
      <defs>
      <script type="text/javascript">
      <![CDATA[
        document.addEventListener('keydown', function(e){
          if(e.key=='PageDown'){
            \ifnum\thepage<\ztotpages
              document.location.replace('\jobname-\the\numexpr\thepage+1\relax.svg');%
            \fi
          }else if(e.key=='PageUp'){
            \ifnum\thepage>1
              document.location.replace('\jobname-\the\numexpr\thepage-1\relax.svg');%
            \fi%
          }
        });
      ]]>
      </script>
      </defs>
    }%
  }%
  \AtBeginShipoutUpperLeftForeground{%
    \raisebox{-\dimexpr\height+0.5ex\relax}[0pt][0pt]{\makebox[\paperwidth][r]{%
      \normalsize\color{jolijaune}%
      \ifnum\thepage>1%
        \href{\jobname-\the\numexpr\thepage-1\relax.svg}{\faArrowLeft}%
      \else%  
        \textcolor{lightgray}{\faArrowLeft}%  
      \fi\hspace{0.5ex}%
      \ifnum\thepage<\ztotpages%
        \href{\jobname-\the\numexpr\thepage+1\relax.svg}{\faArrowRight}%
      \else%
        \textcolor{lightgray}{\faArrowRight}%  
      \fi%
      \hspace{0.5ex}%
    }}%
  }%  
}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



  \title{\hspace{1.5cm} Name -- Title of the talk}

\institute{LJLL, Sorbonne Université}


  \begin{document}


\begin{frame}
\frametitle{First slide}
\begin{center}
  This beamer style will be destroyed.
  \end{center}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{frame}
  \frametitle{Destroyed}
  \vfill
\makebox[\textwidth]{\animategraphics[loop,controls]{30}{image}{1}{2}}
\vfill
\end{frame}

\begin{frame}
  \frametitle{Destroyed}
  \vfill
\makebox[\textwidth]{\animategraphics[loop,controls]{30}{image_small}{1}{2}}
\vfill
\end{frame}
\end{document}

使用前面的代码并使用 pdflatex,动画以适当的方式包含在内:

在此处输入图片描述

但是,如果我将上面的 tex 文件的第一行替换为

\documentclass[dvisvgm,hypertext,aspectratio=169]{beamer}

并对其进行编译(如 AlexG 在上述文章中所建议的那样)

latex example
latex example
dvisvgm --font-format=woff2 --bbox=papersize --zoom=-1 -p1,- --output=%f-%1p example

然后可以在浏览器上查看结果(我使用 Chromium);不幸的是,幻灯片的一部分丢失了。下面带有名称、标题和日期的行消失了,右上角的箭头也消失了;似乎所有的投影仪层都被删除了:

在此处输入图片描述

我尝试过调整 animategraphics 命令的大小,但无论我怎么尝试,情况都越来越糟!我还尝试过减小图像的大小(这是 image_small* 文件的用途),但这并不能解决问题。奇怪的是,情况似乎更糟了(图像本身的一部分似乎被破坏了,上面的水平线是灰色的)。有什么线索吗?调整 animategraphics 的大小似乎很棘手……

在此处输入图片描述

相关内容