tux6

No es la primera vez que escribo sobre como crear un ebook en Ubuntu, pero en este caso está orientado al uso de markdown, sobre el que en los últimos tiemmpos he escrito varios artículos. Esto es así, porque como he comentado en alguna ocasión, todos los artículos que lees en este sitio, los estoy redactando últimamente utilizando este lenguaje.

No es que esté pensando en escribir un libro ni nada por el estilo (al menos por ahora), sin embargo, seguro que le puedes sacar provecho a tener una guia de viajes de andar por casa en tu lector de libros electrónicos, o unos apuntos, o una guia de referencia, o incluso tus últimas recetas. Las cosas como son, para leer un lector de libros electrónicos, es mas cómodo que una tablet.

La siguiente pregunta es, ¿porque utilizar markdown?, es porque de esta forma, solo te preocupas de escribir, no tienes que levantar los dedos del teclado, solo escribir, escribir y escribir…

Ahora bien, a la hora de leer, lo podemos convertir fácilmente nuestros documentos en formato markdown a epub, utilizando Pandoc.

diagram

De Markdown a EPub

Pandoc

Pandoc es una excepcional herramienta que te permitirá convertir archivos entre diferentes formatos como son

  • markdown
  • reStructuredText
  • textile
  • HTML
  • DocBook
  • LaTeX
  • MediaWiki markup
  • OPML
  • Emacs Org-Mode
  • Txt2Tags
  • Microsoft Word docx
  • EPUB

a

  • HTML
  • Microsoft word docx
  • OpenOffice/LibreOffice odt
  • OpenDocument XML
  • EPUB
  • DocBook
  • InDesign
  • OPML
  • LaTeX
  • PDF

incluyendo todos los anteriores. Vamos, el diagrama que has visto en la introducción del artículo.

Creando un ebook con Pandoc

Desde la versión 1.6 de Pandoc es posible genera libros electrónicos con formato EPUB que es el formato por defecto de muchos lectores de libros eléctronicos a excepción del Kindle, que con toda seguridad será el lector mas difundido y que se decantó por su propio formato, aunque admite mobi.

De esta forma generar un libro electrónico con Pando es realmente sencillo. Por ejemplo, partimos de este sencillo código escrito con markdown

% Mi propio libro
% El atareao

Mi primer libro con formato markdown

# Capítulo 1. Primer capítulo.

Este es el primer capítulo y termina aquí.

# Capítulo 2. Segundo capítulo.

Este es el segundo capítulo y termina aquí, donde también termina el libro.

Para convertir este primer libro a formato EPUB solo tenemos que ejecutar el siguiente comando,

pandoc milibro.md -o milibro.epub

Sencillo, ¿no?. Pero, ¿que sucede si el libro que estamos preparando tiene imágenes?, pues tampoco te tienes que preocupara por esto, que Pandoc se encarga de descargarlas de internet, en caso de que las tengas allí, y incluirlas en el libro, y si se trata de imágenes que tienes en tu disco, exactamente lo mismo, de forma que para añadir una imagen, solo tienes que escribir el código siguiente,

![Una imagen](imagenes/una_imagen.jpg)

Suponiendo que nuestra imagen se encuentre alojada en un subdirectorio local de donde estamos trabajando.

Mejorando el formato del libro

Otro asunto que nos permite hacer Pandoc es formatear el libro a nuesto gusto, para lo que podemos definir nuestra propia hoja de estilos CSS. Para incluirla es necesario indicarlo en el comando que ejecutamos, sin embargo, en el momento de escribir este artículo no funcionaba correctamente y tenías que ubicarla en el directorio ~/.pandoc con el nombre epub.css.

Por ejemplo, yo estoy utilizando la siguiente hoja de estilos,

