Pièces jointes, calques et médias

Un PDF peut contenir plus que des pages statiques : pièces jointes, calques activables, animations, voire médias. LaTeX expose ces fonctions au moyen de petits paquets. Une réserve toutefois : ce qui fonctionne réellement dépend du lecteur PDF (les fonctions les plus avancées reposent souvent sur Adobe Acrobat, et certaines ont cassé avec la disparition de Flash). Cette page les présente avec cette contrainte en tête.

Joindre et intégrer des fichiers

On peut intégrer un fichier dans le PDF. attachfile (et sa version améliorée attachfile2) fournit \attachfile{file}, qui place une icône de trombone cliquable, et \textattachfile{file}{link text}, qui transforme votre propre texte en lien. embedfile attache un fichier avec \embedfile{file} sans icône visible, pratique pour livrer la source .tex dans le PDF. Les pièces jointes sont largement prises en charge par les lecteurs.

latex
\usepackage{attachfile}
\attachfile{data.csv}                  % クリップのアイコン / paperclip icon
\textattachfile{data.csv}{データを開く}  % 任意のリンク文字 / custom link text

Calques — ocgx2

Les OCG d’un PDF (Optional Content Groups, c’est-à-dire calques) sont des couches que l’on peut afficher ou masquer. ocgx2 (Alexander Grahn) enveloppe le contenu dans \begin{ocg}{name}{id}{initial visibility}…\end{ocg} et fournit des liens de bascule cliquables (\toggleocgs, \showocgs, \hideocgs). C’est pratique pour des révélations progressives ou des figures interactives, mais la bascule fonctionne surtout dans Acrobat ; d’autres lecteurs peuvent n’afficher que l’état initial.

latex
\usepackage{ocgx2}
\begin{ocg}{答え}{ans}{0}   % 0 = 初期は非表示 / initially hidden
  これが答えです。
\end{ocg}
\toggleocgs{ans}{答えの表示/非表示}

Animation — animate

animate (Alexander Grahn) crée des animations pilotées par JavaScript dans le PDF. \animategraphics transforme une série d’images numérotées (ou un PDF multipage) en clip lisible avec contrôles ; l’environnement animateinline anime des images inline (TikZ, PSTricks, texte). Comme c’est basé sur JS, cela fonctionne dans plusieurs lecteurs (Acrobat, Okular, Foxit, pdf.js, etc.) et reste plus portable qu’une vidéo intégrée.

latex
\usepackage{animate}
% 12fps、frame-0 … frame-59 を再生 / play frame-0 … frame-59 at 12 fps
\animategraphics[controls,autoplay]{12}{frame-}{0}{59}

Multimédia — media9 (avec réserve)

media9 intègre vidéo, audio et 3D avec \includemedia ; movie15 est son prédécesseur obsolète. Réserve importante : media9 dépendait du Flash Player intégré à Adobe Reader, et Flash a disparu ; les vidéos intégrées sont donc largement illisibles dans les lecteurs actuels. Pour un nouveau document, mettez plutôt un lien vers un média externe, ou utilisez animate pour un mouvement image par image. Considérez media9 comme historique.