Manual do Kile

# Manual do Kile

Jonathan Pechta

Federico Zenith `<federico.zenith@member.fsf.org>`

Holger Danielsson `<holger.danielsson@versanet.de>`

Thomas Braun

Michel Ludwig `<michel.ludwig@kdemail.net>`

Felix Mauch `<felix_mauch@web.de>`

Tradução: Marcus Gama
Tradução: Rubens de Souza Matos Júnior
Tradução: André Marcelo Alvarenga
revisão 2.1 (22/05/2011)

Copyright © 2003 Jonathan Pechta

Copyright © 2003, 2005, 2006 Federico Zenith

Copyright © 2005, 2006, 2012 Holger Danielsson

Copyright © 2007 Thomas Braun

Copyright © 2007, 2011 Michel Ludwig

Copyright © 2011 Felix Mauch

Nota Legal

Kile é um editor de arquivos TEX e LATEX e um shell.

Capítulo 1. Prefácio
Prefácio

# Capítulo 1. Prefácio

## Requisitos

Para executar o Kile, você precisará ter os seguintes componentes instalados em seu sistema:

- Ambiente de Trabalho K (KDE): KDE é um popular ambiente de trabalho de código aberto.

- Qt™: Qt™ é uma GUI em C++ e a biblioteca de rede necessária para compilar o Kile.

- LATEX: programa de formatação de documentos de alta qualidade. Provavelmente você quer o pacte TeX Live (ou, em sistemas mais antigos, o teTEX), se você está em um sistema semelhante ao UNIX®.

A maioria desses itens pode estar incluída em sua distribuição Linux®; por favor, procure a documentação da sua distribuição, ou procure seu CD ou DVD de instalação, para adicionar esses pacotes ao seu computador.

O Kile pode também já estar disponível como um pacote pré-compilado por sua distribuição Linux®. Por favor, verifique o gerenciador de pacotes de sua distribuição.

Público alvo
Público alvo

## Público alvo

Esse manual é destinado a qualquer pessoa, independentemente de sua experiência com LATEX, KDE, Kile ou Linux®.

Não espera-se que usuários avançados leiam este manual, mas todas as sugestões sobre a documentação serão consideradas. Se você gostaria de contribuir para esse projeto ou para a documentação, consulte a página do Kile na web.

Você precisa de respostas sobre o Kile? Você emperrou durante o processo de compilação? Deseja ver uma nova funcionalidade implementada? A melhor maneira para fazer perguntas técnicas ou iniciar uma discussão é usar nossa lista de e-mails: `(kile-devel AT lists.sourceforge.net)`.

Capítulo 2. Introdução
Introdução

# Capítulo 2. Introdução

## Fatos básicos

### Sobre o Kile

Kile é um ambiente integrado de LATEX para o ambiente de trabalho do KDE. O Kile possibilita usar todas as funcionalidades do LATEX numa interface gráfica, dando-lhe um acesso simples, imediato e personalizado a todos os programas de completamento de código, compilação, pós-processamento, depuração, conversão e visualização do LATEX; você irá também obter assistentes muito úteis, uma referência ao LATEX e o gerenciado de projetos.

### Kile e o componente de edição do Kate

O Kile baseia-se no componente de edição do Kate, isto é, várias das capacidades de edição vêm do componente de edição de Kate em si. O Kile estende estas capacidades para lidar com a edição de documentos LATEX. Para aprender mais sobre o componente de edição Kate e as suas capacidades, veja o site do Kate .

### O que é LATEX?

LATEX é um sistema de processamento de texto derivado do TEX, um programa desenvolvido originalmente em 1977 por Donald Knuth para auxiliar na formatação de texto de uma maneira profissional e obter uma qualidade compatível com o trabalho de um profissional de tipografia. O LATEX foi criado por Leslie Lamport para dar aos autores um tipógrafo automático, especialmente para facilitar a árdua tarefa de formatar as fórmulas e expressões matemáticas, que por alguma razão são rodeadas por cifrões no LATEX. Hoje em dia, os programas de processamento de texto permitem que qualquer usuário seja o tipógrafo, mas o que normalmente se precisa é de um documento que pareça bonito sem ter que perder horas tentando fazê-lo parecer bonito. O LATEX liberta-o desse fardo e permite que você pense no documento ao invés da formatação. E, sim, ele ficará bonito!

### Como se pronuncia? Por que essa grafia estranha?

Existe uma tradição engraçada de que os pacotes relacionados com o TEX tenham a pronúncia e a formatação mais estranha possível. O TEX foi supostamente derivado do grego τεχ, o que em letras latinas equivale a teq. Existem várias explicações para isso, mas a mais provável é porque o TEX foi originalmente concebido para relatórios técnicos e, de fato, a sua melhor capacidade era a formatação correta e simples de fórmulas matemáticas, o que era então uma tarefa bastante dispendiosa, morosa e frustrante.

A pronúncia é supostamente a seguinte: o T é como é de se esperar, o E como em metro e o X como o ich do Alemão. Se não souber como soa o ch, é mais ou menos como o som que um gato assanhado produz; o símbolo do IPA é o /ç/. Muitas pessoas usam uma pronúncia diferente do acho (símbolo do IPA /x/), mas foi perguntado pessoalmente a alguns Gregos que confirmaram a primeira versão. Você deverá notar que várias pessoas pronunciam de forma errada TEX como /teks/ ou /tek/.

Por último, no LATEX os primeiros LA são pronunciados de forma semelhante a lei: a ideia é que, ainda que o TEX em bruto seja difícil, até mesmo um homem lay (leigo) poderá usar macros de LATEX. Uma forma menos inspiradora, mas mais realista, é o fato de poder derivar do apelido de Leslie Lamport, o criador do LATEX. Agora você já sabe!

LATEX 101
LATEX 101

## LATEX 101

O sistema de formatação LATEX é semelhante a outras linguagens de formatação, como o XML, que é usado para vários tipos de documentos (incluindo o que você está lendo) ou o HTML, usado para os sites. A ideia geral por trás das linguagens de formatação é usar palavras-chave especiais chamadas marcas ou tags, que dizem a um programa (um processador de texto, um navegador ou o compilador LATEX) como apresentar o texto. O Kile oferece-lhe um conjunto razoável destas marcas no menu LaTeX.

Embora nós tentaremos lhe dar uma boa ideia do que é o LATEX, este não é O Livro Definitivo sobre LATEX. Se quiser aprender LATEX em profundidade, talvez você queira pegar um livro emprestado em sua biblioteca local.

Como qualquer outra linguagem de formatação, o LATEX contém um preâmbulo, que define comandos globais, como o tamanho do papel, a numeração das páginas, dimensões do texto na página, e um corpo do documento, que contém o texto do documento. O preâmbulo contém pelo menos o comando `\documentclass` e antecede o corpo do documento, que começa com o comando `\begin{document}` e é, previsivelmente, terminado pelo comando `\end{document}`.

Principais recursos do Kile
Principais recursos do Kile

## Principais recursos do Kile

### Assistente de início rápido

O assistente de Início Rápido incorporado ao Kile é uma funcionalidade útil para começar a criar rapidamente documentos no Kile. A seleção do assistente no menu fornece várias opções para a criação do seu documento. Você poderá também indicar algumas opções relacionadas com o documento logo de início.

Opções de Classe:

- Classe do Documento: Escolha o tipo de documento que deseja criar: article, book, letter, report, scrartcl, scrreprt, scrbook, prosper, beamer ou outra classe personalizada.

- Tamanho da fonte: Diz ao Kile qual tamanho em pontos (pt) você quer usar.

- Tamanho do papel: Escolha o tamanho ou estilo das folhas.

- Codificação: De modo geral, é uma boa ideia usar a codificação do seu sistema. Os sistemas modernos cada vez mais usam o UTF-8 como codificação padrão. Se puder, use 'utf8' ou 'utf8x' (que é a ortografia correta para documentos LATEX).

- Outras opções: Permite-lhe definir as demais opções, como impressão, rascunho e outras.

Pacotes

Lista alguns dos pacotes adicionais mais comuns usados no LATEX. Marque a caixa de seleção para incluí-lo.

Propriedades do documento:

- Autor: Indique aqui o seu nome.

- Título: Adicione aqui o título do documento.

- Data: Indique a data.

### Modelos predefinidos

Os modelos predefinidos no Kile são:

- Documento em branco: Verdadeiras aberrações começam do nada!

- Article: define o formato de artigo, para um documento curto o bastante para não ser dividido em capítulos.

- Report: define o formato de relatório, para um documento de tamanho médio, com numeração de página na margem da página, por exemplo.

- Book: define o formato de livro, uma opção completa, tão poderosa que é usada para escrever muitos livros-texto universitários.

- Carta: define o formato da carta.

- Beamer, HA-Prosper: cria belas apresentações em PDF com uma aparência superior e todo o poder do LATEX.

- Powerdot: O Powerdot é o seguimento dos pacotes `seminar` e `HA-Prosper`. Não possui tantas opções como o Beamer, mas é fácil de usar e cria apresentações realmente bonitas em PDF.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2: as classes de documento KOMA-Script, especialmente adaptadas à tipografia alemã. Use-as sempre que você escrever textos em alemão.

- Xelatex: Um modelo de `Article` modificado para usar com o `XeLaTeX`.

Lembre-se de que todos esses modelos podem ser ajustados de acordo com as necessidades do usuário.

Novos usuários não precisam se preocupar, essa lista é só uma breve descrição de recursos, e uma descrição mais detalhada pode ser encontrada no Início rápido.

### Destaque de sintaxe

O Kile é semelhante a outros programas que lidam com o código-fonte e com a edição e irá automaticamente realçar os comandos, opções e itens que são usados e abusados. O Kile torna assim possível a localização de áreas problemáticas com facilidade: por exemplo, se você ver as área de texto principais ficarem verdes, provavelmente será porque se esqueceu de fechar um ambiente 'math' em algum lugar.

### Autocompletamento de ambientes

O completamento automático de ambientes significa que, quando você começar um novo ambiente com o comando `\begin{ambiente}`, o Kile irá inserir automaticamente um `\end{ambiente}`, com uma linha entre eles para o seu texto. Você poderá, obviamente, desativar esta opção se quiser na janela em Configurações → Configurar o Kile... → LaTeX → Ambientes.

### Pular para elemento da estrutura

Todos os documentos normalmente são estruturados em algum tipo de hierarquia. O LATEX permite que você divida os documentos na seguinte hierarquia (sendo 'part' o mais alto na hierarquia e 'subparagraph' o mais baixo):

- \part

- \chapter

- \section

- \subsection

- \subsubsection

- \paragraph

- \subparagraph

Ao visualizar um documento na visão de Estrutura, você pode pular entre elementos, clicando no elemento que você gostaria de ver.

### Busca reversa

Ao criar seus próprios arquivos LATEX, a busca reversa pode ser muito útil. Uma vez que você tenha criado um arquivo DVI (DeVice Independent File - Arquivo Independente de Dispositivo) ou PDF, você pode clicar com o botão esquerdo do mouse, enquanto pressiona Shift no visualizador e o Kile pulará para a linha correspondente no código-fonte em LATEX.

Um DVI é um tipo de arquivo que contém uma descrição de documento formatado, além de outras informações, incluindo fonte dos caracteres, e é, junto com o PDF, a saída usual do TEX ou LATEX. Existem muitos utilitários para visualizar, converter e imprimir arquivos DVI em vários sistemas e dispositivos.

### Busca direta

Ao usar a pesquisa inversa, a seleção dos itens no arquivo DVI ou PDF está associada com o editor, por isso, quando clicar no arquivo DVI ou PDF, a janela principal salta para a seção correspondente do código em LATEX do editor. A pesquisa normal é o oposto disto. Ela irá permitir que você clique em uma seção específica de texto no código em LATEX, saltando para a posição associada na janela do visualizador.

Barra de ferramentas
Barra de ferramentas

## Barra de ferramentas

- Novo: começa um novo documento.

- Abrir: abre um novo documento.

- Fechar: fecha seu documento.

- Definir como documento mestre: isto é usado quando se lida com vários arquivos. Se você tiver um documento-mestre, poderá lidar mais facilmente com outros arquivos `.tex` incluídos no seu documento. Se estiver usando os projetos, poderá também definir um documento-mestre do projeto em Projeto → Opções do projeto.

- Construção Rápida: compila o seu código de LATEX e mostra os resultados automaticamente, a menos que existam erros no documento.

- Modo de vigia de arquivos: este modo irá "monitorar" as alterações no arquivo DVI e não irá lançar nenhuma sessão nova do Okular após a Construção Rápida.

- Ver o arquivo de registro: vê o arquivo `.log`, onde poderá localizar erros.

- Erro anterior: recua no arquivo `.log` e assinala os erros no código.

- Erro seguinte: Avança no arquivo `.log` e realça os erros no código.

- Parar: interrompe a ferramenta atual.

- LaTeX: executa o LATEX sobre o documento ativo.

- ViewDVI: executa o visualizador de DVI.

- DVItoPS: converte um DVI para PostScript® (PS).

- ViewPS: executa o visualizador de PostScript® (PS).

- PDFLaTeX: executa o PDFLATEX sobre o documento ativo.

- ViewPDF: executa o visualizador de PDF.

- DVItoPDF: converte um DVI para PDF.

- PStoPDF: converte um PS para PDF.

- ViewHTML: visualiza o HTML criado.

- PesquisaDVI: Pula para a página do arquivo DVI, que corresponde à linha atual no editor.

- PesquisaPDF: Pula para a página do arquivo PDF, que corresponde à linha atual no editor.

Se você olhar para a barra de ferramentas Editar, irá reparar em três submenus. Estes menus foram desenhados para você ser capaz de adicionar certas funcionalidades comuns ao seu documento. A primeira lista é usada para dividir rapidamente o seu documento em partes, capítulos, seções e assim por diante; os comandos disponíveis para adicionar segmento ao seu código-fonte de LATEX são:

- part: nível mais alto da divisão de um documento.

- chapter: inicia uma novo capítulo.

- section: cria uma nova seção.

- subsection: cria uma nova subseção.

- subsubsection: uma seção secundária entre uma subseção e um parágrafo.

- paragraph: cria um novo parágrafo.

- subparagraph: cria um novo subparágrafo.

A lista chamada Outro é usada para inserir itens no seu documento, como índices, notas de rodapé e referências; os comandos disponíveis são:

- label: um comando que produz um rótulo para um capítulo, uma figura ou outro elemento.

- index: cria uma entrada para o índice.

- footnote: cria uma nota de rodapé em seu documento.

- ref: usado para referenciar um rótulo, que você pode escolher de uma lista suspensa.

- pageref: como o ref, porém referencia uma página, em vez de um elemento da estrutura.

- cite: cria uma referência com dados de uma bibliografia.

Menu suspenso Outro

Selecionando o rótulo para uma referência

Ao usar o cite, será apresentada uma lista de itens bibliográficos, mas se estiver usando o BibTEX, isto só irá funcionar se o arquivo pertencer a um projeto. Para editar arquivos do BibTEX, recomenda-se o uso de editores especializados. O autor tem obtido bons resultados com o KBibTEX. Obviamente, você poderá também escrever os arquivos do BibTEX à mão no Kile.

A última lista, chamada de tiny é usada para indicar o tamanho do texto. Você pode definir o tamanho do texto principal, das notas de rodapé e assim por diante. Os comandos disponíveis são:

- tiny: o menor de todos.

- scriptsize: muito pequeno.

- footnotesize: menor.

- small: pequeno.

- normalsize: normal.

- large: grande.

- Large: maior.

- LARGE: até maior.

- huge: ainda maior.

- Huge: o maior de todos.

Capítulo 3. Início rápido
Início rápido

# Capítulo 3. Início rápido

## Escrevendo um documento LATEX com o Kile para Iniciantes

Os usuários do Kile tem duas opções ao iniciar um documento novo: poderão usar o Assistente para iniciar um documento novo, selecionar o tipo de documento que gostariam de criar e as opções como o tamanho da fonte, do papel e assim por diante; caso contrário, poderão escrever o código à mão.

    \documentclass[12pt]{article}
    \begin{document}
            Aqui está um pedaço de texto escrito em \LaTeX.
    \end{document}

Todo documento em LATEX começa com o comando `\documentclass[argumento opcional]{class}`, onde 'class' especifica o tipo de documento.

Ao digitar o código de exemplo acima, você obterá o seguinte resultado:

Texto compilado em DVI

Os colchetes que vêm após ao comando `\documentclass` contêm as opções para o comando. A opção `[12pt]` define o tamanho da fonte do seu artigo; se não definir o tamanho da fonte no início, poderá fazer isso mais tarde no texto.

Depois de digitar o exemplo de código acima, você precisará compilar o seu código-fonte LATEX. A forma mais simples para compilar o LATEX é usar o menu Criar ou o botão Criação Rápida.

Alt+2 é a combinação de teclas para compilar seu código-fonte.

Você precisa primeiro salvar seu código-fonte para poder compilá-lo; o Kile fará isso automaticamente para você.

Se o seu documento não compilou, verifique os erros no registro. Ao usar a opção Criação Rápida, o visualizador Okular deverá ser carregado automaticamente; se não o fizer, verifique no arquivo de registro.

Ambientes
Ambientes

## Ambientes

Um ambiente é um segmento de texto gerenciado de forma diferente do resto do documento. Por exemplo, você cria um relatório com um tamanho de fonte 12, mas precisa alterar o tamanho da sua letra para algumas frases. Os comandos `\begin{ambiente}`, `\huge` e `\end{ambiente}` permitirão alterar temporariamente o texto dentro dos comandos de controle para ter um tamanho enorme.

As alterações só são efetivas a partir do `\begin{ambiente}` até o `\end{ambiente}`. Não existem limites para o número de alterações que poderá fazer dentro de um ambiente.

Existem várias funcionalidades que você poderá adicionar ao seu documento que poderão torná-lo mais legível e amigável. Você poderá adicionar funcionalidades como, por exemplo, tipos de fonte diferentes, negritos, itálicos, sublinhados, etc., ao seu documento e estes comandos irão terminar com um comando `\end` ou no fim do seu ambiente.

- `\begin{emph}`: este comando coloca o texto em itálico e isto é válido até que o código passe por um `\end{emph}` ou outro ambiente. Para colocar uma palavra em itálico, você poderá usar a sintaxe: esta é a `\emph{minha}` frase.

- `\textbf{Vou tornar este texto dentro dos parênteses em negrito}`: este comando coloca o seu texto a negrito.

- `\quote`: para criar uma citação dentro do seu documento; inicie a citação com `\begin{quote}` e termine-a com `\end{quote}`.

- `\center`: centraliza o texto.

- `\verse`: cria texto deslocado para poemas.

- `\itemize`: cria uma lista de itens.

Usando o Kile
Usando o Kile

## Usando o Kile

Agora que já foram indicadas algumas informações básicas sobre como escrever código com a linguagem de formatação LATEX, mostraremos um passo a passo para criação de um documento usando o Kile.

1. Inicie o Kile.

2. Selecione o Assistente → Início Rápido, depois escolha um formato e defina as suas preferências no assistente.

3. Logo que o assistente tenha inserido algum texto, faça algumas configurações para tornar o documento mais legível, adicione no mínimo uma citação, algum texto em negrito, itálico e um verso para ver a diferença entre os comandos.

4. Salve seu arquivo, e dê o nome `intro.tex`.

5. Compile seu documento usando Alt+2 ou o botão chamado LaTeX.

6. Selecione ViewDVI.

7. Verifique todo o seu novo texto.

8. Agora que você acabou de ver o seu documento, clique no botão Janela do Editor ou pressione Ctrl+E para voltar ao editor se você estiver usando o visualizador incorporado ou feche a janela de visualização se estiver utilizando um programa separado.

Isso mesmo! Você acabou de criar seu primeiro documento LATEX!

Uma vez criado seu arquivo DVI, será possível imprimir o documento ou transformá-lo em um arquivo PostScript® ou PDF. Experimente e divirta-se!

Arquivos DVI
Arquivos DVI

## Arquivos DVI

DVI significa DeVice Independent ou, em português, Independente de Dispositivo. Esses arquivos são produzidos pelo TEX ou pelo LATEX para serem lidos por um driver de determinado tipo no seu computador. Existem vários tipos de saída para onde poderá ser enviado um arquivo `.dvi`, como uma impressora, um conversor para arquivos PostScript® ou PDF ou para a tela do seu computador.

