Writer: palabras con muchas «variantes» en el diccionario personal

Como no todo puede ir en un único libro (es decir, ando con pocas ganas de actualizarlo) hoy comentaré algo interesante sobre los diccionarios personales que muchos usuarios podrían haber pasado por alto: la posibilidad de agregar palabras siguiendo un «modelo».

Agregar al diccionario personal una palabra no reconocida por el corrector ortográfico es tan simple como hacer clic derecho sobre ella y… agregarla. Ahora bien, ¿y si la palabra a agregar es un verbo? Por ejemplo podríamos querer agregar el verbo flipar,que al momento de escribir estas líneas no está aún en el diccionario. ¿Tenemos que agregar todas las conjugaciones una por una? Afortunadamente no: a continuación veremos cómo evitarlo.

Lo primero es ir a Herramientas → Opciones → Configuración de idiomas → Ayudas de escritura y, bajo Diccionarios de usuario, hacer clic en Nuevo. Damos un nombre al diccionario y, esto es importante, seleccionamos un idioma. Luego de aceptar y cerrar el diálogo, seleccionamos el diccionario recientemente creado desde la lista y le damos a Editar, que veremos lo siguiente

Como puedes ver, junto a la palabra que queremos agregar en nuestro nuevo diccionario aparece una opción llamada «modelo flexivo»: allí podemos seleccionar una palabra modelo del diccionario normal. Hecho esto, ya está todo listo: si para el verbo flipar hemos elegido como modelo el verbo amar (o cualquier otro de la primera conjugación), Writer reconocerá no solo el verbo en infinitivo, tendremos sin esfuerzo todas las conjugaciones (flipo, flipas…), los reflexivos (fliparse…), gerundio (flipando), todo.

Esto no está limitado a verbos: eligiendo un modelo apropiado para un sustantivo tendremos automáticamente su plural.

Te dejo explorar las posibilidades.

Writer: notas al final en columnas

Lo admito, no me gustan las «notas al final» (a duras penas soporto las notas al pie de página) y es por no usarlas que solo noté la existencia del problema que presento en este artículo cuando alguien lo preguntó en ask.libreoffice: las notas al final, en su configuración por defecto, funcionan muy mal cuando tratas de utilizar columnas.

Pero bueno, que a mi no me gusten no significa que no sean útiles: de hecho en algunos campos las notas al final son casi obligatorias por lo que veamos cómo superar este molesto y antiguo problema con la mayor elegancia posible.

Como ya sabrás (y si no lo sabes, tienes dónde consultar), por defecto las notas al final en Writer van a una página propia al final del documento que se rige por su propio estilo de página. El problema está en que si configuras ese estilo de página para que utilice columnas, pues que todo se va todo al demonio:

Como puedes ver en la captura, la primera página de las notas al final no muestra las columnas mientras que la segunda agrega un margen superior que no está configurado en ningún lado. He aquí dos reportes relacionados con el problema:

Bug 118553 – Broken style of endnote generates artifacts.

Bug 58381 – Unable to format Endnote page style to use multi-column layout

Como siempre, existe solución. Resumiendo la propuesta de Mike Kaganski en el enlace anterior, tienes que seleccionar el contenido del documento e ir a Insertar → Sección. En la pestaña Notas al pie/finales tienes que marcar, para Notas finales, la opción Recolectar al final de la sección:

El siguiente paso es editar el estilo de página llamado Nota final para que tenga el número de columnas que sea necesario. Ahora, al final del texto y justo antes de las notas al final te diriges a Insertar → Más saltos → Salto manual → seleccionas Salto de pagina y eliges el estilo de página apropiado

Con esto ya debería estar todo listo:

Al hacer esto te quedará un primer renglón en blanco en la página de las notas: ya que no se puede evitar, aprovéchalo para escribir un título a esa parte del documento.

Lo bueno de hacer las cosas así es que ahora podrás agregar más contenido al documento luego de las notas finales (por ejemplo, un índice), cosa que no es posible con la configuración por defecto.

¡Todo listo!

Giambologna

Algo que quedó pendiente en otra entrada fotográfica 😉 el Ratto delle Sabine, del Giambologna

Ya que hablamos de Firenze y del Giambologna, vale la pena visitar el Museo Nazionale del Bargello para ver su Mercurio. Además de las otras cosas que allí hay, por supuesto, que lo que te encuentras en sus salas es impresionante.

