
여기 (자바스크립트)와 같은 텍스트에 나타나는 효과가 필요합니다.http://jsfiddle.net/VZvK7/.
그러나 AcroTeX 번들을 사용하는 것과는 별도로 LaTeX에 js 코드를 삽입하는 방법을 모르고 이로 인해 Acrobat Reader를 사용해야 하므로 Beamer에서 유사한 효과를 구현하고 싶습니다. 가능합니까?
(물론 이에 대한 대안적인 접근 방식을 보고 싶습니다)
답변1
기본 아이디어는 각 문자를 하나의 슬라이드에 넣는 것입니다.
\documentclass{beamer}
\usepackage{pgffor}
\usepackage{ragged2e} %for justification
\newcommand{\comma}{,}
\newcommand{\myduration}[1]{%
\foreach \l in {#1}{%
\transduration<\l>{.05}%
}%
}
\newcommand{\anitext}[2]{%
\myduration{#1}%
\foreach \i in {#2}{%
\temporal<+>{}{\Large\bfseries \vphantom{Mpgjy}\i}{\vphantom{Mpgjy}\i}% %the phantom removes the bumping
}%
}
\begin{document}
\begin{frame}
\justifying
\pause
\anitext{2,...,122}{%
L,o,r,e,m,\space,i,p,s,u,m,\space,d,o,l,o,r,\space,s,i,t,\space,a,m,e,t\comma,\space,c,o,n,s,e,c,t,e,t,u,r,\space,a,d,i,p,i,s,c,i,n,g,\space,e,l,i,t\comma,\space,s,e,d,\space,d,o,\space,e,i,u,s,m,o,d,\space,t,e,m,p,o,r,\space,i,n,c,i,d,i,d,u,n,t,\space,u,t,\space,l,a,b,o,r,e,\space,e,t,\space,d,o,l,o,r,e,\space,m,a,g,n,a,\space,a,l,i,q,u,a.
}
\end{frame}
\end{document}
내가 사용한 것:
\comma
: 루프를 엉망으로 만들지 않고 텍스트에 쉼표를 포함하는 매크로\myduration
\transduration
: .05초의 효과를 설정하는 매크로입니다 . 각 편지마다.\anitext
: 내부적으로 Beamer를 사용하여 애니메이션 효과를 설정하기 위한 매크로입니다\temporal
. 예제에서는 텍스트가 굵게 나타났다가\Large
다시 원래대로 돌아갑니다.
물론 애니메이션을 적용할 텍스트는 각 문자 뒤에 쉼표가 오도록 사전 처리되어야 합니다. 이를 위해 애니메이션할 텍스트를 별도의 파일에 넣고 다음을 사용했습니다.
cat <finename> | fold -w1 | paste -sd+, -
또한 각 공백을 매크로로 바꿔야 합니다 \space
(저는 검색 및 바꾸기를 통해 수행했습니다).
매크로 의 첫 번째 인수는 \anitext
원본 텍스트의 문자 수(쉼표 제외)와 같습니다. 각 문자 쌍 뒤에 쉼표를 추가하는 것도 가능 fold -w2
하지만( 사용) 애니메이션이 덜 유동적입니다.
MwE에서 애니메이션 텍스트는 슬라이드 번호 2에서 시작하므로 사용자는 애니메이션을 시작하고 싶을 때 슬라이드 번호 2로 넘어간 다음 가짜 애니메이션을 감상할 수 있습니다. :)
나는 이것을 최대 450자의 긴 텍스트에도 사용했는데 결과 PDF의 슬라이드 수가 엄청나게 많은 것을 제외하고는 잘 작동합니다.