Archivo de Abril, 2008

¿Qué es LaTeX?

Latex Logo

Aunque esta entrada es básicamente mi respuesta a la petición en los comentarios de mi amiga Paula, no viene mal tener un pequeño resumen apuntado al que dirigir a todo el mundo que en la biblioteca me pregunta sobre el extraño código que ven en mi pantalla (y así, dicho sea de paso, arrojar un poco de luz sobre mis infelices amigos y compañeros que no ven más allá del Word).

Para explicar qué es LaTeX hay que hablar primero de TeX y para hablar de TeX hay que hablar primero de Donald Ervin Knuth, para lo cual me pondría de pie si no fuese porque no puedo sujetar el portátil y escribir a la vez. Donald Knuth está considerado el padre del análisis de algoritmos, es el autor de la obra de 7 volúmenes “The Art of Computer Programming” y sus contribuciones a las Ciencias de la Computación han sido tan notables como para haber recibido el premio Turing (algo así como el nobel en Ciencias de la Computación) y la medalla John Von Neumann.

Situémonos en el tiempo, a finales de los 70. Donald Knuth recibe las pruebas de impresión de la segunda edición del segundo volumen de su gran obra para revisarlas antes de su publicación, las mira y queda totalmente horrorizado por el aspecto de las tipografías. Se le ocurre entonces que las letras y los símbolos no son más que unos (poner tinta en un punto) y ceros (no poner tinta) y que él, como el científico consagrado que es, debería poder hacer algo al respecto. Así pues, se le ocurre crear su propio sistema tipográfico, orientado además a escribir símbolos matemáticos y textos científicos en general, y calcula que en unos 6 meses lo puede tener listo. En realidad, esos seis meses se convertirían en 10 años en los que sumarían multitud de añadidos y colaboraciones de gente, pero lo importante es que había nacido TeX. TeX en realidad es un lenguaje de programación basado en macros, que constituye la pieza central de todo el sistema tipográfico inventado por Knuth. Escribir un documento usando TeX es por así decirlo, como escribir un programa. Ese programa es compilado y el resultado es un archivo DVI que se puede imprimir o visualizar con un visor adecuado o convertirlo a otro formato (por ejemplo, PDF). Los poderosos algoritmos ideados por Donald Knuth calculan la disposición óptima para todos los caracteres y símbolos, de forma que cualquiera, con su ordenador, puede crear documentos, libros o artículos de la misma calidad que una imprenta profesional.

LaTeX es un sistema de preparación de documentos, que consiste en una colección de macros de TeX, junto con un programa que las procesa. Fue escrito por Leslie Lamport (también ganador de la medalla John Von Neumann) en 1980 y proporciona un lenguaje de más alto nivel que TeX, para crear documentos. En la actualidad casi nadie escribe código TeX directamente, ya que usar las macros de LaTeX es mucho más simple. La idea de LaTeX es separar el diseño del contenido. Tú describes qué es cada cosa, sin preocuparte del aspecto, dejas a TeX hacer su trabajo y voilà, calidad de editorial científica. Para que os hagáis una idea, mirad éste ejemplo:


% Esto es un comentario
% Documento de ejemplo para mostrar lo guay que es LaTeX
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\title{\LaTeX}
\author{Rosa}
\begin{document}
\maketitle
\section{Introducción}
\LaTeX{} es lo mejor que hay para escribir textos científicos.
Si quiero escribir la Ley de Gauss en forma integral y diferencial,
no tengo que usar ningún \emph{pain-in-the-ass}-editor de ecuaciones del Word
y el resultado queda tan perfecto como esto:
\begin{eqnarray}
\Phi = \oint_S \vec{E}_{(R)} \cdot d\vec{A} \\ % Forma integral
\vec{\nabla} \cdot \vec{E} = \frac{\rho}{\epsilon_0} % Forma diferencial
\end{eqnarray}
\end{document}

El resultado de compilar ese código es éste:
Ejemplo Latex

Puedo afirmar sin temor a equivocarme que la gran mayoría de artículos que se envían a congresos o que se publican están escritos usando LaTeX. Muchos de los libros que caen en mis manos también, muchísimos apuntes de profesores o las transparencias que usan para dar sus clases… Casi cualquier cosa en el entorno académico debería escribirse en LaTeX, en realidad. Cuando estuve en Linz, muchos de mis compañeros entregaban sus deberes en LaTeX y allí se ofrecía incluso una asignatura optativa sobre el tema. Aunque su uso principal es el de documentos científicos, lo cierto es que se puede usar para cualquier cosa. Hay multitud de paquetes, algunos incluso para escribir música, con los que se consiguen resultados increíbles.

Yo lo llevo usando desde que empecé la carrera de teleco, hace más de 5 años ya. Para aprender me gusta mucho el libro de Leslie Lamport, LaTeX, A Document Preparation System, porque viene tanto lo básico como un montón de cosas avanzadas y un apéndice de referencia genial. Bueno, y porque sale un león muy pulcro en la portada (es el propio Lamport). Por supuesto, hay un montón de tutoriales y recursos en la red.

