martes, febrero 14, 2006

Animaciones en LaTeX

Perdon a los no interesados por el articulo tecnico. La semana pasada, Jose me pidio que explicase como hago para introducir peliculas en documentos pdf generados a partir de archivos LaTeX. Es muy sencillo:

Primero, debeis incluir el paquete hyperref:

\usepackage{hyperref}

Despues, en algun lugar de la cabecera del archivo .tex (por ejemplo, justo debajo de la inclusion de los paquetes) hay que incluir el siguiente conjuro:

\makeatletter
\define@key{PDF}{Movie}{\pdf@addtoks{#1}{Movie}}
\define@key{PDF}{Activation}{\pdf@addtoks{#1}{Activation}}
\newcommand{\moviewithpreview}[3]{% args: width, preview, movie
\pdfmark[{\includegraphics[width=#1]{#2}}]{%
pdfmark=/ANN,Subtype=/Movie,Movie=<< /F (#3) >>,%
Activation=<< /ShowControls true /Mode /Repeat >>}}
\newcommand{\movie}[3]{% args:width, height, movie
\pdfmark[{\hbox to #1 {\vbox to #2 { }}}]{%
pdfmark=/ANN,Subtype=/Movie,Movie=<< /F (#3) /Poster true >>,%
Activation=<< /ShowControls true /Mode /Repeat >>}}
\makeatother

Hop! Y ya esta. Una pelicula se incluye exactamente igual que una imagen (esto es, podeis colocarla entre un \begin{center} y un \end{center} si quereis), utilizando el comando:

\movie{4.cm}{4.cm}{peli.avi}

Si haceis eso, cuando la pelicula no se esta reproduciendo aparece en el pdf una imagen un tanto cutre de un rollo de pelicula cinematografica. Para poner la imagen que vosotros querais cubriendo la pelicula (que se reproducira al pinchar en la imagen), utilizad en lugar de
\movie \moviewithpreview:

\moviewithpreview{3.5cm}{imagen.eps}{peli.avi
}

Y ya esta. El tipo de archivos que podeis incluir son .avi y .mov. No se como incluir gifs animados, pero convertirlos a avi no es dificil, no necesitais ni que os lo explique.

Otra cosilla. No he conseguido que la reproduccion de las peliculas funcione en linux. Sin embargo, en guindous va perfectamente (siempre que esten instalados los reproductores adecuados, ojo con los .mov que necesitan quicktime). Ojo tambien a otra cosa: no basta con el pdf solo, los ficheros .avi y .mov deben estar tambien con el. Y, por si acaso, llevaos a los sitios vuestras presentaciones en una memoria usb o algo: en la version que mande por correo al BIFI 2006 y que ellos tenian ya instalada en el portatil, no funcionaban las animaciones. Sin embargo, enchufe mi disco duro usb a su ordenador y desde ahi funciono perfectamente. Asi que, siempre que podais, aseguraos mientras la cosa aun tenga arreglo de que todo funciona perfectamente.

37 comentarios:

Anónimo dijo...

Hola Saul.
Gracias por el conjuro para poner películas y/o animaciones en Latex. Es una lástima que no funcione en Linux y sólo en Windows. De todos modos en windows hay un programa (creo que se llama PowerPoint o algo así) en el que es muchíiiiiiiiiiiiiiiiiisimo más fácil de hacer lo que tu dices ;-)
Qué manía de utilizar la herramienta equivocada!!!
Un saludo

Saúl dijo...

Gracias por el comentario! A mi el conjuro este ya me ha salvado la vida. Cuando tienes que hacer una charla partiendo de cero, tengo que reconocer que desde que existe el TexPoint usar el poguerpoin es muy comodo. Pero si se trata de reciclar un poco material de charlas que tienes por ahi y anhadir alguna pelicula en el proceso, solo te queda usar el conjuro, renunciar a las animaciones o disenhar una charla nueva enterita con tu querido pouerpoin, lo cual es muchiiiiiiiiiisimo mas conhazo.

Muy lamentable tu caida en el lado oscuro, Esteban. Que te hayas pasado a microchof, lo acepto, pero que ya te dediques a hacer apologia, me parece triste. Necesitas arrastrarnos a los demas para tranquilizar tu conciecia? O te llevas comision (lo cual me pareceria muy respetable)? :-D

Anónimo dijo...

Llevo comisión, por supuesto :-)

No, en realidad es que he probado el latex para dar charlas y el powerpoint y no hay color. En otras cosas (edicion, programacion, etc) puede que linux sea mejor, pero en las presentaciones, microsoft se lleva la palma.

Saúl dijo...

Vale, eso ya no parece publicidad gratuita. Y, evidentemente, esta fuera de lugar discutir las virtudes del poguerpoin, que nadie puede dudar de que es un gran programa.

Anónimo dijo...

Gracias, Saúl. No te había dicho nada porque he tenido una semanita... Pero ya estoy recuperado. En cuanto tenga un rato lo pruebo. Yo, a diferencia de Esteban, creo que es bueno saber usar tanto el PowerPoint como el prosper. Nunca se sabe...

Saúl dijo...

Vaya Jose... Bueno, pues gracias por el comentario (y de nada!). Si hay cualquier duda o problema, preguntadme, si hace falta hasta os envio el codigo de alguna charla con peliculitas para que veais.

Pere Marc dijo...

Hola,
qué suerte haber encontrado tus indicaciones! Sin embargo me da un error al compilar en pdf: no reconoce la secuencia del conjuro. A parte, estoy intentando averiguar si se podrían definir botones para ponder en pausa el video desde el pdf. Muchas gracias!

Saúl dijo...

Que raro, Pere. Habras puesto el conjuro tal y como lo doy en el enlace y no copiando y pegando de la entrada del blog, verdad? Porque de la ultima forma algunas lineas que deberian estar juntas salen truncadas y eso puede causar errores, no se... Yo compilo el archivo latex a un dvi, el dvi lo paso a ps con dvips -P pdf archivo.dvi, y finalmente el ps a pdf con ps2pdf14. Si no lo has hecho asi, prueba a ver, y suerte.

En cuanto a lo de los botones en el pdf, ni idea, pero si descubres algo no dejes de compartirlo ;-)

Anónimo dijo...

Hola Saul, he visto tu conjuro para videos en PDF con Tex y es impresionante, pero lo que yo andaba buscando es como colocar imagenes en la cabecera de las páginas, tipico logo corporativo.

Gracias por leer, un saludo.

Moisés dijo...

Hola Saul. Soy un nuevo usuario de Latex. Suelo usar el TexnicCenter de windows. He visto que has recomendado para compilar una ruta que no se como se hace con el TexnicCenter (con el TexnicCenter paso de latex a pdf directamente) , por ello me he pasado al Texmaker para compilar el documento como has dicho.
Tengo el siguiente problema:
A la hora de incluir el video .avi lo hago de la siguiente forma:

\begin{center}
\movie{4.cm}{4.cm}{video.avi}
\label{fig:prueba}
\end{center}

y se me crea un pdf con el video. Pero tengo un problema y es que cuando le doy encima de la imagen cutre que se crea el video camina a alta velocidad y no se oye el sonido.

Por otro lado cuando pongo:

\begin{center}
\moviewithpreview{3.5cm}{foto.eps}{video.avi}
\label{fig:prueba}
\end{center}

al compilarlo me sale el siguiente error:

!Undefined control sequence. \moviewithpreview{3.5cm}{foto.eps}

Te agradecería que me contestaras al correo electrónico: moisdc@gmail.com

Felicitarte por este post que es bastante interesante:

Saludos
Moisés

Manu dijo...

Pues obviamente, la diferencia entre esa herramienta llamada power point que es faciliiiiisima de usar y latex, pues una cuesta y la otra es GRATIS, además son usadas de para diferentes cosas, latex si sirve para presentaciones, pero sirve mas para hacer libros, ediciones de gran volumen, pues ahi no tendrás que reescribir muchas cosas, tiene buenas funciones para eso.

Ahora si comparas el open office(presentaciones) con el powerpoint saldra ganando el open office pues es GRATIS y hace lo mismo.

Saludos

Anónimo dijo...

Vamos..., compilar en latex muchas veces es un dolor de huevos. Pasa que si trabajas con eso le vas agarrando la mano y todo es inmediato. Luego no se puede volver a Windows, hasta que no podes incluir una animación. Lamentablemente tengo que tenerlo instalado por que en linux no puedo reproducir el avi. Tanta chachara no se si alguien lo habrá probado, pero el conjuro no funciona, o por lo menos a mi, me pone "\movie is already defined". Que se yo. No voy a estar tratando de hacerlo compilar mas tiempo del que me va a llevar hacer la presentación. Sabe alguien lo que puede ser? creo que por algun motivo el paquete hyperrref se anula "because \thepage is undefined"

abrazos

julián

Anónimo dijo...

Ahí lo hice funcionar, se me había pasado uno de los post, el que dice que hay que compilar primero en dvi, luego to ps, luego a pdf. Lo probé en win, y el adobe me pide si deseo ir buscar el archivo. algo es algo, vere si lo acomodo y les comento.

julián

Anónimo dijo...

Hola Saul, no se si me contestaras, ya que esta entrada es del 2006, pero bueno. El caso es que tengo que hacer un trabajo de animaciones en latex para la facultad y buscando en el google, he llegado aqui. Utilizo el texmaker y he probado a hacer lo que explicas y me da error al intentar compilar en la linea en la que escribo:
\movie{4.cm}{4.cm}{pelicula.avi}
en cambio si comento esta linea, no me da errores de compilación (es decir, el conjuro no me da ningun problema) ¿podrias ayudarme? espero tu respuesta por favor, me serías de gran ayuda. Puedes contestarme también a
olga1800@hotmail.com
Gracias

Anónimo dijo...

Hola!!!!!!

a mi tampoco me funciona y lo necesito!!!!!!!!

por favor, mañana tengo una presentación y no se que hacer, os agradecería mucho si alguien me explica por qué no me funciona el conjuro. Utilizo Winedt!!!

correo: mdcbr1977@hotmail.com

gracias de nuevo

Saúl dijo...

Hola Anónimo,

Pues no sé, yo acabo a probar a compilar de nuevo un documento con el conjuro y me ha funcionado... Si me das un poco más de información, a lo mejor puedo ayudarte. Te hago unas preguntas.

Primera pregunta: ¿te has acordado de incluir el paquete hyperref?

\usepackage{hyperref}

Segunda pregunta: ¿has copiado y pegado el conjuro tal cual aparece en el blog o te has bajado el archivo que doy en el enlace y lo has copiado de allí? Tal cual aparece en el blog, las líneas tienen un retorno de carro ficticio en el medio que hacen que no funcione el conjuro.

Tercera pregunta: ¿el fallo te aparace al compilar, o al intentar usar el pdf generado? Si es al compilar, ¿cuál es el mensaje de error? ¿Has probado a compilar primero de tex a dvi, pasar luego de dvi a ps y finalmente del ps a pdf? Con el winedit puedes hacer todos estos pasos, y creo que funcionaría mejor que compilando directamente de tex a pdf.

Espero ser de alguna utilidad. Un saludo.

Saúl dijo...

Al final hemos podido resolver (por e-mail) el problema del último comentario anónimo. Estaba usando para la presentación la clase landscape, que le daba problemas al compilar paso a paso como he explicado más arriba (compilando directamente de latex a pdf, usando pdflatex, por ejemplo, el conjuro no funciona). Al final ha usado la clase beamer y todo ha funcionado a la primera.

Anónimo dijo...

Hola; tengo un pequeño problema y pase por aca para ver si me puedes ayudar


Sabes tengo una version del miktex 2.4.

Cumpli con los pasos básico de instalación, es decir, primero el fantasmita negro luego el fantasmita de lentes, el miktex 2.4 y finalmente el winEdt, pues asi me habia enseñado el profesor en la universidad, sin embargo trate de probar corriendo un programa para verlo inicialmente en dvi, y resultó que aparece una ventanita con la siguiente información:

“TeXify Failed To Create a dvi File

for possible explanations start command from the command prompt or read the log file (Captures by WinEdt during
the execution)”

Entonces en realidad no tengo idea en como reparar este asunto. Si tienes alguna idea te agradeceria muchisimo.

Gracias Y Saludos

Saúl dijo...

Último Anónimo: tiene todo el aspecto de que el fichero .tex que intentaste compilar contenía algún error, o hacía referencia a ficheros con figuras que no tenías en la carpeta, o algo así. Asegúrate de que no hay errores con el LaTeX de tu fichero.

Anónimo dijo...

hola gracias!!!! me sorprendio tu rapida respuesta en verdad GRACIAS

Sin embargo fui a la fcu y actualice el miktex 2.7-3164, el fantasmita negro (gs853w32) y el fantasmita blanco(qsv48w32) e incluso el winEdt 5.5, porque revisar los ficheros seria un poco atariado, sobretodo porque no contaba con el tiempo.

La version que estoy usando ahora es simplemente un poco mas de lo conocido, e incluso estoy sorprendida pues ahora incluso dice que pelis.avi se pueden llegar a reproducir!!!!

Gracias y chevere este foro- ;)


Att: LIS

Saúl dijo...

De nada Lis :-)

Unknown dijo...

HOLA A TODOS EH ESTADO ESCUCHANDO SUS PROBLEMAS CON EL COMANDO
\begin{center}
\movie{4.cm}{4.cm}{video.avi}
\label{fig:prueba}
\end{center}
YO TAMBIEN SOY NUEVO USUARIO Y QUERIA METER UN VIDEO A MIS DIAPOSITIVAS Y ME CORRIA MUY RAPIDO Y SIN SONIDO, PERO LO RESOLVI, LO QUE HICE FE LO SIGUIENTE:
1)-CONCEGUI LO MAS RECIENTE EN PROGRAMAS(NO SE SI HAY MAS RECIENTES), EL MIKTEX 2.7... ETC.
2)- USE \usepackage{multimedia}
3)-USE EL COMANDO \movie{4.cm}{4.cm}{video.avi} PERO YO LO PUSE HACI
\movie[width=10.8cm,height=6.5cm,borderwidth=0.05cm]{7 profecias)}{profecias.avi}
4)-PERO ALGO QUE DEBEN SABER ES QUE TIENES QUE COMBERTIRLO A .AVI MOTION JPEG AVI Y LUEGO LO METI Y ME CORRE BIEN REPRODUCE SONIDO Y ESTOY FELIZ.

ESPERO Y LES SIRVA
NOTA: SI ALGUI SABE METER MUSICA A LAS DIAPOSITIVAS DIGANME NO SEAN MALOS

Unknown dijo...

Hola, estoy intentando aplicar el conjuro pero me aparece esto en la presentacion


[ ]pdfmark=/ANN,Subtype=/Movie,Movie=<<
/F (Movie1.glider1.avi) /Poster true >>,Activation=<<
/ShowControls true /Mode /Repeat >>


no puedo acceder a la pagina para descargarme el codigo y he tenido que copiar y pegar.

Gracias

Saúl dijo...

amegcita: ya está arreglado el enlace, Ahora deberías poder descargarte el conjuro sin problemas. Disculpa por el fallo y espero que ahora te funcione.

Unknown dijo...

saul, muchisimas gracias por tu pronta respuesta, pero sigo teniendo el mismo error :( y necesitaria solucionarlo, alguna idea?

Saúl dijo...

Hmmm. ¿Te has leído la lista de comentarios? Es un poco larga, pero hay una serie de problemas que la gente se ha ido encontrando y que hemos ido solucionando... Si ninguno de esos casos es el tuyo, dime y pensamos a ver lo que puede ser...

Unknown dijo...

si saul, y el unico que creo que pueda que me sirva es el de pasar de tex a dvi, de dvi a ps y de ps a pdf, pero me he quedado en el paso de pasar a dvi y no se seguir

el error me dice ! No room for a new \dimen .

Saúl dijo...

No hay ninguna \dimen en el conjuro, así que tienes algún error en algún sitio de tu código LaTeX que tienes que arreglar para que te compile bien. Una vez puedas compilar el tex sin problemas, todo debería ir bien. (En mac o linux, dvips -P pdf nombre_de_archivo.dvi para generar el ps, y ps2pdf14 nombre_de_archivo.ps para generar el pdf).

Anónimo dijo...

hola Saúl, te cuento que descargué el conjuro lo copie a mi documento, y no funciona, no logra compilar:

\begin{frame}
\begin{center}
\movie{4.cm}{4.cm}{coranim.avi}
\end{center}
\end{frame}

Intenté generando .dvi luego ps, etc, y tampoco resulta. Cuando no uso el comando \movie o \moviewithpreview, puedo generar el pdf, osea que el conjuro no mete el error.
Trabajo con winedit, y hago una presentación de diapositivas utilizando beamer. Una mano en este asunto.

Saúl dijo...

Hola Anónimo. Pues no sé. Si no hay nada que te resuelva el problema leyendo la lista completa de comentarios e intentando los trucos que se discuten ahí, a mí ya se me ha acabado la sabiduría sobre este tema :-(

Anónimo dijo...

Hola, les comparto la manera que encontre para poder incluir videos, el código es el siguiente:

\documentclass[12pt]{article}
\usepackage{geometry}
\geometry{verbose,letterpaper}
\usepackage{movie15}
\usepackage{hyperref}

\begin{document}
Whispering-gallery mode in a quarter circle:
\begin{figure}[h]
\includemovie[
open,
controls,
poster,
text={\small(video.mp4)}
]{5cm}{5cm}{video.mp4}
\end{figure}
\end{document}

Yo lo he usado y se compila perfectamente con TeXnicCenter, solo que hay que tener una version reciente del adobe reader o acrobat, espero les sea útil.

Anónimo dijo...

al compilarr un archivo cualquiera me salee ste mensaje..

TeXify failed to create a dvi file. For possible explanation start the Command Prompt or read the log file (captured by winedit during the execution


cualquier cpomentario gracias

Saúl dijo...

Anónimo, parece que hay algún error en tu archivo tex. Sin más información no puedo decirte más, lo siento.

Por cierto, encontré una página (en inglés) donde dan unos buenos trucos para presentaciones en LaTeX (usando la clase beamer), incluída una forma sencilla de poner películas:

http://www.shawnlankton.com/2008/02/beamer-and-latex-with-keynote-theme/

Anónimo dijo...

Buenas, se que esta entrada es un poco antigua pero si alguien pudiera mandarme el famoso conjuro en formato .tex, ya que si copio y pego no me funciona.

Saúl dijo...

¡Puf! ¡A saber si ese conjuro seguirá funcionando hoy en día! Prueba a copiar y pegar el conjuro en algún editor que sea modo texto, y asegúrate de que no haya algún carácter que salga "raro", si es así, sustitúyelo por lo correcto. En el peor de los casos, puedes copiarlo escribiéndolo a mano para asegurarte de que no haya errores. De todas formas, revisa todos los comentarios anteriores, en los que se discuten una serie de problemas. Para algunos se proponen soluciones, pero otros se han quedado ahí... ¡Suerte!


Gonzalo dijo...

Buenos dias

Existe la posibilidad (ya no recuerdo cómo), de tomar un conjunto de imagenes en png y que beamer (latex) los muestre como una secuencia animada, sin tener que crear un gif o una pelicula.

¿Saben cómo es? No logro encontrarla en la web.

PD: el fanatico de powerpoint (que para mi es un programa que me da asco lo poco formal que és) que vaya a un foro de microsoft y deje vivir a los demas tranquilos

Saúl dijo...

Ni idea, lo siento.