첨부, 레이어와 미디어

PDF는 정적인 페이지만이 아니라 첨부 파일, 전환 가능한 레이어, 애니메이션, 심지어 미디어도 담을 수 있습니다. LaTeX는 이런 기능을 작은 패키지들로 제공합니다. 다만 한 가지 주의할 점이 있습니다. 실제로 어디까지 동작하는지는 PDF 뷰어에 따라 다릅니다(복잡한 기능은 Adobe Acrobat에 의존하고, Flash 종료로 깨진 기능도 있습니다). 이 페이지는 그 전제를 두고 각 기능을 살펴봅니다.

파일 첨부와 임베드

파일을 PDF 안에 포함할 수 있습니다. attachfile(또는 개선판 attachfile2)의 \attachfile{file}은 클릭 가능한 클립 아이콘을 두고, \textattachfile{file}{link text}는 원하는 문자를 링크로 만듭니다. embedfile\embedfile{file}은 보이는 아이콘 없이 파일을 첨부합니다(PDF에 .tex 소스를 함께 넣는 경우 등). 첨부 파일은 여러 뷰어에서 널리 지원됩니다.

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

레이어 — ocgx2

PDF의 OCG(Optional Content Groups, 즉 레이어) 는 표시/숨김을 전환할 수 있는 층입니다. ocgx2(Alexander Grahn)는 내용을 \begin{ocg}{name}{id}{initial visibility}…\end{ocg}로 감싸고, 클릭으로 전환하는 링크(\toggleocgs, \showocgs, \hideocgs)를 제공합니다. 단계적 공개나 대화형 그림에 유용하지만, 전환은 주로 Acrobat에서 동작하며 다른 뷰어에서는 초기 상태만 보일 수 있습니다.

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

애니메이션 — animate

animate(Alexander Grahn)는 PDF 안에 JavaScript 기반 애니메이션을 만듭니다. \animategraphics는 번호가 붙은 이미지 연속(또는 다중 페이지 PDF)을 재생 컨트롤이 있는 움직이는 그림으로 만들고, animateinline 환경은 TikZ/PSTricks/텍스트 같은 인라인 프레임을 애니메이션화합니다. JS 기반이므로 여러 뷰어(Acrobat, Okular, Foxit, pdf.js 등)에서 동작하며, 임베드된 동영상보다 이식성이 높습니다.

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

멀티미디어 — media9(주의점)

media9\includemedia는 동영상, 오디오, 3D를 임베드하고, movie15는 그 이전 버전(폐기됨)입니다. 중요한 주의점: media9는 Adobe Reader 내장 Flash Player에 의존했지만 Flash는 종료되었으므로, 임베드된 동영상은 현재 뷰어에서 거의 재생되지 않습니다. 새 작업에서는 외부 미디어로 링크하거나, 프레임 기반 움직임이라면 animate를 사용하는 편이 안전합니다. media9는 레거시로 보세요.