@font-face {
    font-family: Carlito;
    font-style: normal;
    font-weight: normal;
    src:url("fonts/Carlito-Regular.ttf");
}
@font-face {
    font-family: Carlito;
    font-style: normal;
    font-weight: bold;
    src:url("fonts/Carlito-Bold.ttf");
}
@font-face {
    font-family: Carlito;
    font-style: italic;
    font-weight: normal;
    src:url("fonts/Carlito-Italic.ttf");
}
@font-face {
    font-family: Carlito;
    font-style: italic;
    font-weight: bold;
    src:url("fonts/Carlito-BoldItalic.ttf");
}
@font-face {
    font-family: Caladea;
    font-style: normal;
    font-weight: normal;
    src:url("fonts/Caladea-Regular.ttf");
}
@font-face {
    font-family: Caladea;
    font-style: normal;
    font-weight: bold;
    src:url("fonts/Caladea-Bold.ttf");
}
@font-face {
    font-family: Caladea;
    font-style: italic;
    font-weight: normal;
    src:url("fonts/Caladea-Italic.ttf");
}
@font-face {
    font-family: Caladea;
    font-style: italic;
    font-weight: bold;
    src:url("fonts/Caladea-BoldItalic.ttf");
}@font-face {
    font-family: existencelight;
    font-weight: normal;
    font-style: normal;
    src:url("fonts/Existence-Light.ttf");
}
body {
    margin: auto;
    padding-right: 1em;
    padding-left: 1em;
    max-width: 44em; 
    border-left: 1px solid black;
    border-right: 1px solid black;
    color: black;
    font-family: Carlito;
    font-size: 100%;
    line-height: 140%;
    color: #333; 
}
img{
    max-height: 250px;
    max-width: 250px;
    margin-left:auto;
    margin-right:auto;
    display:block;
}

pre {
    border: 1px dotted gray;
    background-color: #ececec;
    color: #1111111;
    padding: 0.5em;
}
code {
    font-family: monospace;
}
h1 a, h2 a, h3 a, h4 a, h5 a { 
    text-decoration: none;
    color: #7a5ada; 
}
h1, h2, h3, h4, h5 { font-family: Caladea;
                     font-weight: bold;
                     border-bottom: 1px dotted black;
                     color: #7a5ada; }
h1 {
        font-size: 130%;
}

h2 {
        font-size: 110%;
}

h3 {
        font-size: 95%;
}

h4 {
        font-size: 90%;
        font-style: italic;
}

h5 {
        font-size: 90%;
        font-style: italic;
}

h1.title {
        font-size: 200%;
        font-weight: bold;
        padding-top: 0.2em;
        padding-bottom: 0.2em;
        text-align: left;
        border: none;
}

dt code {
        font-weight: bold;
}
dd p {
        margin-top: 0;
}

#footer {
        padding-top: 1em;
        font-size: 70%;
        color: gray;
        text-align: center;
        }

Donde cabe destacar la utilización de algunos formatos de letra particulares que he querido incluir y que son motivo de un artículo reciente sobre el uso de Calibri.

Ahora para convertir el libro en epub, utilizo el siguiente script,

#!/bin/sh
pandoc -s -S --toc \
--epub-embed-font=fonts/Existence-Light.ttf \
--epub-embed-font=fonts/Caladea-Bold.ttf \
--epub-embed-font=fonts/Caladea-BoldItalic.ttf \
--epub-embed-font=fonts/Caladea-Italic.ttf \
--epub-embed-font=fonts/Caladea-Regular.ttf \
--epub-embed-font=fonts/Carlito-Bold.ttf \
--epub-embed-font=fonts/Carlito-BoldItalic.ttf \
--epub-embed-font=fonts/Carlito-Italic.ttf \
--epub-embed-font=fonts/Carlito-Regular.ttf \
--epub-embed-font=fonts/Existence-Light.ttf \
--epub-cover-image=images/cover.jpg \
-f markdown \
-t epub3 \
-o paramuestraunboton.epub \
titulo.md \
capitulo1.md \
capitulo2.md \
capitulo3.md \
fin.md

Aquí hay que destacar cuatro asuntos, en primer lugar la inclusión de los archivos correspondientes a las tipografías que utilizamos, tantas como sean necesarias; por otro lado incluir la portada y por último que hemos puesto cada capítulo en un archivo independiente, aunque esto es decisión nuestra y podemos ponerlo todo en el mismo archivo, aunque creo que lo primero será lo mas sencillo. Por último, te habrás dado cuenta que para pasar de una línea a otra utilizamos **.

Bueno, parece que se ha complicado algo, pero no mucho, también es lo que queramos complicar nosotros el libro, y el acabado que queremos que tenga. La ventaja es que en el momento en que tengamos un buen formato, ya no nos tenemos que preocupar de nada mas, cada vez que queramos convertir a EPUB lo tenemos hecho.

¿Como pasar de EPUB a MOBI para leer el libro electrónico en un Kindle?

En el caso de que queremos convertirlo a mobi para verlo en nuestro dispositivo kindle, podemos descargar la aplicación que Amazon ha creado para ello, y que ha puesto a dispuesto de todos los usuarios, incluidos los usuarios de Linux. Para ello te tienes que dirigir a esta página de Amazon y descargarlo.

Su uso es muy sencillo, solo tenemos que ejecutar el siguiente comando,

./kindlegen nuestrolibro.epub

 

Fuente: atareao

¿Quién está en línea?

Hay 8336 invitados y ningún miembro en línea