Latex no Eclipse: como começar

Para quem já está acostumado com a IDE Eclipse, uma boa é utilizar o plugin Texlipse para edição de projetos Latex. A maior vantagem em disparada é que o plugin irá compilar seu código rapidamente sempre que vocẽ salvar o documento, apresentando por meio de notificações no código o que está errado e a causa do erro de acordo com as mensagens do compilador de latex utilizado. Como esse processo é feito em background, antes mesmo de você pensar em visualizar o PDF, você já estará sendo notificado dos erros. No meu computador que é um Core 2 Duo 2 Ghz, o processo é instantâneo, o que torna a edição muito produtiva. Os recursos de auto-complete e contexto do editor do codigo latex também são de extrema utilidade e serão apresentados nesse artigo.

Para começar a utilizar, baixe a IDE Eclipse 3.4 Ganymede o que pode ser feito através desse endereço:
http://www.eclipse.org/downloads/packages/release/ganymede/sr2

Versões anteriores à 3.3 não vão funcionar bem com o plugin Texlipse disponível atualmente.
Após baixar, basta extrair o conteúdo do Eclipse para uma pasta de sua preferência e executar o arqivo eclipse na pasta base.

Será perguntando onde você gostaria de criar um workspace. O eclipse salva todos os projetos criados e as configurações que você utiliza nele em um diretório de trabalho chamado workspace. Defina onde você quer que seja o seu workspace e prossiga.

Após ter resolvido tudo referente à primeira execução do Eclipse, vamos instalar o plugin Texlipse. Acesse o menu HELP > SOFTWARE UPDATES. Na aba AVAIABLE SOFTWARE, clique no botão ADD SITE ao lado direito da janela. Iremos adicionar o site onde pode ser encontrado o plugin Texlipse que é http://texlipse.sourceforge.net/. Em seguida, o novo site aparecerá na lista da aba aberta. Marque o checkbox ao lado do nome do site e prossiga fechando essa janela atual. O Eclipse irá notificar da atualização que você quer fazer, e irá te instruir a instalar esse plugin, aceitar o termo de uso dentre outras coisas. Dando tudo certo, é só reiniciar o Eclipse.

Antes de começar a editar Tex, é importante configurar algumas coisas do Texlipse. Vá no menu do eclipse WINDOW > PREFERENCES. Acesse o item TEXLIPSE da lista da esquerda. No subitem BUILDER SETTINGS, você terá acesso a lista de comandos para compilar seu documento. Tenha certeza de que está tudo correto (Ex: no linux, está configurado aqui para usar /usr/bin/pdflatex para gerar PDF). Senão tiver, é necessário ir na caixa de seleção de diretório Directory of Tex Distribuiton e falar onde está a pasta com os arquivos executáveis do seu programa Latex.

Outra coisa a configurar, é o subitem SPELL CHECKER, que é o verificador ortográfico. Verifique se está chamando tudo certinho. No linux é comum utilizar o /usr/bin/aspell.

A terceira e ultima configuração é do visualizador em VIEWER SETTINGS. Na lista que aparece nesse item, você verá alguns formatos. No linux por exemplo estou utilizando /usr/bin/evince para ver PDFs, o que pode ser definido no item da lista acroread().

Para começar a utilizar, volta para o Eclipse vá em FILE > NEW > PROJECT. Será mostrada uma lista de tipos de projetos. Você verá que agora há a opção Texlipse > LaTeX Project. Escolha-a e clique em NEXT. Na janela de Wizard, você deve fornecer um nome para o projeto, o formato de saída (PS, PDF…) dentre outras coisas, e pode escolher um template (Article, Beamer, Blank, etc..). Prossiga e termine o Wizard caso nao haja nenhum ítem que lhe interesse.

Ao escolher Article por exemplo, você verá que será criado no projeto já um arquivo .TEX com as linhas básicas do Latex definindo um Article, o título, uma seção e uma subseção. Daí em diante é botar a mão na massa:

Segue aqui algumas dicas interessantes de atalhos e funcionalidades:

  • Compilar: Salve o documento (CTRL+S) .TEX atual. Acompanhe na aba “CONSOLE” o resultado da compilação.
  • Ver erros: Se houver algum erro, eles apareceram com icones amarelos e vermelhos ao lado esquerdo da linha onde há o erro, e os erros sintáticos serão sublinhados de vermelho no código.
  • Ver a saída: Se a compilação não tiver dado erros, aperte CTRL+4, e será chamado o seu visualizador predileto como foi configurado.
  • Formatação (Negrito, Itálico, etc..): selecione uma porção de texto a aperte CTRL+ESPAÇO, uma lista de formatações aparecerá no proprio código, basta escolher a que vocẽ quer e o plugin vai “cercar” aquela porção selecionada com a devida tag (Ex: \textit{Olá mundo!}).
  • Templates de códigos recorrentes: aperte CTRL+ESPAÇO em qualquer parte do código, sem seleção, e você verá uma lista de comandos úteis como:
    • \begin: abre uma seção \begin{} e \end{}, posiciona o cursos dentro da chave do begin e já preenche a chave do end enquanto você digita o nome da seção.
    • \itemize: cria os comandos básicos para começar uma lista de items
    • \table: cria os comandos básicos para começar uma tabela
    • \figura: cria os comandos básicos para começar uma figura.
    • Dentre outros…
  • Lista de refrências (Labels): ao dar um \label{nome} para uma figura, tabela, algoritmo, esses labels serão acessíveis quando vocẽ usar o comando \ref{}. Basta apertar CTRL+ESPAÇO dentro das chaves do \ref que irá aprecer uma lista de labels utilizados. Ao selecionar um label, ele vai marcar no código tbem onde está suas referencias e vice versa.
  • Verificar ortografia: CTRL+SHIFT+6. Serão sublinhadas de amarelo as palavras nao conhecidas. Se o seu Eclipse tiver dicionário embutido, você pode ver sugestões de palavras clicando em qualquer lugar da palavra e apetando CTRL+ESPAÇO. Para definir a lingua certa de correção, vá no meno do Eclipse PROJECT > PROPERTIES, escolha o item Latex Project Properties da lista da direita, e veja lá embaixo na janela onde pede o código ISO da lingua, deve estar en, coloque pt_BR. Pode ser necessário baixar o pacot o pacote aspell pt_BR para usar pt_BR no Linux.
  • Auto quebrar linhas para formatar melhor o texto: selecione uma porção de texto e aperto ESQ+Q.
  • Comentar linhas: selecione uma porção do texto e aperte CTRL+5.

É possível acessar também no menu LATEX SYMBOLS uma série de simbolos como letras gregas, operadores, e outras coisas recorrentes para textos científicos.

Mãos a obra agora! Conhecendo bem os atalhos e estando tudo configurado, você irá editar textos em Latex com rapidez e eficiẽncia e terá que consultar menos os manuais e guias atrás de comandos e sintaxes que podem ser obtidos com as dicas e completations do plugin.

Criando um robô de navegação na Web em Java – Parte 1/2

Em diversas situações, é conveniente o uso de aplicações automatizadas que naveguem pela internet executando algum comportamento pre-determinado. Para isso, alguma soluções práticas existem, como é caso do iMacros, plugin para o navegador Firefox que te permite gravar um roteiro de navegação na web e futuramente re-executar esse roteiro com 1 clique apenas (Ex: logar automaticamente no site de uma biblioteca e renovar um empréstimo). No entanto, as vezes necessitamos de uma maior flexibilidade na criação desses roteiros, principalmente quando se trata de coletar dados da Web condicionando essa coleta a existência ou não de alguma informação no caminho percorrido. Imagine por exemplo que você deseje deseje criar um robô para percorrer um site de uma loja virtual, visitar a seção de Notebooks, ordenar as ocorrências por Menor Preço, e gerar ao fim uma lista com as ocorrências da primeira página. Uma boa alternativa para isso é a criação de um robô de navegação em Java utilizando a bliblioteca HTTPUnit.