### Visualizando um DVI

Você já viu como visualizar um arquivo DVI na tela, ao usar o botão ViewDVI na barra de ferramentas.

### Imprimindo um arquivo DVI

Para imprimir um arquivo DVI, você poderá usar o mesmo processo que usou para criar o seu documento anteriormente (veja em Usando o Kile). No passo 7, depois de ter clicado em ViewDVI, selecione a opção Arquivo → Imprimir no visualizador e, se já tiver a sua impressora devidamente configurada, será capaz de imprimir o DVI.

### Convertendo arquivos DVI

A barra de ferramentas fornece as opções para exportar um DVI para outros formatos. Assim que criar um arquivo DVI a partir do seu código-fonte em LATEX, será possível exportá-lo para o formato de sua escolha com os botões da barra de ferramentas.

Busca direta entre Kile e Okular
Busca direta entre Kile e Okular

## Busca direta entre Kile e Okular

As funções de busca direta permitem-lhe saltar do seu editor diretamente para a posição associada no arquivo DVI ou PDF.

O Kile oferece uma configuração com esta opção para todos os executáveis em LATEX. Vá para Configurações → Configurar o Kile... → Ferramentas+Compilar e escolha sempre a configuração Moderna.

Para executar uma busca direta, posicione o cursor em uma linha do código-fonte e clique em Busca direta para saltar para a posição associada na janela do visualizador DVI ou PDF.

Busca inversa entre Kile e Okular
Busca inversa entre Kile e Okular

## Busca inversa entre Kile e Okular

A busca inversa é uma funcionalidade muito útil quando você mesmo está escrevendo um documento em LATEX. Se tudo estiver configurado convenientemente, você pode clicar na janela do Okular com o botão esquerdo do mouse, enquanto pressiona Shift. Após isso, o Kile carrega o código em LATEX e salta para o parágrafo correspondente. Para usar a pesquisa inversa, você terá que compilar o seu arquivo LATEX com a configuração Moderna.

A busca inversa funcionará se:

- O arquivo fonte tenha sido compilado com sucesso.

- O Okular saiba qual editor você gostaria de usar.

Com esta funcionalidade do Okular, um clique com o botão esquerdo do mouse, enquanto pressiona Shift no documento DVI ou PDF, fará com que o Kile abra o documento em LATEX e tente ir para a linha correspondente. Lembre-se de indicar ao Okular para usar o Kile como editor de texto no item de menu Configurações → Configurar o Okular... (na página Editor).

Configurando o Okular

Solucionando erros
Solucionando erros

## Solucionando erros

Se estiver tentando usar a criação rápida e o visualizador de DVI não abrir, as chances serão que você tenha um erro. Se for o caso, ele ficará visível na área de mensagens/arquivos do registro e o resumo do erro será indicado.

O arquivo de registro irá explicar a origem do erro no seu código. No editor, você poderá usar os botões da barra de ferramentas Erro de LaTeX Anterior e Erro de LaTeX Seguinte para saltar de um erro para outro. O arquivo de registro sempre indica qual a linha em que o erro ocorreu. Para ver a linha em que um determinado erro ocorreu, clique no erro na janela de registro, para que o Kile o leve para essa linha.

Capítulo 4. Iniciando um novo documento
Iniciando um novo documento

# Capítulo 4. Iniciando um novo documento

Quando clicar no botão da barra de ferramentas para iniciar um documento novo, irá aparecer uma janela que lhe perguntará o tipo de modelo que gostaria de usar para escrever o seu documento. As escolhas padrão são:

- Documento vazio

- Artigo

- Beamer

- Livro

- HA-Prosper

- Powerdot

- Carta

- Relatório

- Scrartcl (do pacote KOMA-Script)

- Scrbook (do pacote KOMA-Script)

- Scrlttr2 (do pacote KOMA-Script)

- Scrreprt (do pacote KOMA-Script)

- PDF

- XeLaTeX

Se você tiver selecionado um Documento vazio, poderá tanto começar a escrever um documento do zero como poderá usar o assistente para iniciar rapidamente um documento novo (veja em Assistente de início rápido).

## Modelos

Usuários frequentes de LATEX tipicamente usam o mesmo preâmbulo para quase todos os documentos. Modelos podem ser criados, salvos e carregados dentro do Kile para tornar mais fácil iniciar um novo documento.

### Criando um novo modelo

Para criar um novo modelo, você precisa abrir primeiro um arquivo TEX / LATEX ou criar o seu próprio arquivo. O Kile poderá gerar um modelo a partir de um documento existente se abrir o documento desejado e selecionar a opção Arquivo → Criar modelo a partir do documento.

### Configurando substituições automáticas

Ao criar um novo documento através da seleção de um modelo na opção Arquivo → Novo, certas combinações de caracteres serão substituídas por alguns dados como o seu nome ou a codificação que estiver usando. Estas variáveis poderão ser configuradas em Configurações → Configurar o Kile... → Configurações → Geral.

Quando estiver elaborando seu próprio modelo, será útil conhecer quais combinações de caracteres são substituídos por quais variáveis do modelo:

- `$$AUTHOR$$`: Esse texto será substituído pela variável autor.

- `$$DOCUMENTCLASSOPTIONS$$`: Esse texto será substituído pela variável de opções documentclass. Normalmente é usado da seguinte maneira: `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$`: Se a variável inputencoding estiver configurada para, por exemplo, `latin1`, esse texto será substituído por `\input[latin1]{inputenc}`.

### Criando um modelo a partir do assistente

A maneira mais fácil de criar um novo modelo é iniciar o assistente, e então adicionar comandos ao editor. Assim que tiver configurado o documento:

1. Salve seu arquivo;

2. Vá para Arquivo;

3. Escolha Criar modelo a partir do documento;

4. Faça quaisquer correções necessárias ao modelo;

5. Digite um nome para seu novo modelo;

6. Clique em OK para adicionar seu modelo ao menu.

Na próxima vez que iniciar um novo documento, você poderá escolher seu modelo personalizado, em vez dos predefinidos.

### Criando um modelo a partir de qualquer arquivo

Um modelo pode ser criado a partir de qualquer arquivo LATEX. Se estiver procurando uma maneira fácil de configurar um modelo, procure na Internet um que você goste e siga os mesmos passos indicados em Criando um modelo a partir do assistente.

Por exemplo, você pode querer criar um poster completo em A0. Esses posters são normalmente vistos em conferências científicas e o LATEX o ajudará a criar um poster bonito e interessante. Você poderá obter um modelo para os posters em A0 na página pessoal de Jonathan Marchini, mas existem muito mais disponíveis. Lembre-se de que precisará do pacote `a0poster`, que normalmente não é incluído em uma distribuição normal do padrão TEX. Baixe ele neste local e coloque-o na mesma pasta do seu arquivo LATEX.

### Removendo um modelo

Para remover um modelo do Kile, faça o seguinte:

1. Vá para Arquivo → Remover modelo...;

2. Uma caixa de diálogo aparecerá com todos os modelos listados: selecione um deles;

3. Clique em OK, e seu modelo será removido.

Modelos marcados com um asterisco (*) não podem ser removidos sem a permissão adequada.

Capítulo 5. Editando Documentos LATEX
Editando Documentos LATEX

# Capítulo 5. Editando Documentos LATEX

O editor interno que o Kile usa é o Kate. O Kate é um editor de texto criado para programadores, que incorpora a habilidade de ler e destacar muitos tipos diferentes de arquivos de texto, entre os quais estão o LATEX e o BibTEX; você pode acessar muitas opções para o Kate diretamente do menu Ferramentas do Kile.

Para aprender mais sobre o Kate e suas capacidades, veja o Manual do Kate. Usuários do Kile podem começar a ler do capítulo “Trabalhando com o Editor do Kate”.

## Referência LATEX

O Kile oferece uma referência das marcas de LATEX muito prática, à qual poderá acessar se escolher a opção Ajuda → Referência de LaTeX. Ela contém uma descrição detalhada de quase todos os comandos que poderá usar no LATEX e a sua sintaxe.

Movimentos do cursor
Movimentos do cursor

## Movimentos do cursor

Para selecionar um texto, você tem as seguintes opções:

- Segure o botão esquerdo do mouse, e arraste o mouse para destacar o texto.

- Clique uma vez numa palavra para mover o cursor para uma nova área.

- Clique duas vezes numa palavra para selecionar a palavra inteira.

- Clique duas vezes numa palavra e pressionando Ctrl para selecionar a palavra completa do TEX. Isso significa que clicar dessa maneira em `\par` de `\par\bigskip` somente seleciona \par.

- Clique três vezes para selecionar a frase inteira.

Se mantiver pressionado o botão esquerdo do mouse e arrastar o texto que deseja selecionar, irá copiar automaticamente o texto selecionado para a área de transferência.

Se pressionar o Shift e usar as teclas de cursores, você poderá selecionar partes do código-fonte na janela do editor.

Colchetes
Colchetes

## Colchetes

O completamento de parênteses é uma ferramenta visual que o editor usa para lhe indicar qual o parênteses corresponde a outro. Se você abrir qualquer arquivo `.tex` e selecionar qualquer parênteses, seja ele um normal (), colchete [] ou chave {}, o editor irá realçar o colchete e a sua correspondência em amarelo (esta cor padrão poderá ser alterada). Por isso, por exemplo, se posicionar o cursor nas chaves em `\section{Introdução}`, irá ver o `\section{Introdução}` no realce amarelo por padrão, mostrando-lhe a localização dos parênteses inicial e final.

Realce
Realce

## Realce

O Kile tem a habilidade de procurar e realçar diferentes tipos de código. Por exemplo, comandos LATEX são diferenciados de texto normal e as fórmulas matemáticas também são realçadas com uma cor diferente.

Marcadores
Marcadores

## Marcadores

Muitos assistentes podem inserir marcadores opcionais, um tipo especial de marcador dentro do texto. As opções do menu Editar → Marcadores ou os atalhos de teclado correspondentes te permitirão pular parar o próximo ou último marcador. Isso também destacará esse marcador, de forma que ele seja removido automaticamente, quando você digitar sua primeira letra.

Próximo marcador (Ctrl+Alt+Direita)

  Pula para o próximo marcador no texto se houver algum.

Último marcador (Ctrl+Alt+Esquerda)

  Pula para o último marcador no texto se houver algum.

Selecionar
Selecionar

## Selecionar

A edição é, obviamente, um dos aspectos principais quando você usar um programa como o Kile. Ainda que o Kate já tenha ótimas capacidades, o Kile adiciona algumas funcionalidades importantes, as quais são especialmente necessárias para escrever código em LATEX. O LATEX necessita sempre de vários ambientes e grupos, como tal o Kile suporta comandos muito especiais para selecioná-los. No menu Editar → Selecionar, você encontrará os seguintes comandos para seleção de texto:

Ambiente (dentro) (Ctrl+Alt+S,E)

  Selecione um ambiente sem as marcas envolventes. Se este comando for invocado, quando já estiver selecionado um ambiente, o Kile irá expandir a sua seleção para o ambiente envolvente seguinte.

Ambiente (fora) (Ctrl+Alt+S,F)

  Seleciona um ambiente, incluindo as marcas envolventes. Esta seleção também poderá ser expandida com uma segunda invocação deste comando.

Grupo de TeX (dentro) (Ctrl+Alt+S,T)

  Seleciona um grupo TEX dentro das chaves abrindo e fechando.

Grupo de TeX (fora) (Ctrl+Alt+S,U)

  Seleciona um grupo TEX incluindo as chaves abrindo e fechando.

Grupo matemático (Ctrl+Alt+S,M)

  Seleciona o grupo matemático atual, incluindo os comandos matemáticos.

Parágrafo (Ctrl+Alt+S,P)

  Seleciona um parágrafo inteiro, isto é, um grupo de linhas de texto separadas em ambos os lados por linhas vazias. Como tal, um parágrafo não significa apenas linhas contínuas de texto, como está habituado nos editores de texto normais. Este significado estendido também inclui tabelas, comandos de LATEX e outras linhas de código. A única coisa importante do Kile é que esse tipo de parágrafo é separado por duas linhas em branco.

Linha (Ctrl+Alt+S,L)

  Seleciona a linha de texto da posição atual do cursor.

Palavra TeX (Ctrl+Alt+S,W)

  Seleciona a palavra sob a posição atual do cursor. Esta seleção tem também um significado estendido, uma vez que este comando também permite selecionar comandos de LATEX, que comecem por uma barra invertida e que possam também ter um asterisco opcional no fim.

### Selecione os comandos de LATEX

O Kile tem uma funcionalidade estendida para selecionar comandos de LATEX. Se, por exemplo, você escrever

    text \bfseries\itshape mais texto

e usar o clique duplo sobre um dos comandos do LATEX, ambos serão selecionados. Mas provavelmente você só desejará selecionar um dos dois ou mais comandos. Isso pode ser feito com a tecla Ctrl. Só terá que pressionar a tecla Ctrl e fazer duplo-clique para selecionar apenas o comando desejado.

Excluir
Excluir

## Excluir

Para excluir uma parte de um documento, você poderá selecioná-la e então usar a tecla Delete. O Kate também disponibiliza o comando Ctrl+K que exclui a linha inteira, mas o Kile disponibiliza um forma mais rápida com seus próprios comandos de exclusão. Em Editar → Excluir, você encontrará os seguintes comandos para exclusão de texto:

Ambiente (dentro) (Ctrl+Alt+T,E)

  Remove um ambiente sem as tags em volta.

Ambiente (fora) (Ctrl+Alt+T,F)

  Remove um ambiente incluindo as tags em volta.

Grupo TeX (dentro) (Ctrl+Alt+T,T)

  Exclui um grupo de TEX que estiver entre parênteses.

Grupo TeX (fora) (Ctrl+Alt+T,U)

  Exclui um grupo TEX, incluindo os parênteses.

Grupo Matemático (Ctrl+Alt+T, M)

  Remove o grupo matemático atual, incluindo os comandos matemáticos.

Parágrafo (Ctrl+Alt+T,P)

  Remove um parágrafo completo. Veja o comando Selecionar → Parágrafo para saber como se define um parágrafo no Kile.

Para o Fim da Linha (Ctrl+Alt+T,I)

  Remove o texto da posição atual do cursor até o fim da linha.

Palavra TeX (Ctrl+Alt+T,W)

  Remove a palavra ou comando de LATEX sob a posição atual do cursor.

Ambiente
Ambiente

## Ambiente

Já foi mencionado anteriormente que os ambientes são um ponto central no LATEX. Como tal, o Kile oferece outros cinco comandos para facilitar ao máximo o trabalho com o LATEX, sob os submenus Editar → Ambiente.

Ir para o início (Ctrl+Alt+E,B)

  Este comando irá saltar para o início do ambiente atual, seja qual for a sua posição. O cursor será colocado diretamente à frente da marca de abertura do ambiente.

Ir para o fim (Ctrl+Alt+E,E)

  Este comando irá saltar para o fim do ambiente atual, seja qual for a sua posição. O cursor será colocado diretamente atrás da marca de fechamento do ambiente.

Correspondência (Ctrl+Alt+E,M)

  Quando o seu cursor estiver à frente ou acima da marca `\begin{ambiente}`, ele irá parar no extremo oposto do ambiente, e vice-versa.

Fechar (Ctrl+Alt+E,C)

  Se escrever um conjunto de marcas aninhadas, você poderá perder o controle de todos esses ambientes. Este comando irá fechar o último ambiente aberto, de modo que a estrutura aninhada dos ambientes não se quebre.

Fechar tudo (Ctrl+Alt+E,A)

  Fecha todos os ambientes abertos, não apenas o ambiente aberto pela última vez.

Grupo TEX
Grupo TEX

## Grupo TEX

O Kile também oferece alguns comandos especiais para os grupos de LATEX, os quais são determinados pelas chaves `{...}`. No submenu Editar → Grupo de TeX, irá encontrar alguns comandos importantes que correspondem aos do Editar → Ambiente.

Ir para o início (Ctrl+Alt+G,B)

  Este comando pulará para o início do grupo atual, seja qual for a sua posição. O cursor será colocado diretamente à frente da chave de abertura.

Ir para o fim (Ctrl+Alt+G,E)

  Este comando pulará para o final do grupo atual, seja qual for a sua posição. O cursor será colocado diretamente na frente da chave de fechamento.

Correspondência (Ctrl+Alt+G, M)

  Quando o seu cursor estiver à frente ou acima da chave de abertura de um grupo do TEX, ele irá parar no extremo oposto do grupo, e vice-versa.

Fechar (Ctrl+Alt+G, C)

  Se escrever um conjunto de chaves de grupos aninhados, você poderá perder o controle de todos esses grupos. Este comando irá fechar o último grupo aberto, de modo que a estrutura aninhada dos grupos TEX não se quebre.

Aspas duplas
Aspas duplas

## Aspas duplas

Em LATEX são usados dois apóstrofos como aspas. Para o ajudar a inseri-las de forma eficiente, o Kile permite-lhe pressionar " para inserir dois apóstrofos de abertura. Além disso, se você quiser fechar as aspas, terá também que pressionar ". O Kile será suficientemente inteligente para reconhecer esta situação e inserir dois apóstrofos de fechamento no LATEX.

Para obter aspas duplas literalmente, por outro lado, pressione " duas vezes.

Você poderá ativar ou desativar esta inserção automática de aspas de abertura e fechamento em Configurações → Configurar o Kile... → LaTeX.

Se você também incluir opções específicas do idioma ou arquivos de estilos como o `ngerman` ou o `french`, também poderá usar as aspas alemãs ou francesas. Existem muitos outros idiomas disponíveis.

Nova linha inteligente
Nova linha inteligente

## Nova linha inteligente

Se pressionar Ctrl+Return, o Kile irá inserir uma mudança de linha inteligente. Se a sua posição atual for dentro do ambiente de uma lista, como o `enumerate` ou o `itemize`, o Kile não só irá inserir uma mudança de linha, como também irá adicionar um comando `\item`.

Se estiver dentro do ambiente de uma tabela, o Kile irá terminar a linha atual com um `\\`, seguido da linha nova.

Se estiver dentro de um comentário de LATEX, o Kile irá iniciar a linha seguinte com um `%`.

Ainda melhor, o Kile é inteligente o suficiente para suportar o LATEX padrão e os ambientes definidos pelo usuário, que poderão ser adicionados na seção Configurações → Configurar o Kile... → LaTeX.

Tabulação inteligente
Tabulação inteligente

## Tabulação inteligente

Alguns usuários gostam de organizar as colunas nos ambientes de tabelas e colocar todos os caracteres de E-comerciais & por baixo uns dos outros. O Kile tenta suportar isto. Se pressionar Shift+Alt+&, o Kile irá procurar a próxima tabulação na linha acima. Ainda que isto possa não corresponder à tabulação certa, o Kile irá adicionar alguns espaços para ajustar a posição da coluna à página atual.

Capítulo 6. Complementação de código
Complementação de código

# Capítulo 6. Complementação de código

Ainda que o Kate já ofereça um bom modo de completamento de código, o Kile amplia sua funcionalidade para ter suporte a alguns métodos especiais do LATEX. Estão integrados seis modos diferentes. Três deles funcionam sob demanda, enquanto os outros dois são modos de completamento automático. Todos os modos podem ser configurados para funcionar de forma bastante diferente em Configurações → Configurar o Kile....

## Complementação automática de ambiente

Quando você começa um ambiente novo, se escrever `\begin{ambiente}`, o Kile irá adicionar automaticamente um `\end{ambiente}`, com uma linha no meio para o seu texto.

O completamento automático poderá ser desativado na seção do LATEX na opção Configurações → Configurar o Kile... → LaTeX+Ambientes.

Completar um Ambiente de Equação

Comandos de LATEX
Comandos de LATEX

## Comandos de LATEX

Quando você digitar algumas letras, poderá ativar este modo de completamento para os comandos de LATEX e para as palavras normais com a opção de menu Editar → Completar → Comando de (La)TeX ou com o atalho de teclado Ctrl+Shift+Espaço. O Kile irá ler primeiro as letras da posição atual do cursor à esquerda e parar no primeiro caractere que não seja uma letra ou uma barra invertida. Se este padrão começar por uma barra invertida, o Kile irá entrar no modo de completamento de comandos de TEX ou LATEX. Caso contrário, irá entrar no modo normal de dicionário, onde não irá procurar quaisquer comandos do LATEX. Dependendo do modo escolhido, será aberta uma janela de completamento. Você verá todos os comandos ou palavras, onde o início corresponde ao padrão atual. Poderá navegar com as teclas de cursores por esta lista e selecionar um item com a tecla Enter, ou ainda com um clique duplo do mouse.

