Writer: estilos y plantillas

Introducción

Si bien hablo abundantemente sobre el tema en mi libro Domando al escritor, nunca está de más insistir sobre cuestiones importantes… sobre todo cuando se dan algunas aclaraciones.

Los estilos son la herramienta más importante a la hora de escribir documentos extensos: en lugar de decidir manualmente el formato de cada parte de un documento (como por años nos han incentivado ciertos productos famosos) decimos «este párrafo es un título de capítulo», «este es parte del cuerpo del documento», «esta página es la primera de cada capítulo»… y en otro lugar decimos «los títulos de capítulo usan esta fuente, de este tamaño y son seguidos automáticamente por el cuerpo del texto»… es decir, separamos completamente el contenido del documento de su formato en forma tal que si luego deseamos cambiar ese formato es suficiente ir a las definiciones del mismo sin tocar el contenido.

Como cuento en mi libro, el concepto de usar «estilos» no es nuevo: LaTeX lo hace desde décadas. Pero a pesar de lo que nos digan los fanáticos de LaTeX (sistema que respeto y he utilizado), no es este el único sistema de procesamiento de documentos con dichas habilidades: Writer también las ofrece a todo aquel que quiera tomarse un tiempo para aprender a utilizarlas.

Y con una ventaja: mientras definir un documentclass en LaTeX es tarea de programadores, crear una plantilla en Writer que preserve todos los estilos que hemos definido para ser utilizados en un nuevo documento es sumamente sencillo.

Ventajas y desventajas de la «libertad»

A muy grandes líneas, las equivalencias conceptuales entre Writer y LaTeX serían (insisto: estoy simplificando)

Estilo ↔ Entorno

Plantilla ↔ Documentclass

LaTeX ofrece un sistema sumamente robusto para el uso de estos entornos y documentclass… mayormente por la limitación de que ningún usuario «normal» puede definirlos, solo usarlos. Y dado que esta estructura es tan estándar es que podemos fácilmente aplicar a un documento LaTeX existente un nuevo documentclass: simplemente se modifica un parámetro.

Writer por otra parte nos da una flexibilidad absoluta a la hora de definir estilos y plantillas, y cada vez que creamos un documento nuevo a partir de una plantilla el primero queda ligado a la segunda.

Pero esto nos da un posible problema de asociación. Me explico: supongamos que hemos creado una plantilla «P» y dos documentos, «A» y «B». El documento A ha sido creado a partir de la plantilla P mientras el documento B es completamente independiente. ¿Como hacemos si queremos que el documento B tenga también los estilos de A?

Writer nos ofrece una herramienta para importar estilos en un documento: con el editor de estilos y formatos… bien, una imagen vale más que una mala explicación:

Importar estilos

¡Listo! podría pensarse: los estilos están cargados también en el documento B.

Hasta aquí, todo bien. Supongamos ahora que editamos la plantilla P para modificar un estilo, quizás porque hemos notado un error en su definición. Al abrir el documento A, o cualquier otro documento creado a partir de la plantilla P, Writer nos hará notar que los estilos de la plantilla P han cambiado y nos recomendará actualizar los del documento, por lo que la corrección a la plantilla P será automáticamente importada en el documento A. ¡Bien!

Abramos ahora el documento B: nada sucederá. Dado que B no está asociado con la plantilla P, tendremos que importar las modificaciones manualmente una vez más.

Además, la asociación entre documentos y plantillas en Writer es un tanto «débil»: si al abrir el documento A decimos por error «no» a la amable pregunta de si queremos actualizar los estilos la asociación entre el documento y la plantilla se romperá definitivamente. Exacto: no más actualizaciones automáticas en la próxima edición de la plantilla.

En fin, que nada es perfecto…

No es una situación muy normal el tener que modificar una plantilla, por lo que este problema no es terriblemente importante. Existe una extensión (el sitio de las extensiones es un tanto «inestable» últimamente… suele ser necesario probar varias veces) que permite asignar una nueva plantilla a un documento existente, pero el trabajo que realiza no es perfecto y necesita siempre la atención del editor. Existe un reporte que pide implementar esta posibilidad de cambiar plantillas en un documento:

Bug 52783 – change templates for a document

Esperemos que cuando la transición de OOo a la fundación Apache termine, sea posible concentrarse en este y otros problemas.

Anuncios

A %d blogueros les gusta esto: