Como hacer tu propio libro electrónico con software libre

Hace algún tiempo, un buen amigo de España me pidió ayuda para convertir su recién publicado libro de poemas al formato epub.

Tengo que confesar que no soy fan de los libros de poemas, no son mi género favorito. Y para colmo de males soy un crítico malvado, a riesgo de perder la amistad le dije a mi amigo que para escribir en verso tiene muy buena prosa. Lo sé, no tengo remedio 🙂 .

¿Por qué ePub?.

El libro ya me lo había pasado en formato odt para LibreOffice y convertirlo a PDF es tan sencillo como presionar un botón, en eso no hay mayor problema. Pero el formato PDF se hizo para imprimir, para el papel, no para la pantalla.

Últimamente he limitado mi lectura a aquellos momentos de ocio usando mi teléfono celular y para eso ePub es el mejor formato disponible. ¿Han intentado leer un PDF en el celular?.

ePub me permite muchas cosas, realizar ajustes en el tipo y tamaño de la letra, utilizar marcadores para llevar un control del avance de mi lectura, resaltar textos, hacer anotaciones, bueno todo aquello que no pude hacer con mis libros de papel por no maltratarlos.

A escribir en LibreOffice.

La primer tarea es muy sencilla, escribir el libro en libreOffice. Bueno para mi fue sencilla porque no lo escribí yo 🙂 .

Después de hacer algunas pruebas me di cuenta de que al texto que me entregó le faltaban algunos detalles. Por ejemplo, una tabla de contenido.

Generarla es muy fácil, pero primero tuve que ajustar el título de cada poema para que el procesador de texto hiciera su trabajo.

sumario o tabla de contenido
Insertar la tabla de contenido.

En el menú Insertarsumario e índiceSumario, índice o bibliografía. Le mueves a algunas opciones y listo. Automáticamente detecta el formato de los títulos y subtítulos y crea una tabla de contenido con un enlace a cada capítulo.

Convertir de odt a ePub con Calibre.

Una vez que está listo el archivo odt, lo que sigue es convertirlo a epub con una herramienta disponible en Calibre.

Es ridículamente sencillo, primero hay que agregar el libro a la biblioteca de Calibre y luego presionar el botón Convertir Libros. Como pueden ver, en el lado izquierdo está el formato de entrada ODT y del lado derecho las opciones del formato de salida EPUB.

Conversión de odt a ePub
Conversión de odt a ePub

Después de un breve tiempo tendremos disponible nuestro texto en un formato que podemos compartir libremente. Se le pueden dar algunos toques finales agregando los metadatos (título, autor, un pequeño resumen)  y un diseño de portada.

Como ven, hacer un libro electrónico puede ser muy sencillo. Se me ocurre que algunas escuelas hacen sus propios libros de texto y esta puede ser una buena oportunidad para realizar sus versiones electrónicas.

No tienen que adquirir software costoso y ambos programas funcionan en Windows (por aquello de la linuxfobia).

Puede ser una actividad que hagan los mismos alumnos, un equipo de redactores, de editores, de correctores, otro de ilustradores… ¡Ahhh se vale soñar!

Por cierto, si quiere conseguir el libro de mi amigo, se llama Hojas de lluvia de Miguel Ángel Dolz y está disponible en la editorial Poesía eres tú o directamente con él en su facebook.

Hojas de lluvia, Miguel Angel Dolz
El resultado en mi teléfono celular.

Le recomiendo no leerlo cerca de fármacos peligrosos o de objetos punzo cortantes. ¡Es broma Miguel! ¡ES BROMA!.  😛

Función para calcular el ISPT 2014 en Excel y LibreOffice

ISPT 2014 en Excel y Libreoffice

Hace ya algunos años desarrollé una función similar a la que hoy les comparto y la pueden ver en el artículo Función en Excel para calcular el ISPT anual.

ISPT 2014 en Excel y Libreoffice

Nuevamente la rescato del baúl del programador para hacerle algunas modificaciones. En primer lugar, la actualización de los valores de la tabla que sirve para el cálculo que corresponden al ejercicio 2014 y además de que en esta ocasión me pidieron que ya no descontara el subsidio anual y solamente hiciera el cálculo del ISPT.

La Fórmula

Según me explicaron, esta es la fórmula que se utiliza para calcular el ISPT:



nbsp;

Fórmula para calcular el ISPT

nbsp;



El asunto se complica un poco porque varios de los valores se buscan en una tabla dependiendo de las Percepciones Gravables.

Tabla para el cálculo del ISPT 2014
Fig.1 Tabla utilizada para hacer los cálculos.

Por eso creo que el mejor enfoque fue hacer una función para Excel y otra para LibreOffice que hicieran de manera automática la búsqueda de los valores y el cálculo del impuesto.

Código de la función para Excel

Inicialmente desarrolle esta función para Excel ya que es el programa que generalmente usan los contadores.

Código de la función para LibreOffice

El código para LibreOffice es muy similar al de Excel, solo se cambio la función Round por Format para que el resultado lo muestre solamente con 2 decimales.

Software Libre

Los códigos de las funciones son software libre (libertad para usar,copiar y modificar). Aunque hice varias pruebas y lo verifiqué varias veces haciendo el cálculo manualmente no esta exento de errores, así que les pido que si notan algún “detallito” o error, por favor no dejen de reportarlo.

Para que no batallen, les dejo este archivo zip ISPT 2014 v20140212 que incluye sendos ejemplos en Excel y Libreoffice.

Espero que esta función les sea de utilidad a los amigos contadores que siendo honestos, les deberían de dar una medalla por hacer de estos cálculos su trabajo cotidiano.

Función que devuelve sólo los números de una celda en LibreOffice

Elastix tiene una opción llamada address book en donde puedes buscar, agregar contactos y con sólo presionar un botón se puede marcar el teléfono directamente. Básicamente hace una conferencia, porque marca tu extensión y también el número telefónico de tu contacto.
Me pasaron una hoja de cálculo con más de 400 contactos, para importar tal cantidad de datos es necesario un archivo .csv con al menos 3 campos, nombre, apellidos y claro el número telefónico.

El problema es que el campo con el número telefónico estaba muy “contaminado”, demasiadas letras de más que probablemente el conmutador no iba a entender. Además necesitaba saber que números telefónicos eran válidos por su longitud. Por ejemplo un número local consta de 7 dígitos, pero una larga distancia nacional es de 12. Eso me ayudaría a detectar visualmente algunos problemas con los números.

Pero para lograrlo necesitaba una función que extrajerá sólo los números, sin guiones, sin paréntesis, sin anotaciones.

Afortunadamente encontré una función que hace algo muy similar en Extract a number from a text string, sólo que esta función también regresa algunos símbolos como el punto o signos de operación, afortunadamente es muy fácil de ajustar modificando la línea.

Numbers_And_Signs = "0123456789 .+-*/"

Con esto en mente hice mi propia función que sólo extrae números.

Function Only_Numbers(Text_From_Cell as string) as string
Numbers_And_Signs = "0123456789"
n = len(Text_From_Cell)
Only_Numbers = ""
For i = 1 to n
ActChar = Mid(Text_From_Cell,i,1)
if Instr(Numbers_And_Signs,ActChar)<>0 then Only_Numbers = Only_Numbers + ActChar
next i
end function

Ejemplos de la función only_numbers

Ejemplos de la función only_numbers | función solo numeros libreoffice
Ejemplos de la función only_numbers

Como pueden ver, la función hace un barrido del contenido de la celda que recibe la función, busca y filtra lo que ustedes quieran en la cadena Numbers_And_Signs, no sólo es útil para extraer números, de hecho les puede servir para filtrar cualquier conjunto de letras, números o símbolos que deseen.

Si no saben como agregar una función les recomiendo que lean Función para convertir de número a cantidad con letra en LibreOffice Calc. En ese artículo se explica muy bien como agregar una función en LibreOffice.