TeX e LaTeX

Inserire animazioni o filmati in un PDF

In LaTeX si possono includere filmati di tipo raster (mpeg, avi, gif, ecc...), filmati di tipo vettoriale (svg, swf, ...) e si possono anche generare direttamente con LaTeX delle animazioni vettoriali (picture, PSTricks, PGF, ...)

Per i primi due, cioè l'inclusione di file esterni, c'è il pacchetto movie15. Per le animazioni fatte direttamente in LaTeX c'è il pacchetto animate.

I filmati vettoriali sono tra i più utili. Eppure, sebbene l'inclusione di file svg non crei alcun problema (e nonostante il formato SMIL, usato per animare gli SVG sia esplicitamente supportato), il pdf così generato non potrà essere letto da nessun visualizzatore pdf. Adobe da quanto ha comprato la società Macromedia ha lasciato perdere SVG e punta tutto su SWF. Pertanto gli opportuni plugin per vedere gli svg dentro i pdf con le recenti versioni di Adobe Acrobat non sono più distribuiti. L'unica possibilità per ora è creare direttamente gli swf o trasformare gli svg animati in swf. Purtroppo come sappiamo il formato swf non è un formato aperto. Attendo novità in merito.

\documentclass{article}
\usepackage{movie15}
\usepackage{hyperref}
\begin{document}
\includemovie[text={Test},mimetype=image/svg+xml]{6cm}{6cm}{animazione.svg}
\end{document}

Per convertire da svg a swf consiglio questo strumento: svg2swf. Attenzione che cercando su internet si possono trovare svariati progetti con lo stesso nome, tutti però molto vecchi o mal funzionanti. Il migliore finora mi sembra questo.

svg2swf file.svg file.swf

Ecco alcune informazioni sui filmati SVG e sul formato SWF. Da notare che l'SVG non può contenere dei veri video ma solo animazioni, cioè sequenze di immagini. Al contrario con SWF si possono sia realizzare delle animazioni, sia includere veri video (il formato dei video inclusi in un file SWF è solitamente FLV. Questa è la tecnica usata da Youtube per esempio).

L'inclusione di file swf animati (non contenenti video e audio) non crea alcun problema. Anche l'inclusione di file gif non funziona.

\documentclass{article}
\usepackage{movie15}
\usepackage{hyperref}
\begin{document}
\includemovie[text={Test}]{6cm}{6cm}{animazione.swf}
\end{document}

Il pacchetto animate mette invece a disposizione due modi per animare immagini:

\documentclass[a4paper]{article}

\usepackage[autoplay]{animate}
%\usepackage{hyperref} % animate sembra essere incompatibile con hyperref

\begin{document}

\animategraphics[<options>]{<framerate>}{<filebasename>}{<first>}{<last>}

\begin{animateinline}[<options>]{<framerate>}
...typesetmaterial...
\newframe[<framerate>]
...typesetmaterial...
\newframe*[<framerate>]
...typesetmaterial...
\newframe
\multiframe{<numberofframes>}{[<variables>]}{
...repeated(parameterized)material...
}
\end{animateinline}

\end{document}