Entradas etiquetadas como Writer

Más sobre el difícil arte de las expresiones regulares

Esta vez va de números. Supongamos que queremos localizar en un documento Writer números entre 1 y 50, pero no mayores.

La expresión

\b\d\b

encontrará números de un solo dígito desde 0 a 9. La expresión

\b\d{1,2}\b

encontrará números de uno o dos dígitos, desde el 0 hasta el 99… siempre que no tenga una letra pegada. Por ejemplo no encontrará el número en a29. Si queremos localizar el número a toda costa necesitamos algunas condiciones con las «look-ahead» y «Look-behind assertions» más la condición lógica «o» que se consigue con la barra vertical. Algo así

(?<=[^\d]|^)\d{1,2}(?=[^\d]|$)

Lo que busca esta expresión es uno o dos dígitos que se encuentran entre algo que no es ni un dígito ni un inicio de párrafo y otra cosa que tampoco es un dígito o un final de párrafo.

Ya estamos más cerca. Para limitar el rango tendremos que aplicar un poco más de «selección»:

(?<=[^\d]|^)([1-5]?\d)(?=[^\d]|$)

ya busca entre 1 y 59, pero no 60 o mayores. ¡Ya estamos casi allí!

Contemplad ahora la expresión definitiva:

(?<=[^\d]|^)([1-4]?\d)(?=[^\d]|$)|50

Dejo como ejercicio para el lector el interpretar la expresión. Eso sí, es altamente aconsejable repasar el capítulo sobre expresiones regulares de mi libro antes de intentarlo.


Este interesante ejercicio de expresiones regulares se planteó hace unas semanas en la versión italiana de ask.libreoffice. Me llevó un buen rato el darme cuenta de cómo resolverlo… y aún más el recordar de dejarlo por escrito en el blog. Pero finalmente aquí está.

Anuncios

6 comentarios

Camino a LibO 6.0: las primeras versiones de desarrollo

En estos días me he tomado un momento para descargar la versión «archive» (nada de rpm o deb: el programa ya compilado y simplemente empaquetado en un tar.gz, listo para descomprimir y usar) de la versión de desarrollo de LibreOffice 6.0. He aquí algunas de las novedades que he encontrado.

Caracteres especiales

La herramienta para insertar caracteres especiales ha dado un salto de calidad realmente importante. El botón de insertar caracteres especiales se ha convertido ahora en un menú que ofrece no solo el abrir la herramienta de base, sino también una lista de los caracteres usados recientemente y otra de los «favoritos»

Por si esto fuera poco (que no lo es) al abrir el diálogo principal nos encontramos con una herramienta mucho más potente que no solo nos permite configurar los favoritos con un simple clic derecho: también nos da información valiosa del carácter a insertar y la posibilidad de buscar caracteres a través de sus nombres unicode (la caja «search» arriba a la izquierda)

Menús de personalización

La herramienta que se abre en Herramientas → Personalización ha sido completamente reescrita, organizando todos sus componentes y ofreciendo a su vez un campo de búsqueda que simplifica la configuración de menús y atajos de teclado

Barra de estilos

Aún no está disponible la caja con los estilos de carácter, pero ya tenemos algunas mejoras que vuelven a esta barra realmente útil. Por ejemplo, los botones de los estilos de carácter «saben» (y «lo comentan» iluminándose) cuál es el estilo de carácter aplicado al texto sobre el que se encuentra el cursor, por lo que el botón del estilo de carácter «predefinido» solo se señala cuando no hay un estilo de carácter aplicado al texto

Navegar por objetos

En la barra de búsqueda (Ctrl-F) se ha agregado un cómodo menú que permite seleccionar categorías de objetos para «saltar» rápidamente entre ellos

Seleccionando el ítem que nos interesa podemos saltar entre títulos, tablas, imágenes, secciones… lo que necesitemos, simplemente usando los dos botones de la derecha.

Algunos problemas

LibreOffice usa un sistema llamado VCL para «dibujar» su interfaz gráfica. Este sistema tiene algunos «plug-in» para conectarse con gtk2, gtk3 y KDE4. Este último plug-in parece tener un problema en la versión de desarrollo que he probado: no es posible insertar acentos. Seguramente esto se solucionará a tiempo para la versión final, pero mientras tanto es muy simple el iniciar LibreOffice con su interfaz gtk3 incluso en un sistema Plasma: abriendo un terminal virtual en la carpeta con el guión de inicio del programa podemos lanzar Writer con