Escrito em Java, HTTPUnit emula porções relevantes do comportamento dos navegadores Web, incluindo o envio de formulários, JavaScript, autenticação básica HTTP, cookies e redirecionamento automático de páginas, permitindo a criação de códigos Java para examinar a presença de elementos contidos no texto, no XML DOM,  além de dar acesso direto a forms, tabelas e links das páginas. Seu propósito inicial é permitir a execução de testes de unidade automatizados em aplicações Web, no entanto, seu uso como “navegador-via-código” permite uma grande variedade de aplicações.

Para fazer uma aplicação de demonstração, faça o download do HTTPUnit acessando o site http://httpunit.sourceforge.net/. Você irá baixar um arquivo provavelmente chamado httpunit-<versão>.zip (Ex: httpunit-1.7.zip). Descompacte o arquivo em alguma pasta. Para facilitar a configuração dos Build-Path e ter acesso fácil ao código e documentação do HTTPUnit, vamos utilizar o Eclipse para agilizar a criação do robô em Java.

Primeiramente vamos adicionar o HTTPUnit ao nosso workspace. Abra o seu Eclipse, vá em File > New > Java Project, em seguida, dê o nome para o projeto de httpunit, selecione a opção Create project from Existing Source, clique no botão Browse que será habilitado e procure a pasta extraída do HTTPUnit no seu computador. Clique em Finish. Agora o HTTPUnit é projeto do seu workspace e está disponível para ser referenciado por outros projetos.

O próximo passo é criar o seu projeto do Robô de Navegação Java. Vá novamente em File > New > Java Project, dê um nome para o seu projeto (Ex: webtest) e clique em Finish. Para que seu projeto tenha acesso ao HTTPUnit, é preciso adicionar esse ultimo ao Build Path. Para isso, clique com o botão direito do mouse sobre o seu projeto no Package Explorer, acesse Build Path > Configure Build Path, acesse a aba Projects, clique em Add, selecione o projeto httpunit criado anteriormente, clique em OK, e em OK novamente, retornando ao ambiente de desenvolvimento. À partir de agora, você poderá referenciar os pacotes do HTTPUnit no seu projeto e acessar seus recursos pelo auto-complete no contexto do seu código.

Agora vamos criar nossa classe robô. No Package Explorer, expanda o seu novo projeto, clique com o botão direito do mouse no ítem SRC > (default package), clique em New > Class. Dê um nome para sua classe (Ex: Webtest) e clique em Finish.

No código da classe Webtest, iremos fazer apenas um método main(), onde ocorrerá toda a navegação.  Primeiramente, vamos fazer um código que irá acessar um URL qualquer e imprimir o título da página resultante:

    public static void main(String[] args) throws Exception {

          WebConversation wc = new WebConversation();

          WebRequest request = new GetMethodWebRequest( "http://www.google.com/" );
          WebResponse response = wc.getResponse( request );

          System.out.println(response.getTitle());
    }

Cole o método acima no seu código, e aperte o atalho CTRL+SHIFT+O para que os pacotes necessários sejam automaticamente inseridos na seção import na sua classe.

Execute sua classe (Run). Caso o Eclipse pergunte o tipo de execução, informe para executar um Java Application. Caso o Eclipse informe que existem erros no projeto httpunit, ingore clicando em Proceed. Isso ocorre pois alguns arquivos de exemplo .java incluídos dentro do HTTPUnit estão com problemas.

Possívelmente, se sua conexão com a internet estiver tudo OK, e o site do Google estiver no ar, você verá na saída do seu console o texto Google, que é o título da página.

Na parte 2 desse tutorial, irei comentar alguns métodos de exploração do HTML do HTTPUnit como vasculhar por links, figuras e formulários, procurar por elementos específicos, além de dar um exemplo básico de navegação automatizada.

Até+

============= AVISO ============

Pessoal, peço desculpas por não ter continuado o tutorial. O fato é que esse artigo foi feito em 2009 e logo depois descobrí que o HTTPUnit fora descontinuado, não ocorrendo nenhum novo release depois de 2008 (http://httpunit.sourceforge.net/). Sugiro que estudem o HTMLUnit (http://htmlunit.sourceforge.net/) que inclusive possui uma documentação muito clara, bastando começar no link “Get Started” da sua página oficial (http://htmlunit.sourceforge.net/gettingStarted.html). Boa sorte! 😉

===============================