Gerando arquivos OpenDocument através do Org-mode no GNU Emacs

postado em 12 de jan de 2012 03:58 por Gustavo Pacheco   [ 12 de jan de 2012 03:59 atualizado‎(s)‎ ]
Vários amigos do mundo do software livre tem especial afeição pelo editor GNU Emacs. Não apenas pelo seu poder de edição de documentos mas, também, pelo apreço ter sido um dos primeiros softwares sob a licença GNU GPL. 

Uma das peculiaridades do GNU Emacs é sua enorme possibilidade de customização. Entre diversos componentes que podem ser adicionados a ele, o Org-mode é um dos mais populares. Com recursos avançados que permitem a criação de listas de tarefas, projetos e agenda, o Org-mode agora permite a exportação dos documentos para o padrão OpenDocument. Essa foi uma das boas novidades da versão 7.8.

David O'Toole escreveu um ótimo tutorial sobre o uso do Org-mode. Neste artigo, você encontrará boa parte do trabalho de O'Toole traduzida e reorganizada para que, ao final, tenhamos um exemplo razoável para a geração de um arquivo OpenDocument através do GNU Emacs com o Org-mode. Tenho certeza que o resultado final impressionará muita gente!

O primeiro passo é obter o Org-mode. Isso pode ser feito através do website do projeto (http://www.org-mode.org). Caso você opte pelo download do repositório git, use:

$ mkdir git 
$ cd git 
$ mkdir org-mode 
$ git clone git://orgmode.org/org-mode.git org-mode 

Ou, ainda, você pode preferir fazer o download atráves do pacote compactado , disponível em

Depois de ter feito o download do arquivo, crie uma pasta de trabalho e descompacte-o nela. Caso você tenha feito o download pelo git, entre na pasta de trabalho onde estão os arquivos que foram baixados: 

$ cd org-mode 

Localize, agora, o arquivo Makefile e certifique-se que o nome do arquivo binário do GNU Emacs está correto (algo como emacs ou xemacs). Verifique também o local para o diretório de arquivos Lisp (/usr/local/share/emacs/site-lisp). 

Depois, volte ao prompt e compile: 

$ make 
$ make install 

Agora, no arquivo .emacs do seu perfil, adicione o seguinte conteúdo: 

(add-to-list 'load-path "/home/gbpacheco/git/org-mode") 
(require 'org-install) 
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode)) 
(define-key global-map "\C-cl" 'org-store-link) 
(define-key global-map "\C-ca" 'org-agenda) 
(setq org-log-done t) 

Na primeira linha do trecho acima, você terá que, obviamente, apontar para o caminho da sua pasta de arquivos org-mode. Ou seja, a pasta para a qual você baixou seus arquivos via git ou na qual o arquivo tar.gz foi descompactado. 

 
Após editar, salve o arquivo .emacs e inicie o GNU Emacs. 



Vá até o menu File > Visit new file... para criar um novo documento. O nosso arquivo de exemplo terá a extensão .org, que automaticamente configura o GNU Emacs com o org-mode. Digitaremos, agora, uma lista de tarefas usando o asterisco como marcador da lista hierárquica: 

* Tarefas 
** TODO Finalizar o tutorial de exportação de arquivos ODF no Emacs 

O resultado até o momento, é representado na figura abaixo: 



Caso você queira utilizar as funções de lista de tarefas do Org-mode na prática, experimente posicionar o cursor sobre a segunda linha e clicar em Ctrl+C e, em seguinda, Ctrl+T. A tarefa será considerada como executada!



 Uma lista detalhada dos comandos do Org-mode no menu Org do GNU Emacs. 

As listas hierárquicas também podem ser úteis para a marcação das divisões lógicas de um documento (capítulos, seções, subseções, etc.) como no exemplo da figura abaixo. A identificação de títulos de capítulos é feita pelo uso de apenas um asterisco. Dois asteriscos representam títulos de seções de capítulos e assim sucessivamente para cada nível. 

 
Dentro de cada nível de título, você pode inserir texto. Links são permitidos através do formato [[link][descrição]]. 


Ao digitar o último colchete, o Org-mode identificará automaticamente a existência do link. 


Uma visão geral da edição do documento deverá ser semelhante à apresentada na figura abaixo:


Para uma ideia geral da estrutura do documento, como se visualizássemos um índice, clique em Shift+TAB

 
Ao final do seu trabalho, simplesmente clique em Ctrl+c+e+o para gerar o arquivo ODT. 


O arquivo será gerado na mesma pasta em que se encontra o arquivo Teste.org original. Localize essa pasta no seu computador e abra, no LibreOffice, o arquivo Teste.odt gerado.


O resultado é o apresentado acima! Os tópicos identificados pelos asteriscos no GNU Emacs foram transformados, conforme o seu respectivo nível, em estilos de Título. A partir dos títulos, o índice do documento também foi criado! 

Embora eu não tenha utilizado a numeração de página, o exemplo já serve para demonstrar o poder da geração ODF do Org-mode. Por isso, acredito que a nova versão 7.8, a primeira que incorpora essa funcionalidade, vá tornar o Org-mode ainda mais popular. Os aficcionados pelo GNU Emacs certamente irão gostar.

Para mais informações, visite http://orgmode.org.