Ao pressionar a tecla Backspace, a última letra do seu padrão será removida e a lista de palavras do completamento poderá crescer automaticamente. Por outro lado, se digitar outra letra, o padrão será estendido e a lista de palavras visíveis poderá diminuir.

Se optar por não selecionar nenhuma das propostas, poderá sair dessa janela com a tecla Esc.

O usuário verá que todos os comandos estão escritos com uma pequena descrição dos seus parâmetros. Essas descrições estão, claro, cortadas quando você selecionar um comando. Opcionalmente, poderá deixar que o Kile insira pontos nestes locais, para que possa saltar facilmente para estas posições com a opção Editar → Pontos → Ponto Seguinte e inserir o parâmetro desejado.

Vá para Configurações → Configurar o Kile... → Kile+Completamento para configurar uma ou mais listas deste tipo. Você poderá então escolher listas de palavras diferentes para os comandos de TEX e LATEX, bem como um modo de dicionário para as palavras normais.

Se você escolher a opção Mostrar os comandos de Latex, os itens em todos os arquivos CWL escolhidos, usados no completamento dos comandos de LATEX, serão apresentados em uma área separada da barra lateral do Kile. Você verá quais comandos estão disponíveis e quais parâmetros e opções devem ou podem ser indicados para um determinado completamento. Você também pode simplesmente selecionar um item com o botão do mouse, de modo que possa ser inserido no documento, com todos os parâmetros e opções com nome retirados.

Uma vez que cada lista de palavras escolhida será apresentada em uma área separada, poderão existir muitas áreas, de modo que a janela principal poderá ficar muito grande para telas pequenas. Como isto fica muito feio, o Kile funciona com um número máximo de áreas permitidas, estando isto configurado como sendo 10 por padrão. Se esse valor for muito grande para a sua tela, você deverá reduzi-lo.

Ambientes
Ambientes

## Ambientes

O modo de comando não é útil para completamento de código de ambientes. Você terá sempre que escrever algumas letras do `\begin` e invocar o modo de completamento, o que irá resultar em uma lista enorme de marcas de ambiente. Por outro lado, os ambientes são usados com tanta frequência que o Kile oferece um modo especial para completamento de códio de ambientes. Esqueça a marca de abertura e, simplesmente, escreva `al`, por exemplo.

Quando agora invocar o modo de completamento com a opção Editar → Completar → Ambiente ou o atalho de teclado Alt+Espaço, a marca de abertura é adicionada automaticamente e você verá o `\begin{al}`. Após esta alteração, a lista de completamento estará muito mais limpa.

Agora, selecione um ambiente para vê-lo fechando-se automaticamente. Além disso, se o Kile reconhecer um ambiente de listas, irá também inserir uma primeira marca `\item`.

Vá para Configurações → Configurar o Kile... → Kile → Completamento para configurar uma ou mais listas deste tipo. Este modo usa as mesmas listas de palavras que o modo de completamento dos comandos de TEX e LATEX.

Abreviaturas
Abreviaturas

## Abreviaturas

O Kile suporta as listas de abreviaturas definidas pelo usuário, as quais são substituídas a pedido por sequências de texto maiores. Veja em Configurações → Configurar o Kile... → Kile → Completamento para configurar uma ou mais destas listas. Para o exemplo acima indicado, a lista de abreviaturas em `exemplo.cwl` deverá ser escolhida. Nesse arquivo, você encontrará o item `L=\LaTeX`, por exemplo.

Vamos começar agora e escrever, por exemplo, apenas a letra `L`. Agora, invoque o modo de abreviatura do completamento de palavras com Editar → Completar → Abreviaturas ou com o atalho de teclado Ctrl Alt+Espaço para a letra `L` ser substituída pelo texto `\LaTeX`.

O completamento de abreviaturas também suporta a mudança de linha `%n` e o `%C` para colocar o cursor, caso estes caracteres estejam presentes no texto da expansão. Por isso, se você tiver o item

    en1=\begin{enumerate}%n\item %C%n\end{enumerate}%n

no arquivo de completamento, e invocar o completamento da abreviatura, a expansão ficará parecida com a seguinte, onde o `x` mostra a posição final do cursor.

    \begin{enumerate}
            \item x
    \end{enumerate}

### Abreviaturas

Se escolher a opção Mostrar as abreviaturas, todas as possíveis abreviaturas são apresentadas numa área da barra lateral. Assim, você irá ter uma boa visão geral sobre todas as abreviaturas possíveis.

Modos de auto-complementação
Modos de auto-complementação

## Modos de auto-complementação

### Comandos de LATEX

Você poderá também ativar um modo de completamento para os comandos de LATEX. Quando se atingir um determinado limite de letras (por padrão: 3), aparece uma janela com uma lista de todos os comandos de LATEX correspondentes. Você poderá selecionar um destes comandos ou ignorar esta janela e escrever mais letras. Os itens da área de completamento irão sempre se alterar e corresponder à sua palavra escrita.

Vá para Configurações → Configurar o Kile... → Kile → Completamento para ativar e desativar este modo ou mudar o limite.

### Palavras do documento

Os grandes dicionários não são úteis no modo de completamento. Porém, nós já vimos que algumas das palavras de um documento são escritas mais de uma vez. Como tal, o Kile oferece o completamento de todas as palavras do documento escritas pelo usuário. Você poderá invocar manualmente este completamento, se clicar em Ctrl+Espaço. Lembre-se de que esse modo é diferente do modo de completamento de comandos do LATEX.

Se você quiser ativar ou desativar este modo, vá para Configurações → Configurar o Kile... → Editor → Edição → Completamento Automático. Nessa caixa de diálogo, você poderá configurar se o modo de completamento das palavras do documento deverá ser ativado. Existe também uma opção para alterar o valor-limite a partir do qual aparece a janela de completamento.

Escrever os Próprios Arquivos de Completamento
Escrever os Próprios Arquivos de Completamento

## Escrever os Próprios Arquivos de Completamento

A última especificação do formato do arquivo de completamento pode ser encontrada na especificação do formato de arquivos CWL.

Os arquivos de completamento poderão ser instalados na área pessoal de um usuário na subpasta `~/.kde/share/apps/kile/complete/<mode>/`, onde o `<mode>` tanto poderá ser `abbreviation`, `dictionary` ou `tex`.

Capítulo 7. Assistentes e caixas de diálogo
Assistentes e caixas de diálogo

# Capítulo 7. Assistentes e caixas de diálogo

## Assistente de início rápido

Este assistente já foi descrito em Assistente de início rápido.

Incluir imagens
Incluir imagens

## Incluir imagens

A janela Incluir imagens torna a inserção de imagens a mais simples possível. Você pode acessá-la por meio do menu com LaTeX → Inserção de imagens. Por favor, dê uma olhada em Formatos de Arquivos Gráficos e Imagens EPS para obter uma visão geral de alguns fatos relacionados com formatos gráficos.

1. Escolha um arquivo de imagem. Ele poderá ser um arquivo JPEG, PNG, PDF, EPS ou ainda um arquivo EPS comprimido com o 'zip' ou o 'gzip'. Se tiver instalado o ImageMagick e também tiver configurado o Kile para usá-lo (Configurações → Configurar o Kile → LaTeX+Gráficos), a largura e a altura da imagem será mostrada automaticamente. Se o ImageMagick conseguir determinar uma resolução, o tamanho da imagem será também mostrado em centímetros.

2. Decida se a sua imagem deve ser centralizada na página.

3. Escolha se deseja a notação `\graphicspath` para o seu arquivo gráfico.

   Por padrão, os arquivos gráficos terão que estar na mesma pasta que o seu documento-mestre, para encontrá-los. Contudo, é possível colocá-los em outras pastas para tornar as coisas mais claras. Sem um comando `\graphicspath`, o Kile iria incluir a localização do arquivo de imagem. Mas, se usar o `\graphicspath` no seu preâmbulo da seguinte forma:

       \graphicspath{{/caminho/para/minhas/imagens}{outro/caminho/para/mais/imagens}}

   e assinalar esta opção, o Kile irá usar apenas o nome de base do arquivo da imagem.

   Outro exemplo: se configurar o comando `\graphicspath` da seguinte forma:

       \graphicspath{{./}{câmera/}{imagens/}}

   O LATEX buscará do diretório atual, em seguida em `câmera` e finalmente em `imagens` para encontrar seu arquivo de imagem.

4. Se indicar uma largura ou uma altura, a imagem inteira será redimensionada de forma proporcional. Por favor, não define os valores para a largura e para a altura ao mesmo tempo. Isto redimensiona a imagem com fatores diferentes para a largura e a altura, o que com certeza não será o que deseja. Veja também a informação perto do topo da caixa de diálogo, para ver o tamanho original da imagem.

5. Indique um ângulo para a imagem ser girada no sentido anti-horário.

6. A informação da caixa envolvente é configurada automaticamente, quando você escolher um arquivo gráfico. Essa informação só é necessária quando você trabalhar com o LATEX tradicional e com imagens rasterizadas. Veja a discussão sobre imagens EPS.

   Se o LATEX precisar de uma área envolvente e não quiser gerar um arquivo 'bb', o Kile suporta esta opção. Por outro lado, o PDFLATEX irá dar um aviso, sempre que quiser incluir uma imagem PNG ou JPG com essa opção. Ela ativa ou desativa a opção da área envolvente.

7. Ajustar a escala da imagem com o seguinte fator; por exemplo, 0,5 para reduzir para metade, ou 2 para duplicar. Quando usar esta opção, você não terá que definir nenhuma largura ou altura para a imagem.

8. Na aba Reduzir a imagem você pode cortar sua imagem em todas as quatro direções.

9. Por fim, você tem que especificar se deseja incorporar essa imagem em um ambiente de figuras. Quando desejar que o texto seja disposto em torno da figura, use o ambiente wrapfigure.

   ### Nota

   Quando você escolhe o ambiente wrapfigure, você precisa incluir o pacote wrapfig em seu preâmbulo.

   Em qualquer um dos casos, você poderá inserir uma legenda e um título para a sua imagem. É uma boa ideia dar prefixos diferentes aos vários tipos de legenda. O Kile sugere o prefixo `fig:` para as imagens.

10. Se escolher o ambiente de figura, poderá também escolher onde o LATEX deve preferencialmente posicionar a figura.

11. No ambiente wrapfigure você pode:

    1. Escolher uma regra de colocação para a figura e decidir se a figura deve flutuar ou não. Em um documento de dois lados você pode definir se a figura deve ser do lado de dentro ou de fora da página.

    2. Definir quantas linhas reduzidas do texto devem ser definidas ao lado da figura. Se você deixar em branco, o LATEX determinará isso por si só da melhor forma possível.

    3. Definir uma sobreposição para o lado escolhido. Isso é especialmente útil quando você possui colunas no seu documento e quer que uma figura se estenda a mais de uma coluna ou quer encurtar o texto em ambos os lados da figura.

    4. Escolher uma largura para a figura. Esta deve ser um pouco maior que a largura real da imagem, então haverá algum espaço vazio entre a figura e o texto.

Matrizes e tabelas
Matrizes e tabelas

## Matrizes e tabelas

Um dos trabalhos mais entediantes que uma pessoa poderá fazer no LATEX é criar uma matriz ou um ambiente de tabelas. Você p uma ideia precisa ter uma ideia de todos os elementos, garantir que o ambiente está definido de forma válida e que todas as coisas estão nos seus locais corretos. Uma boa endentação ajuda, mas existe uma forma mais simples: usando os menus Assistente → Matriz ou Assistente → Tabular do Kile. Você terá então um formulário no estilo de matriz onde poderá preencher facilmente os seus itens. Esta janela também oferece algumas opções para digitar o conteúdo da tabela.

Se usar a barra de ferramentas no topo da janela, poderá definir o `alinhamento` de uma célula, definir um certo `estilo de fonte`, `mesclar` e `dividir` células, escolher uma `borda` e indicar as `cores` do texto e do fundo. Com o botão Colar à direita, você poderá inserir uma tabela a partir da área de transferência para a caixa de diálogo, a qual lhe permite copiar e colar tabelas de uma planilha, por exemplo.

Abaixo você pode escolher quantas linhas e colunas deseja, podendo ainda ajustar alguns detalhes sobre a sua matriz:

- Com a opção Nome, você poderá selecionar o ambiente que será usado para o seu item de lista ou tabela.

- Você pode selecionar o alinhamento vertical das células com a opção Parâmetro. Isso só fica ativado para os ambientes que tem suporte a essa funcionalidade.

- Se existir para o ambiente selecionado, poderá selecionar a opção usar a versão com asterisco. Quando selecionar esta opção, você também precisa indicar a largura da tabela.

- As tabelas normalmente parecem mais bonitas quando selecionar a opção usar o pacote 'booktabs'.

- É claro, você também pode Centralizar toda a sua lista.

- A opção Inserir marcadores ajuda-o quando quiser preencher o seu conteúdo no editor. Com essa opção, o Kile irá inserir marcadores com pontos para cada elemento da sua lista.

A opção Assistente → Tabelas irá mostrar um menu mais simples para configurar um ambiente em tabelas. Em todos estes ambientes, você poderá configurar facilmente o número de linhas e colunas, assim como o espaço necessário.

Inserindo elementos flutuantes
Inserindo elementos flutuantes

## Inserindo elementos flutuantes

O Kile o auxilia a inserir os seus elementos flutuantes. Com a opção Assistente → Flutuantes, é bastante simples criar um novo ambiente de figuras ou tabelas.

Para inserir um novo ambiente flutuante basta seguir estes passos:

1. Escolha se deseja inserir uma figura ou uma tabela.

2. Selecione as regras de posicionamento desejado.

3. Insira um título para o seu elemento flutuante.

4. Digite uma legenda para o seu novo elemento flutuante. O Kile irá sugerir um prefixo apropriado, por exemplo, "fig:" para figuras e "tab:" para tabelas.

Inserir ambientes matemáticos
Inserir ambientes matemáticos

## Inserir ambientes matemáticos

Recordar como todos os diferentes elementos matemáticos funcionam pode ser bastante incômodo. Obviamente, o Kile pode fazer a mágica para você aqui: Assistente → Matemática

Opções:

- Nome: Escolha o tipo de elemento matemático que deseja criar.

- Sem numeração: Isto poderá desativar a numeração dos elementos numerados, como as equações ou os alinhamentos.

- Comando de espaço para separar os grupos: Num ambiente que suporta vários grupos, como o 'alignat', você poderá definir um separador de espaços quando tiver mais de um grupo. Poderá inserir qualquer comando de espaços aqui que exista no 'mathmode', por exemplo, \quad.

- Tabulação normal: Selecione a tabulação que deverá ser usada. O Kile deverá escolher automaticamente a correta.

- Modo do 'displaymath': Para os ambientes como matrizes ou listas, você poderá escolher com qual ambiente o seu texto matemático deve ser exibido.

- Usar marcadores: Com esta opção assinalada, o Kile irá inserir marcadores com pontos para cada elemento do seu texto matemático.

Utilitários de PostScript®
Utilitários de PostScript®

## Utilitários de PostScript®

Os arquivos PS não são tão conhecidos como os arquivos PDF, mas são uma base excelente para manipulação e reorganização das páginas. Se precisar de um resultado em PDF, poderá reorganizar as páginas com alguns utilitários de PostScript® e depois convertê-las para PDF com o comando ps2pdf.

O Assistente de PostScript® em Assistente → Ferramenta de PostScript serão sugeridas as reorganizações mais conhecidas, mas você está livre para fazer as suas próprias escolhas. O trabalho é feito pelos programas pstops e psselect, que podem ser encontrados no pacote `psutils` na maioria das distribuições. Se um desses programas não estiver disponível, o item correspondente não ficará visível.

Escolha primeiro o seu arquivo de entrada. Se o Kile encontrar um arquivo PS, que corresponda ao seu documento-mestre atual, ele já estará preenchido como arquivo de entrada. Porém, você está livre para escolher outro arquivo. Escolha então um arquivo de saída, bem como uma das tarefas. Finalmente, você terá que decidir se só pretende fazer a conversão ou também invocar o Okular para ver o resultado.

1 página A5 + página vazia --> A4

  Combinar uma página A5 em conjunto com uma página vazia numa página A4. Sempre que duas páginas A5 forem combinadas, elas são giradas 90 graus e serão organizadas em uma página A4 no modo de paisagem.

1 página A5 + duplicado --> A4

  Colocar uma página A5 e um duplicado em conjunto numa página A4.

2 páginas A5 --> A4

  Colocar sempre duas páginas A5 consecutivas em uma única página A4.

2 páginas A5L --> A4

  Colocar duas páginas A5 consecutivas no modo paisagem em conjunto, em uma única página A4.

4 páginas A5 --> A4

  Combina quatro páginas A5 consecutivas em conjunto, em uma única página A4. As páginas A5 precisam ser redimensionadas com um fator de 0,7 para caber na página.

1 página A4 + página vazia --> A4

  Combinar uma página A4 em conjunto com uma página vazia em uma página A4. Sempre que duas páginas A4 forem combinadas em uma única página A4 resultante, elas terão que ser redimensionadas com um fator de 0,7 e organizadas em uma página A4 no modo paisagem.

1 página A4 + duplicado --> A4

  Colocar uma página A4 e um duplicado em conjunto em uma página A4.

2 páginas A4 --> A4

  Colocar sempre duas páginas A4 consecutivas em uma única página A4.

2 páginas A4L --> A4

  Colocar duas páginas A4 consecutivas no modo de paisagem em uma única página A4.

selecionar as páginas pares

  Seleciona todas as páginas pares de um documento.

selecionar as páginas ímpares

  Seleciona todas as páginas ímpares de um documento.

selecionar as páginas pares (ordem inversa)

  Seleciona todas as páginas pares de um documento e inverte a ordem.

selecionar as páginas ímpares (ordem inversa)

  Selecionar todas as páginas ímpares de um documento e inverter a ordem.

inverter todas as páginas

  Inverte todas as páginas de um documento.

copiar todas as páginas (ordenado)

  Copia todas as páginas de um documento. Você precisa escolher o número de cópias ordenadas.

copiar todas as páginas (não ordenado)

  Copia todas as páginas de um documento. Você precisa escolher o número de cópias não ordenadas.

pstops: escolha o parâmetro

  Existem muitas outras possibilidades para usar os utilitários de PostScript®, pstops e psselect. Se você precisar de uma opção muito especial, poderá invocar o comando pstops com uma opção a sua escolha. Leia o manual para conhecer todas as opções possíveis.

psselect: escolha o parâmetro

  Você poderá invocar o comando psselect com uma opção a sua escolha. Leia o manual para conhecer todas as opções possíveis.

Utilitários de PDF
Utilitários de PDF

## Utilitários de PDF

Muitas pessoas pensam nos PDFs como arquivos estáticos, que não podem ser modificados. Contudo, isso não é verdade, pois existem excelentes ferramentas

- para manipulação e reorganização de páginas

- para ler e atualizar as informações do documento

- para ler, definir e alterar algumas permissões

de um documento PDF existente.

O assistente de PDF do Kile, disponível em Assistente → Ferramentas de PDF, usa dois métodos diferentes para manipular e reorganizar os documentos em PDF:

- O pacote LATEX pdfpages, que faz parte de cada distribuição do LATEX. O pdfpages não funciona com páginas criptografadas.

- O pdftk, que é uma ferramenta de linha de comando excelente para as tarefas do dia a dia com documentos em PDF (veja o PDF Toolkit).

Se algum destes utilitários, pdfpages ou pdftk, não estiver presente no seu sistema, os itens correspondentes não ficarão visíveis. Além disso, lembre-se de que apenas o pdftk funciona com arquivos criptografados.

### Reorganizações

Se o assistente de PDFs do Kile for carregado, ele irá iniciar com o cartão de registro das `Reorganizações`.