SAL_USE_VCLPLUGIN=gtk3 ./swriter

Con la interfaz en gtk3 todo parece funcionar correctamente.

Conclusión

La versión 6.0 de LibreOffice está tomando buena forma, con características sumamente interesantes. La interfaz gtk3 ha avanzado mucho y, seleccionando el tema correcto, cuadra en un entorno plasma incluso mejor que la interfaz KDE4. Realmente LibreOffice 6.0 se viene con todo en regla para convertirse en una de las actualizaciones más interesantes de la historia del proyecto.

Para más información sobre las novedades: LibreOffice 6.0: Release Notes (en inglés y en fase de composición).

Deja un comentario

Recrear el «quick-start» de LibO en KDE Plasma

LibreOffice 5.4 es la última versión en ofrecer el «quick-start», la pequeña aplicación que se coloca en la bandeja del sistema para agilizar el acceso a los diferentes componentes del programa: a partir de 6.0 será eliminada.

Originalmente esta pequeña componente fue creada porque, en la época de OOo, el inicio de la aplicación era dolorosamente lento: al mejor estilo de los productos de Redmond este «inicio rápido» cargaba, silenciosamente, el programa completo durante el inicio del sistema. La idea era que al estar ya cargado en memoria se agilizaba su arranque… al costo de hacer el inicio del sistema más lento, se entiende.

En los últimos tiempos LibO ha logrado hacer que el inicio del programa sea más ágil, reduciendo enormemente el tiempo necesario para cargar la aplicación por lo que el «inicio rápido» ha dejado de ser tan útil, ¿verdad?

Bueeeeeeeeeno… Depende. Ciertamente cargar todo el paquete en memoria aún cuando no iba a ser utilizado no era la mejor de las ideas, pero el «inicio rápido» tenía algunas (pequeñas) ventajas extras como por ejemplo conseguir que el programa se iniciara mostrando la lista de plantillas.

Hoy mostraré cómo recrear las funciones «útiles» del inicio rápido de LibO en un entorno Plasma. Seguramente se podrá hacer algo parecido en otros escritorios.

Primero que nada creamos una carpeta que podríamos llamar «LibreOffice Rápido». Dentro de esta carpeta hacemos un clic derecho → Crear nuevo → Enlace a aplicación. Esto nos creará un archivo «desktop» que podremos utilizar para crear un enlace a la aplicación que queramos. Por ejemplo escribiendo bajo Orden en la pestaña Aplicación lo siguiente

libreoffice --writer %U

lograremos iniciar Writer mientras que con

libreoffice --draw %U

iniciará Draw.

NOTA 1: Sí, ya sé que podemos arrastrar el acceso directo correspondiente desde el menú de aplicaciones, pero como veremos más abajo es mejor crear el acceso «a mano» desde cero.

NOTA 2: El lector interesado en saber qué es eso del «%U» puede consultar la especificación de los archivos desktop.

Hasta aquí todo fácil. ¿Cómo hacemos ahora para llamar la lista de las plantillas? Pues con

libreoffice .uno:NewDoc

mientras que si queremos que nos presente directamente el menú para abrir un archivo podemos utilizar

libreoffice .uno:Open

Estas instrucciones «.uno» usan el «API» de LibO para realizar diferentes tareas y son parte del lenguaje de macros del programa. Si el lector quiere saber más al respecto tendrá que preguntarle a un experto del tema, como por ejemplo mi amigo Mauricio, administrador de los foros de la comunidad.

Ahora en nuestro escritorio Plasma desbloqueamos los elementos gráficos y en un panel cualquiera insertamos una «vista de carpeta»

Ahora solo nos queda configurar la vista de carpeta para que apunte a la carpeta «LibreOffice Rápido» con lo cual veremos los accesos rápidos que hemos creado… todos ellos mostrando la extensión .desktop, lo cual queda bastante feo. ¡Ningún problema! Podemos simplemente hacer un clic derecho sobre cada acceso rápido y seleccionar Cambiar nombre para eliminar la extensión del archivo que Plasma los seguirá reconociendo.

NOTA: Y aquí está la razón para no arrastrar los accesos desde el menú ya que al parecer estos últimos no están bien formateados y al quitarles la extensión Plasma deja de reconocerlos como accesos a programas. Los archivos .desktop creados desde Plasma funcionan a la perfección.