Visitarlo cuando vuelva a abrir, se entiende, que al momento de escribir estas líneas todos los italianos estamos en cuarentena con lo del SARS-CoV-2. En fin, ya pasará.

Y claro, siendo Firenze y dado que en el interior de Le Gallerie degli Uffizi no se pueden tomar fotografías, estoy tentado a hablar del Museo Galileo… pero no, que eso no tiene nada que ver con el presente artículo o con el anterior. Además, no es posible competir con Paco Bellido en estos temas 😉

LyX: otra forma de modificar listas numeradas

En mi libro sobre LYX comento dos formas de cambiar el formato de la numeración en listas numeradas de un documento LATEX/XƎTEX. Hoy comentaré una tercera y una cuarta, mucho más sencillas (siempre se aprende algo nuevo).

Para la tercera forma, que se aplicará a todas las listas del documento, vamos primero a Documento → Configuración → Módulos y activamos el módulo Listas personalizadas (enumitem). Ahora nos dirigimos al preámbulo y escribimos algo como lo siguiente

\setlist[enumerate,2]{label = \theenumi.\arabic*}
\setlist[enumerate,3]{label = \theenumii.\arabic*}
\setlist[enumerate,4]{label = \theenumiii.\textbf{\alph*}}

Como puedes ver del código, cada nivel construye sobre el anterior. Si ahora creamos una lista de cuatro niveles y compilamos el documento, veremos que todos los niveles están numerados con números arábigos salvo por el último, que utiliza letras, que cada nivel muestra los niveles anteriores y que la letra está en negrita.

Y sí, si quieres cambiar el primer nivel simplemente agregas una primera línea con un «1».

La interpretación del código es bastante directa por lo que leyendo lo que está en el libro y siguiendo este ejemplo, es fácil entender cómo funciona todo.

Por ejemplo, si no quieres que los niveles más bajos muestren la numeración de los más altos, podrías utilizar algo así.

\setlist[enumerate,1]{label = \arabic*}
\setlist[enumerate,2]{label = \arabic*}
\setlist[enumerate,3]{label = \arabic*}
\setlist[enumerate,4]{label = \textbf{\alph*}}

Te dejo los detalles como ejercicio. Eso sí, si quieres agregar separadores, que sean después de los asteriscos.

Como digimos al principio, esto cambiará todas las listas del documento. Para modificar el formato solo en algunas listas particulares es posible crear un nuevo estilo, ya sea con un módulo o con «formato local». Para esto último, en Documento → Configuración → Formato local podemos escribir

Format 66

Counter  legali
         LabelString     "\arabic{legali}."
End

         Counter  legalii
         Within   legali
         LabelString     "\thelegali\arabic{legalii}."
End

Counter  legaliii
         Within          legalii
         LabelString     "\thelegalii\arabic{legaliii}."
End

Counter  legaliv
         Within          legaliii
         LabelString     "\thelegaliii\arabic{legaliv}."
End

Style    Legal
         CopyStyle Enumerate
         LatexName legal
         LabelCounter "legal"
         RefPrefix leg
         Requires enumitem
         Preamble
            \newlist{legal}{enumerate}{4}
            \setlist[legal]{label*=\arabic*.}
         EndPreamble
End

(Este código lo he copiado adaptado del código para crear un módulo que he enlazado más arriba).

Esto agregará el estilo de lista «Legal» al menú desplegable de los estilos de párrafo que se encuentra bajo el menú Archivo.

¡Todo listo!

Complicando números

El artículo de hoy va de «matemáticas solo por diversión», por lo que ya sabes: sigue bajo tu propia responsabilidad.

Y ya que estamos, cada vez que encuentres en el artículo la palabra «real» o alguna de sus variantes me estoy refiriendo a los números reales ℝ, no a que algo «sea verdadero» o cosas así, que hoy no quiero entrar en temas filosóficos.

Introducción

Hace unos meses, bueno, casi un año, me crucé con el siguiente vídeo que muestra un divertido resultado matemático

Por si no te va el inglés, te muestro solo la sorprendente conclusión final:

(1) \sqrt[3]{8+3\sqrt{21}}+\sqrt[3]{8-3\sqrt{21}}=1