Escolha primeiro o seu arquivo de entrada. Se o Kile encontrar um arquivo PDF que corresponda ao seu documento mestre atual, ele já estará preenchido como arquivo de entrada, mas você está livre para escolher outro arquivo. Escolha então um arquivo de saída ou sobrescreva um arquivo PDF existente, assim como uma das tarefas. Finalmente, você precisa decidir se pretende apenas fazer a conversão ou também carregar o visualizador (por exemplo, o Okular) para ver o resultado.

Se o arquivo PDF estiver criptografado, somente a ferramenta pdftk irá funcionar e você tem indicar a senha desse documento para executar as tarefas.

1 página + página vazia --> A4

  Combinar uma página em conjunto com uma página vazia em uma página A4. Sempre que duas páginas A5 forem combinadas, elas são giradas 90 graus e organizadas em uma página A4 no modo de paisagem.

  Sempre que duas páginas A4 forem combinadas, elas serão ajustadas, giradas 90 graus e organizadas em uma página A4 no modo de paisagem.

1 página + duplicado --> A4

  Colocar uma página e um duplicado em conjunto em uma página A4.

  Se a página a ser duplicada tiver o tamanho A4, será ajustada para caber na página.

2 páginas --> A4

  Combinar duas páginas consecutivas em conjunto em uma página A4. Sempre que duas páginas A5 forem combinadas, elas serão giradas 90 graus e organizadas em uma página A4 no modo de paisagem.

  Sempre que duas páginas A4 forem combinadas, elas serão ajustadas, giradas 90 graus e organizadas em uma página A4 no modo de paisagem.

2 páginas (paisagem) --> A4

  Colocar duas páginas consecutivas no modo paisagem em conjunto em uma página A4.

4 páginas --> A4

  Combina quatro páginas consecutivas em conjunto em uma única página A4. As páginas precisam ser ajustadas para caber na página.

4 páginas (paisagem) --> A4

  Combina quatro páginas consecutivas no modo paisagem em conjunto em uma única página A4. As páginas precisam ser ajustadas caber na página.

selecionar as páginas pares

  Seleciona todas as páginas pares de um documento.

selecionar as páginas ímpares

  Seleciona todas as páginas ímpares de um documento.

selecionar as páginas pares (ordem inversa)

  Seleciona todas as páginas pares de um documento e inverte a ordem.

selecionar as páginas ímpares (ordem inversa)

  Selecionar todas as páginas ímpares de um documento e inverter a ordem.

inverter todas as páginas

  Inverte todas as páginas de um documento.

descriptografar um arquivo

  Se o arquivo PDF estiver criptografado poderá ser descriptografado.

selecionar as páginas

  Adiciona uma lista, separada por vírgulas, de páginas ou intervalos de páginas, por exemplo, 1,4-7,9. Somente essas páginas aparecerão no arquivo PDF resultante.

excluir páginas

  Adiciona uma lista, separada por vírgulas, de páginas ou intervalos de páginas que devem ser removidas do documento PDF escolhido.

aplicar uma marca d'água no fundo

  Aplica uma marca d'água do PDF ao fundo de um PDF único. O assistente só usa a primeira página do PDF de fundo e aplica-a a todas as páginas do PDF de entrada. Esta página é ajustada e girada para caber na página de entrada.

aplicar uma cor de fundo

  Aplica uma cor de fundo em todas as páginas do documento atual. Isso pode ser feito apenas uma vez, pois a segunda cor será colocada atrás da primeira e deixará de ser visível.

aplicar uma estampa em primeiro plano

  Aplica uma estampa em primeiro plano no topo das páginas do documento PDF de entrada. O assistente só usa a primeira página do PDF da estampa e aplica-a a todas as páginas do PDF de entrada. Essa página é ajustada e girada para caber na página de entrada. Isto funciona melhor se a página do PDF de estampa tiver um fundo transparente.

pdftk: escolha o parâmetro

  Você pode carregar o comando pdftk com uma opção a sua escolha. Leia o manual para conhecer todas as opções possíveis.

pdfpages: escolha o parâmetro

  Você pode carregar o comando pdfpages com uma opção a sua escolha. Leia o manual para conhecer todas as opções possíveis.

### Propriedades

A definição, alteração e remoção de propriedades só será possível caso o pdftk esteja instalado e se o Kile foi compilado com a biblioteca `libpoppler`.

Os metadados tradicionais do PDF incluem o título do documento, o seu autor, assunto, palavras-chave, criador, produtor e datas da criação e última modificação.

### Permissões

A definição, alteração e remoção das permissões também só será possível se o pdftk estiver instalado.

É necessária uma senha para definir ou alterar estas definições do documento. Além disso, a criptografia do PDF é feita para bloquear o conteúdo do arquivo atrás desta senha ou para aplicar restrições mais leves impostas pelo autor. Assim, o autor poderá permitir ou restringir:

- a impressão de páginas

- a modificação de páginas

- a cópia do texto e dos gráficos das páginas

- a alteração ou adição de anotações

- o preenchimento dos campos com dados.

A alteração das permissões força sempre a criptografia associada à segurança de 128 bits do `Acrobat` 5 e 6, necessitando também de uma senha.

Mas lembre-se sempre: A criptografia e uma senha não oferecem nenhuma segurança real para o PDF. O conteúdo está criptografado, mas a senha é conhecida. Você deve ver isto como um pedido educado, mas firme, de respeito à vontade do autor.

Estatísticas do documento
Estatísticas do documento

## Estatísticas do documento

A janela de estatísticas, disponível em Arquivo → Estatísticas, fornece uma visão geral dos dados estatísticos para uma seleção, um documento ou um projeto inteiro. Inclui o número de palavras, comandos/ambientes de LATEX, incluindo também o número de caracteres para cada tipo.

As estatísticas obtidas poderão ser copiadas como texto ou como uma tabela de LATEX devidamente formatada para a área de transferência.

Quando selecionar um texto e abrir a janela de estatísticas, você irá obter os dados sobre o texto selecionado de momento. Se abrir a janela sem qualquer texto selecionado, serão apresentadas as estatísticas para todos os arquivos abertos. Se quiser obter estatísticas para todo o projeto, poderá usar a opção Projeto → Abrir todos os arquivos do projeto para uma forma simples e rápida de abrir todos os arquivos de código do seu projeto.

A seguir, faremos uma observação sobre a precisão dos valores. Foi incluída alguma lógica para obter uma boa estimativa; por exemplo, K\"uhler dá uma palavra e um comando, com seis e dois caracteres, respectivamente. Mas existem outras combinações, com as quais partes dos comandos contam como palavras e vice-versa. Por favor, note que o algoritmo foi desenvolvido e testado para línguas semelhantes ao inglês ou ao alemão. Assim, não assuma os números como certos. Se tiver que fazer um relatório com um número exato de palavras ou caracteres, faça alguns testes primeiro para verificar se a precisão do Kile satisfaz as suas necessidades.

Capítulo 8. Marcas Especiais em LATEX
Marcas Especiais em LATEX

# Capítulo 8. Marcas Especiais em LATEX

## Usando a Biblioteca de Marcas do LATEX

O LATEX possui milhares de marcas para os símbolos e caracteres especiais. A forma mais simples de inserir caracteres especiais é usar o menu lateral, à esquerda da janela do editor.

Barra Lateral

Estão disponíveis os seguintes tipos:

- Usados com frequência

- Relação

- Operadores

- Setas

- Matemática

- Texto

- Delimitadores

- Grego

- Caracteres Especiais

- Caracteres cirílicos

- Definido pelo usuário

As dicas dos ícones mostram os comandos de LATEX e os pacotes adicionais necessários.

Pressionar Shift e um símbolo, irá inserir um `$\comando-símbolo$`. De forma parecida, pressione Ctrl, para inseri-lo entre chaves.

Se inserir um comando que necessite de um pacote que não esteja incluído no seu documento LATEX, aparecerá uma mensagem de aviso na janela do registro.

A primeira lista de símbolos contém os símbolos Usados com frequência. Os símbolos inseridos serão adicionados a essa lista, para uma referência rápida e simples. A ordenação dos símbolos não será alterada com a adição de símbolos novos, sendo que será aumentado um contador de referências em alternativa. Se exceder o número de 30 itens, o item com menor quantidade será removido.

A lista de símbolos Definidos pelo usuário poderá conter os seus próprios símbolos. Para criar os seus próprios símbolos, irá precisar do programa 'gesymb' e do arquivo `definitions.tex` do pacote de código-fonte do 'kile'. Além disso, irá necessitar de um compilador de LATEX (como seria de esperar) e do dvipng (versão 1.7 ou posterior). O procedimento consiste em criar um arquivo de LATEX com o `\input{definitions}`, fazendo com que os comandos abaixo fiquem disponíveis e permitindo que o `gesymb meus-símbolos.tex usuário` (que invoca o LATEX e o dvipng) crie os ícones. Depois de copiá-los para a pasta `$HOME/.kde/share/apps/kile/mathsymbols/user/` e reiniciar o Kile, você poderá usar os seus próprios símbolos.

Estão definidos os seguintes comandos em `definitions.tex`:

- `\command[\arg-opcional]{\símbolo}`: Inclui o símbolo `\símbolo` na lista de símbolos; o argumento opcional `\arg-opcional` define o comando que o kile deverá inserir. Se não for indicado, é usado o comando no argumento obrigatório.

- `\mathcommand[\arg-opcional]{\símbolo}`: O mesmo que a anterior, exceto que o comando no argumento obrigatório é inserido no modo matemático.

- `\pkgs[argumento]{pacote}`: Declara que o comando indicado nesta linha precisa do `pacote` LATEX com o `argumento` opcional. Este comando deve estar à frente do comando `\command` e substitui todas as definições de pacotes do ambiente 'neededpkgs'.

- `\begin{neededpkgs}[args-pacotes]{pacotes} ... \end{neededpkgs}`: Tem o mesmo efeito que o anterior, mas serve para todos os comandos englobados por ele.

Um exemplo completo é fornecido aqui:

    \documentclass[a4paper,10pt]{article}
    \usepackage{amssymb}
    \input{definitions}
    %
    \begin{document}
    \pagestyle{empty}
    %
    \begin{neededpkgs}{amssymb}
    \mathcommand{\surd}
    \pkgs{amsmath}\mathcommand[\ddddot{}]{\ddddot{a}}
    \mathcommand{\angle}
    \end{neededpkgs}
    \command{\"A}
    \mathcommand{\exists}
    \mathcommand[\stackrel{}{}]{\stackrel{abc}{=}}

    %\begin{neededpkgs}[russian,koi8-r,T2C,]{babel,inputenc,fontenc,mathtext}
    %
    %   \end{neededpkgs}
    % isto torna necessária a inclusão dos pacotes
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  apenas para explicar o formato
    \end{document}

Usando Bibitems
Usando Bibitems

## Usando Bibitems

O `\bibitem` é um comando usado para inserir uma referência num ambiente `thebibliography` (a bibliografia) do seu documento. A sintaxe para usar o `\bibitem` é `\bibitem[legenda]{chave}`.

A `[legenda]` é opcional e serve para adicionar o seu próprio sistema de legendagem para o item da bibliografia. Se não estiver definida nenhuma legenda, os itens serão definidos por ordem numérica: [1], [2], [3], etc.

O argumento `{chave}` é usado para referenciar e associar os comandos `\bibitem` e `\cite` um ao outro, bem como a informação que estes contêm. O comando `\cite` contém a legenda associada com o `\bibitem` pretendido, o qual se localiza dentro de um ambiente `thebibliography` e contém os dados de referência. Ambos os comandos `\bibitem` e `\cite` deverão ter a mesma `{chave}`; a forma mais simples de organizar as chaves é pelo último nome do autor. Os parênteses secundários no ambiente `thebibliography` indicam a legenda mais longa que poderá ter. Por isso, se inserir um `{`xpto`}` significa que você poderá ter qualquer legenda menor ou tão grande quanto a expressão ``xpto``. Se não definir esse parâmetro corretamente, poderá obter um recuo não tão atrativo da sua bibliografia.

A bibliografia é uma seção à parte do seu documento principal e um exemplo de código para a bibliografia seria semelhante ao seguinte:

    \begin{thebibliography}{50}
            \bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm...donuts}. Evergreen Terrace Printing Co.,
                              Springfield, Estados Unidos, 1998
    \end{thebibliography}

Nesse caso, o seu código-fonte principal iria conter a localização da informação referente ao `\bibitem`, usando o `\cite`. Esse código-fonte seria semelhante a este:

    Minha tese sobre a filosofia dos Simpsons\copyright vem do meu livro favorito \cite{Simpson}.

Como é normalmente difícil lembrar a citação exata e considerando que você tenha muitas referências, o Kile oferece uma forma simples de inserir uma citação. Se usar a opção LaTeX → Referências → Citar, irá aparecer uma lista com todas as chaves de citação. Selecione a referência correta, para que possa introduzir uma citação no seu documento. Para atualizar a lista de chaves, você tanto poderá salvar o arquivo, invocar Editar → Atualizar a estrutura ou pressionar F12. Com o completamento de código, o Kile exibe uma lista com todos os itens `bibitem`, assim que abrir um comando `\cite`.

O resultado final da bibliografia do seu documento iria então ficar parecido com o seguinte:

`[1] Homer J. Simpson. Mmmmm...donuts. Evergreen Terrace Printing Co., Springfield, Estados Unidos, 1998.`

O Kile também pode trabalhar em conjunto com editores do BibTEX, como o KBibTEX, para facilitar a inserção de citações. Quando for adicionado um arquivo do BibTEX ao projeto, o Kile lhe auxilia a completar os comandos de citação, tal como descrito acima.

Capítulo 9. Menu configurável pelo usuário
Menu configurável pelo usuário

# Capítulo 9. Menu configurável pelo usuário

## Configuração

O Kile suporta um menu configurável pelo usuário, que irá aparecer como parte do menu do Kile. Esse menu pode ser configurado com a opção Configurações → Configurar o Kile → Menu do Usuário.

Você tem duas opções de local para colocar este menu:

- ou o item do menu Menu do Usuário irá aparecer na barra de menus principal, entre os menus LaTeX e Assistente e o assistente de configuração Editar o Menu do Usuário no menu Assistente

- ou ambos os itens aparecerão na parte inferior do menu LaTeX.

As marcas definidas pelo usuário já existentes em versões mais antigas do Kile são transformadas automaticamente para o novo menu configurável pelo usuário. As marcas são guardadas num arquivo chamado `usertags.xml` e, como em todos os arquivos de definição do menu, poderão ser encontrados na pasta local dos menus do usuário do Kile: `KILE_APP_DIR/usermenu/`, por exemplo, `/home/usuário/.kde/share/apps/kile/usermenu/`.

Você poderá usar diferentes arquivos de definição do menu para diferentes tarefas. Invoque o assistente do menu do usuário Assistente → Editar o Menu do Usuário ou LaTeX → Editar o Menu do Usuário para instalar ou editar um arquivo de definição do menu.

Assistente
Assistente

## Assistente

Você pode criar menus novos ou alterar os existentes com um assistente de configuração de menus do usuário que poderá ser encontrado em Assistente → Editar o Menu do Usuário.

Do lado esquerdo você verá uma árvore de menu existente. Como em um menu normal, estão disponíveis três tipos de itens:

- itens de menu normais, atribuídos a uma ação

- submenus, que contêm mais itens de menu

- separadores, para obter uma estrutura visível de todos os itens.

Para modificar este menu, use os seis botões do lado esquerdo. As ações mais prováveis estão disponíveis no menu de contexto dos itens já existentes.

Cada item de menu normal está atribuído a um de três tipos de ações, onde cada um possui diferentes atributos a definir:

- Texto: O Kile permite-lhe criar as suas próprias marcas. Uma marca é semelhante a um atalho que executa algum comando ou escreve um texto usado com frequência, por exemplo, Marcus usa bastante a frase `Olá, eu anexei...` Essa marca será inserida na posição atual do cursor, quando esta ação for invocada (ver acima). Estão também disponíveis metacaracteres (ver Substituições).

- Inserir o conteúdo de um arquivo: Insere o conteúdo completo de um determinado arquivo.

- Executar um programa externo: O resultado deste comando poderá ser inserido no documento aberto. O metacaractere `%M` é também possível na linha de comando deste programa, uma vez que o texto selecionado será salvo em um arquivo temporário. Use o `%M` para o nome desse arquivo temporário.

Se faltar alguma informação importante para uma ação, os itens do menu aparecerão em vermelho. Poderá ser, por exemplo, um arquivo inexistente

ou a falta de um título para a opção do menu, o qual será apresentado com pontos de interrogação do tipo `???`.

Se você abrir o menu de contexto de um desses itens do menu, irá obter uma opção adicional com mais informações sobre esse erro.

Mais informações podem estar disponíveis com a funcionalidade O que é isto da maior parte dos itens.

Substituições
Substituições

## Substituições

### Inserir um texto

Existem alguns itens de substituição que você poderá usar nas marcas que você definir: `%C`, `%B`, `%M`, `%E`, `%R` e `%T`.

- `%C`: local onde o cursor será colocado depois de inserir uma marca definida pelo usuário.

- `%B`: será substituído por um ponto (veja em Marcadores).

- `%M`: será substituído pelo texto selecionado.

- `%E`: define a profundidade de indentação do texto dentro de um ambiente.

- `%R`: abrirá uma janela de referência para escolher uma legenda já definida. Isto pode ser usado para referenciar uma legenda predefinida, que você poderá escolher numa lista (ver também em LaTeX → Referências → ref ou LaTeX → Referências → pageref).

- `%T`: abrirá uma janela de citações para escolher uma existente. Como no uso da opção LaTeX → Referências → Citar, irá aparecer uma lista com todas as chaves de citação.

Vejamos outro exemplo, utilizando a macro `\frac{%M}{%C}`. Primeiro, selecionaremos um número no nosso texto, como por exemplo, `42`. Agora iremos invocar esta macro e obter `\frac{42}{}` com o cursor localizado dentro do segundo par de chaves.

### Inserir o conteúdo do arquivo

Se quiser inserir o conteúdo de um arquivo de texto, poderá usar os mesmos itens de substituição.

### Executar um programa

Se quiser executar um programa externo, apenas o `%M` será reconhecido para o texto selecionado na linha de comando. A seleção será salva em um arquivo temporário e o item de substituição `%M` é substituído por este nome de arquivo.

Outro item de substituição é o `%S`, que é substituído pelo nome de base completo do documento atual, sem a respectiva pasta. Esse nome de base consiste em todos os caracteres no nome do arquivo até o último caractere '.' (exclusive).

Parâmetro
Parâmetro

## Parâmetro

A maioria dos itens de menu poderão ter parâmetros intuitivos adicionais, os quais poderão ser verificados. Se alguns desses parâmetros não estiverem disponíveis para algum tipo de ação, serão desativados.

Aqui está um exemplo de execução de um programa externo:

Você poderá ver que é invocado um programa em `perl`, o qual deverá funcionar com a seleção atual. O parâmetro Necessita de texto selecionado está assinalado para garantir que exista um texto selecionado. O resultado deste programa será inserido (Inserir o resultado do programa escolhido) e substituirá a seleção atual (Substituir o texto selecionado), mas não ficará selecionado por si só.

Claro que você também pode invocar seus próprios programas ou scripts. Por exemplo, selecione uma lista de números, separados por espaços, e invoque um script ou programa Perl, que transforma esta seleção em código LATEX para uma matriz. Quaisquer que sejam suas ideias, você pode realizá-las usando a seguinte entrada do menu do usuário.

Arquivos de definição do menu
Arquivos de definição do menu

## Arquivos de definição do menu

Você poderá instalar diferentes menus durante a execução para diferentes tarefas. Quando invocar o assistente do menu, será carregado o arquivo de definição do menu atual. Se o modificar e fechar a janela com o botão OK, as suas alterações serão salvas e instaladas como novo menu de usuário. Se fechar a janela com o botão Cancelar, irá ignorar todas as alterações.

Você também está livre para salvar o arquivo modificado na pasta de menus do usuário ou carregar e instalar outro arquivo de definições. Todos os arquivos de definições dos menus deverão ser salvos na pasta local dos menus do usuário do Kile: `KILE_APP_DIR/usermenu/`.

Veja o arquivo de definição do menu de exemplo `example.xml` para ver mais itens de menu com os seus parâmetros.

Capítulo 10. Ferramentas de Construção
Ferramentas de Construção

# Capítulo 10. Ferramentas de Construção

## Compilar, converter e visualizar

