Anhänge, Ebenen und Medien

Ein PDF kann mehr enthalten als statische Seiten: angehängte Dateien, umschaltbare Ebenen, Animationen und sogar Medien. LaTeX stellt das über kleine Pakete bereit. Eine Einschränkung bleibt: Was tatsächlich funktioniert, hängt vom PDF-Viewer ab; die ausgefallenen Funktionen stützen sich oft auf Adobe Acrobat, und manches brach mit dem Ende von Flash. Diese Seite gibt unter dieser Voraussetzung den Überblick.

Dateien anhängen und einbetten

Du kannst eine Datei in das PDF einbetten. attachfile (und die verbesserte Variante attachfile2) bietet \attachfile{file} für ein anklickbares Büroklammer-Symbol und \textattachfile{file}{link text}, um eigenen Text zum Link zu machen. embedfile hängt mit \embedfile{file} eine Datei ohne sichtbares Symbol an, etwa um die .tex-Quelle im PDF mitzuliefern. Anhänge werden von vielen Viewern breit unterstützt.

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

Ebenen — ocgx2

OCG (Optional Content Groups, also Ebenen) in PDFs sind Schichten, die ein- und ausgeblendet werden können. ocgx2 (Alexander Grahn) umschließt Inhalte mit \begin{ocg}{name}{id}{initial visibility}…\end{ocg} und bietet anklickbare Schalter (\toggleocgs, \showocgs, \hideocgs). Das ist nützlich für schrittweises Einblenden oder interaktive Abbildungen, aber das Umschalten funktioniert hauptsächlich in Acrobat; andere Viewer zeigen eventuell nur den Anfangszustand.

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

Animation — animate

animate (Alexander Grahn) erzeugt JavaScript-gesteuerte Animationen im PDF. \animategraphics macht aus einer nummerierten Bildfolge (oder einem mehrseitigen PDF) einen abspielbaren Clip mit Steuerelementen; die Umgebung animateinline animiert Inline-Frames wie TikZ, PSTricks oder Text. Da es JS-basiert ist, läuft es in mehreren Viewern (Acrobat, Okular, Foxit, pdf.js usw.) und ist portabler als eingebettetes Video.

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

Multimedia — media9 (mit Vorbehalt)

media9 bettet mit \includemedia Video, Audio und 3D ein; movie15 ist der veraltete Vorgänger. Wichtiger Vorbehalt: media9 stützte sich auf den Flash Player in Adobe Reader, und Flash ist verschwunden. Eingebettete Videos sind in heutigen Viewern daher weitgehend nicht abspielbar. Für neue Arbeiten verlinkt man externe Medien oder nutzt animate für bildbasierte Bewegung. Betrachte media9 als Legacy.