Nota: Si tratas de calcular la expresión utilizando Qalculate!, Octave o incluso Wolfram Alpha, ten cuidado de utilizar la raíz cúbica (cbrt(expresión) o root(expresión;3)) y no un exponente fraccionario, ya que los exponentes fraccionarios dan el «valor principal de la raíz»(1) en lugar de la solución real, y eso se nota cuando tomas raíces de números negativos. Es decir, root(-8;3) = cbrt(-8) = -2, pero si escribes (-8)^(1/3) obtendrás algo diferente: la evaluación de 2 eiπ/3


(1) La raíz n-ésima da exactamente n cantidades complejas, todas ellas sobre un círculo: la primera desde el eje x en sentido antihorario es el «valor principal»

Pues sí, todas esas raíces anidadas y sumadas dan un número entero, incluso si algunas de sus partes son claramente irracionales como lo es \sqrt{21}, ¿cómo es esto posible?

Bueno, tranquilos, que en realidad no es tan raro: la segunda raíz es un número negativo y por la propia simetría de la expresión tenemos que las partes decimales de ambas raíces coinciden, con lo cual terminan cancelándose.

Ahora bien, si te gusta jugar con problemas matemáticos independientemente de si son útiles o no (y espero que así sea, que de lo contrario este artículo te resultará pesado), podrías preguntarte, como yo lo he hecho, ¿existe un modo de complicar cualquier número, no solo el 1?

El método

Siempre podemos generalizar la idea utilizada en el vídeo para calcular el número original. Por ejemplo, podríamos reemplazar 3\sqrt{21} con un número genérico a y llamar a la expresión x:

(2) x=\sqrt[3]{8+a}+\sqrt[3]{8-a}

Ahora solo tenemos que elevar todo al cubo y desarrollar la expresión

(3) x^{3}=8+\not a+3\sqrt[3]{\left(8+a\right)^{2}\left(8-a\right)}+3\sqrt[3]{\left(8+a\right)\left(8-a\right)^{2}}+8-\not a

que, usando «diferencia de cuadrados» y reagrupando (te dejo los detalles) nos lleva a

(4) x^{3}-3\sqrt[3]{64-a^{2}}x-16=0

Ahora solo sería cuestión de elegir el número que queremos «complicar», sustituirlo en lugar de la x y resolver para el valor de a… siempre y cuando sea válido el hacerlo.

Discusión

Ciertamente si sustituyes x=1 obtendrás a=3\sqrt{21}, que después de todo de allí partimos, pero a este punto tendrías que notar un pequeño peligro en todo esto: las ecuaciones cúbicas pueden tener hasta tres soluciones. Es decir, tenemos que asegurarnos de que la solución sea única. Pero hay otro problema que afrontaremos primero: para verlo, tenemos que resolver para a en general. Nuevamente, te dejo los detalles

(5) \displaystyle a^{2}=64-\left(\frac{x^{3}-16}{3x}\right)^{3}

Claramente, x no puede ser cero, con 1 ya sabemos que funciona, con x=2 obtenemos

(6) \sqrt[3]{8+\frac{16}{3}\sqrt{\frac{7}{3}}}+\sqrt[3]{8-\frac{16}{3}\sqrt{\frac{7}{3}}}=2

con x=3

(7) \sqrt[3]{8+\frac{35}{27}\sqrt{37}}+\sqrt[3]{8-\frac{35}{27}\sqrt{37}}=3

¡pero cuando llegamos a x=4, a^{2}=0! Esto es un gran problema ya que en este caso la ecuación cúbica con la que cerramos la sección anterior será

(8) x^{3}-12x-16=0

ecuación que tiene dos soluciones reales: x_{1}=4, como ya sabíamos, y x_{2}=-2.

Bueno, podríamos simplemente rechazar esta segunda solución como un resultado espurio producto del método de resolución, pero eso no nos ayudaría mucho ya que llegaríamos simplemente a 4=4, lo que no es muy divertido.

Además… ¡a partir de x=5 llegamos a un a^{2}<0! Dado que estábamos tratando de complicar los números naturales podríamos decir que esto último no es un problema: agregar números imaginarios hace que todo sea más guay. Mira si no esto

(9) \sqrt[3]{8+\mathbf{i}\sqrt{\frac{1079029}{3375}}}+\sqrt[3]{8-\mathbf{i}\sqrt{\frac{1079029}{3375}}}=5

¡Escalofriante! Pero bueno, podrías querer limitarte a los números reales y todavía tenemos que complicar el 4. Te propongo entonces repetir los cálculos con