Todo listo.

, , ,

2 comentarios

Repensar «Domando al escritor»

Existen dos buenas razones en las que puedo escudarme para decir que este año no habrá una nueva edición de «Domando al escritor»:

Esta nueva versión de LibO traerá seguramente varias novedades. Quizás las nuevas opciones para la interfaz gráfica dejen de considerarse «experimentales» y estén disponibles por defecto. Quizás se resuelvan algunos problemas introducidos con los estilos de tablas en 5.3. Quizás…

Como mis lectores bien saben no recomiendo utilizar versiones de LibO «que contengan un cero en su número» por lo que «Domando al escritor» volverá recién en la segunda mitad del 2018, cuando 6.1 esté disponible. Para ese entonces muchos de los errores que seguramente (que ya es tradición) se introduzcan en 6.0 estarán corregidos.

Mientras tanto seguiré escribiendo artículos sobre las novedades del programa. Los artículos estarán listados y enlazados en la página de descarga del libro (ya hay un par allí).

Esta dilatada espera seguramente me permitirá repensar el formato del libro… Pero para eso hay tiempo.

8 comentarios

Nuevo en LibO 5.4: marcas de agua en Writer

Bueno, más que el hecho de crear marcas de agua lo nuevo es el «elegante hack» con el que se han implementado.

Me explico: siempre fue posible crear un objeto Fontwork, anclarlo a la cabecera de la página y enviarlo «al fondo» (segunda entrada en este viejo artículo o la tercera en su versión actualizada —sitio externo), lo que sucede es que a partir de 5.4 todo ese largo proceso manual está elegantemente empaquetado en el menú Insertar → Marca de agua:

 

El objeto aparecerá en todos los estilos de página en uso sin más trabajo por parte del autor. Para modificar una marca de agua así creada será suficiente volver al menú en cuestión. Incluso, si limpiamos la casilla «texto» la marca se eliminará.

Es verdad, sigue sin ser una herramienta dedicada, ¡pero que ni te das cuenta!

3 comentarios

Eliminar párrafos vacíos en Writer

A veces uno se complica la vida sin darse cuenta. Durante años utilicé expresiones regulares (hablo de ellas en mi libro) para eliminar párrafos vacíos (entre otras cosas, que nunca dejo de sorprenderme con lo que la gente es capaz de cometer contra sus documentos) sin pensar demasiado en lo que hacía.

¡Error! ¡Existe una forma mucho más simple de lograrlo!

Nos dirigimos a Herramientas → Corrección automática → Opciones de autocorrección → pestaña Opciones y activamos la opción Eliminar los párrafos vacíos:

Luego de Aceptar nos dirigimos a Herramientas → Corrección automática → Aplicar y ¡ya está todo listo!

Esta opción de autocorrección eliminará tanto los párrafos completamente vacíos como aquellos que contengan solo espacios.

Deja un comentario

Dos novedades que vendrán en LibO 5.4

He estado probando LibO 5.4 beta 1 (descargado desde aquí e «instalado en paralelo» como se comenta aquí) por lo que en este breve artículo mostraré, en una sola captura de pantalla, dos de las novedades más interesantes que nos ofrece:

Una de ellas está «completa» y a la otra le faltan algunos detalles. Veamos:

Es posible establecer el «espaciado al contenido» incluso si no se seleccionan bordes: Bug 41542 FORMATTING: Allow “Spacing to contents” for edges without a line [RESOLVED FIXED]. Esto funciona para páginas, párrafos, cabeceras de página, marcos, lo que se necesite y ya funciona correctamente.

¡Finalmente tenemos una barra de herramientas de estilos! Bug 106781 (Style-Formatting-Writer-Toolbar) – Addition of a style-focused formatting toolbar. Esta nueva característica no está completa aún: los estilos de carácter y de lista no pueden ser aplicados desde allí porque falta trabajo en otras áreas del código (ver los reportes 88512 y 107000).

Si la barra de herramientas de estilo se completa a tiempo será una mejora realmente importante. Pero bueno, si no llega para 5.4 seguramente estará para 6.0: lo importante es que está en camino.


Este artículo fue también publicado en el blog de LibreOffice Hispano.

Deja un comentario

A %d blogueros les gusta esto: