Buenas! De poner a parir nada, qué forma más chula de sacar presentaciones resultonas y semiautomáticas! Como he visto aparecer a gnuplot, al que he sufrido muchos años, no me he podido resistir a hacer una alternativa con matplotlib, de quien estoy enamorado... Requisitos: apt-get install latex-beamer python-matplotlib De paso hay cambios mínimos, como usar tildes y ñ directamente, que hace tiempo que se puede. Y he metido todo en presentacion.tex para no ir con here-documents o similares. Así se edita con sintax highlighting más mona, hay menos ficheros intermedios y nimiedades así (que van según gustos!). Pero sobre todo, matplotlib hace plots muy monos en dos patadas, mucho más configurables y con una calidad que ya le gustaría al gnuplot. Ahí va compartida mi versionilla, con lo que he podido aprender de Mia++ más los bugs que yo haya metido. J. 2013/3/18 Mia++ <mhiper3+list.bofhers@xxxxxxxxx>: > Greetings, Earthlings!! > > TL;DR: Adjunto va un script ejemplo de llamadas a gnuplot y uso de Beamer > > Hace unos días hablando por twitter de los maravillosos poderes de awk y > grep se me ocurrió mencionar (nunca aprenderé) que yo tengo scripts que me > generan presentaciones automáticamente. En aproximadamente 2.1 segundos > alguien me tomó la palabra y exigió pruebas. > > Así que, con retraso para buscar un ejemplo sencillito, aquí va un ejemplo. > En el tgz adjunto están los ficheros "de usuario" necesarios para el > ejemplo: > - Un access_log de apache "limpio" de IPs y contenido real (sólo vamos a > user el código HTTP y el tamaño de la respuesta). > - Dos ficheros de latex que usaremos de cabecera y como contenido de la > presentación generado fuera del script. > - Un fichero logo.png que usaremos como logo corporativo (obtenido de > http://meta.serverfault.com/questions/3368/bofh-gravatar-week-lets-keep-going). > - Un script the bash que nos generará la presentación. > > El script está hecho y probado en CentOS 6.3. Aunque no lo he probado en > otras distros, los scripts "reales" que uso funcionan en Fedoras, Debians, > Archs y cygwins con ajustes mínimos. > > DISCLAIMER: Esto es un ejemplo. Hay muchas cosas hechas de forma ineficiente > y sucia, y probablemente un mono borracho lo haría mejor. El problema es que > el último mono borracho que tuve me dejó por otro. > > VERSIÓN CORTA (para impacientes) > =========================== > - Necesitaréis latex, Beamer y pdflatex > - Ejecutando el script > - Se crearán gráficas a partir del log de apache usando gnuplot. > - Se generarán dos ficheros "dinámicos" de latex para incluir esas > gráficas en la presentación > - Se creará la presentación final en PDF con el nombre main.pdf > > VERSIÓN LARGA: > ============== > - Necesitaréis latex, Beamer y pdflatex > - Ejecutando el script > - Se crearán gráficas a partir del log de apache usando gnuplot. > - Se generarán dos ficheros "dinámicos" de latex para incluir esas > gráficas en la presentación > - Se creará la presentación final en PDF con el nombre main.pdf > > No, en serio. El script no es complicado. Lo que hace es: > - Parsear el log de apache para generar los ficheros de datos para > gnuplot. > - Generar el fichero con los comandos de gnuplot de forma dinámica. Para > cosas rutinarias es más fácil crear el fichero a mano y simplemente > invocarlo. Si se van a tener rangos de ejes, etiquetas, títulos,etc... > dinámicos, aquí va un ejemplo de cómo hacerlo. > - Genera un fichero de latex para cada imagen generada. > - Genera un fichero de latex que invoca a los ficheros .tex estáticos que > van en el adjunto y los dinámicos que hemos generado. > - Invoca a "pdflatex" para generar la presentación. > > > PREGUNTAS MÁS FRECUENTES > ========================= > "He visto que al final de script....." > No, no es un error. Hay que llamar a pdflatex dos veces. Si usas latex > ya sabes por qué. Si no, te da igual. > > "Esto es una mierda y no funciona en la realidad" > A lo primero no lo puedo poner remedio. En cuanto a lo de usarlo en la > realidad, totalmente de acuerdo. Para hacer un ejemplo autocontenido ha > habido que haber varias pirulas (como lo de generar los ficheros de gnuplot > dinámicamente (éso sólo lo uso cuando no sé cuántas imágenes voy a generar; > por ejemplo, cuando volcamos logs de aplicaciones a un servidor para generar > las gráficas y no sé de antemano cuántas hay). > La otra cosa que cambia mucho del ejemplo a la realidad es cómo > generar el contenido "texto" de la presentación. El objetivo del script no > es evitarme poner el texto, sino el generar los ficheros de datos (csv o lo > que sean), pasarlos a un windows, generar las gráficas, pegarlas en > powerpoint, pegarme 2 horas con powerpoint porque las está colocando como le > da la gana y luego volver a pasar el ppt al servidor web y mandar el correo > a todo el mundo. > Con eso claro, antes de lanzar el script edito a mano un fichero .tex > con el contenido de texto de cada sección y los pongo en un directorio. > También creo en otro directorio un fichero de texto por cada imagen con el > texto que irá en la diapositiva de la imagen correspondiente. El script lo > que realmente hace es generar un main.tex que carga la cabecera (siempre la > misma), carga todos los .tex que ya he creado, y pone las diapositivas con > las imágenes (y el texto correspondiente) en la sección que les toca. > Jugando con la nomenclatura de los ficheros (pista: el nombre del fichero es > la sección en la que va) es muy fácil. > De esta forma una vez creo los .tex con el texto, sólo con ejecutar el > script me genera el PDF, lo sube al servidor y manda el correo de aviso a > todo el mundo. > > "Esta presentación es una basura. No tiene efectos, ni animaciones ni > sonidos..." > Lo siento, Mario, pero tu princesa está en otro Sistema Operativo. > > > "Podías haber hecho todo el primer comando en el mismo awk" / "Con Latex > es mejor usar eps, no png" / "Tienes faltas de ortografía" / "Se escribe > LaTeX" > Sí, ¿y? > > "Me da un error al ejecutar el script, con el comando XXX" > Es posible. Si dices qué error, se mirará a ver qué se puede hacer. > > "Me da un error al ejecutar pdflatex" > La vida es dura. Y con Latex, aún más. Prueba usando "latex" en vez > de pdflatex y mira a ver si el dvi resultante se ve bien. Si no, que $DEITY > tenga piedad de ti. > > Hala, ya podéis ponerme a parir. > > > MIA++ >
Attachment:
script_beamer_alt.tar
Description: Unix tar archive