
Я пытаюсь адаптировать ответ AlexG кэта почтадля того, чтобы получить презентацию с помощью проектора, включающую анимацию.
Проблема в том, что я использую персонализированный слайд темы Beamer, и по какой-то причине часть слайда уничтожается, когда я следую этой процедуре.
Файлы моей персонализированной темы и изображения PDF, которые я использую в коде Latex ниже, вседоступна здесь.
Вот пример файла .tex, который отлично работает с pdflatex:
\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 кажется сложным...