(10) x=\sqrt[3]{b^{3}+a}+\sqrt[3]{b^{3}-a}

donde b>0, que seguramente llegarás a

(11) x^{3}-3\sqrt[3]{b^{6}-a^{2}}x-2b^{3}=0

y por lo tanto a

(12) \displaystyle a^{2}=b^{6}-\left(\frac{x^{3}-2b^{3}}{3x}\right)^{3}

Con b^{3}=8 ya sabes que puedes llegar hasta x=3, por lo que solo te queda elegir un b lo suficientemente grande como para ir más lejos.

Sí, ya, te preguntarás el motivo de elegir b^{3} en lugar de un tranquilo b. Simplemente hace más clara la respuesta a la otra pregunta que dejamos colgada más arriba: la unicidad de la solución. Cuando tenemos a=0 la ecuación cúbica de más arriba presentaría dos soluciones reales, el valor de x elegido y x=-b, mientras que si es a\neq0 solo tenemos una (las otras dos son imaginarias). Esas cosas que se pueden ver haciendo que la derivada primera sea cero, sustituyendo y magias por el estilo… ya sabes, cálculo diferencial.

En fin, que eligiendo b=3 podemos finalmente escribir

(13) \sqrt[3]{27+\frac{91}{6}\sqrt{\frac{19}{6}}}+\sqrt[3]{27-\frac{91}{6}\sqrt{\frac{19}{6}}}=4

Ahora ya sabes lo que necesitas para «complicar» cualquier número natural. Eso sí, si quieres hacer esto para un número más grande necesitarás una hoja de papel bastante ancha. Por ejemplo, con b=22 puedes escribir

(14) \sqrt[3]{10648+\frac{84736}{189}\sqrt{\frac{1387}{7}}}+\sqrt[3]{10648-\frac{84736}{189}\sqrt{\frac{1387}{7}}}=42

O, también apropiadamente, con b=14

(15) \sqrt[3]{2744+\frac{20320}{39}\sqrt{\frac{547}{39}}}+\sqrt[3]{2744-\frac{20320}{39}\sqrt{\frac{547}{39}}}=26

Y claro, también puedes complicar los mismos números de muchas formas distintas, cambiando el valor de b. Por ejemplo

(16) \sqrt[3]{1+\frac{2}{3}\sqrt{\frac{7}{3}}}+\sqrt[3]{1-\frac{2}{3}\sqrt{\frac{7}{3}}}=1

Los números tienen estas (y otras) cosas.


Quiero agradecer a la gente detrás del programa Maxima y de su interfaz gráfica wxMaxima como así también a los desarrolladores de Qalculate! (el signo de admiración es parte del nombre): sin la ayuda de estas herramientas los cálculos para este artículo habrían sido igualmente posibles, sí, pero yo no los hubiera hecho.

Disponible LyX 2.3.4

Empezamos este 2020 en el software libre anunciando que ya está disponible la cuarta actualización de la serie 2.3 de esta magnífica interfaz gráfica para LATEX / XƎTEX.

En esta versión se corrigen varios errores, tanto en la interfaz gráfica como en la documentación y el procesamiento de documentos importados. Todas las novedades están resumidas en el anuncio.

Como siempre, los usuarios de openSUSE ya lo tenemos disponible en el repositorio publishing.

Expresiones Regulares en Writer: propiedades Unicode o cómo buscar texto «todo en mayúsculas»

Supongamos que en un documento Writer tenemos texto parecido a lo siguiente:

Es posible encontrar texto TODO EN MAYÚSCULAS utilizando las «propiedades Unicode de los caracteres»

y que queremos seleccionar solo el texto en mayúsculas. En el menú de buscar y reemplazar activamos la opción de «distinguir mayúsculas y minúsculas», bajo «otras opciones» seleccionamos «expresiones regulares» y en la caja de búsqueda escribimos

(\p{Lu}){2,}

La \p sirve para especificar las «propiedades Unicode de los caracteres», que en este caso son L (Letter, es decir, una letra) y u (uppercase, es decir, mayúsculas).

Como siempre, encuentras más información sobre el sistema de expresiones regulares utilizado por LibreOffice tanto en la documentación del proyecto ICU (no todas las expresiones allí indicadas funcionan en LibreOffice) como en el capítulo dedicado al tema de cierto libro 😉