Para usar LaTeX en Linux se puede instalar el paquete TeX Live y en Mac recomiendo instalar Mac-TeX, que ya trae todo lo necesario. En Windows recomiendo cambiar de sistema operativo. Además de eso hace falta un editor de texto, que dependerá de cada uno. Cuando mi sistema operativo principal era Linux, escribía el código usando Vim con el añadido de Vim-LaTeX. Después de pisar mis principios y pasarme al lado oscuro estuve usando TeXShop que es específico para LaTeX, es libre y está bien (viene incluido en Mac-TeX). Luego vendí el último trozo de alma que me quedaba y descubrí TextMate, pero eso es otra historia.

Por cierto, TeX se pronuncia /tej/, porque la X viene en realidad de la letra griega ji.

El webcomic definitivo

Tengo pendiente una entrada contando qué es eso de Latex, pero tenía que enseñar esto.

Embedding NP-complete problems in restaurant orders

La semana que viene vuelve mi tutora del PFC de Viena, después de un mes allí dando clase. Como cuando llegue y vea lo que tengo hecho va a querer matarme, estoy tratando de disfrutar el poco tiempo de vida que me queda. Así pues, xkcd, "a webcomic of romance, sarcasm, math and language".

Escribir algoritmos en LaTeX

Como parte de mi proyecto fin de carrera tengo que escribir un cierto número de algoritmos. Si no se hace del modo adecuado, crear el código LaTeX para mostrar pseudocódigo puede ser una tarea sumamente tediosa y exasperante. Para incluir código fuente, con coloreado de sintaxis y sus tabulaciones y todo, hay herramientas que generan el código necesario a partir de los archivos fuente, como por ejemplo Highlight que es el que yo uso. Sin embargo, el pseudocódigo hay que escribirlo a mano, teniendo en cuenta las tabulaciones, las palabras clave, etc. para que quede bien presentado y ordenado. Es deseable además contar con una numeración de algoritmos a lo largo del documento, tal y como se hace para las tablas o las imágenes, y también con la posibilidad de usar referencias cruzadas mediante \caption, \label y \ref.

Todo esto es muy sencillo de conseguir mediante el paquete algorithms. Hay un par de paquetes más que aportan más flexibilidad o entornos distintos según el lenguaje… pero para lo que yo hago me sobra con el algorithms. La pega que tiene es que el código que genera está en inglés y en el paquete babel no hay traducción, así que para escribir algoritmos en español es necesario redefinir los comandos. Es lo que he hecho en este archivo, spanishAlgorithmic.tex, que se puede bajar y guardar en el directorio donde estén nuestros ficheros .tex. Para poder usar todo basta con incluir en el preámbulo del documento lo siguiente:


\usepackage{algorithm}
\usepackage{algorithmic}
\input{spanishAlgorithmic} % mi archivo de traducción

Y bueno, a continuación unas pequeñas indicaciones de los comandos y opciones que aportan estos dos paquetes.

Lee el resto del post »

Recomendación: VG Cats

De todos los cómics, tiras y dibujitos varios que pululan por Internet, uno de mis favoritos es éste, VG cats. El tema principal son los videojuegos y los dibujos son absolutamente geniales. Algunos no son demasiado graciosos, pero con otros como éste nos ha entrado el pavo más de una vez en la biblioteca. También se publican de vez en cuando colaboraciones o guest comics de otros autores que en ocasiones son más divertidos que el original, como éste de Pokemon Perla/Diamante (aquí traducido al español).

Ocasionalmente, en vez de publicar una tira, aparecen cosas tan guays como este póster de 100 kirbies, que además se puede comprar en la tienda. Quedaría genial en mi pared, ¿alguien me lo regala?

100 Kirbies

Oporto

Callejuela de Oporto
La idea de hacer este viaje partió de las pocas horas que pasé en Oporto en enero y de lo mucho que me gustó lo poco que vi de la ciudad. Además de lo obvio (es muy bonita, el café cuesta tan barato como en Lisboa, los pasteles y dulces están buenísimos…), me gustaría recomendar esta ciudad para cualquier viaje corto. Todo lo que hay que ver se puede visitar más o menos rápido porque no es muy grande. Hay muchísimas cuestas por todas partes, así que andar cansa bastante. Los ciudadanos de Oporto deben de tener unos gemelos y unos tobillos bien recios, porque a mí, después de 2 días y medio para arriba y para abajo, me salieron unas agujetas que ni con los más sofisticados artilugios de mi gimnasio. Hay incluso osados oportenses que cogen la bici (o la bajan con una cuerda desde la ventana) y se desplazan con ella, cuesta arriba desarrollando la fuerza de 14 elefantes adultos en cada pierna, o cuesta abajo, arriesgando su vida y superando la velocidad del sonido. Las calles están hechas de irregulares adoquines y cuando llueve (muy a menudo), cada paso es una trampa mortal en sí mismo.