Para ver o resultado do seu trabalho, você precisa primeiro compilar o código. Todas as ferramentas de compilação estão agrupadas nos menus Criar → Compilar, Criar → Converter e Criar → Exibir.

Para compilar o seu código-fonte para os visualizadores como o Okular ou outras conversões, você poderá usar o atalho Alt+2. Aí, poderá ver o arquivo DVI com o seu visualizador padrão com o Alt+3, converter o DVI para um arquivo PS com o Alt+4 e ver o arquivo PS com o Alt+5.

### BibTEX

Se estiver usando o BibTEX para os seus elementos bibliográficos, terá normalmente que seguir um esquema de compilação especial. Isto significa a invocação do LATEX, do BibTEX e depois do LATEX de novo. Felizmente, o Kile é suficientemente inteligente para detectar automaticamente se é necessário invocar as ferramentas adicionais, como o BibTEX, o makeidx e o Asymptote. Essa lógica está ativada por padrão e poderá ser modificada na opção Configurações → Configurar o Kile... → Ferramentas+Compilação da página Geral das ferramentas LATEX e PDFLATEX.

### MetaPost e o Asymptote

Se você quiser compilar o seu documento com o MetaPost ou o Asymptote, os programas de desenho de imagens, poderá fazer isso com a opção Criar → Compilar → Metapost ou Criar → Compilar → Asymptote.

### PDFLATEX

Existe também outra forma de compilar o seu documento, se quiser um PDF: você poderá executar o PDFLATEX, que irá compilar o código diretamente para um arquivo PDF, com o Alt+6: poderá então ver o arquivo compilado se pressionar Alt+7.

Em alternativa, poderá converter um PS num PDF com o Alt+8 ou um DVI diretamente para um PDF com o Alt+9.

Usar o PDFLATEX em substituição ao LATEX, pode ser uma questão de simplicidade ou hábito, mas em algumas ocasiões, o comportamento dos dois programas poderá ser diferente.

### O LATEX para a Web

Finalmente, você poderá querer publicar o seu trabalho na Web e não apenas no papel. Poderá então, neste caso, usar o programa latex2html, que poderá ser invocado a partir do menu do Kile em Criar → Converter → LaTeX para Web. O resultado será colocado numa subpasta da pasta de trabalho, sendo para você possível ver o resultado da conversão com o item Criar → Ver → Ver o HTML.

### Passando parâmetros da linha de comando

Se você quiser passar alguns parâmetros específicos da linha de comando para as ferramentas de compilação, conversão ou visualização, poderá configurar as invocações das mesmas em Configurações → Configurar o Kile... → Ferramentas+Compilar.

Previsão Rápida
Previsão Rápida

## Previsão Rápida

Quando trabalhar com LATEX, você sempre precisará de algum tempo para ver o resultado. O LATEX precisa compilar o código e o visualizador terá que ser invocado. Isso pode ser incômodo, caso tenha alterado apenas algumas letras de uma equação, o que é difícil de escrever. O Kile oferece agora um modo de Previsão Rápida, onde poderá compilar apenas uma parte de um documento e poupar bastante tempo. Ele tem suporte a quatro modos diferentes, que poderão ser combinados com sete configurações.

Todas as configurações deverão ser feitas em Configurações → Configurar o Kile... → Ferramentas → Previsão.

### Modo de Seleção

O usuário terá que selecionar uma parte do documento. O item do menu Compilar → Previsão Rápida → Seleção ou o atalho de teclado Ctrl+Alt+P,S irá iniciar os programas selecionados. O Kile usa o preâmbulo do texto original, de modo que todos os pacotes e os comandos definidos pelo usuário serão incluídos. O usuário poderá então escolher uma das oito configurações predefinidas:

- LaTeX+DVI (visualizador incorporado)

- LaTeX+DVI (Okular)

- LaTeX+PS (visualizador incorporado)

- LaTeX+PS (Okular)

- PDFLaTeX+PDF (visualizador incorporado)

- PDFLaTeX+PDF (Okular)

- XeLaTeX+PDF (visualizador incorporado)

- XeLaTeX+PDF (Okular)

Isto deve ser suficiente para todas as situações necessárias numa previsão rápida.

### Modo do Ambiente

Muitas das vezes, você poderá querer antever o ambiente atual. Especialmente no caso de ambientes matemáticos, o que poderá ser difícil de escrever. O Kile oferece uma forma muito rápida para o fazer. Não é necessária qualquer seleção, bastando para tal escolher Compilar → Previsão Rápida → Ambiente ou o atalho de teclado Ctrl+Alt+P,E, para que o ambiente atual seja compilado e apresentado.

### Modo de subdocumento

Também é frequente que você tenha projetos com vários documentos. Compilar todo o projeto não será uma boa ideia, caso tenha feito alterações em apenas um único documento. O Kile será capaz de compilar e mostrar uma previsão do subdocumento atual. Ele retira o preâmbulo de um documento-mestre definido e compila apenas esta parte, quando você escolher a opção Compilar → Previsão Rápida → Subdocumento ou o atalho de teclado Ctrl+Alt+P,D.

### Modo de Grupo Matemático

O modo de previsão do grupo matemático permite-lhe antever o grupo matemático que está editando no momento. O Kile obtém o preâmbulo do documento-mestre e só compila o grupo matemático sobre o qual o cursor se encontra, quando escolher o Construir → Previsão Rápida → Grupo Matemático ou escolher o atalho de teclado Ctrl+Alt+P,M.

### Previsão Rápida na barra inferior

Em vez de mostrar a previsão num documento novo, o Kile poderá também ser configurado para usar a barra inferior para as compilações da previsão. Você poderá ativar essa funcionalidade no painel de configuração da previsão rápida.

Formatos de Arquivos Gráficos
Formatos de Arquivos Gráficos

## Formatos de Arquivos Gráficos

### LATEX e PDFLATEX

O PDFLATEX, quando for usado com os pacotes `graphics` ou o `graphicx`, poderá compilar corretamente os arquivos PNG e JPG num DVI ou PDF, mas não é capaz de lidar com arquivos EPS. Por outro lado, o processo de compilação para um DVI e a conversão para PS e, eventualmente, PDF suporta os EPS, mas não os arquivos PNG e JPG.

Diversos usuários desejam criar documentos PDF mas, por exemplo, aproveitam o excelente pacote Pstricks para criar imagens PostScript®; ou, por outro lado, desejam usar o resultado em PostScript® do software matemático/científico, como o Mathematica, o Maple ou o MuPAD. Esses usuários de LATEX têm que selecionar o formato PostScript®, mesmo que desejem criar documentos PDF, uma vez que esses programas produzem código PostScript® que não pode ser gerido pelo PDFLATEX. Todavia, não é assim tão complicado como parece, uma vez que o Kile irá ajudar.

### Conversão de imagens

Para superar esse ciclo frustrante, quando desejar incluir tanto o código em PostScript® como os arquivos PNG ou JPG, você tem um conjunto de soluções alternativas:

- Se necessitar de um arquivo no formato PS, mas se tiver imagens JPG ou PNG, poderá também usar simplesmente o PDFLATEX com o resultado em DVI e depois usar a instrução da linha de comando dvips. Irá ver que o PDFLATEX é uma escolha muito boa, se o seu código não tiver qualquer código em PostScript®.

- Você poderá converter os arquivos EPS para PNG ou outros formatos com alguns utilitários como o Gimp ou o ImageMagick e usar o PDFLATEX.

- Uma das formas preferidas é converter as imagens EPS para imagens PDF com o epstopdf, que vem com cada distribuição do TEX e então usar o PDFLATEX. Ele produz imagens de alta qualidade e você poderá até controlar o resultado com algumas das opções seguintes:

      -dAutoFilterColorImages=false
              -dAutoFilterGrayImages=false
              -sColorImageFilter=FlateEncode
              -sGrayImageFilter=FlateEncode
              -dPDFSETTINGS=/prepress
              -dUseFlateCompression=true

  Melhor ainda: se o seu sistema permitir o `shell-escape`, a conversão poderá ser feita em tempo real. Tudo o que terá que fazer é incluir o pacote epstopdf, que faz parte de todas as distribuições do TEX, com o comando `\usepackage{epstopdf}`. Assumindo que o seu código é

              \includegraphics[width=5cm]{teste.eps}

  Ao executar o PDFLATEX com a opção pdflatex --shell-input, a imagem `teste.eps` é convertida automaticamente para `teste.pdf`.

  Essa conversão irá ocorrer cada vez que você executar o PDFLATEX. Se o seu comando gráfico é dado implicitamente

              \includegraphics[width=5cm]{teste}

  , o epstopdf verifica se o `teste.pdf` já está disponível, de modo que o passo de conversão poderá ser ignorado.

- Você poderá converter da forma inversa e usar o LATEX e a conversão PS-PDF; esta nem sempre é uma boa ideia, uma vez que o encapsulamento em EPS dos JPGs ou PNGs poderá criar arquivos maiores, que por sua vez geram documentos desnecessariamente grandes; isto é, contudo, altamente dependente do utilitário gráfico que usar, dado que o EPS pode encapsular outros gráficos, mas nem todos os aplicativos tem suporte adequado a isto; alguns poderão, de fato, tentar criar a sua imagem JPG com vetores e programação diversa, o que irá resultar em arquivos enormes. A conversão de todos os formatos gráficos para EPS poderá ser conseguida com o ImageMagick. Outro programa simples que faz este processo corretamente é o jpg2ps.

- Você poderá também usar uma forma automática de conversão. Todos os arquivos gráficos são convertidos na compilação para EPS e inseridos no documento PS. Esta é uma forma confortável, mas o usuário terá que configurar o seu sistema convenientemente. Isso é discutido na seção das Imagens EPS.

### Use o arquivo correto para a imagem correta

- EPS é uma espécie de linguagem de scripts para criação de gráficos vetoriais, que descreve todas as linhas e pontos que constituem o gráfico; parece muito bom, mesmo quando é ampliado além do seu tamanho padrão, e se adapta bem a diagramas e imagens vetoriais produzidas nativamente em EPS, parecendo bastante claro e definido e mantendo ainda um tamanho de arquivo bastante pequeno.

- PNG (ou o obsoleto GIF) é um formato de arquivo sem perdas, com boa compressão e qualidade. É muito bom para diagramas, digitalização de desenhos ou todo o tipo de imagem em que queira manter a definição. Ele pode se tornar um exagero quando usado para fotos.

- JPG é um formato com perdas, que comprime melhor os arquivos do que o PNG, mas perde alguns detalhes das imagens. Isso é normalmente irrelevante para fotos, mas poderá causar uma má qualidade para diagramas, desenhos e poderá fazer com que algumas linhas finas desapareçam. Nesses casos, use os formatos EPS ou PNG.

Mas lembre-se sempre: entra lixo, sai lixo! Não há nenhuma conversão que transforme uma imagem ruim em boa.

Imagens EPS
Imagens EPS

## Imagens EPS

Os arquivos gráficos EPS são a forma tradicional de inserir arquivos gráficos em documentos do LATEX. Uma vez que as listas de correio estão cheias de dúvidas no que diz respeito às imagens EPS, serão discutidos alguns aspectos importantes e será demonstrada a forma como o Kile irá suportar essa tarefa.

### O LATEX e as imagens EPS

Se você optou por usar o LATEX tradicional para produzir resultados em PS ou PDF, é provável que tenha alguns problemas com as imagens. Será preciso usar imagens EPS (Encapsulated PostScript®) e não arquivos JPEG ou PNG. Isso não deverá ser um problema, pois existem vários conversores, como o convert, do excelente pacote ImageMagick. Contudo, é necessário algum tempo, obviamente.

Os arquivos EPS são usados tanto pelo LATEX como pelos conversores DVI-PS:

- O LATEX procura no arquivo EPS pela linha da caixa envolvente, a qual indica ao LATEX quanto espaço deverá reservar para a imagem.

- O conversor DVI-PS lê então o arquivo EPS e insere a imagem no arquivo PS.

Isso tem algumas implicações:

- O LATEX nunca lê o arquivo EPS se os parâmetros da caixa envolvente forem indicados no comando de inserção da imagem.

- Uma vez que o LATEX não consegue ler arquivos que não sejam ASCII, ele não consegue ler a informação da caixa envolvente a partir de arquivos comprimidos ou que não sejam EPS.

- As imagens EPS não são incluídas no arquivo DVI. Uma vez que os arquivos EPS deverão estar presentes quando o arquivo DVI for convertido para PS, os arquivos EPS deverão acompanhar os arquivos DVI, sempre que estes forem movidos.

Agora você poderá invocar o LATEX, e um conversor DVI-PS como o dvips para criar o seu documento em PostScript®. Se o seu objetivo for um documento PDF, deverá executar o dvips com a opção `-Ppdf` e depois executar o ps2pdf. Você irá encontrar vários documentos que descrevem esta solução.

### Formato PostScript® do Kile

O Kile ajuda-o a obter a informação da Caixa Envolvente. Se você tiver instalado o ImageMagick, o Kile irá extrair essa informação do arquivo EPS e inseri-la como uma opção. Isto é feito automaticamente, quando você selecionar o arquivo de imagem. Existem duas vantagens desse procedimento:

- A informação já está extraída na janela e não é preciso fazer isso de novo pelo LATEX.

- Ainda mais importante é também o fato de a largura e a altura da imagem poderem ser calculadas, quando a resolução da imagem for conhecida. Essa informação será apresentada perto do topo da janela e poderá servir como uma pista, sempre que o usuário desejar dimensionar as imagens.

- O Kile poderá também suportar arquivos EPS comprimidos com o 'zip' ou 'gzip', os quais são muito menores que os arquivos EPS não comprimidos. Contudo, essa funcionalidade só poderá ser usada com uma configuração especial do sistema e com uma alteração na sua configuração local de imagens, como descrito na seção Imagens Rasterizadas.

### Formato PostScript® e as Imagens Rasterizadas

Se o seu sistema permitir o `shell-escape`, o Kile também suporta uma forma simples de incluir imagens rasterizadas, se você configurar o seu sistema TEX convenientemente. Não há necessidade de converter as imagens JPEG ou PNG, sendo que isto pode ser feito automaticamente quando o arquivo DVI for convertido para PS.

O LATEX precisa de algumas informações sobre os sufixos de arquivos. O pacote `graphicx` irá procurar por um arquivo `graphics.cfg`, que deverá estar em algum lugar no seus locais de procura de documentos LATEX. Procure por itens como estes:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{}%

e substitua essas linhas por:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       % changed or new graphic rules
       \DeclareGraphicsRule{.eps.zip}{eps}{.eps.bb}{`unzip -p #1}%   zipped EPS
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}%   gzipped EPS
       \DeclareGraphicsRule{.jpg}{eps}{}{`convert #1 eps:-}%         JPEG
       \DeclareGraphicsRule{.gif}{eps}{.bb}{`convert #1 eps:-}%      GIF
       \DeclareGraphicsRule{.png}{eps}{.bb}{`convert #1 eps:-}%      PNG
       \DeclareGraphicsRule{.tif}{eps}{.bb}{`convert #1 eps:-}%      TIFF
       \DeclareGraphicsRule{.pdf}{eps}{.bb}{`convert #1 eps:-}%      PDF-graphics

No Debian, por exemplo, você encontrará esse arquivo em `/etc/texmf/latex/graphics.cfg`. A melhor forma de proceder é copiar este arquivo para o caminho do seu 'tex' e então alterar essa cópia. Veja o manual do TEX da sua distribuição para saber como obter uma lista das suas pastas do TEX.

Com este arquivo de configuração, você poderá ser capaz de inserir imagens rasterizados e EPS comprimidos no LATEX. O comando de conversão é dado pelo dvips. Quando você olhar para o comando de conversão, irá ver que não será criado qualquer arquivo extra. O resultado do processo de conversão é diretamente encaminhado para o arquivo PS. A única coisa que o LATEX precisa saber é o tamanho da imagem e, como tal, é necessária a Caixa Envolvente, que é fornecida pelo Kile.

Algumas pessoas dizem que essa forma é insegura; você precisa decidir como irá funcionar. Em qualquer um dos casos, não será necessária a caixa envolvente, uma vez que o Kile irá extrair essa informação de todos os tipos de imagens.

### O PDFLATEX e as imagens EPS

Como já foi dito, o PDFLATEX não é capaz de lidar com arquivos EPS, mas os conversores, como o epstopdf poderão ajudar. A melhor forma é incluir o pacote `epstopdf`, o que deverá ser feito após carregar o pacote `graphicx`.

    \usepackage[pdftex]{graphicx}
       \usepackage{epstopdf}

Agora você já pode incluir imagens EPS, se executar o pdflatex com a opção `--shell-escape`. Mas poderemos fazer ainda melhor e lidar também com arquivos EPS comprimidos com o 'zip' e o 'gzip'. Mais uma vez, você terá que alterar o arquivo de configuração de imagens `graphics.cfg`, como descrito acima. Dessa vez, o texto a procurar será:

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%

e simplesmente adicione algumas linhas:

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%
       \AtEndOfPackage{%
          \g@addto@macro\Gin@extensions{.eps.gz,.eps.zip}%
          \@namedef{Gin@rule@.eps.gz}#1{{pdf}{.pdf}{`gunzip -c #1 | epstopdf -f
    >\Gin@base.pdf}}%
          \@namedef{Gin@rule@.eps.zip}#1{{pdf}{.pdf}{`unzip -p #1 | epstopdf -f
    >\Gin@base.pdf}}%
       }%

Com essas linhas, o PDFLATEX será capaz de lidar com arquivos EPS e, provavelmente, não existirão mais dúvidas em relação a imagens.

Documento mestre
Documento mestre

## Documento mestre

Definir o seu documento como mestre permite-lhe trabalhar com arquivos separados, o que lhe concede um documento-pai (ou documento-mestre) e os documentos-filhos, compondo assim um trabalho completo. Depois de ter definido o seu documento-mestre, com o comando respectivo no menu Configurações, todos os comandos do menu Ferramentas serão aplicadas apenas a esse documento, mesmo que esteja lidando com os documentos-filhos. Você poderá até fechar o documento mestre.

Tratamento de erros
Tratamento de erros

## Tratamento de erros

Depois de ter compilado algo, o Kile verifica as mensagens de erros que foram geradas. Se existirem alguns erros ou avisos, eles serão mostrados brevemente na janela de Registro e Mensagens. Você pode dar uma olhada com atenção às mensagens ao selecionar a opção Criar → Visualizar o arquivo de registro ou usando o atalho de teclado Alt+0. O registro gerado é então apresentado na janela de Registro e mensagens; os erros e os avisos ficam então realçados.

Visualizando o registro

Você poderá saltar facilmente de uma mensagem no arquivo de registro para outra com as opções Criar → Aviso / Erro de LaTeX Anterior / Seguinte ou usando os botões correspondentes na barra de ferramentas.

Para saltar para a linha do arquivo de LATEX onde ocorreu o erro ou o aviso, clique neste na janela de Log e mensagens. O Kile irá levá-lo automaticamente para a linha correspondente.

Modo Visão de Arquivo
Modo Visão de Arquivo

## Modo Visão de Arquivo

Quando invocar a Construção Rápida, irá aparecer um visualizador depois da compilação. Se você não estiver usando um visualizador incorporado, será aberta uma nova janela de cada vez.

Se você estiver ajustando a aparência do seu documento, poderá invocar a Construção Rápida com bastante frequência e ter várias janelas de visualização abertas na sua tela; para evitar esta confusão, poderá ativar o modo Visão de Arquivo, o que irá evitar que a Construção Rápida lance um visualizador.

Esse modo é obviamente inútil com os visualizadores incorporados, uma vez que você deve ainda fechá-los antes de voltar a editar o documento e a recompilar.

Capítulo 11. Navegar no Código LATEX
Navegar no Código LATEX

# Capítulo 11. Navegar no Código LATEX

## Utilizar a Vista de Estrutura

A área da Estrutura mostra a hierarquia do documento que está sendo criado no Kile e permite-lhe navegar rapidamente por ela, mostrando a sua segmentação. Para navegar pelo seu documento, tudo o que precisa é clicar em qualquer legenda, capítulo, seção, subseção, etc., para ir ao início da área correspondente.

Se você incluiu um arquivo LATEX separado no seu código usando as marcas `\input` ou `\include`, esses arquivos ficarão referenciados na área da Estrutura; um clique duplo nos seus nomes, irá fazer com que o Kile abra o arquivo incluído na janela do editor.

A árvore de hierarquia também tem um ramo separado para as legendas usadas no texto.

### Usar o Menu de Contexto

A maioria dos itens nesta área de estrutura possuem vários itens no menu de contexto, os quais poderá abrir com o botão direito do mouse. Assim, veja a área de estrutura na imagem a seguir.

Você irá encontrar algumas legendas, alguns itens de seções, dois ambientes de figuras e três imagens. Se você clicar com o botão direito num dos itens de seções, irá aparecer um menu com alguns comandos úteis. Todos os comandos, como o Selecionar, Excluir ou Comentar irão funcionar em todas as linhas que pertençam a esta seção.

Se clicar numa figura ou item de tabela, irá obter algumas ações relacionadas com as referências, sendo que se clicar com o botão direito num item gráfico, irá apresentar alguns programas para abrir as imagens.

### Atualizar a Vista de Estrutura

Para atualizar a sua área da estrutura, você poderá tanto ir ao item Editar → Atualizar Estrutura, pressionar F12 ou salvar o seu documento, o que fará com que o Kile atualize a sua área de Estrutura.

Favoritos
Favoritos

## Favoritos

Os favoritos são a sua referência para um segmento de texto ou uma linha no ambiente do Kile. Para usar um favorito, selecione uma linha específica do seu documento para a qual gostaria de ir e pressione Ctrl+B, para que o Kile adicione um favorito a esta linha. Alternativamente, você poderá também definir um favorito se selecionar uma linha e escolher o menu Favorito → Definir favorito.

Para remover todos os seus favoritos, selecione Favoritos → Limpar todos os favoritos.

Capítulo 12. Projetos
Projetos

# Capítulo 12. Projetos

## Trabalhando com projetos

No Kile, você poderá criar e trabalhar com projetos. Projeto é um grupo de documentos de LATEX, BibTEX, gráficos ou outro formato que contenha toda a informação usada para criar o seu documento completo. Um projeto típico seria um documento que consiste em vários capítulos, estando cada um deles escrito em arquivos `.tex` diferentes; todos eles poderiam ser incluídos num projeto, para tornar o documento inteiro mais fácil de gerenciar. As definições do projeto são salvas num arquivo especial com a extensão `.kilepr`.

Um projeto adiciona as seguintes funcionalidades:

- Você não precisa definir nenhum documento-mestre; o Kile fará isto automaticamente.

- Os arquivos do projeto poderão ser arquivados facilmente em conjunto com a opção Projeto → Arquivar

- A área dos Arquivos e Projetos mostra quais os arquivos que estão incluídos no projeto.

- Depois de abrir um projeto, todos os arquivos que foram abertos anteriormente serão restaurados com a codificação e realce originais.

- O completamento de código funciona em todos os arquivos do projeto.

- O completamento de referências funciona em todos os arquivos do projeto.

- O completamento de citações funciona em todos os arquivos do projeto.

- Procurar em todos os arquivos do projeto.

- Indicar um comando de compilação e do makeidx personalizado.

Você poderá encontrar todos os comandos relacionados ao projeto no menu Projeto. A partir desse local, você poderá abrir, fechar e gerenciar seus projetos.

Criando um projeto
Criando um projeto

## Criando um projeto

Para criar um projeto, selecione a opção Projeto → Novo projeto....

Você deverá prestar as seguintes informações para criar o seu projeto:

- Título do projeto (campo de texto Título do projeto).

  O título do projeto será usado para criar um nome para o arquivo do projeto, convertendo-o para minúsculas e adicionando-lhe a extensão `.kilepr`.

- Uma pasta onde o arquivo do projeto será armazenado (campo de texto da Pasta do projeto).

- Se quiser criar um novo arquivo principal para o projeto, assinale a opção Criar um novo arquivo e adicioná-lo ao projeto.

- Quando preencher o campo Nome do arquivo, você deve incluir uma referência relativa do local onde o arquivo de projeto `.kilepr` está armazenado (veja o item Pasta do projeto).

- O tipo do arquivo criado - Arquivo vazio, Artigo, Livro, Carta, Relatório, etc. - pode ser escolhido em uma lista visual na parte inferior do painel Arquivo.

- As extensões dos arquivos padrão do projeto podem ser selecionadas usando o painel Extensões. A sua escolha será usada para definir quais arquivos deverão ser abertos quando escolher a opção do menu Projeto → Abrir todos os arquivos de projeto e nos assistentes do Kile. As extensões no campo de texto deverão ser separadas por espaços.

Área Arquivos e Projetos
Área Arquivos e Projetos

## Área Arquivos e Projetos

A área Arquivos e Projetos é um botão do menu lateral. Nessa área, você poderá ver a estrutura do seu projeto, os seus arquivos e o nome do arquivo `.kilepr` que armazena as informações do projeto. As opções para adicionar, remover e modificar o seu projeto são feitas com a área dos Arquivos e Projetos.

Área Arquivos e Projetos

Adicionando e removendo arquivos
Adicionando e removendo arquivos

## Adicionando e removendo arquivos

Para adicionar um arquivo ao seu projeto, abra qualquer arquivo de TEX, clique com o botão direito no seu nome na área dos Arquivos e Projetos e selecione a opção Adicionar ao Projeto. Se você tiver vários projetos abertos, aparecerá uma janela na qual poderá indicar o arquivo de projeto que deve ser adicionado.

Você poderá também clicar com o botão direito do mouse sobre o nome do projeto na área Arquivos e Projetos e escolher a opção Adicionar arquivos... para abrir uma caixa de diálogo de seleção de arquivos.

Adicionando um arquivo ao projeto

Para remover um arquivo de um projeto, clique com o botão direito do mouse sobre ele e selecione a opção Remover arquivo. Isso não irá excluir seu arquivo (e também não irá fechá-lo), mas apenas o retira da lista de arquivos contida no arquivo com a extensão `.kilepr`.

### Arquivando seu projeto

O Kile permite-lhe criar facilmente uma cópia de segurança do seu projeto, gravando todos os seus arquivos em um único pacote (chamado normalmente de pacote TAR ou tarball). Para arquivar seu projeto, clique com o botão direito do mouse no seu nome na área Arquivos e Projetos ou selecione a opção Projeto → Arquivar.

Por padrão, todos os arquivos de um projeto serão adicionados ao pacote. Se não quiser incluir um determinado arquivo no pacote, clique com o botão direito do mouse na área Arquivos e Projetos e desmarque a opção Incluir no Arquivo.

As operações com arquivos são realizadas atualmente com o comando tar a partir da pasta do projeto (onde se encontra o arquivo `.kilepr`).

Opções do projeto
Opções do projeto

## Opções do projeto

O Kile tem algumas opções relacionadas com o seu projeto que poderão ser definidas. Para alterá-las, clique com o botão direito no título do seu projeto e selecione as Opções do Projeto, onde poderá então alterar:

- O título do seu projeto.

- As extensões padrão dos arquivos.

- O documento-mestre.

- O comando de Compilação Rápida.

- As opções do makeidx.

Fechando um projeto
Fechando um projeto

## Fechando um projeto

Para fechar um projeto, selecione a área Arquivos e Projetos na barra de ferramentas vertical, clique com o botão direito do mouse e então selecione a opção Fechar. Isso irá fechar o seu projeto, todos os arquivos a ele associados e irá também adicionar o nome do projeto que fechou à opção Abrir um Projeto Recente... do menu Projeto.

Capítulo 13. Codificação do documento
Codificação do documento

# Capítulo 13. Codificação do documento

O editor Kile permite-lhe ler, converter e salvar o texto para a codificação que o seu documento necessita. Com isto é possível, por exemplo, usar caracteres acentuados do Português, Francês ou Italiano em documentos em LATEX. A seleção da codificação do seu documento poderá ser feita de duas formas:

- Uma forma é definir a codificação do documento usando o submenu Configurações → Configurar o Kile... → Editor onde poderá definir a codificação padrão para todos os arquivos.

- Uma segunda maneira é definir a codificação para o documento com a opção que usa ao criar um documento novo com o assistente.

O LATEX propriamente dito só compreende ASCII, que representa um conjunto muito limitado de caracteres. Assim, não é possível usar diretamente os caracteres acentuados ou especiais. Para usar caracteres acentuados, foi criada uma sintaxe especial, como por exemplo o `\"e` para o `ë`. Existe um pacote que o ajuda nisto chamado inputenc, que é incluído no preâmbulo ao usar o comando `\usepackage[latin1]{inputenc}`, onde o argumento da opção é a codificação que gostaria de usar (na maioria dos casos é o `utf8`). Isto diz ao LATEX para traduzir todos os `ë`'s que digitar em `\"e`'s antes da compilação. Consulte a documentação do inputenc diretamente para mais informações sobre o inputenc. Por último, mas não menos importante: lembre-se de confirmar que o seu arquivo está de fato codificado com a mesma codificação que indicou no inputenc!

Esta variedade de tabelas de codificação de caracteres diferentes tem criado muitos problemas: por exemplo, você não pode escrever um curso de Turco em Francês, sem perder os caracteres especiais de um dos idiomas. Existe um consenso geral de que, mais cedo mais tarde, todos irão mudar para o Unicode. Existem várias implementações do Unicode e a UTF-8 é a mais bem sucedida no Linux®; o Windows®(R) baseia-se na codificação mais estranha e menos flexível que é a UCS-2. A maioria das distribuições já começaram a configurar a sua codificação padrão como sendo a UTF-8, por isso você poderá estar bastante interessado em usar o argumento `utf8` no pacote `inputenc`.

## O Pacote ucs

Se você não tiver o pacote ucs instalado, poderá proceder da seguinte forma:

- Obtenha o pacote ucs do CTAN.

- Para o instalar, descomprima o pacote transferido e coloque-o numa pasta que conste da sua variável de ambiente $`TEXINPUTS`. Isto poderá também ser definido dentro do Kile.

    \usepackage{ucs}
    \usepackage[utf8]{inputenc}

XeLaTeX
XeLaTeX

## XeLaTeX

Se você estiver usando o `XeLaTeX`, poderá simplesmente carregar o `xltxtra`. Ele irá carregar adicionalmente todos os pacotes necessários.

    \usepackage{xltxtra}

Suporte ao CJK
Suporte ao CJK

## Suporte ao CJK

A adição do suporte para idiomas ideográficos tem vários truques. Contudo, logo que tenha conseguido, irá funcionar muito bem. Além da instalação dos pacotes, é necessária alguma configuração extra.

### Dica

Sua distribuição de Linux® poderá já ter um pacote CJK (em inglês, Chinese, Japanese, Korean) pronto para você, assim poderá poupar o trabalho de instalar tudo manualmente. Verifique antes de continuar!

Existe a possibilidade de usar o pacote ucs para escrever alguns trechos de texto do CJK, mas essa opção é seriamente limitada, uma vez que não lida, entre outras coisas, com mudanças de linha. Será instalado em alternativa o pacote completo do CJK-LATEX e será configurado para funcionar com LATEX e PDFLATEX. Muito desse material é inspirado na página de Pai H. Chou sobre como configurar o PDFLATEX.

1. Baixe o pacote do CJK. Copie os seus arquivos descomprimidos para uma subpasta apropriada do $`TEXMF`, tal como fez com o pacote ucs anterior (veja em O Pacote ucs). Os arquivos serão extraídos para uma pasta `CJK/X_Y.Z`; não é importante que os retire, ainda que seja mais limpo e fácil para manter.

