Ako si vytvoriť PDF animáciu na WINXP Čo k tomu potrebujeme Na vytvorenie PDF animácie potrebujeme tri veci: a) vytvoriť obrázky a z nich potom jeden PDF subor, b) potrebujeme mat nainštalovaný TgX. Pod WINDOWS je najlepšie riešenie MIKTpX a najdeme ho na adrese www.miktex.org. StaCí nainstalovat zakladnU verziu (basic) - plna verzia je obrovský kolos, zabera na disku 930 MB (verzia MIKTpXu 2.5), c) stiahnut si ovladace PDF animacií, ktore zatiaľ nie sii v štandardných distribiiciach TgXu (animfig.sty, pdfanim.sty, ale hlavne pdfanim-patch a k nim potrebne subory). Ak potrebujeme nieco o TgXu, tak by sme mali zacat na stranke www.cstug.cz. Máme PDF sUbor a použijeme animfig.sty Animfig.sty (autor Kevin Pulo) najdeme googlom a dame ho do adresara ...\tex\latex\base\animfig.sty a nasledne pustíme mo.exe (MIKTpX option) a nasledne refresh, aby poznal novy subor. Na vytvorenie PDF animacie na tento sposob potrebujeme len kratucky TgXovy subor: \documentclass{article} \usepackage{animfig}\pagestyle{empty} \voffset-40mm\hoffset-83mm \begin{document} \pdfpageheight3cm\pdfpagewidth5cm \includeanimation{dino.pdf}{50}{12}{0}{1} \end{document} Mozeme to prelozit príkazom: pdflatex file.tex, dostaneme tak subor file.pdf, ktory okamzite mozeme pozerat v Acrobat Readeru (AR). Animfig ma minimalne moznosti, mozeme vlastne nastavoval iba frekvenciu rolovania obrazkov - pozri kratku dokumentaciu. Ukazku som sem prilozil pomocou pdfanim-patch, pretoze v jednom dokumente nemoze byt animfig a aj pdfanim (dajak sa byjii a preklad stroskota na chybe). Aj s animfigom dostaneme podobnu animaciu, pravda nemozme nastavia auto a loop. Máme PDF sUbory a použijeme pdfanim.sty Tento ovladac je dobry, ale potrebuje samostatne PDF subory (navyše špecialne o&slovane). Autorom je Jochen Skupin - je k tomu podrobna dokumentacia aj s príkladmi. Keď budete postupovat podľa nej, bude všetko OK. Doporucujem pouzívat pdfanim-patch, ale k tomu treba preštudovat dokumentaciu aj k pdfanim. Mame PDF subor a použijeme pdfanim-patch.tex Tento ovladac je vynikajuuci a doplňuje a upravuje moznosti suboru pdfanim.sty. Autorom je Robert Mašík (zadat v google) a na jeho web stranke najdeme k tomu všetko. Nasledujuci subor vytvorí PDF animaciu (iba prva macka - ako vznikol tento clanok, to si mozete pozriet jeho zdrojak): \documentclass{article} \usepackage[pdftex]{eforms} \usepackage{pdfanim} \input marik3.tex %%% skratene meno suboru pdfanim-patch.tex \pagestyle{empty} \voffset=-33mm\hoffset=-33mm \let\pa=\PDFAnimation 1 \PDFAnimLoad[auto,loop,width=2.cm,interval=7 0]{el}{puma}{l9} \begin{document} \pa{el} \end{document} Ak máme v animácii vel'a obrázkov, tak je výhodné použiť ešte aj balík multido, aby sa to rychlo načítalo do pamate, napríklad: \documentclass{article} \usepackage[pdftex]{eforms} \usepackage{multido} \usepackage{pdfanim} \input marik3.tex % pdfanim-patch.tex \pagestyle{empty} \voffset=-33mm\hoffset=-33mm \let\pa=\PDFAnimation \def\mnmul#l#2{ \multido{\i=l+l}{#l}{\pdfximage page \i{#2.pdf} \expandafter\xdef\csname pdf:#2\i\endcsname{\the\pdflastximage}}} \mnmul{l84}{dayg} \PDFAnimLoad[auto,loop,width=3.cm,interval=70]{day}{dayg}{l84} \begin{document} \pa{day} \end{document} Ak animacia ma vel'mi vel'a obrazkov, može byt výhodne pridat aj ovladacie gombíky, aby bolo ovladanie pružnejšie, napríklad: \documentclass{article} \usepackage[pdftex]{eforms} \usepackage{multido} \usepackage{pdfanim} \input marik3.tex %%% to je skratene meno suboru pdfanim-patch.tex \pagestyle{empty} \voffset=-33mm\hoffset=-33mm \let\pa=\PDFAnimation \def\SkipButton#l#2{ \pushButton[\BG{0 l 0} \BC{0 0 l} \A{\JS{ #lcnt = #2;}} ]{#lSkip}{l2pt}{l2pt}} \def\mnmul#l#2{ \multido{\i=l+l}{#l}{\pdfximage page \i{#2.pdf} \expandafter\xdef\csname pdf:#2\i\endcsname{\the\pdflastximage}}} \mnmul{l84}{dayg} 2 \PDFAnimLoad[auto,loop,width=6.5cm,interval=70]{day}{dayg}{l84} \begin{document}\parindentOmm \pa{day} \PDFProgressField[\textColor{l 0 0 rg}]{day}{0.5cm}{l0pt} %\PDFAnimButtons[\BG{0 l 0} \BC{} ]{day} \PDFAnimButtonsP[\BG{0 l 0} \BC{} ]{day} \PDFAnimDelayButton[\BG{l l 0.9}\textSize{l0}]{day}{lcm}{l2pt} \PDFAnimHomeButton[\BG{l l 0}]{day}{l2pt}{l0pt} \SkipButton{day}{92} \end{document} % Máme obrázky v EPS a chceme z nich vytvoriť PDF animáciu Ak obrázky sme vytvorili vo formáte EPS, tak z nich musíme vytvoriť jeden PDF subor. Máme napríklad 40 súborov EPS z programu MATHEMATICA (rth00 aZ rth39), moZeme z nich dostat jeden PDF subor nasledovne: \documentstyle[l2pt,epsf,epsfig]{article} \textwidth2 65mm\textheight34 0mm \voffset-64mm\hoffset-54mm \pagestyle{empty} \special{papersize=8.5cm,7.cm} \begin{document} \def\j{\newcount\obr\obr=-l\loop\advance\obr by l \ifnum\obr 9{\newpage\epsfig{file=rth\the\obr.eps}}\fi \ifnum\obr<39\repeat} \j \end{document} Tento subor prelozíme príkazom latex file.tex. Dostaneme subor file.dvi, ten potom prekódujeme s príkazom dvips file.dvi do PS. Výsledný PS subor môzeme pozriet v gsview a hned' aj prekodovat do formatu PDF (treba sa doklikat ku pdfwrite). Máme GIF animáciu a chceme z nej vytvoriť PDF animáciu Najprv v editore GIF obrazkov vytvoríme jednotlive obrazky vo formate GIF. Tieto obrazky potom musíme dajak prekodovat do formatu JPG alebo PNG. Potom uz pokračujeme s TEXovskym suborom (mame 30 obrazkov earth_0l.png az earth_3 0.png): 3 \documentclass{article} \usepackage{graphicx} \voffset=-44.13mm \hoffset=-47.mm \begin{document}\parindent0mm \pdfpagewidth=3.6mm \pdfpageheight=3.6mm \def\j{\newcount\obr\obr=0\loop\advance\obr by 1 \ifnum\obr<10{\newpage\includegraphics{earth_0\the\obr.png}}\fi \ifnum\obr> 9{\newpage\includegraphics{earth_\the\obr.png}}\fi \ifnum\obr<30\repeat} \j \end{document} Tento súbor preložíme príkazom pdflatex file.tex, dostaneme tak súbor file.pdf a následne ho úž možeme preložia pomocou pdfanim-patch (vid'. vyššie). Máme obrázky vo formáte JPG alebo PNG a chceme vytvoriť PDF animáciu V tomto prípade možeme postupovat tak, ako v predchadzajúcom bode, pravda teraz nam úplne staCí TEXovsky súbor, ktory preložíme a nasledne ešte raž preložíme pomocou pdfanim-patch v drúhom súbore. Animácia nechce 1st rýchlejšie Ked' nam animacia nechce ísť rýchlejšie, tak žrejme mame v ty ch obražkoch vel'a príkažov (animacia tvorena vektorovo - format EPS, PS alebo PDF) a AR to nestíha. Ked' mame nevektorove obražky, tak sú žrejme vel'ke (majú príliš vel'ke rožlíšenie) a tak AR to tiež nestíha. V tomto prípade treba obražky prerastrovat do menšieho rožlísenia (niekedy stad aj 72 DPI na kvalitnú animaciú). Na tento úcel možeme poúžit rožne programy (napr. aj IRFANVIEW na bitmapove obražky a GhostScript na vektorove obražky - nieco sa da odklikat priamo v gsview). Možeme to docielit aj pomocoú gswin32c.exe (commandline veržia GhostScriptú pre WINXP), napríklad takto: gsc.exe -dBATCH -dNOPAUSE -sOutputFile=b%%03d.png -sDEVICE=png16m -r72x72 f.ps Tento príkaž úrobí žo súború f.ps obražky b001.png až b040.png v rožlíšení 72 DPI. Rýchla výroba animácie vo FORTRANe Nasledujúca animacia sa da vytvorit priamo vo FORTRANe v priebehú 10 sekúnd (!), vyrobú animacie spústíme stlacením klavesy F7. cgtpc character latex*69,ake*20,latexp*69(77),pdfani*50 call openg write(22,*)'\hoffset-3 9mm\voffset-50.5mm' pdfani='auto,loop,interval=20' call pdfaxytt( 8.0, 6.0,pdfani) do 1 j=1,360/3 call begpic(11,10,3) call pozadiee(8.0,6.0) call pscirc( 0. , 0. , 2. , 0. ,360. ) call molub( 0. , 0. , u, 2. ,x2,y2,1.,1.) call pscirc(x2,y2,-.2,0.,360.) u=u+3 1 call eopic end 4 PDF animácie môžete nájsť na mojej FTP adrese ftp://geofftp:rEadfTp@web.sav.sk/bl-graphs v adresári animation sú animácie aj so zdrojovým FORTRAN kôdom. V ostatných adresaroch sú Clanky o FORTRANe (ako tam funguje TpX, PS a PDF animacie). Krasne PDF animacie sú aj na web stranke Roberta Marika (aútor pdfanim-patch) http://old.mendelu.cz/~marik/latex/, požri adresar animations. Takže, ked' sa pridate, myslím si, že to búde dobra propagacia TgXú. Nech sa to teda tod! Bratislava, Febrúar 2007 ^l^1!^ Bitto geoflabi@savba.sk 5