LyX: El procesador de documentos ================================ Hay muchas áreas de las interfaces comunes con las que la mayor parte de los usuarios de computadoras trabaja a diario que damos por buenas simplemente por ser las más comunmente utilizadas, sin que necesariamente sean óptimas - y los procesadores de textos, una de las herramientas que más decididamente catapultaron la revolución de las computadoras personales. ¿Qué? ¿Este artículo pone en jaque la superiordad de una de las herramientas más comunes y más exitosas del mundo? En efecto. Y no me voy a limitar a recomendar una alternativa libre al procesador de textos más difundido del mundo Windows, Microsoft Word - A estas alturas, los lectores asiduos de la columna Linux de PC Magazine deben estar más que familiarizados con OpenOffice, Abiword o KWord. Seamos ambiciosos - Como siempre, en la Sección Linux presentaremos una alternativa a la manera tradicional de hacer las cosas. Hoy hablaremos acerca de LyX (http://www.lyx.org/), el procesador de documentos. Comencemos por el principio: ¿Qué es LyX? ¿Qué lo diferencía de un procesador de textos? ¿Sobre qué base tecnológica está creado? A mediados de los 70, el computólogo Donald Knuth descubrió, frustrado, que con la tecnología existente era imposible publicar con la calidad que él esperaba su ahora clásica serie de libros, "The Art of Computer Programming". En 1977, arrancó un proyecto que estimó que le llevaría parte de su año sabático en la universidad de Stanford: El lenguaje tipográfico TeX. El proyecto no fue tan rápido ni sencillo como originalmente lo había previsto - El desarrollo duró más de diez años y se extendió con la ayuda de expertos en diversas áreas de la edición y tipografía de todo el mundo, terminó cubriendo muchas áreas a las que no preveía llegar originalmente, desde un lenguaje para la definición matemática de fonts (MetaFont) hasta un poderoso lenguaje de macros (LaTeX). Y si bien desde 1990 no ha habido cambios fundamentales al sistema TeX, ese no es más que el punto de partida de nuestro tema de este mes. LaTeX es un sistema muy poderoso, apto para escribir desde simples notas, pero especialmente orientado a documentos complejos y largos, sobre los cuales se vuelve necesario aplicar un estilo consistente de principio a fin, y tal vez separarlos en diferentes archivos, como en el caso de libros donde diferentes autores escriben diferentes artículos. Sin embargo, escribir directamente en LaTeX comunmente espanta a los novatos, pues la definición de los elementos de un documento se debe indicar por medio de un lenguaje, como lo pueden observar en la primer captura de pantalla [IMAGEN: emacs_latex.png], y no es posible ver los resultados de inmediato, sino que tenemos que compilar nuestros textos fuente para poder ver el documento terminado. El lenguaje es simple de aprender (personalmente, lo aprendí siendo aún un niño en 1983), pero no tiene el grado de usabilidad al que estarás acostumbrados hoy en día. Un documento de LaTeX tiene un preámbulo que, si bien puede ser reducido, requiere que le declares -a través de comandos textuales- el tipo de documento que quieres escribir, y sólo no nos permite conocer cómo será el documento una vez terminado, sino que no puedes saber si tecleaste un comando equivocado sino hasta el momento de preparar una versión del documento terminado (de compilarlo). No es terrible, pero fácilmente cansa incluso a los usuarios novatos. Hacia 1995, Matthias Ettrich inició un proyecto que proporciona a los usuarios la flexibilidad y potencia de LaTeX, y la sencillez de uso de un procesador de textos, LyX. Probablemente conozcas el nombre de Matthias gracias al otro importante proyecto que él inició: El entorno de escritorio KDE. LyX es básicamente una interfaz gráfica que nos permite trabajar con él como lo haríamos con un procesador de textos, y genera el código LaTeX adecuado para nuestros documentos. Bueno, pero... ¿Cómo puede ser un sencillo programa como LyX superior a los procesadores de textos WYSIWYG ("What You See Is What You Get" - Lo que ves en pantalla es exactamente igual al resultado que obtendrás en papel)? ¿Cómo puede LyX retar a la interfaz de usuario que ha demostrado ser imprescindible en toda computadora? La respuesta inicia con que LyX parte de una filosofía diferente, a la que llama WYSIWYM ("What you see is what you mean" - Lo que ves en pantalla es lo que quieres que LyX y LaTeX hagan por tí). [IMAGENES: wysiwym.png y wysiwym-2.png] Como pueden apreciar en las capturas de pantalla, mientras escribes nuestro documento no tienes que preocuparnos por cosas triviales (cómo queda el acomodo de párrafos por página, si quieres aumentar el interlineaedo o tamaño de letra, si las secciones del documento van de determinado tamaño o en negritas, etc.) Basta con que nos concentrarte en generar el contenido del documento; todo lo relativo a cómo se va a ver cada uno de los componentes del mismo se lo puedes confiar a LaTeX. Los actuales procesadores de textos evolucionaron para cubrir las necesidades del trabajo en las oficinas - podemos verlo claramente tan sólo porque todos ellos forman parte de una "suite de oficina" como OpenOffice, Microsoft Office, Gnome Office o KOffice. LaTeX, por el contrario, evolucionó de las necesidades de tipógrafos profesionales, y los programas resultantes nos lo hacen ver claramente: Aún cuando hace años ya es poco común ver las antiguas máquinas de escribir en la mayor parte de las oficinas, los procesadores de textos siguen trabajando con ese modelo en mente, mostrándonos una página sobre la cual podemos escribir directamente, y el estilo que elegimos para cada elemento del texto nos es retroalimentado visualmente de inmediato. Cabe aquí anotar que, desde hace años ya, los principales procesadores de texto nos ofrecen también un marcado semántico de los párrafos (esto es, indicar la función de cada elemento, más que su apariencia), buscando llegar a la eficiencia que LyX nos brinda; pueden ver en las capturas de pantalla de AbiWord y OpenOffice [IMAGENES: esitlo_abiword.png y estilo_openoffice.png] dónde están ubicados tradicionalmente esos elementos. Sin embargo, aún teniendo esta herramienta a la mano, los usuarios están acostumbrados a la "interfaz máquina de escribir", a marcar un encabezado de sección como "18 puntos, negritas, Times New Roman" Un procesador de documentos como LyX parte, en cambio, del tipo de trabajo que realizan los tipógrafos, en la cual partimos de que quien escribe el documento es el experto en el tema - pero no en la apariencia visual. Esto va mucho más allá de dictar que el usuario no debe elegir el tamaño o tipo de letra a utilizar para un título de artículo o de sección, sino que en detalles mucho más sutiles, que muchos de nosotros de otro modo ignoraríamos - Detalles tipográficos como el manejo de ligaturas, palabras o líneas viudas y huérfanas, tipos de comillas a utilizar, e incluso los diferentes tipos de espacio en blanco a dejar después de diferentes signos de puntuación. En pocas palabras, LaTeX se encarga de que nuestros documentos brillen por su tipografía. [IMAGEN: ligaturas.png] LaTeX, y por tanto LyX, está orientado principalmente a trabajar con documentos largos. Está especialmente enfocado a facilitar el manejo de la estructura - Partes, capítulos, secciones y subsecciones; listas numeradas, listas simples, descripciones; etiquetas y referencias cruzadas, manejo de bibliografía, notas al pie; tablas de contenido generales, de figuras, índices de conceptos; y muy especialmente los elementos propios de libros y artículos científicos, como fórmulas, definiciones, citas, figuras, tablas, y un larguísimo etcétera. ¿Qué tienen todos estos elementos en común? Todos ellos son elementos estructurales de un documento. Claro, si requieres hacerlo, es posible especificar elementos de diseño directamente (por ejemplo, cambiar el tipo o tamaño de letra), pero la misma lógica general de uso del programa sugiere al usuario no boicotear a su propio trabajo haciendo esto. Claro está, LyX no es el programa adecuado para todo tipo de documentos - Por ejemplo, si quieres diseñar un cartel o una invitación, seguramente querrás tener control completo del diseño de la página. El espacio en el cual LyX realmente brilla es en la preparación de documentos de varias páginas, con una estructura. ¡Y claro, cómo olvidarlo! con tablas de contenido, índices bibliográficos y demás elementos que, si bien en otros sistemas requieren de una fuerte cantidad de trabajo y mantenimiento, en LyX literalmente se vuelven cuestión de tres clicks. Ahora bien, ¿cómo compartir el documento con terceros? Hoy en día sonaría anacrónico sugerirte que imprimas tu documento y se lo envíes físicamente a su destinatario, y obviamente, la mayor parte de los usuarios no cuentan con una instalación de LyX. ¿Qué hacer? Muy simple: Del mismo modo que LyX procesa un documento para imprimirlo, puede guardar ese documento en muy diversos formatos. Como primer ejemplo, seleccionando Archivo -> Exportar -> PDF, LyX nos genera un archivo PDF apto para que lo compartamos. Por otro lado, si quieres subir el documento a tu página Web, selecciona Archivo -> Exportar -> HTML, y se generará un árbol de páginas siguiendo la estructura de tu documento (no, no será una sóla página interminable, como resulta con otros productos). En resumen: LyX es un sistema completamente diferente, que puede ayudarte a generar documentos con un grado de profesionalidad que poca gente puede lograr en un procesador de textos. He visto varios libros (incluso libros dedicados al arte de la correcta tipografía) que son impresos sin modificación alguna sobre de los estilos base de LaTeX. En este artículo me falta espacio para abundar en las virtudes de este programa, pero espero que con los puntos que les he mencionado sea suficiente para picarte la curiosidad acerca de una nueva manera de hacer el trabajo de todos los días. IMAGENES: - emacs_latex.png: La edición directa de un documento en LaTeX (arriba) y el documento generado (abajo) - lyx_inicio.png: LyX nos da la bienvenida - wysiwym.png y wysiwym-2.png: Respectivamente, preparación y resultado final de un documento. Estas dos imagenes nos ilustran claramente qué significa WYSIWYM: Al no preocuparnos directamente por cómo queda el resultado final, escribir el documento no nos significa tanta distracción: Podemos concentrarnos en el contenido. - estilo_abiword.png y estilo_openoffice.png: Los procesadores de textos ahora presentan también la opción de edición por categorías semánticas y estilos - Sin embargo, al también presentar las tradicionales barras de tamaño, tipo y atributos de letra, la mayor parte de los usuarios no aprenden siquiera las bondades del marcado semántico. - ligaturas.png: Mostramos la edición en LyX en la parte superior, y el documento generado en la inferior. Como ejemplo de las sutilezas tipográficas que maneja LaTeX, puedes apreciar cómo varias letras se ligan en un sólo elemento al aparecer después de la 'f' - y cómo podemos "romper" estas ligaturas si así lo requerimos intercalándoles un elemento nulo