2. Agora, você terá que obter um tipo de fonte que suporte todos os caracteres do CJK que necessita. Poderá escolher qualquer arquivo `*.ttf` que os cubra mas, neste caso, será usado o Cyberbit. Descomprima o arquivo e mude o nome de `Cyberbit.ttf` para `cyberbit.ttf`, uma vez que as maiúsculas poderão confundir o seu sistema.

   Coloque o `cyberbit.ttf` numa pasta em conjunto com o `Unicode.sfd` e gere os arquivos `*.tfm` e `*.enc` com o comando $ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@. Por alguma razão, isto às vezes poderá não produzir as centenas de arquivos que deveria produzir. Se for esse o caso, poderá obter tanto os arquivos `*.tfm` como os `*.enc`.

   Coloque os arquivos `*.tfm` numa pasta apropriada, como por exemplo `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`; os arquivos `*.enc` poderão estar instalados na pasta `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Agora, é necessário um arquivo de mapa para ligar os arquivos `*.enc` ao tipo de fonte. Obtenha o `cyberbit.map` e instale-o em `$`TEXMF`/pdftex/config/`.

4. Obtenha outro arquivo, o `c70cyberbit.fd` e coloque-o numa pasta apropriada. Você poderá escolher, por exemplo, o `$`TEXMF`/tex/misc/`.

5. O último arquivo que terá que ser gerado é um tipo de fonte PostScript Type 1, que é necessário para ler os arquivos DVI gerados com o LATEX. Execute o comando $ ttf2pfb cyberbit.ttf -o cyberbit.pfb e copie o arquivo resultante `cyberbit.pfb` para uma pasta como a `$`TEXMF`/fonts/type1/cyberbit/`.

6. Coloque então o `cyberbit.ttf` entre os tipos de fonte, onde o LATEX o possa encontrar. Você poderá colocá-lo numa pasta chamada `$`TEXMF`/fonts/truetype/`.

7. Verifique o arquivo de configuração encontrado em `$`TEXMF/web2c`/texmf.cnf` e certifique-se de que a linha que menciona o `TTFONTS` está sem comentários e aponta para a pasta onde salvou o `cyberbit.ttf`.

8. Para permitir ao PDFLATEX usar os seus tipos de fonte do CJK, é necessário que adicione uma linha ao arquivo de configuração `$`TEXMF`/pdftex/config/pdftex.cfg`. Adicione o texto `map +cyberbit.map` no arquivo para completar a configuração no PDFLATEX.

9. Para configurar o LATEX de modo a que possa produzir arquivos DVI com caracteres do CJK, você terá que adicionar uma linha ao arquivo `ttfonts.map`. O arquivo poderá estar numa pasta chamada `$`TEXMF`/ttf2pk/`, mas você poderá ter que procurar por ela. Adicione a linha `cyberbit@Unicode@ cyberbit.ttf` a ele.

10. Agora, você só terá que rodar o `texhash` para que o sistema fique pronto.

Para testar se a sua configuração ficou correta, você poderá tentar compilar este arquivo de teste.

### Resolução de Problemas com CJK

Existem várias coisas que podem não funcionar corretamente ao adicionar suporte para CJK de forma manual. Se alguma coisa parece não funcionar, a lista de verificações a seguir poderá ajudá-lo.

- Obviamente, caso execute o LATEX como um usuário normal e não como 'root', deverá permitir aos usuários normais acessarem os arquivos novos. Certifique-se de que todas as pastas e arquivos estão acessíveis com o comando chmod.

- Se o LATEX gerar um DVI sem problemas, mas você não conseguir vê-lo, é bem provável que seja devido a algum problema na geração automática dos arquivos de tipos de fonte `*.pk`. Supostamente, eles são gerados em tempo real ao se visualizar um arquivo DVI, mas isso poderá não funcionar corretamente por um conjunto de razões: Em primeiro lugar, procure sua linha personalizada no arquivo `ttfonts.map`. Contudo, poderá acontecer que o seu comando ttf2pk, que é invocado normalmente pelo visualizador de DVIs, tenha sido compilado sem suporte para as bibliotecas do kpathsea. Se for esse o caso, o `ttf2pk`--version`` não fará menção alguma ao kpathsea. Como o suporte para estas bibliotecas é necessário, você poderá ter que encontrar um novo pacote ou recompilar você mesmo o FreeType 1.

### Como insiro caracteres CJK em Unicode?

Existe um conjunto de diferentes mecanismos de inserção de dados e a escolha poderá também depender das preferências pessoais. O autor usa o Skim, uma versão para o KDE do mecanismo Scim. Use a documentação da sua distribuição como referência para descobrir como instalar esses programas. A configuração dos mesmos também poderá ser uma tarefa complicada. No caso do Skim, você terá que definir uma variável de ambiente ``XMODIFIERS`="@im=SCIM"` antes de iniciar o X.

Capítulo 14. Criação de scripts
Criação de scripts

# Capítulo 14. Criação de scripts

## Criação de scripts no Kile

A funcionalidade de criação de scripts do Kile permite a execução de código em ECMAScript, popularmente conhecido como JavaScript. Você encontrará um enorme conjunto de tutoriais, que fornecem informações sobre os objetos (variáveis), funções e propriedades suportadas pelo JavaScript.

O suporte a criação de scripts poderá ser ativado na janela de configuração do Kile: Configurações → Configurar o Kile... → Kile+Criação de scripts.

Se a criação de scripts estiver ativa, um painel adicional ficará visível na barra lateral, onde seus scripts poderão ser gerenciados:

Este elemento contém seis ícones, que oferecem diferentes tarefas:

- Executar o script selecionado.

- Criar um novo script.

- Abrir o script selecionado no editor.

- Configurar uma sequência de teclas para o script selecionado.

- Remover uma sequência de teclas atribuída.

- Atualizar a lista de scripts disponíveis, que pode ser encontrada em `$`KDEDIR`/share/apps/kile/scripts/`.

Executando um script
Executando um script

## Executando um script

Você pode executar um script de três formas diferentes:

1. Selecione o script desejado e clique no botão Executar do lado esquerdo do item de gerenciamento de scripts.

2. Usar um atalho de teclado.

   Você poderá atribuir um atalho de teclado a um script, usando o botão Configurar no item de gerenciamento de scripts.

3. Usar uma sequência de teclas do editor. O script será executado se digitar a sequência de teclas atribuída no editor.

   Este método poderá ser estendido a um tipo de complementação relativamente sofisticado. Iremos assumir que acabou de escrever um script que insere simplesmente o comando de LATEX `\textbf{}` no documento atual.

       document.insertText("\\textbf{%C}");

   Se você agora digitar a sequência de teclas atribuída `bfx` no seu documento de texto, esta sequência de teclas será removida e o scripts será executado. Ele irá inserir `\textbf{}` e o cursor será colocado entre as chaves.

   É realmente um método confortável e poderoso de completar código.

Referências da API
Referências da API

## Referências da API

A API de criação de scripts apresentada aqui está disponível para todos os scripts. Antes de carregar o conteúdo do script, o Kile inicialmente adiciona diversos protótipos e funções para o contexto de criação de scripts. Essa conveniente API contém protótipos como cursores e intervalos de texto e está localizada na pasta `KILE_APP_DIR/script-plugins/`.

Os scripts do Kile diferem levemente dos scripts do Kate, que usam outro design, uma vez que eles também podem ser iniciados a partir da linha de comando. Mas todas as funções da API de criação de scripts do Kate estão também disponíveis na do Kile, assim migrar um código em JavaScript no Kate para o Kile deve ser muito simples. Mas uma vez que o Kile é um editor de LATEX com muitos recursos, sua própria API de criação de scripts oferece muito mais possibilidades do que a do Kate.

Comentário: A descrição das chamadas da API que estão disponíveis na criação de scripts do Kate foram retiradas da documentação do Kate.

### Funções globais

Esta seção apresenta as funções globais.

    void debug(String texto);

  Imprime o `texto` para o `stdout` no console. O texto impresso é colorido para distingui-lo de outros dados de depuração.

### O Protótipo do Cursor

Uma vez que o Kile é um editor de texto, toda a API de criação de scripts baseia-se em cursores e intervalos sempre que possível. Um Cursor é um simples dupla `(linha, coluna)` que representa uma posição de texto no documento.

    Cursor();

  Construtor: Devolve um Cursor na posição `(0,0)`.

  Exemplo: `var cursor = new Cursor();`

    Cursor(int linha, int coluna);

  Construtor: Devolve um Cursor na posição (linha,coluna).

  Exemplo: `var cursor = new Cursor(3,42);`

    Cursor(Cursor outro);

  Construtor por cópia: Devolve uma cópia do cursor `outro`.

  Exemplo: `var copia = new Cursor(outro);`

    Cursor Cursor.clone();

  Devolve um clone do cursor.

  Exemplo: `var clone = cursor.clone();`

    bool Cursor.isValid();

  Verifica se o cursor é válido. O cursor é inválido no caso em que a linha e/ou coluna sejam iguais a `-1`.

  Exemplo: `var valido = cursor.isValid();`

    Cursor Cursor.invalid();

  Devolve um novo cursor inválido que se localiza em `(-1,-1)`.

  Exemplo: `var cursorInvalido = cursor.invalid();`

    int Cursor.compareTo(Cursor outro);

  Compara este cursor com o cursor `outro`. Devolve

  - `-1`, se este cursor se localizar antes do cursor `outro`,

  - `0`, se ambos os cursores forem iguais e

  - `+1`, se este cursor se localizar depois do cursor `outro`.

    bool Cursor.equals(Cursor outro);

  Devolve `true` (verdadeiro), se este cursor e o cursor `outro` forem iguais, caso contrário, devolve `false` (falso).

    String Cursor.toString();

  Devolve o cursor como uma sequência de texto no formato `Cursor(linha,coluna)`.

### O Protótipo do Intervalo

Uma vez que o Kile é um editor de texto, sempre que possível, toda a API de criação de scripts é baseada em cursores e intervalos. Como um Cursor é uma simples dupla `(linha, coluna)` representando uma posição de texto no documento, um Intervalo estende o texto de uma posição inicial do cursor até uma posição final do cursor.

    Range();

  Construtor: Se invocar `new Range()`, irá obter um intervalo Range de `(0,0) - (0,0)`.

    Range(Cursor inicio, Cursor fim);

  Construtor: A invocação de `new Range(`início`, `fim`)` devolve o intervalo do cursor `início` até ao cursor `fim`.

    Range(int linhaInicial, int colunaInicial, int linhaFinal, int colunaFinal);

  Construtor: A invocação de `new Range(`linhaInicial`, `colunaInicial`, `linhaFinal`, `colunaFinal`)` devolve um intervalo Range de (`linhaInicial`, `colunaInicial`) até (`linhaFinal`, `colunaFinal`).

    Range(Range outro);

  Construtor por cópia: Devolve uma cópia do intervalo Range `outro`.

    Range Range.clone();

  Devolve um clone do intervalo.

  Exemplo: `var clone = intervalo.clone();`

    bool Range.isValid();

  Devolve `true` (verdadeiro), se tanto o cursor de início como o de fim forem válidos, caso contrário, devolve `false` (falso).

  Exemplo: `var valido = intervalo.isValid();`

    bool Range.invalid();

  Devolve o intervalo Range de (-1,-1) até (-1,-1).

    bool Range.contains(Cursor cursor);

  Devolve `true` (verdadeiro) se este intervalo contiver a posição do cursor, caso contrário, devolve `false` (falso).

    bool Range.contains(Range outro);

  Devolve `true` (verdadeiro) se este intervalo tiver dentro dele o intervalo `outro`, caso contrário, `false` (falso).

    bool Range.containsColumn(int coluna);

  Devolve `true` (verdadeiro) se a `coluna` está no intervalo semiaberto `[início.coluna, fim.coluna]`, caso contrário, devolve `false` (falso).

    bool Range.containsLine(int linha);

  Devolve `true` (verdadeiro) se a `linha` está no intervalo semiaberto `[início.linha, fim.linha]`, caso contrário, devolve `false` (falso).

    bool Range.overlaps(Range outro);

  Devolve `true` (verdadeiro) se este intervalo e o `outro` compartilharem uma região em comum, caso contrário, devolve `false` (falso).

    bool Range.overlapsLine(int linha);

  Devolve `true` (verdadeiro) se a `linha` estiver no intervalo `[início.linha, fim.linha]`, caso contrário, `false` (falso).

    bool Range.overlapsColumn(int coluna);

  Devolve `true`, se a `coluna` estiver no intervalo `[início.coluna, fim.coluna]`, caso contrário, `false`.

    bool Range.equals(Range outro);

  Devolve `true` (verdadeiro) se este intervalo e o `outro` forem iguais, caso contrário, devolve `false` (falso).

    String Range.toString();

  Devolve o intervalo como uma string no formato `Range(Cursor(linha,coluna) - Cursor(linha,coluna))`.

### A API do View

Sempre que um programa está sendo executado, existe um objeto global (variável) `view` representando a visão do editor atualmente ativo. Todas as funções do `view` trabalham com posições do cursor ou com o texto selecionado. A seguir é apresentada uma lista de todas as funções disponíveis do `view`.

    void view.backspace();

  Efetua, de forma programada, o equivalente a pressionar a tecla Backspace.

    Cursor view.cursorPosition();

  Devolve a posição atual do cursor na janela.

    void view.setCursorPosition(int linha, int coluna);
    void view.setCursorPosition(Cursor cursor);

  Muda a posição atual do cursor para `linha`, `coluna` ou para o `cursor` indicado.

    void view.cursorLeft();

  Move o cursor uma posição para trás no texto.

    void view.cursorRight();

  Move o cursor uma posição para a frente no texto.

    void view.cursorUp();

  Move o cursor uma linha para cima no texto.

    void view.cursorDown();

  Move o cursor uma linha para baixo no texto.

    int view.cursorLine();

  Devolve a linha onde o cursor está localizado atualmente.

    int view.cursorColumn();

  Devolve a coluna onde o cursor está localizado atualmente.

    void view.setCursorLine(int linha);

  Muda a linha do cursor para a `linha` indicada.

    void view.setCursorColumn(int coluna);

  Muda a coluna do cursor para a `coluna` indicada.

    Cursor view.virtualCursorPosition();

  Obtém a atual posição virtual do cursor. Virtual significa que o caractere de tabulação (TAB) vale por múltiplos caracteres, conforme configurado pelo usuário (por exemplo, um TAB equivale a 8 espaços). O posição virtual do cursor fornece acesso aos valores visíveis pelo usuário da posição atual do cursor.

    bool view.hasSelection();

  Devolve `true` (verdadeiro) se a janela contiver algum texto selecionado, caso contrário devolve `false`.

    String view.selectedText();

  Devolve o texto selecionado. Se não tiver nenhum texto selecionado, o texto devolvido vem vazio.

    Range view.selectionRange();

  Devolve o intervalo de texto selecionado. O intervalo devolvido é inválido, caso não esteja selecionado nenhum texto.

    void view.setSelection(Range intervalo);

  Muda o texto selecionado para o `intervalo` indicado.

    void view.selectAll();

  Seleciona todo o texto no documento.

    void view.clearSelection();

  Limpa a seleção de texto atual, sem remover o texto.

    void view.removeSelectedText();

  Remove o texto selecionado. Se a janela não tiver nenhuma seleção feita, isto não faz nada.

    void view.selectLine();

  Seleciona o texto na linha atual.

    void view.selectLine(int linha);

  Seleciona o texto na `linha` indicada.

    void view.selectLines(int de, int ate);

  Seleciona o texto inteiro desde a linha `de` até à linha `ate`.

    void view.selectWord();

  Seleciona a palavra atual. Se nenhuma palavra for encontrada na posição atual do cursor, nada será feito.

    void view.selectLatexCommand();

  Seleciona o comando de LATEX atual. Se nenhum comando for encontrado na posição atual do cursor, nada será feito.

    void view.selectEnvironment(bool inside = false);

  Seleciona todo o texto do ambiente LATEX atual. Se `inside` for `false`, o texto do ambiente incluindo as marcas envolventes do LATEX `\begin{...}...\end{...}` será selecionado, caso contrário, será sem essas marcas. Se nenhum parâmetro for fornecido, `inside` é definido como `false`.

    void view.selectTexgroup(bool dentro = true);

  Seleciona o texto do grupo LATEX atual. Se `inside` for `true`, somente o grupo de texto sem as chaves envolventes será selecionado. Se nenhum parâmetro for fornecido, `inside` é definido como `true`.

    void view.selectMathgroup();

  Seleciona o texto do grupo matemático atual.

    void view.selectParagraph(bool wholeLines = true);

  Seleciona o texto inteiro do parágrafo de LATEX atual. Se o parâmetro `linhasCompletas` for `true`, serão incluídas a primeira e última linhas do parágrafo na seleção por inteiro (incluindo o caractere de fim-de-linha); caso contrário, a seleção só irá conter caracteres não-brancos.

### API do Document

Sempre que um script estiver em execução, existe um objeto global (variável) `document` representando o documento ativo atual. A seguir é apresentada uma lista de todas as funções disponíveis para o `document`.

    void document.insertText(String texto);

  Insere o `texto` na posição atual do cursor.

    void document.insertText(int linha, int coluna, String texto);
    void document.insertText(Cursor cursor, String texto);

  Insere o `texto` na posição do cursor indicada.

    bool document.removeText(int daLinha, int dacoluna, int ateLinha, int ateColuna);
    bool document.removeText(Cursor de, Cursor ate);
    bool document.removeText(Range intervalo);

  Remove o texto no intervalo indicado. Devolve `true` (verdadeiro), em caso de sucesso, ou `false` (falso), se o documento estiver no modo apenas para leitura.

    bool document.replaceText(Range intervalo, String texto);

  Substitui o texto do intervalo indicado pelo texto passado como parâmetro.

    int document.lines();

  Devolve o número de linhas do documento.

    int document.length();

  Devolve o número de caracteres do documento.

    Range document.documentRange();

  Devolve um intervalo que engloba todo o documento.

    Cursor document.documentEnd();

  Devolve a posição de cursor do fim do documento.

    String document.text();

  Devolve todo o conteúdo do documento numa única sequência de texto. As mudanças de linhas são marcadas com o caractere de mudança de linha `\n`.

    String document.text(int daLinha, int daColuna, int ateLinha, int ateColuna);
    String document.text(Cursor de, Cursor ate);
    String document.text(Range intervalo);

  Devolve o texto no intervalo indicado. Recomenda-se que use a versão baseada nos cursores e nos intervalos, de modo a ter uma melhor visibilidade do código-fonte.

    bool document.setText(String texto);

  Altera o texto do documento por inteiro.

    bool document.clear();

  Limpa o texto no documento por inteiro.

    String document.line();

  Devolve a linha do texto atual no formato de texto.

    String document.line(int linha);

  Devolve a linha de texto indicada como uma sequência de texto. O texto devolvido fica em branco, caso a linha pedida esteja fora do intervalo.

    int document.lineLength();

  Devolve o comprimento da linha atual.

    int document.lineLength(int linha);

  Devolve o comprimento da `linha`.

    bool document.insertLine(String s);

  Insere o texto na linha atual. Devolve `true` em caso de sucesso, ou `false`, caso o documento esteja no modo apenas para leitura ou se a linha não estiver no intervalo do documento.

    bool document.insertLine(int linha, String s);

  Insere o texto na linha indicada. Devolve `true` (verdadeiro), em caso de sucesso, ou `false` (falso), caso o documento esteja apenas para leitura ou se a linha não estiver no intervalo do documento.

    bool document.removeLine();

  Remove a linha de texto atual. Devolve `true` em caso de sucesso ou `false` se o documento estiver no modo apenas para leitura.

    bool document.removeLine(int linha);

  Remove a linha de texto indicada. Devolve `true` (verdadeiro), em caso de sucesso, ou `false` (falso), caso o documento esteja no modo apenas para leitura ou se a linha não estiver no intervalo do documento.

    bool document.replaceLine(String texto);

  Substitui o texto da linha atual pelo texto indicado.

    bool document.replaceLine(int linha, String texto);

  Substitui o texto da linha indicada pelo texto passado como parâmetro.

    bool document.truncateLine();

  Trunca a linha atual na coluna ou posição do cursor indicada. Devolve `true` em caso de sucesso ou `false` se a linha indicada não fizer parte do intervalo do documento.

    bool document.truncate(int linha, int coluna);
    bool document.truncate(Cursor cursor);

  Trunca a linha indicada, na coluna ou posição do cursor indicadas. Devolve `true` (verdadeiro) em caso de sucesso ou `false` (falso) se a linha não estiver dentro do intervalo do documento.

    String document.word();

  Devolve a palavra na posição atual do cursor. Se nenhum palavra for encontrada nesta posição, o texto devolvido vem vazio.

    String document.wordAt(int linha, int coluna);
    String document.wordAt(Cursor cursor);

  Devolve a palavra na posição atual do cursor. Se nenhuma palavra for encontrada na posição do cursor, o texto devolvido será vazio.

    Range document.wordRange();

  Devolve o intervalo da palavra na posição atual do cursor. Se nenhuma palavra for encontrada, será devolvido `Range.invalid()`, valor que poderá ser testado com o `Range.isValid()`.

    String document.latexCommand();

  Devolve o comando de LATEX na posição atual do cursor. Se nenhum comando for encontrado nesta posição do cursor, o texto devolvido estará em branco.

    String document.latexCommandAt(int linha, int coluna);
    String document.latexCommandAt(Cursor cursor);

  Devolve o comando de LATEX na posição indicada pelo cursor. Se nenhum comando for encontrado nesta posição do cursor, o texto devolvido estará vazio.

    Range document.latexCommandRange();

  Devolve o intervalo do comando de LATEX na posição atual do cursor. Se nenhum comando de LATEX for encontrado, é devolvido `Range.invalid()`, o que poderá ser testado com o `Range.isValid()`.

    String document.charAt(int linha, int coluna);
    String document.charAt(Cursor cursor);

  Devolve o caractere na posição do cursor indicada.

    String document.firstChar(int linha);

  Devolve o primeiro caractere na `linha` que não seja um espaço em branco. O primeiro caractere encontra-se na coluna 0. Se a linha estiver em branco ou conter apenas espaços, a string devolvida será vazia.

    String document.lastChar(int linha);

  Devolve o último caractere na `linha` que não seja um espaço em branco. Se a linha estiver em branco ou se só tiver espaços em branco, o texto devolvido está vazio.

    bool document.isSpace(int linha, int coluna);
    bool document.isSpace(Cursor cursor);

  Devolve `true` (verdadeiro), se o caractere na posição indicada do cursor for um espaço em branco, caso contrário, devolve `false` (falso).

    void document.insertBullet();

  Insere um marcador do Kile. Lembre-se de que você pode facilmente ir para o próximo marcador ou para o anterior. Isso também realçará este marcador de modo que ele será excluído automaticamente quando inserir sua primeira letra.

    void document.nextBullet();

  Salta para o próximo marcador no texto se houver algum.

    void document.previousBullet();

  Salta para o marcador anterior no texto, se existir.

    bool document.hasEnvironment();

  Devolve `true` (verdadeiro) se for encontrado um ambiente de LATEX envolvente, caso contrário, devolve `false` (falso).

    String document.environment(bool inside = false);

  Devolve todo o texto do ambiente envolvente do LATEX. Se `inside` for `false`, o ambiente de texto incluindo as marcas envolventes do LATEX `\begin{...}...\end{...}` será devolvido, caso contrário será sem estas marcas. Se nenhum parâmetro for fornecido, `inside` é definido como `false`. Se nenhum ambiente for encontrado, a string devolvida será vazio.

    Range document.environmentRange(bool dentro = false);

  Devolve o intervalo do ambiente envolvente do LATEX. Se `inside` for `false`, o ambiente de texto incluindo as marcas envolventes do LATEX `\begin{...}...\end{...}` será devolvido, caso contrário, será sem estas marcas. Se nenhum parâmetro for fornecido, `inside` é definido como `false`. Se nenhum ambiente for encontrado, `Range.invalid()` é retornado, o que pode ser testado com `Range.isValid()`.

    String document.environmentName();

  Devolve o nome do ambiente de LATEX envolvente, ou então, uma string vazia.

    void document.removeEnvironment(bool dentro = false);

  Remove o texto ao redor do ambiente LATEX. Se `inside` for `false`, o texto do ambiente incluindo as marcas envolventes do LATEX `\begin{...}...\end{...}` será removido, caso contrário, será sem estas marcas. Se nenhum parâmetro for fornecido, `inside` é definido como `false`.

    void document.closeEnvironment();

  Insere uma marca de fechamento do ambiente, caso esteja em um ambiente de LATEX aberto na posição atual do cursor.

    void document.closeAllEnvironments();

  Insere marcas de fechamento dos ambientes para todos os ambientes de LATEX abertos, que tenham sido encontrados na posição atual do cursor.

    bool document.hasTexgroup();

  Devolve `true` (verdadeiro) se for encontrado um grupo de LATEX envolvente na posição atual do cursor, caso contrário, devolve `false` (falso).

    String document.texgroup(bool dentro = true);

  Devolve o texto do entorno do grupo LATEX. Se `inside` for `false`, o texto do grupo LATEX incluindo as chaves envolventes `{...}` será devolvido, caso contrário, será sem estas chaves. Se nenhum parâmetro for fornecido, `inside` é definido como `false`. O texto retornado é vazio se nenhum texto envolvente do grupo LATEX for encontrado na posição atual do cursor.

    Range document.texgroupRange(bool dentro = true);

  Devolve o intervalo do grupo LATEX envolvente. Se `inside` for `falso`, o intervalo incluindo as chaves envolventes `{...}` será devolvido, caso contrário, será sem estas chaves. Se nenhum parâmetro for fornecido, `inside` é definido como `false`. Se nenhum grupo for encontrado, `Range.invalid()` é retornado, o que pode ser testado com `Range.isValid()`.

    void document.removeTexgroup(bool dentro = true);

  Remove o texto do grupo LATEX envolvente. Se `inside` for `false`, o texto deste grupo LATEX incluindo as chaves envolventes `{...}` será removido, caso contrário, sem estas chaves. Se nenhum parâmetro for fornecido, `inside` é definido como `false`.

    bool document.hasMathgroup();

  Devolve `true` (verdadeiro) se for encontrado um grupo matemático de LATEX na posição atual do cursor, caso contrário, devolve `false` (falso).

    String document.mathgroup();

  Devolve o texto do grupo matemático de LATEX envolvente. O texto devolvido será vazio se não for encontrado nenhum grupo matemático de LATEX na posição atual do cursor.

    Range document.mathgroupRange();

  Devolve o intervalo do grupo matemático envolvente do LATEX. Se não existir um grupo matemático envolvente, `Range.invalid()` é devolvido, que poderá ser testado com `Range.isValid()`.

    void document.removeMathgroup();

  Remove o texto do grupo matemático de LATEX envolvente.

    String document.paragraph();

  Devolve o texto do parágrafo de LATEX atual.

    Range document.paragraphRange();

  Devolve o intervalo do parágrafo de LATEX envolvente.

    void document.removeParagraph();

  Remove o texto do parágrafo de LATEX atual.

    bool document.matchesAt(int linha, int coluna, String texto);
    bool document.matchesAt(Cursor cursor, String texto);

  Devolve `true` (verdadeiro) se o `texto` indicado corresponder à posição atual do cursor, caso contrário, devolve `false` (falso).

    bool document.startsWith(int linha, String padrao, bool ignorarEspacos = true);

  Devolve `true` (verdadeiro), se a linha inicia com `padrao`, caso contrário, devolve `false` (falso). O argumento `ignorarEspacos` controla se os espaços em branco iniciais são ignorados.

    bool document.endsWith(int linha, String padrao, bool ignorarEspacos = true);

  Devolve `true` (verdadeiro), se a linha termina com `padrao`, caso contrário, devolve `false` (falso). O argumento `ignorarEspacos` controla se os espaços em branco iniciais são ignorados.

    int document.firstColumn(int linha);

  Devolve a primeira coluna sem espaços em branco na `linha` indicada. Se só existirem espaços em branco nessa linha, o valor devolvido é `-1`.

    int document.lastColumn(int linha);

  Devolve a última coluna sem espaços em branco na `linha` indicada. Se só existirem espaços em branco nessa linha, o valor devolvido é `-1`.

    int document.prevNonSpaceColumn(int linha, int coluna);
    int document.prevNonSpaceColumn(Cursor cursor);

  Devolve a coluna com caracteres não-brancos que começa na posição de cursor indicada e pesquisa para trás.

    int document.nextNonSpaceColumn(int linha, int coluna);
    int document.nextNonSpaceColumn(Cursor cursor);

  Devolve a coluna com caracteres não-brancos que começa na posição de cursor indicada e pesquisa para frente.

    int document.prevNonEmptyLine(int linha);

  Devolve a primeira linha não-vazia que contém caracteres não-nulos, pesquisando depois para trás.

    int document.nextNonEmptyLine(int linha);

  Devolve a primeira linha não-vazia que contém caracteres não-nulos, pesquisando depois para a frente.

    void document.gotoBeginEnv();

  Vai para o início de um ambiente de LATEX envolvente.

    void document.gotoEndEnv();

  Vai para o fim de um ambiente de LATEX envolvente.

    void document.gotoBeginTexgroup();

  Vai para o início de um grupo de LATEX envolvente.

    void document.gotoEndTexgroup();

  Vai para o fim de um grupo de LATEX envolvente.

    void document.gotoNextParagraph();

  Vai para o parágrafo de LATEX seguinte.

    void document.gotoPrevParagraph();

  Vai para o parágrafo de LATEX anterior.

    void document.gotoNextSectioning();

  Vai para a seção de LATEX seguinte.

    void document.gotoPrevSectioning();

  Vai para a seção de LATEX anterior.

    void document.gotoLine(int linha);

  Vai para a `linha` indicada.

    void document.insertChapter();

  Insere um comando `\chapter` (ver também `document.insertSection()`).

    void document.insertSection();

  Insere um comando `\section`. Da mesma maneira que selecionar a entrada de menu LaTeX → Criando seções → Seção, uma janela será apresentada, aonde você poderá selecionar o título e uma legenda opcional para este comando de criação de seções.

    void document.insertSubsection();

  Insere um comando `\subsection` (ver também o `document.insertSection()`).

    void document.insertSubsubsection();

  Insere um comando `\subsubsection` (ver também o `document.insertSection()`).

    void document.insertParagraph();

  Insere um comando `\paragraph` (ver também o `document.insertSection()`).

    void document.insertSubparagraph();

  Insere um comando `\subparagraph` (ver também o `document.insertSection()`).

    void document.insertLabel();

  Insere um comando `\label`.

    void document.insertReference();

  Insere um comando `\ref`. Da mesma maneira que ocorre ao selecionar a entrada de menu LATEX → Referências → ref uma janela será apresentada, aonde você poderá selecionar a partir de legendas já definidas, que são listadas em uma caixa combinada.

    void document.insertPageref();

  Insere um comando `\pageref` (ver também o `document.insertReference()`).

    void document.insertCitation();

  Insere um comando `\cite`.

    void document.insertIndex();

  Insere um comando `\index`.

    void document.insertFootnote();

  Insere um comando `\footnote`.

    void document.comment();

  Insere marcadores de comentário para tornar o texto selecionado ou a linha atual um comentário.

    void document.uncomment();

  Remove os marcadores de comentário da seleção ou da linha atual.

    void document.uppercase();

  Coloca o texto selecionado ou a letra após o cursor em maiúsculo.

    void document.lowercase();

  Coloca o texto selecionado ou a letra após o cursor em minúsculo.

    void document.capitalize();

  Coloca em maiúsculo a primeira letra do texto selecionado ou da palavra atual.

    void document.joinLines();

  Junta as linhas da seleção atual. Duas linhas consecutivas são sempre separadas por um único espaço.

    void document.insertIntelligentNewline();

  Insere uma mudança de linha inteligente (consulte Nova linha inteligente).

    void document.insertIntelligentTabulator();

  Insere uma tabulação inteligente (consulte Tabulação inteligente).

    void document.editBegin();

  Inicia um grupo de edição para agrupar operações a desfazer/refazer. Certifique-se de invocar sempre o `editEnd()` tantas vezes quanto invoca o `editBegin()`. A invocação do `editBegin()` usa um contador de referências interno, isto é, esta chamada pode ser encadeada.

    void document.editEnd();

  Termina um grupo de edição. A última invocação do `editEnd()` (isto é, a correspondente à primeira chamada do `editBegin()`) termina o passo de edição.

    StringList document.labelList();

  Devolve todas as legendas como um `StringList`, que poderá ser usado no JavaScript como uma lista de objetos.

    StringList document.bibitemList();

  Devolve todos os itens bibliográficos como um `StringList`, que poderá ser usada no JavaScript como uma lista de objetos.

    void document.refreshStructure();

  Atualiza a área da estrutura (consulte Navegar no Código LATEX).

### A API do Kile

O objeto global (variável) `kile` é usado para manipular interações de alto nível com o mundo externo, mensagens de entrada e interfaces de janelas. Estas chamadas de API são divididas em subobjetos para estruturar esta parte da programação da API. Conceitualmente, o `kile` é um pouco como a `janela` em um navegador de API.

- `kile.alert`: janelas de mensagens

- `kile.input`: obter dados do usuário

- `kile.wizard`: invoca um dos assistentes do Kile

- `kile.script`: obter informações sobre um programa em execução

- `kile.file`: operações de arquivos, como a leitura ou escrita.

#### Alerta

    void kile.alert.information(String texto, String título);

  Exibe a janela de Informações. O parâmetro `texto` é o texto da mensagem e o `título`, o título da caixa de mensagem. O título padrão é o nome do script.

    void kile.alert.sorry(String texto, String titulo);

  Exibe uma janela de Alerta. O `texto` é o texto da mensagem e o `titulo` o título da caixa de mensagem. O título padrão é o nome do script.

    void kile.alert.error(String texto, String titulo);

  Exibe uma janela de Erro. O `texto` é o texto da mensagem e o `titulo` o título da caixa de mensagem. O título padrão é o nome do script.

    String kile.alert.question(String texto, String titulo);

  Exibe uma janela de pergunta. O `texto` é o texto da mensagem e o `titulo` o título da caixa de mensagem. O título padrão é o nome do script. O texto retornado é `sim` ou `não`.

    String kile.alert.warning(String texto, String titulo);

  Exibe uma janela simples de alerta. O `texto` é o texto da mensagem e o `titulo` o título da caixa de mensagem. O título padrão é o nome do programa. O texto retornado é `continuar` ou `cancelar`.

#### Entrada

    String kile.input.getListboxItem(String titulo, String legenda, StringList lista);

  Função que permite ao usuário selecionar um item a partir de uma lista, que é exibida como uma caixa de listagem. O `titulo` é o texto que é exibido na barra de título, a `legenda` é o texto que aparece como a legenda da lista e a `lista` é a lista de texto que é inserida na lista.

    String kile.input.getComboboxItem(String titulo, String legenda, StringList lista);

  Função que permite ao usuário selecionar um item a partir de uma lista, que é exibida como uma caixa combinada. O `titulo` é o texto que é exibido na barra de título, a `legenda` é o texto que aparece como a legenda da lista e a `lista` é a lista de texto que é inserida na lista.

    String kile.input.getText(String titulo, String legenda);

  Função para obter uma sequência de texto do usuário. O `titulo` é o texto que é apresentado na barra de título e a `legenda` é o texto que aparece como legenda do campo de texto.

    String kile.input.getLatexCommand(String titulo, String legenda);

  Função para obter um comando de LATEX do usuário. Isto significa que só são permitidas letras maiúsculas e minúsculas. O `titulo` é o texto que é apresentado na barra de título e a `legenda` é o texto que aparece como legenda do campo de texto.

    int kile.input.getInteger(String titulo, String legenda, int min = INT_MIN, int max = INT_MAX);

  Função para obter um inteiro do usuário. O `titulo` é o texto apresentado na barra de título. A `legenda` é o texto que aparece como legenda da caixa de contagem. O `min` e `max` são os valores mínimos e máximos que o usuário poderá escolher. Os valores padrão são `INT_MIN` e `INT_MAX`.

    int kile.input.getPosInteger(String titulo, String legenda, int min = 1, int max = INT_MAX);

  Função para obter um inteiro positivo do usuário. O `titulo` é o texto apresentado na barra de título. A `legenda` é o texto que aparece como legenda da caixa de contagem. O `min` e `max` são os valores mínimos e máximos que o usuário poderá escolher. Os valores padrão são `1` e `INT_MAX`.

#### Assistente

    void kile.wizard.tabular();

  Abre o Assistente de tabelas, que ajuda a criar um ambiente para o efeito (consulte Matrizes e tabelas).

    void kile.wizard.array();

  Abre o Assistente de listas, que o ajuda a criar um ambiente de listas (consulte Matrizes e tabelas).

    void kile.wizard.tabbing();

  Abre o Assistente de separadores, que o ajuda a criar um ambiente de separadores (consulte Matrizes e tabelas).

    void kile.wizard.floatEnvironment();

  Abre o Assistente de flutuantes, que o ajuda a criar um ambiente de elementos flutuantes (consulte Inserindo elementos flutuantes).

    void kile.wizard.mathEnvironment();

  Abre o Assistente matemático, que o ajuda a criar um ambiente de elementos flutuantes (consulte Inserir ambientes matemáticos).

    void kile.wizard.postscript();

  Abre o Assistente de ferramentas PostScript, que o ajuda a manipular ou reorganizar documentos em PostScript (consulte Utilitários de PostScript®).

#### Script

    String kile.script.name();

  Devolve o nome base de um script em execução (sem pasta nem extensão).

    String kile.script.caption();

  Devolve um texto que pode ser usado como título da janela de alerta. É parecido com o `Script: scriptname.js`.

#### Arquivo

    Object kile.file.read(String arquivo);

  Lê o conteúdo de um arquivo de texto. É usado da seguinte forma

  Exemplo: `var res = kile.file.read("local/do/arquivo.txt");`

  O valor devolvido `res` é um objeto (um dicionário) com três propriedades:

  - status: Fornece o estado do código da operação, que pode ser 0 (sem erros), 1 (falha de acesso) ou 2 (acesso negado). Assim, se nenhum erro ocorrer, o valor de `res.status` ou `res["status"]` será 0.

  - result: Contém o texto do arquivo indicado.

  - message: Contém uma mensagem de erro, caso tenha ocorrido algum.

    Object kile.file.read();

  Como o `read(arquivo)`, mas sem indicar qualquer arquivo. Irá aparecer uma janela que lhe permite selecionar o arquivo a ler.

    Object kile.file.write(String arquivo, String texto);

  Grava o texto indicado num arquivo. É usado da seguinte forma

  Exemplo: `var res = kile.file.write("local/do/arquivo.txt","Algum texto...");`

  O valor devolvido `res` é um objeto (de fato, um mapa) com duas propriedades: `status` e `message` (ver o `read()` para mais informações).

    Object kile.file.write(String texto);

  Como o `write(arquivo,texto)`, só que não é indicado nenhum arquivo. Irá aparecer uma janela para o escolher.

    String kile.file.getOpenFileName(String pastaInicial, String filtro);

  Cria uma janela de arquivos modal e devolve o arquivo selecionado ou um texto vazio se nenhum arquivo foi escolhido. Lembre-se de que, com este método, o usuário deverá selecionar um arquivo existente.

  Parâmetros:

  - pastaInicial: A pasta onde é iniciada a janela de abertura.

  - filtro: Um padrão de console ou um filtro de tipos MIME que indica os tipos de arquivos a mostrar. Veja a documentação do KFileDialog para obter mais informações sobre este parâmetro.

  Ambos os parâmetros são opcionais. Se você omitir o `filtro`, todos os arquivos serão exibidos. Se omitir também o `pastaInicial`, a janela usará a pasta atual do documento como ponto inicial.

    String kile.file.getSaveFileName(String pastaInicial, String filtro);

  Cria uma janela de arquivos modal e devolve o arquivo selecionado ou um texto vazio se nenhum arquivo for selecionado. Lembre-se de que, com este método, o usuário não precisa selecionar um arquivo existente. Veja o `getOpenFileName()` para obter uma explicação dos parâmetros.

Exemplos
Exemplos

## Exemplos

Alguns exemplos poderão ajudá-lo a compreender como usar a API de criação de scripts. Estes exemplos, bem como outros mais, encontram-se na pasta de scripts do Kile: `KILE_APP_DIR/scripts/`. Cada script contém uma breve descrição.

### Exemplo 1: Substituir o nome do ambiente

Substitui o ambiente LATEX envolvente com outro, onde a posição relativa do cursor não será modificada. O `\begin{abc}...\end{abc}`, por exemplo, pode ser alterado para `\begin{xyz}...\end{xyz}`.

    var intervalo = document.environmentRange(false);
    if ( intervalo.isValid() ) {
            var nomeAmb = kile.input.getLatexCommand("Insira o ambiente","Nome do novo ambiente:");
            if ( nomeAmb != '' ) {
                    replaceEnvCommand(nomeAmb,intervalo);
            }
    }
    else {
            kile.alert.sorry("Nenhum ambiente LaTeX envolvente encontrado.");
    }

    function replaceEnvCommand(novoAmb,r)
    {
            var c = view.cursorPosition();

            var nomeAmb = document.environmentName();

            if ( nomeAmb != "" ) {
                    var iniIntervalo = new Range(r.start,new Cursor(r.start.line,r.start.column+8+nomeAmb.length));
                    var fimIntervalo = new Range(new Cursor(r.end.line,r.end.column-6-nomeAmb.length),r.end);

                    document.editBegin();
                    document.replaceText(fimIntervalo,"\\end{"+novoAmb+"}");
                    document.replaceText(iniIntervalo,"\\begin{"+novoAmb+"}");
                    document.editEnd();
            }
    }

### Exemplo 2: Substituir um comando de fonte do LATEX

Substitui o comando de fonte do LATEX envolvente com outro comando de fonte, quando o cursor é posicionado dentro do grupo de texto. A posição relativa do cursor não será alterada. O `\textbf{abc}`, por exemplo, pode ser alterado para `\textit{abc}`.

    var comandosFonte = new Array("\\textbf","\\textit","\\textsl","\\texttt",
                                 "\\textsc","\\textrm","\\textsf","\\emph");

    var intervalo = document.texgroupRange(false);
    if ( intervalo.isValid() ) {
            replaceFontCommand(intervalo);
    }
    else {
            kile.alert.sorry("Nenhum grupo TeX envolvente encontrado.");
    }

    function replaceFontCommand(r)
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.setCursorPosition(r.start);
            var cmd = document.latexCommand();
            var index = comandosFonte.indexOf(cmd);
            if ( index
    >= 0 ) {
                    var cmdRange = document.latexCommandRange();
                    if ( cmdRange.isValid() ) {
                            var novocomando = kile.input.getListboxItem("Selecione",
                                                        "Selecione o comando de fonte:",buildCmdList(cmd));
                            if ( novocomando != "" ) {
                                    document.replaceText(cmdRange,newcommand);
                                    c.column = c.column - (cmd.length - novocomando.length);
                            }
                    }
    /                view.setCursorPosition(c);
            }
            else {
                    kile.alert.sorry("Nenhum comando de fonte envolvente encontrado.");
            }
            document.editEnd();
    }

    function buildCmdList(current)
    {
            var resultado = new Array();
            for ( i=0; i<comandosFonte.length; ++i ) {
                    if ( comandosFonte[i] != current ) {
                            result.push(comandosFonte[i]);
                    }
            }
            return resultado;
    }

### Exemplo 3: Envolver o texto selecionado

Envolve o texto selecionado com um comando TeX, onde a posição relativa do cursor não será alterada. O `abc`, por exemplo, pode ser alterado para `\texcommand{abc}`.

    var intervalo = view.selectionRange();

    if ( intervalo.isValid() ) {
            var cmd = kile.input.getLatexCommand("Selecionar","Selecione o comando LaTeX envolvente:");
            if ( cmd != "" ) {
                    surroundTexCommand("\\"+cmd,range);
            }
    }
    else {
            kile.alert.sorry("Nenhuma seleção encontrada.");
    }

    function surroundTexCommand(cmd,r)
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.clearSelection();
            document.insertText(r.end,"}");
            document.insertText(r.start,cmd+"{");

            c.column = c.column + cmd.length + 2;
            view.setCursorPosition(c);
            document.editEnd();
    }

Capítulo 15. Ajuda
Ajuda

# Capítulo 15. Ajuda

## Documentos de ajuda

LATEX é um sistema relativamente sofisticado, onde as funcionalidades básicas poderão ser expandidas com uma grande variedade de pacotes adicionais. O Kile oferece diversas maneiras de ajudar o usuário.

O submenu Ajuda → Documentação do LaTeX inclui links de documentação para todos os pacotes inclusos e uma referência LATEX adicional.

Navegador de documentação

  Uma ferramenta útil para navegar em todo os tópicos do LATEX. Instale os pacotes de ajuda do LATEX para sua distribuição se você precisar do compêndio de documentação completa.

LaTeX

  Uma referência não-oficial completa para o TEX e seus amigos. Não é apenas uma descrição de todos os scripts, mas alguns pacotes importantes são também mencionados. Inclui também um manual de referência completo de comandos LATEX - o que é ideal para procurar por uma determinada peça de formatação, ao escrever um documento. Uma vez que este documento é realmente extenso, ele é referenciado no Kile por três marcadores.

Comandos LaTeX

  Outro índice alfabético dos ambientes LATEX mais comuns.

Ambientes LaTeX

  Um índice alfabético dos ambientes LATEX mais comuns.

Ajuda de acordo com o contexto
Ajuda de acordo com o contexto

## Ajuda de acordo com o contexto

O Kile também tem suporte à ajuda que depende do contexto, a qual é carregada com o comando Ctrl+Alt+H K. Em Configurações → Configurar o Kile... → Kile → Ajuda, você poderá escolher se deseja usar a referência de LATEX do Kile ou o sistema de ajuda do teTEX/TeX Live, o qual é também a configuração padrão.

Pesquisando por palavras-chave
Pesquisando por palavras-chave

## Pesquisando por palavras-chave

Nem sempre é fácil procurar o documento correto, uma vez que o teTEX/TeX Live vem com uma quantidade enorme de documentos. Para facilitar este processo, o teTEX/TeX Live oferece um programa minúsculo chamado texdoctk. Ele vem com um banco de dados com todos os documentos, para a qual o Kile oferece uma interface amigável.

Todos os documentos são agrupados em categorias. Além disso, você poderá procurar pelos nomes dos pacotes e por palavras-chave. O Kile irá então mostrar apenas os resultados que corresponde ao texto de busca.

Fazer um duplo-clique com o mouse ou pressionar a tecla Espaço, irá iniciar o visualizador para o documento selecionado. Isto poderá ser um documento qualquer, não apenas um documento DVI, PS, PDF ou HTML. O Kile irá usar a configuração do KDE para iniciar um visualizador apropriado.

Ajuda definida pelo usuário
Ajuda definida pelo usuário

## Ajuda definida pelo usuário

Além desta documentação estática do teTEX/TeX Live, o Kile suporta uma maneira mais flexível de documentação de ajuda ao usuário. No menu Ajuda, o Kile suporta um submenu especial Ajuda do usuário, onde o usuário poderá adicionar documentos à sua escolha. Estes poderão ser os documentos mais importantes da documentação do teTEX/TeX Live, ou até mesmo documentos escritos pelo próprio usuário. É também possível inserir URLs.

Vá para Configurações → Configurar o Kile... → Kile → Ajuda e escolha o botão Configurar para modificar este menu Ajuda do usuário. Você poderá adicionar, remover ou mover os itens do menu, assim como inserir separadores para otimizar a estrutura do menu.

Se clicar no botão Adicionar, irá obter outra janela, onde poderá editar o nome do item do menu e escolher o arquivo ou URL correspondente. O segundo botão à direita do campo de texto inicia o Konqueror, que pode ser usado para determinar a URL correta.

Depois de terminar a configuração, todos os itens escolhidos irão aparecer no menu Ajuda do Kile, como um item de menu especial chamado Ajuda do usuário.

Capítulo 16. Créditos e Licença
Créditos e Licença

# Capítulo 16. Créditos e Licença

O Kile é um editor de código de LATEX / TEX aberto e amigável. Ele irá rodar nos sistemas que tenham o Ambiente de Trabalho KDE. O KDE está disponível para várias arquiteturas com o Linux® e outros sistemas do tipo Unix instalados.

Muito obrigado a todas as pessoas que se esforçam para prosseguir com o projeto do Kile e a todos que sacrificaram horas do seu tempo para desenvolver ferramentas que todos poderão usar segundo a licença GNU. Você poderá encontrar uma lista atualizada dos colaboradores na janela Sobre o Kile do menu Ajuda.

Muito obrigado a todos os envolvidos!

Tradução de Marcus Gama `(marcus.gama AT gmail.com)`, Rubens de Souza Matos Júnior `(rubens.matos AT gmail.com)` e André Marcelo Alvarenga `(alvarenga AT kde.org)`

Esta documentação é licenciada sob os termos da Licença de Documentação Livre GNU.

Este programa é licenciado sob os termos da Licença Pública Geral GNU.