Faz um tempinho que eu tinha aposentado os tutoriais de *software* aqui no blog porque meu foco havia se voltado quase exclusivamente para literatura e discussões literárias, tanto que eu arquivei os antigos posts sobre LaTeX. Decisão, claro, que também teve a ver com o fato de que LaTeX não é muito útil para blogueiros, a menos que seu blog seja sobre matemática e você utilize as extensões TeX do WordPress.
Recentemente, porém, ao pesquisar como transformar textos deste blog em livros eletrônicos, acabei aprendendo um caminho que permite fazê-lo de forma relativamente fácil, sem utilizar programas caros e gerando arquivos validados plenamente pelo `epubcheck` (a ferramenta de verificação de erros mantida pela IDPF). Uma das coisas que mais me atraíram na solução que eu encontrei é que ela se baseia no “Linux Way”: *fazer as coisas de maneira simples, utilizando a linha de comando e de forma reutilizável.*
Se você utiliza Linux e sabe o que é uma linha de comando, vou compartilhar minha solução, para que você também crie seus livros eletrônicos de forma rápida e fácil.
### Software utilizado
Para criar livros eletrônicos vamos precisar dos seguintes softwares, que não devem estar disponíveis na sua distribuição Linux e precisarão ser instalados manualmente.
* [Pandoc](http://johnmacfarlane.net/pandoc) — ferramenta de conversão universal de textos.
* [Calibre](http://calibre-ebook.com) — conjunto de ferramentas de leitura, correção e edição de e-books.
* [Kindlegen](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621) — ferramenta oficial da Amazon para criação de arquivos para os antigos modelos do Kindle (para os novos modelos utilizaremos o `Calibre`).
* [epubcheck](https://github.com/IDPF/epubcheck) — ferramenta para verificar se arquivos ePUB estão de acordo com as especificações da IDPF (International Digital Publishing Forum).
* [TeXLive](http://www.tug.org/texlive) — formatador de documentos capaz de gerar PDF, entre outros formatos.
* [Inkscape](https://inkscape.org/pt-br)
Destes, somente Pandoc e Calibre são realmente necessários. O Kindlegen pode ser dispensado se você não pretende criar arquivos para versões do Kindle anteriores ao Fire. O `epubcheck` pode ser dispensado se você confiar em minha palavra de que os arquivos são perfeitamente conformes aos padrões. Finalmente, o TeXLive pode ser dispensado se você não pretende criar PDF.
Além dos cinco pacotes acima (que, exceto o Kindlegen e o epubchek, são, na verdade, coleções de programas em vez de programas isolados) você vai precisar dos utilitários `bash`, `zip`, `unzip`, `tar` e `lzma` — mas esses você certamente tem instalados no seu sistema.
### Porque é “fácil” criar o ebook.
A ideia é criar livros eletrônicos em pelo menos dois formatos, ePUB e Kindle, utilizando, para isso, um único arquivo de texto com formatação simples. Este arquivo de texto pode ser escrito em qualquer editor, mas eu recomendo um destes abaixo:
* [Geany](http://www.geany.org) com o plugin Markdown.
* Gedit (padrão do sistema) com [plugin Markdown](https://github.com/jpfleury/gedit-markdown)
* [CuteMarkEd](https://github.com/cloose/CuteMarkEd).
O seu conteúdo será armazenado em um único arquivo estruturado conforme a sintaxe [Markdown Extra](https://michelf.ca/projects/php-markdown/extra), que é praticamente o formato de arquivo mais fácil do mundo:
* Comece cada capítulo com uma linha de título assim: `# Título do capítulo`.
* Digite o texto em blocos separados por linhas em branco.
* Texto enfatizado vem `*entre asteriscos*`.
* Se precisar de mais alguma opção (tabelas, links, inserção de imagens etc.) basta ler o [tutorial do Michel Fortin](https://michelf.ca/projects/php-markdown/extra/) ou a descrição de [John McFarlane](https://daringfireball.net/projects/markdown).
* Apenas tenha o cuidado de, no começo de seu arquivo, incluir cinco linhas com as seguintes informações, *necessariamente nesta ordem e sem espaços no começo da linha*:
`% Título`
`% Nome do autor`
`% data (no formato AAAA-MM-DD)`
`% endereço de publicação`
`% licença`
Estas informações serão utilizadas para construir o arquivo de configuração e serão inseridas, por exemplo, dentro do livro eletrônico.
Se você não está convencido de que é muito fácil escrever em Markdown, [baixe o código fonte deste artigo](/bib/markdown_sample.txt) e veja como a coisa funciona (sim, este blog gera o texto a partir de código fonte Markdown!!!). Apenas lembre que no seu livro você dificilmente precisará de blocos formatados em fonte fixas, hiperligações (links) e múltiplos níveis de títulos, que podem fazer com que o arquivo fonte pareça mais complicado do que é.
### Como o arquivo Markdown vira um e-book?
Esta mágica é executada pelo Pandoc, um programa que “traduz” as instruções contidas no arquivo de texto e cria outros formatos a partir dele. No caso específico da criação de e-books, eu percebi que depender somente do Pandoc não seria suficiente porque ele, por exemplo, não estava
### Além do e-book
Estamos aqui falando da possibilidade de criar livros eletrônicos, mas o Pandoc, que vamos utilizar para fazer a conversão, vai muito além disso: o seu arquivo fonte poderá ser facilmente utilizado para levar o seu texto a uma série de outros formatos:
* Texto puro
* reStructuredText (texto plano, com marcações mínimas)
* XHTML e HTML 5 (documentos de hipertexto para a internet)
* LaTeX (documentos de texto com marcas de formatação para geração de PDF)
* ConTeXt (documentos de texto com marcas de formatação para geração de PDF)
* RTF (documento de texto com marcas de formatação para leitura em processadores de texto)
* DocBook (documento de hipertexto que pode ser usado para gerar outros formatos)
* OpenDocument (documento de hipertexto padronizado pela ISO)
* ODT (documentos de texto do LibreOffice e do OpenOffice)
* Word docx (documentos de texto do Microsoft Word)
* GNU Texinfo (documento de texto com marcas de formatação)
* MediaWiki (documento de texto com marcas de formatação)
* DokuWiki (documento de texto com marcas de formatação)
* Haddock (documento de texto com marcas de formatação)
* EPUB (livro eletrônico padronizado pela IDPF)
* FictionBook2 (livro eletrônico não comprimido)
* Textile (documento de texto com marcas de formatação)
* groff (páginas de manual do Linux)
* Emacs Org-Mode (documento de texto com marcas de formatação)
* AsciiDoc (documento de texto com marcas de formatação para gerar outros formatos)
* InDesign (documentos de texto para o Adobe InDesign)
Escrevendo em Markdown, portanto, você terá o seu texto disponível em uma grande variedade de formatos assim que necessário. Esta é uma grande segurança, pois nada é mais incômodo para um autor do que ficar se preocupando com o formato adequado de arquivo.
Se você se interessou, [baixe o script para experimentar](https://github.com/jggouvea/PanPublisher).