Convertendo documentos de Markdown em formato Microsoft Word

Convertendo documentos de Markdown em formato Microsoft Word
Entre outras atividades, escrever e editar documentos de texto pertencem às ações mais comuns que usamos nossos computadores (desktop) para. A maneira exata da maneira que é feita segue caminhos diferentes - desde o uso de um editor de texto nu, como o Vim a aplicativos gráficos, como Open/Libre Office ou serviços baseados em nuvem que são acessíveis via webbrowser como o Google Docs. Para nossa desvantagem, toda ferramenta vem com seu próprio formato de documento nativo, bem como a seleção de outros formatos de documentos suportados. A qualidade da conversão entre esses formatos varia amplamente e pode levar a muita frustração ao cruzar os limites do formato.

Neste artigo, damos uma olhada na conversão entre Markdown [1] e DOCX - o formato de documento nativo do Microsoft Word que está em uso desde 2007. Você pode se perguntar por que um entusiasta de Markdown e Asciidoc (como eu) lida com este caso. Bem, colaborar com um grupo de outros escritores pode levar a uma situação, enquanto um ou mais participantes solicitam docx como o formato de saída. Não decepcione ninguém e descubra quais limitações existem, e como podemos tentar fazer com que todos os membros do grupo.

O que é Markdown?

Como já apontado em "Uma Introdução ao Markdown" [2], a intenção de Markdown é um texto simples para a conversão HTML. A idéia por trás disso era tornar as páginas da web de escrever, documentação e especialmente as entradas de blog tão fáceis quanto escrever um e-mail. A partir de hoje, é o de fato-sinônimo de uma classe de marcação leve de descrição dos idiomas, e o objetivo pode ser visto como alcançado.

Markdown usa uma sintaxe de formatação de texto simples. Com uma abordagem semelhante à HTML, vários marcadores indicam manchetes, listas, imagens e referências em seu texto. As poucas linhas abaixo ilustram um documento básico que contém duas manchetes (1º e 2º nível), bem como dois parágrafos, e um ambiente de lista.
# Lugares recomendados para visitar na Europa
## França
Esta é uma seleção de lugares:
* Paris (_ile de France_)
* Estrasburgo (_alsace_)
Para um plano de visita adequado sobre uma semana.

Conversão para docx

Para converter seu documento de marcação em DOCX, use a ferramenta Pandoc [3]. Pandoc é uma biblioteca Haskell e se descreve como "o conversor universal de documentos", ou a "faca do exército suíço para conversões de documentos". Está disponível para uma variedade de plataformas como Linux, Microsoft Windows, Mac OS X e BSD. O pandoc é comumente incluído como um pacote para distribuições Linux como Debian GNU/Linux, Ubuntu e CentOS.

Uma simples chamada para uma conversão é a seguinte:

$ pandoc -o teste.Teste DOCX.MD

O primeiro parâmetro '-o' refere-se ao arquivo de saída, seguido pelo nome do arquivo ('teste.docx '). A extensão do arquivo ajuda o Pandoc a identificar o formato de saída desejado. O segundo parâmetro nomeia o arquivo de entrada - no nosso caso, é simplesmente 'teste.md '.

A versão longa do comando mostrada acima contém os dois parâmetros '-f Markdown' e '-t Docx'. O primeiro abrevia o termo 'sabor' e descreve o formato do arquivo de entrada. O segundo faz o mesmo para o arquivo de saída e abreviado '-to'.

O comando completo é o seguinte:

$ pandoc -o teste.Docx -f Markdown -t Docx Teste.MD

Abrindo o arquivo convertido usando o Microsoft Word resulta na seguinte saída:

Para os diferentes elementos de texto, o Pandoc usa folhas de estilo. Isso permite que você ajuste esses elementos posteriormente de acordo com suas necessidades ao longo de todo o documento. As versões mais recentes do Pandoc também oferecem o contrário - você pode converter um arquivo DOCX em Markdown da seguinte maneira:

$ pandoc -o teste.Teste de MD.Docx

Em seguida, o arquivo gerado possui o seguinte conteúdo:

Lugares recomendados para visitar na Europa
======================================
França
------
Esta é uma seleção de lugares:
- Paris (*Ile de France*)
- Estrasburgo (*Alsácia*)
Para um plano de visita adequado sobre uma semana.

Opções úteis da linha de comando

A lista de opções pandoc é bastante longa. Os seguintes ajudam você a produzir melhores resultados e facilitar sua vida:

* '-P' (versão longa '-Preserve-tabs'): Preserve as guias em vez de convertê-las em espaços. Isso é útil para blocos de código com linhas recuadas que fazem parte do seu texto.

* '-S' (versão longa '-Smart'): Produza saída digitagicamente correta.

Esta opção corrige citações, hífens/traços e elipses ("..."). Espaços adicionais e sem quebra são adicionados após certas abreviações como “Sr.”.

* '-Track-Changes = Value': Especifica o que fazer com inserções, exclusões e comentários produzidos com a ajuda do recurso Microsoft Word “Rastrear”. O valor pode ser aceito, rejeitado ou tudo para incluir ou remover as alterações feitas no documento. O resultado é um arquivo plano.

Para mais opções, dê uma olhada na documentação e na página manual de pandoc.

Resumo

A conversão entre Markdown e Docx não é mais um mistério. É feito em algumas etapas e funciona muito bem. Feliz hackers 🙂

Links e referências

* [1] Markdown
* [2] Frank Hofmann: Introdução ao Markdown
* [3] Pandoc

Reconhecimentos

A autora gostaria de agradecer a Annette Kalbow por sua ajuda enquanto preparava o artigo.