Buzon en Oporto
Voy a ir a lo práctico, por si alguien quiere viajar hasta allí. La forma más económica para ir desde Sevilla es sacar un billete de autobús con Alsa con al menos 30 días de antelación, porque así sale por 50€ ida y vuelta. La parte mala son las 12 horas del viaje de ida y las 13 horas del viaje de vuelta. Yo nunca había hecho un viaje tan largo en autobús pero lo cierto es que no se me hizo nada pesado. A mi favor juegan mi capacidad para dormir de cualquier manera en cualquier parte y el poder leer en los autobuses sin marearme. El tiempo que no estuve durmiendo lo pasé leyendo o escuchando Dire Straits y podcasts de videojuegos. Para dormir en los autobuses o trenes os recomiendo una almohada de esas hinchables que se adaptan al cuello, como ésta.

Los autobuses internacionales que llegan a Oporto paran en Praça da Galiza. Está a unos 20 minutos andando rápido del centro, pero si se va con maletas o se está cansado después de las 12 horas de autobús, se puede coger los autobuses 202 o 207.

Oporto Poets Hostel terraza
En cuanto a dormir, nosotros nos quedamos en el Oporto Poets Hostel, concretamente en la habitación de 8 camas con baño dentro. Cuesta 18€ por persona y noche, con desayuno. El sitio es de los mejores en los que he estado. Además de estar muy céntrico, para poder ir andando (o escalando) a todas partes, tiene una terraza con una hamaca y tumbonas, una mesita de picnic y un cesped con cojines gigantes para tirarse. Si tenéis suerte y pilláis 2 días con 30º, sol y cielo azul como nos pasó a nosotros, no querréis salir de allí. Si llueve, los cojines gigantes van al salón, junto con más puffs y sofás y una tele con DVD y pelis y libros para leer. Organizan cenas de vez en cuando, la cocina se puede usar libremente y para el desayuno tenían mermeladas caseras de kiwi, nueces y canela, fresas y bizcocho hecho por la madre del dueño. También hay un par de ordenadores para usar Internet gratis y wifi. En definitiva, es un sitio muy recomendable. Si alguien va, recomiendo llevar un mapa impreso para llegar al sitio desde la Torre dos Clerigos, porque es un poco lioso.

Hicimos algunas fotos, que como siempre, están en mi cuenta de flickr.

La casa de los espíritus

La casa de los espíritus

  • Isabel Allende
  • Editorial RBA
  • ISBN: 8447306615
  • 447 páginas

Love it!

Tener un libro de este calibre entre las manos y disponer del tiempo necesario para devorarlo, en poco tiempo, casi de un tirón, rodeado de un entorno que de tan perfecto parezca mentira, es de las mejores cosas que me podían pasar últimamente.

He aprovechado un mini-viaje a Oporto para leer La casa de los espíritus, en la terraza llena de cesped y hamacas con vistas a la catedral y a multitud de tejados desvencijados de colores de un bonito albergue portugués. Aunque con esa infraestructura cualquier libro me podría parecer bueno, en este caso ha sido demasiado.

Éste es uno de esos casos en los que sabes que un libro es bueno, que lo has visto en la estantería de casa y que deberías leerlo pero por alguna razón u otra no lo haces y va pasando el tiempo, sin que puedas imaginarte lo que te estás perdiendo. Cuando por fin te da por ahí y lo empiezas, te preguntas irremediablemente por qué no lo has leído antes y te maravillas de que exista gente capaz de escribir como Isabel Allende lo hace.

La casa de los espíritus cuenta la historia de la familia Trueba a través de 4 generaciones distintas de la misma. El tiempo transcurre ágil y veloz por las páginas de la novela, tan llena de detalles descriptivos que te parece estar allí viéndolo todo con tus propios ojos, dibujando de forma tan precisa las personalidades de los personajes que te parece conocerlos de verdad. Es una auténtica obra maestra, llena de drama, de pasión, de dolor, de amor, de violencia y guerra pero sobre todo de una calidad narrativa que asusta.

Lo terminé ayer y me estoy planteando volver a empezarlo hoy mismo porque desde que leí la última frase del epílogo no me puedo sacar el librito de la cabeza. Lo único malo es que ahora casi cualquier libro que lea, por muy genial que sea, saldrá perdiendo en comparación con éste.

Mi consejo, por supuesto, es que lo leáis ya. En la entrada de la wikipedia sobre el libro tenéis más información.

2008-14

(Así es, es el número 14 de este año. Me he dejado 6 o 7 en medio sin comentar pero es que leo más rápido de lo que escribo y luego me da mucha pereza. Éste me impactó tanto que quería escribir ya el comentario.)

Antes de salir para Oporto

Machacarse las rodillas en el gimnasio, subir a 4 montañas rusas seguidas, hacer subir las acciones de Apple comprando un MacBook Pro, hacerse adicto a los M&M, descubrir el Patapon para PSP, que te regalen un iPod touch y hacer subir aún más las acciones de Apple… Todas esas cosas ayudan a dejar de estar amargado pero nada comparable a la primera línea de código y sobre todo a la primera página de tu proyecto fin de carrera, reluciendo escrita en \LaTeX.

Nos vemos el martes.

Anterior1Siguiente