Baixe o app para aproveitar ainda mais
Prévia do material em texto
i Universidade de São Paulo Instituto de F́ısica de São Carlos Introdução ao \LaTeX Thiago Schiavo Mosqueiro thiago.schiavo@terra.com.br Apostila de introdução e consulta ao LATEX apresentada no Primeiro Encontro de F́ısicos de São Carlos que Não Sabem Criar Siglas (BREU-SC). 1a edição, março de 2007 Volume 1 ii Direitos sobre cópias por Thiago S. Mosqueiro. Todos os direitos reservados. Este documento é gratuito; pode ser redistribúıdo gratuitamente. O objetivo maior desta apostila é resumir em apenas um documento a maior quantidade de informações úteis sobre LATEXquanto posśıvel. Ao longo das edições, uma maior quantidade de informações estará sendo adicionada à medida que os usuários desta apostila vão tendo dúvidas. Por isso, peço a todo usuário que, ao ter alguma dúvida e/ou veri- ficar a falta de algum tópico importante nesta apostila, relatar ao autor, cujo e-mail é thiago.schiavo@terra.com.br. A idéia é relançar múltiplas edições de forma que quanto mais rápido for posśıvel tais tópicos estejam inclusos na apostila. Está prevista que a próxima edição desta apostila seja lançada até dia 1 de agosto, incluindo tópicos sobre o sistema CJK, um caṕıtulo sobre criação de artigos e mais exemplos. Em caso de sugestões, não deixe de enviar ao meu e-mail! Obrigado a todos que lerem e aproveitarem esta apostila... file:thiago.schiavo@terra.com.br iii Agradecimentos Agradeço a todo usuário que decidir utilizar esta apostila e os que se importarem em me enviar as dúvidas e cŕıticas construtivas. iv v Resumo O TEXé um programa de computador criado por Donald E. Knuth. É devoto à tipografia de texto e fórmulas matemáticas. O motor tipográfico começou a ser escrito em 1977 para explorar os potenciais de equipamento digital de impressão que estava a infiltrar na indústria de publicação naquele tempo, especialmente na esperança de poder alterar o rumo da de- terioração de qualidade tipográfica que ele viu a afectar os seus próprios livros e artigos. Tal como o usamos hoje, o TEXfoi disponibilizado em 1982 com pequenos melhoramentos adicionados em 1989 para suportar da melhor forma os caracteres de 8-bits e múltiplas lin- guagens. Tem recebido muitos elogios por ser extremamente estável, funcionar em muitos tipos diferentes de computadores, e virtualmente não ter qualquer bug. A versão do TEXestá a convergir para π e de momento é 3:14159. Pronunciamos TEXcomo “Tech”, com um “ch” idêntico à palavra alemã “Auch” ou à es- cocesa “Loch”. Em ambientes ASCII, TEXdeve ser escrito como TeX. O LATEXé um pacote de comandos (macros que permitem que formatos predefinidos, de grande qualidade tipográfica, sejam impressos por qualquer autor. Foi escrito originalmente por Leslie Lamport. Usa o TEXcomo o seu motor tipográfico. Ultimamente, o LATEXé mantido por Frank Mittelbach. LATEXé pronunciado “Lay-tech” ou “Lah-tech”. Se se referir ao LATEXnum ambiente ASCII, deve escrever LaTeX. “LATEX2” é pronunciado “Lay-tech two e” e escrito LaTeX2e. Quando as pessoas do mundo WYSIWYG (sistemas em que o autor cria documentos cuja estética é agradável, mas sem uma estrutura consistente) conhecem pessoas que usam LATEX, frequentemente discutem “as vantagens do LATEXem relação a um processador de texto normal 1” ou o contrário. A melhor coisa que se pode fazer quando uma discussão se inicia é manter a calma, porque este tipo de discussão sai facilmente dos limites. Mas por vezes não se pode escapar. . . Então, aqui estão algumas munições. As principais vantagens do LATEXsobre um proces- sador de texto “normal” são as seguintes: • Formatos criados profissionalmente estão dispońıveis, que fazem com que um docu- mento criado por qualquer usuário pareça realmente impresso numa tipografia; • A escrita de fórmulas matemáticas é suportada de uma forma conveniente; • O utilizador apenas precisa de aprender uma dúzia de comandos facilmente compre- ensśıveis que especificam a estrutura lógica de um documento. Quase nunca se precisa atormentar-se com o formato real do documento; • Até estruturas complexas, tais como notas de rodapé, referências, tabelas de conteúdos e bibliografias podem ser facilmente geradas; • Pacotes gratuitos podem ser aplicados a tarefas tipográficas não suportadas pelo LATEXbásico. Por exemplo, existem pacotes para incluir gráficos PostScript e para imprimir bi- 1Entenda-se, aqui, como “editor de texto normal” por um editor de texto que é de uso mais comum e tem a visualização do documento em sua forma final acoplada à edição. vi vii bliografias conforme os “standards”. Muitos destes pacotes estãao descritos no The LATEXCompanion; • O LATEXencoraja os autores a escrever textos bem estruturados porque é assim que o LATEXfunciona - especificando a estrutura; • TEX, o motor de formatação do Latex2, é extremamente portável e livre. Desta forma, o sistema funciona em quase todas as plataformas de hardware existentes. O LATEXtambém tem algumas desvantagens, e penso que é um pouco dif́ıcil para mim encontrar alguma, mas parece-me que outras pessoas podem indicar centenas. • LATEXnão funciona bem para pessoas que tenham vendido a sua alma . . . ; • Apesar de alguns parâmetros poderem ser ajustados num formato pré-definido, o de- senho de todo um novo formato é dif́ıcil e demora muito tempo 2; • É dif́ıcil de escrever documentos mal estruturados e desorganizados; • Embora o seu hamster demonstre alguma dedicação durante os primeiros passos, nunca conseguirá digerir completamente o conceito de marcação lógica. O primeiro comando em LATEXque costuma-se ser passado é o comando que gera o śımbolo “LATEX”. O comando é \LaTeX . 2Rumores dizem que este é um dos pontos chave a ser abordado na versão 3 do Latex. viii Conteúdo Agradecimentos iv Resumo vi 1 Compilador e formato do arquivo fonte 1 1.1 Programa para compilar o arquivo fonte . . . . . . . . . . . . . . . . . . . . 1 1.2 Formato do arquivo fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 O Preâmbulo 3 3 Quanto ao texto... 6 3.1 Parágrafos e alinhamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Caracteres reservados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 T́ıtulos, caṕıtulos e seções . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.4 Teoremas e proposições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.5 Estilos, fontes e tamanhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.6 Sublinhado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.7 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.8 Tal qual... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.9 Ambiente para citações e versos . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.10 Espaços em branco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.11 Brincando com cores no texto . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4 Ambiente Matemático 14 4.1 Ambiente “equation” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2 Ambiente “eqnarray” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2.1 Montando sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.3 Letras gregas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.4 Parenteses e similares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.5 Śımbolos matemáticos e estilos de fontes . . . . . . . . . . . . . . . . . . . . 16 4.6 Funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.7 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.8 Lapidando o ambiente matemático . . . . . . . . . . . . . . . . . . . . . . . 18 4.9Fantasma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5 Produzindo gráficos matemáticos 20 5.1 Um ambiente espećıfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Segmentos de reta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.3 O LatexDraw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 ix x CONTEÚDO 6 Detalhes, Índices e Figuras 23 6.1 Referências Cruzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.2 Posicionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.3 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.4 Inserindo figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.5 Conjunto de figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.6 Tratando tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.7 Listas de figuras e tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.8 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.9 Ligações Hipertexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.10 Referências bibliográficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.11 Índice Remissivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.12 Notas de rodapé e nas margens . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.13 Dividindo o arquivo fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 6.14 Protegendo comandos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 A Todas as Letras Gregas 33 B Śımbolos Matemáticos 34 C Curvas de Bézier 36 C.1 Caso geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 C.1.1 Curva de Bézier linear . . . . . . . . . . . . . . . . . . . . . . . . . . 36 C.1.2 Curva de Bézier quadrática . . . . . . . . . . . . . . . . . . . . . . . 37 C.1.3 Curva de Bézier cúbica . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Lista de Tabelas 3.1 Posśıveis divisões para a clase “artigo”. . . . . . . . . . . . . . . . . . . . . . 8 3.2 Tabela com a lista de tamanhos de fonte para o modo texto. . . . . . . . . . 10 3.3 Fontes utilizadas dentro do modo texto. . . . . . . . . . . . . . . . . . . . . . 10 3.4 Tipos de sublinhado e os respectivos exemplos. . . . . . . . . . . . . . . . . . 11 4.1 Alguns exemplos de letras gregas em LATEX. . . . . . . . . . . . . . . . . . . 16 4.2 Tabela de fontes para ambientes matemáticos. . . . . . . . . . . . . . . . . . 17 6.1 Tabela com as opções de posicionamento. . . . . . . . . . . . . . . . . . . . . 24 6.2 Tabela com as opções a serem utilizadas no comando “includegraphics”. . . . 25 6.3 Alguns exemplos de letras gregas em LATEX. . . . . . . . . . . . . . . . . . . 27 A.1 Todas as letras gregas minúsculas, com suas respectivas variações. . . . . . . 33 B.1 Śımbolos matemáticos muito comuns. . . . . . . . . . . . . . . . . . . . . . . 34 B.2 Śımbolos para todos os tipos de flechas. . . . . . . . . . . . . . . . . . . . . . 35 xi Caṕıtulo 1 Compilador e formato do arquivo fonte “ There´s something you can´t ride, It´s when you´re crippled inside ” John Lennon Todo arquivo escrito em Latex deverá ser escrito em qualquer editor de texto que não inclua marcações ou códigos extras às letras. Teste visualizar um documento utilizado no “word” (da Microsoft) ou em algum outro editor de texto bem comum em algum editor de texto bem básico (no Windows, o bloco de Notas; no Linux, ViM, por exemplo). Sugiro dois editores de texto: Emacs (editor de texto em geral, muito utilizado por programadores de Fortran) ou TexNicCenter (editor espećıfico para Latex, possui diversos atalhos para inserção de fórmulas ou comandos mais extensos). 1.1 Programa para compilar o arquivo fonte Não vou comentar muito sobre os programas utilizados para o Linux (por saber que meu público alvo utiliza, em grande maioria, Windows), mas o mais utilizado é o “Te-Tex”. Para Windows, sugiro a utilização do MikTex 1, uma distribuição gratuita de diversas rotinas já prontas para edição de textos em formato profissional (por exemplo, para criação de artigos cient́ıficos). Ao baixar o instalador, você precisará realizar alguns passos. Primeiramente, irá baixar os arquivos que realmente serão instalados. Por isso, execute o programa copiado e selecione a opção “download MikTex”. Sugiro que a versão básica seja instalada (demora muito para carregar todos os arquivos da versão completa, e caso algum arquivo falte e você necessite, durante a compilação o MikTex perguntará se você desejará instalá-lo). Terminado o “down- load”, execute novamente o programa e selecione a opção “Installing MikTex”. A versão 2.5 está boa, mas em algumas máquinas apresenta problemas. Mesmo assim, prefiro a versão 2.5 à 2.4. Apenas uma questão de velocidade e qualidade na criação de alguns formatos de leitura que discutiremos mais tarde. Em geral, o instalador pode ser utilizado com o Prompt. A sintaxe para compilar um arquivo fonte e gerar um formato dvi é “latex nome.tex”, sendo “nome” o nome do arquivo. Para “pdf”, “pdflatex nome.tex”. Lembre-se sempre de compilar o arquivo fonte ao menos duas vezes, pois o Latex cria diversos arquivos auxiliares para geração da formatação correta (links, imagens, referências). Por isso, é muito comum compilar uma vez o arquivo fonte em 1Este compilador pode ser encontrado na url Project MikTeX 1 http://www.miktex.org/ 2 CAPÍTULO 1. COMPILADOR E FORMATO DO ARQUIVO FONTE Latex, rodar o makeindex (6.11) e o bibtex (6.10) e, em seguida, compilar o arquivo fonte mais duas vezes. 1.2 Formato do arquivo fonte O formato do arquivo fonte é bem simples. Todo o texto será digitado normalmente como digitamos normalmente. Quando quisermos utilizar as fórmulas, inserir figuras ou separar textos em seções, então utilizaremos códigos especiais que serão discutidos um a um, mas não me preocuparei em discutir uma grande quantidade de códigos. Os comandos todos do Latex são extremamente simples e lógicos, basta entender a lógica e deixar-se arriscar. Outra vantagem é o fato de que o Latex é já foi muito discutido em fóruns diversos pela internet, o que facilita a procura de soluções de dúvidas quaisquer, ainda mais que praticamente todo professor (ao menos, de universidade) sabe utilizar. Dominando os códigos e comandos, você poderá criar documentos com design de artigos cient́ıficos com facilidade, verificando que o Latex realiza todo o trabalho para você. De fato, talvez você sofra no começo, mas a garantia de que o trabalho, com o tempo, será recompensado é certa. Geralmente, costuma-se dividir o arquivo fonte em duas partes. A primeira, costumei- ramente conhecida como “preâmbulo”, é usada para configurar o documento: desde estilo (livro, carta, slides, artigo) até o formato da página. Também no preâmbulo estarão os pacotes utilizados pelo arquivo, que, como veremos, definirão caracteŕısticas e opções a mais que seu arquivo poderá acessar. Por último, ficam também no preâmbulo as abreviações e algumas definições importantes. O preâmbulo, comumente, é deixado pronto como padrão, para que apenas o corpo do documento seja modificado. Por exemplo, um artigo sempre vai necessitar utilizar folha A4 (ou semelhante), ser apresentado em duas colunas, conter bibliografia, utilizar o pacote de inserção de imagens e apresentará teoremas. Todas estas opções serão definidas no preâmbulo. Fora o preâmbulo, teremos o corpo do arquivo, onde estarão os comandos e todo o documento em si. Caṕıtulo 2 O Preâmbulo “ Não tenho certeza de nada, mas a visão das estrelas me faz sonhar. . . ” Vincent Van Gogh Todo arquivo em latex deverá iniciar-se com um “\documentclass”,que definirá a classe do documento, ou seja, definirá se o documento é um artigo, livro ou qualquer outro estilo de documento. Outros tipos posśıveis que podem aparecer no lugar de “book” é “article”, “report”, “slide” e “revtex4”. Quanto ao revtex4, este é um estilo não tão usual de montagem de artigos, diferente do article. O revtex4 faz com que o artigo tenha uma parte só para o t́ıulo e resumo e também utiliza mais a folha do que o article (sem nenhum modificador). Esta apostila, por exemplo, tem o seguinte preâmbulo: \documentclass[a4paper,12pt]{book} \usepackage[portuguese]{babel} \usepackage[ansinew]{inputenc} \usepackage{graphicx} \usepackage[colorlinks,pagebackref,hyperindex]{hyperref} No preâmbulo mostrado acima, o \documentclass está seguido de um [a4paper,12pt] antes de especificar que o estilo é “book”. Na verdade, em todo o preâmbulo, qualquer co- mando que tiver indicações mais espećıficas aceitam tal sintaxe. No caso do \documentclass, as posśıveis opções são: 1. Tamanho: Padrão da letra: 11pt ou 12pt(pontos), o último é usado com mais frequência; 2. twoside: Que imprime em ambos os lados da página; 3. oneside: Imprime em um só lado da página; 4. twocolumn: Produz o texto disposto em duas colunas na página; onecolumn: Produz o texto disposto em uma coluna; 5. landscape: Produz uma página na forma de paisagem; 6. leqno: Isto faz com que a numeração das fórmulas sejam colocadas a esquerda em vez de a direita; 3 4 CAPÍTULO 2. O PREÂMBULO 7. fleqn: Faz com que a fórmula fique localizada na margem esquerda em vez de estar centralizada; 8. openright: Faz com que os caṕıtulos sejam iniciados apenas nas páginas ı́mpares; 9. openany: Permite que os caṕıtulos sejam iniciados nas páginas ı́mpar ou par. Tendo definido o estilo do documento, precisaremos agora definir quais os pacotes que serão utilizados. Fica bem claro o como precisaremos fazer isto observando o exemplo. O comando que chama os pacotes tem a sintaxe \usepackage[...]{nome-do-pacote} e os principais pacotes que utilizaremos são: 1. babel: este pacote traduz a estrutura (abstract é trocado por resumo, por exem- plo) e acerta a hifenização do Latex, fazendo com que as palavras sejam dividi- das corretamente (no caso de hifenização para o português, deve-se utilizar a opção [portuguese]); 2. [ansinew]{inputenc}: este pacote fará com que os acentos digitados sejam converti- dos, na compilação, para os acentos que o Latex reconhece de fato (na verdade, ori- ginalmente, o Latex funcionada apenas se o usuário digitasse certos códigos especiais para a acentuação também 1), o que torna a digitação muito mais veloz; 3. graphicx: este pacote fará com que gráficos possam ser inseridos no documento. Em geral, prefere-se arquivos em “ps”, “pdf” ou “eps”. Para outros formatos, é necessário outro pacote mais espećıfico (o MikTex fará seu download, basta citá-lo no preâmbulo); 4. color: simplesmente para utilizar cores no texto; 5. amsfonts: define alguns estilos de letras para o ambiente matemático; Outros pacotes poderão ser adicionados conforme se fizer necessária sua utilização. Já ficou também claro que os comandos em Latex parecem ter uma marca que os identifica: todos os comandos começam com “\” e são seguidos das ordens. De fato, isso será constante e ocorrerá durante todo o processo de criação do documento. O preâmbulo ainda permite que o usuário crie novas definições para comandos e seções especiais como teoremas. Observe a seguir o que pode ser feito. Teorema 2.0.1 (da Queda para Inteiros Negativos) Se n é um inteiro positivo, então Dx(x −n) = −nx−n−1. Demonstração: Utilizando a definição de x−n, a regra do quociente e a regra da potência, Dx(x−n) = Dx( 1 xn ) = xn(0)− 1(nxn−1) (xn)2 = −nxn−1 x2n = (−n)x(n−1)−2n = (−n)x−n−1 (2.1) � Mas tudo o que precisei digitar foi o conteúdo do teorema e da prova. 1Eu peguei essa “época”... 5 \begin{teor}[da Queda para Inteiros Negativos] \\Se $n$ é um inteiro positivo, ent~ao $D_x(x^{-n}) = -n x^{-n-1}$.\label{teorema} \end{teor} \begin{demo} Utilizando a definiç~ao de $x^{-n}$, a regra do quociente e a regra da potência, \begin{eqnarray} D_x(x^{-n}) &=& D_x(\frac{1}{x^n}) \nonumber\\ &=& \frac{x^n(0)-1(nx^{n-1})}{(x^n)^2} \nonumber\\ &=& \frac{-nx^{n-1}}{x^{2n}}=(-n) x^{(n-1)-2n} \nonumber\\ &=& (-n)x^{-n-1} \end{eqnarray} \end{demo} Isto é posśıvel pelo fato de que, no preâmbulo, podemos definir que o formato dos teoremas serão \newtheorem{teor}{Teorema}[section] \newenvironment{demo}{% \endsloppypar\noindent\bgroup\small{\bf{Demonstraç~ao:} }} {\samepage\null\hfill$\diamond$\endsloppypar\egroup} A parte \label servirá para nos referirmos mais tarde ao teorema, mas veremos esta opção mais detalhadamente a seguir, quando precisaremos de fato nos referir ao teorema 2.0.1 utilizando este recurso. Voltaremos a discutir esse tipo de definição mais tarde (3.4), quando verificarmos com mais calma o que são “seções”. Caṕıtulo 3 Quanto ao texto... “ Não tenho nada a declarar, exceto por minha genialidade. . . ” Oscar Wilde O texto será, como já havia discutido, digitado normalmente, sem modificações ou co- dificações especiais a menos de alguns detalhes como alinhamento, tamanho de fonte, estilo de fonte, etc. A primeira diferença que é necessário citarmos é a quebra de linha. Quando, em Latex, queremos finalizar um parágrafo, deveremos criar duas linhas de diferença entre dois parágrafos. Espaços em branco ou tabulações não são válidas em Latex: são ignora- das por completo. Os parágrafos já são gerados automaticamente respeitando as normas do português. 3.1 Parágrafos e alinhamentos Estamos acostumados a visualizar o espaçamento entre palavras de acordo com o número de vezes em que apertamos a tecla de espaçamento. Já no LaTeX, isso não importa dado que sempre será contado apenas um independentemente da quantidade de espaços inseridos. O primeiro parágrafo será iniciado sem indentação, como pode ser observado logo acima. O comando \indent adiciona uma largura igual ao tamanho da indentação do paragrafo normal e o comando \noindentnoindent retira a indentação do local onde ela deveria aparecer. Estes comando funciona somente para alguns estilos. Para ser fazer o próximo parágrafo basta pular uma linha ou utilizar o comando \par no lugar em que será iniciado o novo parágrafo. Para passar para a linha abaixo da qual se está digitando coloque \\ 1 e a linha será quebrada neste ponto. Ex: observe que esta linha está\\ quebrada após o uso das duas barras. Isto irá gerar: observe que esta linha está quebrada após o uso das duas barras. 1Os comandos \\∗ e \\[medida] têm a mesma função do comando \\, a prinćıpio. A diferença está no fato de que \\∗ impede que o texto mude de página na quebra daquela linha e que \\[medida] quebra a linha, porém acrescentando o espaço que está determinado entre colchetes seguindo certas convenções de medidas que veremos mais adiante. 6 3.1. PARÁGRAFOS E ALINHAMENTOS 7 Usando o comando \linebreak a linha é quebrada e a parte anterior ao comando fica justificada. Quando é usado o comando \newpage o texto passa para a próxima página. O comando \pagebreak[num] força a quebra da página, onde o argumento opcional [num] é um valor inteiro de 1 a 4 que definem a prioridade do funcionamento do comando, onde 4 é o maior valor. O comando \nopagebreak[num] faz o inverso de pagebreak, ou seja, impede a página de ser quebrada no local onde o comando foi colocado. Existem também certos ambientes, onde predominará alguma caracetŕıstica. Por exem- plo, podemos alinhar o texto utilizando três ambientes simples. Todo ambiente necessitará de um ponto onde será seu ińıcio e um ponto onde ele termina. Esses dois pontos serão marcados com os comandos \begin{nome-do-ambiente} e \end{nome-do-ambiente}. O que estiver entre estasduas marcadas estará sob influência do ambiente. Para escrever um texto assim, todo centralizado, precisamos de um ambiente em que todo o texto esteja centralizado. Este ambiente chama-se “center”. Observe como ficou em Latex a sentença acima. \begin{center} Para escrever um texto assim, todo\\ centralizado, precisamos de um ambiente onde todo o texto esteja \\ centralizado. \end{center} Todos os ambientes apresentarão esta mesma forma: um ińıcio e um fim delimitando o campo que estará sob influência do ambiente. Ainda para o alinhamento de parágrafos, temos os ambientes “flushright” 2 e “flushleft”, cuja aplicação é totalmente análoga à do ambiente “center”. Observe um exemplo final, utilizando o que foi discutido até este momento. [[[ ... e aqui é o fim de um parágrafo, devido à linha em branco escrita a seguir. Aqui é o ińıcio de um novo parágrafo... Esta linha termina aqui bem “antes da hora”. Aqui temos mais um parágrafo. Veja o tamanho desse espaçacamento vertical a seguir, e desse espaçamento horizontal. ]]] No arquivo fonte, o parágrafo acima é feito da seguinte maneira: [[[ ... e aqui é o fim de um parágrafo, devido à linha em branco escrita a seguir. Aqui é o inı́cio de um novo parágrafo... Esta linha termina aqui \\ bem ‘‘antes da hora’’. Aqui temos mais um parágrafo. Veja o tamanho desse \vspace{1cm} espaçacamento vertical a seguir, e desse espa\c camento \hspace{2cm} horizontal. ]]] 2Este é o comando utilizado para criar as citações engraçadas (...) no ińıcio de cada caṕıtulo. 8 CAPÍTULO 3. QUANTO AO TEXTO... 3.2 Caracteres reservados Há, como em toda linguagem de programação, caraceteres que são destinados ao reconhe- cimento por parte do compilador dos comandos. O Latex apresenta 10 caracteres especiais. São ˜, ˆ, \, #, $, %, & , , { e } . Existe também como fazermos traços ou h́ıfens de diferentes tamanhos. O menor é - e é feito digitando -; o médio é – e é obtido com --. Analogamente, —, que é o maior 3, é obtido com ---. 3.3 T́ıtulos, caṕıtulos e seções Para ajudar o leitor a encontrar a linha de leitura ao longo do documento, deve dividi-lo em caṕıtulos, seções e subseções. O LATEXpermite que o usuário crie esta estrutura com comandos especiais que tomam o t́ıtulo como seu argumento. Os comandos de divisão do texto que estão dispońıveis para a classe article são: \section{...} \subsection{...} \subsubsection{...} \paragraph{...} \subparagraph{...} Tabela 3.1: Posśıveis divisões para a clase “artigo”. Para as classes book, report e letter, estas divisórias também valem. Quando for ne- cessário dividir o artigo em partes diferentes, utiliza-se o comando \part{...}. Se estiver trabalhando com as classes report ou book, um comando adicional para seccionar ao ńıvel de topo, torna-se dispońıvel o \chapter{...}. Como a classe article não sabe nada acerca de caṕıtulos, torna-se muito fácil adicionar artigos como caṕıtulos num livro. O espaçamento entre seções, a numeração e o tamanho de letra dos t́ıtulos serão colocados automaticamente pelo LATEX. Dois destes comandos são ligeiramente especiais: o comando \part não influencia a numeração de seqüência dos caṕıtulos, enquanto o comando \appendix não leva nenhum argumento. Apenas muda a nu- meração de caṕıtulos para letras 4. O Latex pode criar uma tabela de conteúdos com relação aos t́ıtulos de seções e os números das páginas de cada seção. O comando \tableofcontents expande-se para uma tabela de conteúdos no local onde for invocado. Todos os comandos listados acima também existem em vers oes “estreladas”. Uma versão “estrelada” do comando é construção da adicionando uma estrela * após o nome do comando. Estas versões geram t́ıtulos que não aparecerão na tabela de conteúdos e que não serão nu- merados. O comando \section{Ajuda}, por exemplo, pode passar a \section*{Ajuda}. Normalmente, o t́ıtulo da secção aparecerá na tabela de conteúdos exatamente como intro- duziu no texto. Algumas vezes isto não é posśıvel por o t́ıtulo ser demasiado grande e a tabela de conteúdos não ficar leǵıvel. Então, a entrada que aparecerá na tabela de conteúdos pode ser especificada como um argumento opcional antes do verdadeiro t́ıtulo, como abaixo. 3Não adianta tentar com quatro -. 4Para o estilo article, muda a numera�c ao de sec�c oes. 3.4. TEOREMAS E PROPOSIÇÕES 9 \chapter[Tı́tulo pequeno para a tabela de conteúdos]{Um tı́tulo grande e especialmente aborrecido, que aparece na página apenas.}| O comando \appendix marca o ińıcio do material adicional em um livro. Depois deste comando, todos os caṕıtulos serão numerados com letras. Existem ainda alguns comandos que podem ser úteis. O \frontmatter deve ser o primeiro comando após \begin{document}. Irá mudar a numeração de página para numerais romanos e as seções não serão numeradas, tal como se usasse a versão “estrelada” nos comandos de seção (exemplo \chapter*{Prefácio}) mas as seções continuarão a aparecer no ı́ndice de conteúdos. Já o \mainmatter aparece exatamente antes do primeiro caṕıtulo do livro. Muda a numeração para numerais árabes e coloca o contador de página a zero. 3.4 Teoremas e proposições O comando \newtheorem{ambiente}{tı́tulo} define um ambiente para a escrita de teoremas, proposições, etc, no qual “ambiente” é um apelido para o ambiente e “t́ıtulo” é o t́ıtulo que será impresso no ińıcio do texto, como Teorema, Lema, Corolário, etc. Por exemplo: \newtheorem{teo}{Teorema}[section] \newtheorem{lema}[teo]{Lema} \newtheorem{cor}[teo]{Corolário} \newtheorem{prop}[teo]{Proposiç~ao} Os comandos acima definem quatro ambientes com apelidos teo, lema, cor e prop. A nu- meração é automática e o argumento [teo] faz com que os outros ambientes sigam a numeração do ambiente teo. O argumento [section] faz com que apareça o número da seção junto ao número do teorema. Uma vez definidos os ambientes no corpo do arquivo fonte, eles podem ser chamados em qualquer ponto após a definição dos ambientes, como no exemplo seguinte: \begin{teo}[Pitágoras] \label{teo:pitagoras} Em todo triângulo retângulo o quadrado do comprimento da hipotenusa é igual a soma dos quadrados dos comprimentos dos catetos. \end{teo} produz o teorema 3.4.1 (lembre-se que o “label” é apenas para nos referirmos ao teorema, como veremos em 6.1) Teorema 3.4.1 (Pitágoras) Em todo triângulo retângulo o quadrado do comprimento da hipotenusa é igual a soma dos quadrados dos comprimentos dos catetos. 3.5 Estilos, fontes e tamanhos Há também como mexermos com as fontes e tamanhos de nosso texto. A tabela abaixo faz a comparação dos tamanhos com respeito a cada comando posśıvel. 10 CAPÍTULO 3. QUANTO AO TEXTO... {\tiny{tamanho}} → tamanho {\scriptsize{tamanho}} → tamanho {\footnotesize{tamanho}} → tamanho {\small{tamanho}} → tamanho {\normalsize{tamanho}} → tamanho {\large{tamanho}} → tamanho {\Large{tamanho}} → tamanho {\LARGE{tamanho}} → tamanho {\huge{tamanho}} → tamanho {\Huge{tamanho}} → tamanho Tabela 3.2: Tabela com a lista de tamanhos de fonte para o modo texto. \textbf{negrito} negrito \textsf{sans serif} sans serif \textsl{slanted} slanted \textsc{small caps} small caps \texttt{letra de máquina} letra de máquina \textrm{romano} romano Tabela 3.3: Fontes utilizadas dentro do modo texto. Com estes “operadores” listados na tabela 3.2 já poderemos trabalhar com o tamanho de fonte de maneira simples e fácil. Há também a opção de modificar o estilo da fonte, que segue o mesmo prinćıpio das opções para tamanho de fonte. Observe na tabela 3.3 o como cada operador modifica a fonte original. Desta forma, podemos fazer praticamente qualquer design que um editor convencional nos permitiria fazer. Com pacotes mais espećıficos, que são baixados pelo usuário (ao sentir necessidade), existirão mais tipos de opções, mas que não são tão importantes pelofato de serem espećıficas demais. Numa máquina de escrever, uma v́ırgula ou um ponto ocupam o mesmo espaço de qual- quer outra letra. Ao imprimir livros, estes caracteres ocupam apenas um pequeno espaço e são colocados muito próximos à letra precedente. Desta forma, não se pode introduzir reticências simplesmente introduzindo três pontos, porque o espaçamento estará comprome- tido. No entanto, existe um comando especial para estes pontos. Para criar reticências, existe o comando \ldots. . . 3.6 Sublinhado Sublinhar texto não é considerado uma operação tipográfica para introduzir ênfase. Mas em Latex normalmente usa itálico nesta operação. Entretanto, sublinhado pode ser ne- cessário em um manuscrito a ser submetido para publicação. O pacote ulem pode ser usado 3.7. LISTAS 11 nestes casos para produção de diversos tipos de texto sublinhado, como mostrado na tabela 3.6. \uline sublinhado \uuline duplo-sublinhado \uwave ::::::::::::::::::: curvo-sublinhado \sout riscado \xout ///////////////sobrescrito Tabela 3.4: Tipos de sublinhado e os respectivos exemplos. 3.7 Listas As seguintes subseções mostram diversos exemplos de listas com os environments itemize, enumerate, description, list e trivlist. Um exemplo de formato de lista criada com o comando \newenvironment também é mostrado. O ambiente itemize é útil para listas simples, o enumerate para listas enumeradas e o description para descrições. 1. Pode misturar ambientes de listas conforme o seu gosto: • Mas pode come�car a parecer muito patético. - Com um h́ıfen, 2. Portanto, lembre-se: algo. . . Estúpido não se transformará em algo inteligente ao ser listado. Interessante pode ser apresentado numa lista. As listas anteriores podem ser geradas com a seguinte linha: \begin{enumerate} \item Pode misturar ambientes de listas conforme o seu gosto: \begin{itemize} \item Mas pode come�car a parecer muito patético. \item[-] Com um hı́fen, \end{itemize} \item Portanto, lembre-se: algo\ldots \begin{description} \item[Estúpido] n~ao se transformará em algo inteligente ao ser listado. \item[Interessante] pode ser apresentado numa lista. \end{description} \end{enumerate} 3.8 Tal qual... O ambiente “verbatim” permite que o usuário digite o texto da forma que quiser e o texto saia no documento final (compilado) exatamente como o usuário digitou 5. Dá-se ińıcio ao 5Todos os comandos desta apostila estão sob influência do ambiente “verbatim” 12 CAPÍTULO 3. QUANTO AO TEXTO... ambiente “verbatim” com \begin{verbatim} e termina-se com \end{verbatim}. Observe o exemplo abaixo. \begin{verbatim}observe que esta linha está\\ quebrada após o uso das duas barras. Isto irá gerar: observe que esta linha está quebrada após o uso das duas barras. Este exemplo foi utilizado na seção 3.1. Compare o resultado final com o que foi impresso acima. Este ambiente novo fará com que um parágrafo seja criado apenas para a inserção de seu conteúdo. Caso o usuário deseje inserir no meio do texto algo sob influência deste campo, basta utilizar o comando \verbS ... S, sendo “S” apenas uma maneira de representar um śımbolo. “S” poderá ser qualquer caracter, com exceção de letras, espaço em branco e asterisco. Usualmente, utiliza-se o caracter “|”. 3.9 Ambiente para citações e versos Para fazer citações, utiliza-se um ambiente próprio chamado “quote”. Funciona como qualquer ambiente. Veja um exemplo de sua resposta. “As pessoas que vencem neste mundo são as que procuram as circunstâncias de que precisam e, quando não as encontram, as criam.” Bernard Shaw 3.10 Espaços em branco Diversos espaços em branco são considerados, pelo compilador, um único espaço e todo e qualquer espaço a mais será simplesmente ignorado. Mas existe uma forma de inserirmos a quantidade que quisermos de espaços em branco entre duas palavras, utilizando o caracter \. Por exemplo, AQUI \ FICA \ \ MUITO \ \ \ LONGE \ \ \ \ DA \ \ \ \ \ \ \ \ \ \ OUTRA PALAVRA! gera AQUI FICA MUITO LONGE DA OUTRA PALAVRA! Não confunda com o sinal \\, discutido na seção 3.1. Para obter os espaços em branco são necessárias \ com espaços em brancos entre elas. 3.11 Brincando com cores no texto O texto pode também apresentar cores diferentes, havendo já algumas cores pré-definidas (sempre as cores serão reconhecidas com seu nome em inglês). Para mudar a cor do texto, utilize o comando \textcolor{COR}{texto} . 3.11. BRINCANDO COM CORES NO TEXTO 13 Por exemplo, o código \textcolor{red}{diferentes} gerou diferentes anteriormente. Há também como definirmos cores para utilizarmos em um documento utilizando o seguinte comando, no preâmbulo: \definecolor{NOME}{rgb}{%RED,%GREEN,%BLUE} . Observe que para definir uma cor precisaremos definir seu nome e a concentração das três cores básicas, variando de 0 a 1. Também podemos utilizar caixas, como text . Para poder utilizar tal opção, utilize o comando \colorbox{COR}{TEXTO} . Também utilizando o comando \fcolorbox{framecolor}{boxcolor}{text} pode-se criar algo semelhante a um texto dentro de uma caixa, mas com um quadro colorido, tal como neste exemplo . Também é posśıvel mudar a cor da página, como, se o leitor prestar atenção (melhor visualizável em formas não impressas deste documento), na capa deste trabalho. Isto é obtido com o comando \pagecolor{COR} . Caṕıtulo 4 Ambiente Matemático “God is REAL, unless declared integer. . . ” Alguém. . . Já vimos no caṕıtulo 3 que existem diversos ambientes em LATEX, que serão regiões onde uma determinada caracteŕıstica será predominante. Existem ambientes espećıficos para inserção de fórmulas matemáticas. Um deles, o mais utilizado e comum, é o “equa- tion”. Verems também o “eqnarray”, que é bem útil para sistemas de equações e/ou para ilustrar passagens de contas. Caso seja necessário o uso de uma fórmula ou algum śımbolo matemático dentro do modo texto existe ainda uma possibilidade: utilizar o carac- ter $ EQUAÇ~AO E/OU SÍMBOLOS $, que cria um tipo de mini ambiente matemático. 4.1 Ambiente “equation” O ambiente equation ocorre como qualquer outro ambiente, ou seja, \begin{equation} \label{eq:NOME-DA-REFERENCIA} EQUAÇ~OES ... \end{equation} O próprio ambiente “equation” trata de gerar a numeração para as fórmulas e o nome “label” cuida do nome pelo qual a equação será reconhecida, caso precisemos chamá-la novamente depois (como já discutimos). Mais detalhes serão abordados na seção 6.1. Caso não haja necessidade de que a equação ocupe um posto na numeração, basta adicionar o comando \nonumber e o número referente à equação desaparecerá. Isto também valerá no ambiente “eqnarray”. 4.2 Ambiente “eqnarray” Este ambiente permite que uma passagem longa de contas ou um sistema seja exibido sem que diversos ambientes “equation” sejam necessários. A forma geral deste ambiente é a seguinte. \begin{eqnarray} f(x) = & 2 cos (x) & + exp (x) \nonumber \\ \label{eq:teste1} f(x) &=& 2 cos (x) + exp (x) \end{eqnarray} 14 4.3. LETRAS GREGAS 15 Esta linha de comando gerará a seguinte visualização, ao ser compilada. f(x) = 2cos(x) +exp(x) f(x) = 2cos(x) + exp(x) (4.1) Observe que os elemento & denotam exatamente a região que será utilizada para alinhas as equações. Muitas vezes, estes śımbolos são deixados entre o sinal “=”. Observe que a equação (4.1) pode receber referências, enquanto que a equação logo acima não apresenta uma ordem dentro das referências. 4.2.1 Montando sistemas Como fazer então para se referir a duas equações como, por exemplo, está demonstrado abaixo: a2 = b2 + c2 (4.2a) a = b− 5 (4.2b) Observe que agora podemos chamar uma equação de (a) e outra de (b), sendo que estes ı́ndices serão gerados internamente pelo LATEX. Primeiramente, é necessário notar que houve um pacote adicional utilizado: \usepackage{subeqnarray} Observe a sintaxe utilizada: \begin{subeqnarray}\label{eq:sub}\slabel{sub1} a^2& =& b^2 + c^2\\ \slabel{sub2} a &=& b - 5 \end{subeqnarray} Para nos referirmos, utilizaremos a chamada “sub1” para a primeira equação, isto é, a equação (4.2a) e a chamada “sub” para a equação (4.2). Mais tarde, abordaremos com mais detalhes como fazer essas referências. 4.3 Letras gregas As letras gregas podem ser obtidas de forma muito simples: basta adicionarmos \ antes do nome da letra grega, como podemos observar na tabela 4.1. Como pode-se notar sem grandes dificuldades, quando a letra inicial for maiúscula, então a letra grega será maiúscula. Existe ainda letras que aceitam uma variação da forma comum, como por exemplo σ e ς. Basta adicionar “var” ao nome, como em \varepsilon, que torna-se ε. É importante lembrar que as letras gregas devem ser inseridas apenas no modo matemático, gerando um erro caso o oposto seja realizado. Se o usuário estiver utilizando o MikTex, a letra grega estará presente no local certo no documento final, porém uma mensagem de erro será exibida no momento da compilação. No apêndice A há uma lista completa com todas as letras gregas posśıveis, incluindo suas variações. 16 CAPÍTULO 4. AMBIENTE MATEMÁTICO \alpha α \epsilon � \beta β \Pi Π \gamma γ \Sigma Σ \Gamma Γ \eta η \nabla ∇ \lambda λ \delta δ \Lambda Λ Tabela 4.1: Alguns exemplos de letras gregas em LATEX. 4.4 Parenteses e similares Os comandos \left( e \right) produzem parênteses com tamanho ajustado na altura para conter a fórmula que é englobada por eles. O mesmo acontece com colchetes e chaves, usando os comandos \left[, \right], \left\{ e \right\}. Os comandos \left e \right devem aparecer sempre aos pares. Observe a diferença em um caso mais expĺıcito. cos( 2π ω ab cω F ~ς t) (4.3) cos ( 2π ω ab cω F ~ς t ) (4.4) Enquanto na equação (4.3) os parênteses apresentam seu tamanho usual (igual ao modo texto), deixando que a razão torne-se maior que os parênteses, na equação (4.4) os parênteses ajustaram-se de acordo com o argumento do cosseno. 4.5 Śımbolos matemáticos e estilos de fontes Há também śımbolos espeiciais. Por exemplo, quando queremos dizer que para qualquer valor de x a função f(x) estará definida poderemos utilizar o sinal ∀. Existe uma extensa lista de sinais matemáticos, dos quais vou listar alguns dos mais importantes no apêndice B. Existem algumas fontes bem espećıficas e especiais, que só podem ser utilizadas dentro de um ambiente matemático, listadas na tabela 4.2. 4.6 Funções Apesar de que nas seções 4.1 e 4.2 não terem sido utilizados comandos especiais para exprimir funções matemáticas, na verdade existem já formas pré-definidas em LATEXpara as funções mais comuns. Infelizmente são formas complicadas e grandes, que necessitarão de um certo esforço para fazer com que o usuário acostume-se a utilizá-las sem problemas e decorá-las. Por exemplo, vamos tentar escrever uma somatória de cossenos e senos. F = ∑ i exp(t ln(t)) coth(ωit) sin(ωit+ inf(∆)) (4.5) 4.7. MATRIZES 17 \mathrm{...} TipoRomano \mathbf{...} TipoNegrito \mathsf{...} TipoSansSerif \mathtt{...} Tipodactilografo \mathit{...} TipoItalico \mathcal{...} T 〉√ocal〉}∇a{〉co \mathnormal{...} TipoNormal Tabela 4.2: Tabela de fontes para ambientes matemáticos. A (4.5) ilustra bem o uso de diversas funções comuns dentro do ambiente “equation”. O texto LATEXpara gerar tal equação é, na verdade, o texto abaixo. \begin{equation} \label{eq:exempfunc} \mathcal{F} = \sum\limits_i \exp(t \ln(t)) \coth(\omega^i t) \sin (\omega_i t + \inf(\Delta)) \end{equation} Como vemos, então, o seno fica \sin; a exponencial, \exp; o logaŕıtmo, \ln. Na realidade, todas as funções só terão uma única diferença: o acréscimo da \ antes de seu nome. Muitas pessoas preferem definir no preâmbulo um comando novo \e e fazer a exponencial como ef(x). A função raiz é produzida com o comando \sqrt[n]{radicando} . Por exemplo, $\sqrt[3]{8}=2$ produz 3 √ 8 = 2. Se o argumento opcional [n] for omitido, então a raiz quadrada é gerada. Por exemplo, $\sqrt{4}=2$ produz √ 4 = 2. O tamanho e o comprimento do radical são automaticamente ajustados ao tamanho do radicando. 4.7 Matrizes As matrizes são produzidas com o uso do ambiente array. Os elementos de uma mesma linha são separados pelo caracter & e as linhas são separadas por \\. É necessário passar para o LATEXcomo as colunas devem ser alinhadas. Isto é feito em seguida ao comando que inicia o ambiente. Por exemplo, \begin{array}{ccrll} diz ao LATEXque a matriz tem 5 colunas e que as duas primeiras devem ser alinhadas ao centro, que a do meio deve ser alinhada à direita e que as duas últimas devem ser alinhadas à esquerda. Por exemplo, as matrizes A = 1 3 0 2 4 −2 , B = [ 1 3 −2 ] , e C = 1 4 −3 foram conseguidas com 18 CAPÍTULO 4. AMBIENTE MATEMÁTICO A=\left[\begin{array}{rrr} 1 & 3 & 0 \\ 2 & 4 & -2 \end{array}\right],\quad B=\left[\begin{array}{ccc} 1&3&-2 \end{array}\right], \quad \mbox{e}\quad C=\left[\begin{array}{r} 1\\4\\-3 \end{array}\right] Um outro exemplo do uso do ambiente array é |x| = −x se x ≤ 0x se x > 0 $ |x|=\left\{\begin{array}{rc} -x&\mbox{se}\quad x\le 0\\ x &\mbox{se}\quad x>0 \end{array}\right. $ Observe o uso do comando \right para fechar o comando \left. Na verdade, a diferença de quando queremos escrever a primeira montagem para a segunda montagem é o fato de que o comando \right vem sozinho, sem nenhum śımbolo para fechar o śımbolo que acompanhou o \left. 4.8 Lapidando o ambiente matemático Existem ainda alguns comandos que precisam ser conhecidos para poder escrever qualquer fórmula. Na seção 4.6, a exponencial (utilizando o um comando novo definido no preâmbulo) será gerada a partir de um comando de sobrescrito, que, no caso, ficaria \e^{f(x)}. Como em diversas linguagens de programação, o sobrescrito é obtido utilizando o śımbolo ^. Se quisermos escrever o número 2 elevado ao quadrado deveremos, portanto, escrever 2^{2}. As chaves delimitarão principalmente no caso em que houver muitos caracteres como expoentes: 24Ω tj . O subscrito é obtido utilizando o śımbolo _. Por exemplo, uij 1 é obtido com u^i_j, sendo que a falta das chaves implica que apenas o caracter seguinte está sendo operado pelo śımbolo de sobrescrito e subscrito. No caso de escrevermos uma integral definida, existe um comando para definirmos os limites: \limits _{LIMITE INFERIOR}^{LIMITE SUPERIOR}. O resultado disso é x=b∫ x=a V(x)dx, (4.6) 1Este é o śımbolo usualmente dado a uma grandeza que pode ser decrita como uκτ = u(κ∆x, τ∆t). 4.9. FANTASMA . . . 19 que é a aplicação direta do śımbolo de integral visto em 4.3 com os limites subscritos e sobrescritos vistos agora. Assim se fará com somatórios e produtórios. Já para limites, basta fazer \lim_{z \to a} f(z) para gerar lim z→a f(z). (4.7) Quando quisermos fazer a razão entre duas grandezas, também já existe uma implementação para este padrão: \frac{UP}{DOWN} gera UP DOWN . Os comandos \overline{fórmula} e \underline{fórmula} servem para colocar barras em cima e em baixo de uma letra ou uma fórmula. Por exemplo, a2 + bc foi conseguido com \overline{a}^2+\underline{bc} . Pode-se colocar também chaves em cima e em baixo de fórmulas com os comandos \overline{fórmula} e \underline{fórmula} Por exemplo, n︷ ︸︸ ︷ x1 + x2 + . . .+ xn−1︸ ︷︷ ︸ n−2 +xn foi obtida com \overbrace{x_1+\underbrace{x_2+\ldots+x_{n-1}}_{n-2}+x_n}^n . Setas em cima de letras são conseguidas com o comando \vec{letra}, como em ~r, que foi obtido com $\vec{r}$. “Chapéu” e “til” em cima de letras são conseguidas com os comandos \hat, \widehat, \tilde e \widetilde. Por exemplo,  e ÂBC foram conseguidos com $\hat{A}$ e $\widehat{ABC}. 4.9 Fantasma . . . Não conseguimos ver fantasmas, mas eles continuam a ocupar algum espaço nas mentes de um grande número de pessoas. O LATEXnão é diferente. Podemosusar isto para alguns truques interessantes de espaçaamento. Quando se alinha texto verticalmente usando ê , o LATEXé, por vezes, suficiente. Usando o comando \phantom pode reservar espaço para caracteres que não aparecem no resultado final. A forma mais fácil de compreender é reparar nos sequintes exemplos: 12 6C em oposição a 12 6 C Ao usar o phantom, utilizei a seguinte sintaxe: {}^{12}_{\phantom{1}6}\textrm{C} Caṕıtulo 5 Produzindo gráficos matemáticos A maior parte das pessoas usam o LATEXpara datilografar os seus textos. Além de permitir e incentivar a estruturação dos textos, o LATEXtambém oferece possibilidades ligeiramente restritas para produção de resultados gráficos usando descrições textuais. Recentemente, um grande número de extenções LATEXtêm sido criadas para ultrapassar estes problemas. O ambiente picture permite a programação de imagens diretamente em LATEX. Por um lado, existem um conjunto de restrições severas, como os tipos de segmentos ou raios de ćırculos que estão restritos a um pequeno conjunto de valores. Por outro, o ambiente picture do LATEX2e contém o comando \qbezier, onde o “q” originou-se de “quadrática”. A maior parte das curvas usadas como ćırculos, elipses e outras podem ser aproximadas de forma satisfatória usando curvas de Bézier C quadráticas, mesmo que obriguem a alguns cálculos matemáticos. Por outro lado, se uma linguagem de programação como o “Java” for usada para gerar blocos \qbezier para documentos LATEX, o ambiente picture torna-se bastante poderoso. Apesar da programação de imagens diretamente em LATEXser bastante restrita, e normalmente bastante cansativa, existem boas razões para o fazer. Os documentos produzidos desta forma são “pequenos” em relação ao tamanho ocupado, e não são necessários ficheiros extra. Pacotes como o “epic” e “eepic” (descritos, por exemplo, no The LATEX Companion), ou pstricks ajudam a eliminar estas restrições substituindo o ambiente original picture, e melhorando significativamente o poder gráfico do LATEX. 5.1 Um ambiente espećıfico Acredite ou não, o ambiente picture funciona diretamente, em LATEX2e standard, sem ser necessário carregar qualquer pacote. Como todo ambiente sua sintaxe resume-se às seguintes linhas. \begin{picture}(x; y)(x0; y0) ... \end{picture} Os números x, y, x0, y0 referem-se ao \unitlength (comprimento da unidade de dese- nho), que pode ser mudada em qualquer altura, tanto fora dos ambientes picture com um comando semelhante a \setlength{\unitlength}{1.2cm} . 20 5.2. SEGMENTOS DE RETA 21 O valor, por omissão, de \unitlength é 1pt. O primeiro par, (x, y), obriga a que se reserve, dentro do documento, do espaço rectangular para a imagem. O segundo par (opcional), (x0, y0), atribui coordenadas arbitrárias ao canto inferior esquerdo do retângulo reservado. Praticamente todos os comandos para se desenhar neste ambiente tem uma das duas seguintes formas: \put(x,y){-objeto-} ou \multiput(x,y)(∆ x, ∆ y)—{n}{-objeto-} . As curvas de Bézier podem ser obtidas utilizando, porém, o comando \qbezier(x1, y1)(x2, y2)(x3, y3) . 5.2 Segmentos de reta Os segmentos de retas são desenhados com o comando \put(x, y){\line(x1, y1){comprimento}} Para podermos formalizar um segmento de reta, precisámos fornecer às equações um ponto inicial, um final e pronto. Mas isto é o mesmo que fornecer um ponto inicial, o comprimento do segmento e o vetor diretor. O comando \line necessita, como argumentos, do vetor diretor, com respeito ao “zero”, e do comprimento do segmento. O ponto inicial é dado como argumento ao comando \put. Observe os exemplos. � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � �� � �� � �� � �� � �� � � � � � � � � � � � � � �� �� �� �� �� �� �� ��� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� ��� ��� ��� ��� ��� � � � � � � � � � � � � � �� � � � � � � � � � � � � � �� !! !! !! !! !! !! !!! " " " " " " " " " " " " " "" # # # # # # # # # # # # # ## % % % % % % % % % % % % % %% ((( (((( (((( (((( , , , , , , , , , , , , , ,, Este gráfico foi obtido com uma série de comandos de criação de segmentos de retas. \begin{center} \setlength{\unitlength}{5cm} \begin{picture}(1,1) \put(0,0){\line(0,1){1}} \put(0,0){\line(1,0){1}} ... \put(0,0){\line(6,5){1}} \end{picture} \end{center} 22 CAPÍTULO 5. PRODUZINDO GRÁFICOS MATEMÁTICOS (a) Molécula de CH4 (b) Exemplo do programa. Figura 5.1: Figura ilustrativa das vantagens introduzidas pelo editor de imagens LatexDraw. Nesta figura, está esquematizada a molécula de CH4 e dois eixos de simetria, C3 e S4. Logo ao lado da molécula, vemos um exemplo do programa em ação. Os componentes do vetor de direção são restritos aos inteiros (-6, -5, . . . 5, 6) e têm de ser primos entre si (nenhum divisor comum exceto o 1). A figura ilustra todas as 25 possibilidades de inclinação no primeiro quadrante. O comprimento é relativo à unidade \unitlength. Este argumento é a coordenada vertical no caso de um segmento de reta vertical, e a coordenada horizontal em todos os outros casos. 5.3 O LatexDraw Mas existem algumas figuras cujo desenho será extremamente complexo para fazermos com o que foi passado até agora. Imagine como poderia ser feita a figura 5.1(a). Ao menos, tempo levaria. No entanto, interromperei aqui esta parte sobre a montagens de figuras em latex para sugerir a utilização de um programa criado em Java (não necessita de instalação) chamado LatexDraw. Este prorgama pode ser adquirido pelo site oficial 1 e o jre 1.5 será necessário para a utilização do programa. Ao iniciar o LatexDraw, você observará uma interface interessante, parecida com o ms paint do Windows. Logo ao lado, simultaneamente à criação da imagem, o programa gera os códigos fonte da imagem. O programa, em geral, é bem simples de ser usado e dispensa quaisquer maiores descrições. Após criar a imagem, basta clicar no botão para copiar o código e colar no arquivo LATEX. Algo interessate é a opção Drawing properties, na opção Draw do menu. Nela, pode-se configuras opções como o posicionamento da figura, legenda e nome da referência. Uma das grandes vantagens é o tabalho com curvas de Bézier, pois com o LatexDraw podemos esoclher as posições de cada um dos pontos e as derivadas destes mesmos pontos. Assim, gerar gráficos qualitativos de curvas como uma parábola torna-se uma tarefa quase que trivial. Sugere-se ao leitor, neste ponto, que leia o apêndice C. 1Projeto LatexDraw ou pelo link para minha home page. http://latexdraw.sourceforge.net/ http://paginas.terra.com.br/lazer/jhon/LaTeXDraw1.91_bin.rar Caṕıtulo 6 Detalhes, Índices e Figuras “O segredo de aborrecer é dizer tudo.” Voltaire Existem ainda alguns detalhes interessantes a tratar, como referências cruzadas e figu- ras. Os documento em LATEXoferecem como grande vantagem a simplicidade em trabalhar com estes objetos, pelo fato de que sua formatação é automática e padronizada em todo o documento. Também é uma vantagem o fato de que, em figuras, comentários e referências são posśıveis utilizando um simples comando. 6.1 Referências Cruzadas Referências cruzadas são as referências feitas a seções, caṕıtulos, equações, teoremas, etc. Para utilizar esta ferramenta, precisamos apenas nomear um objeto (equação, caṕıtulo, etc) e depois criar uma “chamada” para este nome. Para isto, utilizamos dois comandos: \label{NOME-DO-REFERENCIADO} e \ref{NOME-DO-REFERENCIADO}. O \label nomeia o objeto com o argumento e o \ref cria a referência. Por exemplo, vamos chamar a equação∫ dω = ∫ ∫ dω2 (6.1) de “forma”. Para se referir à (6.1), bastou utilizarmos o \eqref{eq:forma} (o \eqref é um variante do \ref que é destinadoem espećıfico para equações). A equação, no ambiente “equation” foi criada da forma abaixo. \begin{equation} \label{eq:forma} \int d \omega = \int \int d \omega^2 \end{equation} Costuma-se utilizar prefixos nos nomes dos objetos: “eq” para equações, “sec” para seções e “fig” para figuras. Isso não é necessário, mas ajuda na organização. Quando um “pdf” ou “ps” é gerado a partir de um arquivo LATEX, as referências cruzadas são todas geradas em forma de links, os quais remetem ao ponto do documento em que está o objeto referenciado. Atualmente, documentos gerados em “dvi” também apresentam esta caracteŕıstica. 23 24 CAPÍTULO 6. DETALHES, ÍNDICES E FIGURAS 6.2 Posicionamento Utilizaremos nas seções 6.4 e 6.6 este conceito. Quando temos, em geral, um ambiente que necessita da especificação do local onde ele deverá ser impresso no documento final, poderemos definir o posicionamento dele. Utiliza-se os caracteres que discutiremos a seguir entre barras [ .. ], logo depois do \begin{ambiente}. Espec. Permiss ao para colocar em. . . h “here”, aqui neste exato 1 local onde ocorreu no meio do texto. É útil para pequenos objetos. t No topo da página b No fundo (bottom) da página p Numa página especial apenas com corpos flutuantes.. ! Sem considerar a maior parte dos parâmetros internos que podem fazer com que o corpo flutuante não seja colocado. Tabela 6.1: Tabela com as opções de posicionamento. A especificação de colocação “!hbp” indica ao LATEXpara colocar a tabela exatamente onde o comando \table está (h) ou no fundo (b) de alguma página ou em alguma página especial para corpos flutuantes (p), e tudo isto mesmo que não fique muito bonito (!). Se nenhuma especificação for dada, é assumida a “[tbp]”. O LATEX irá colocar cada corpo flutuante de acordo com a especicação de colocação dada pelo autor. Se um destes objetos não puder ser inserido na página atual, será enviado para a fila 2 de espera correspondente (para figuras ou tabelas, independentemente funcionando). Quando uma nova página é iniciada, o LATEXverifica primeiro se é posśıvel preencher uma página especial de flutuações com os objetos da lista de espera. Se isto não for posśıvel, o primeiro objecto de cada uma das filas de espera é tratado como se tivesse ocorrido naquele momento no texto: o LATEXtenta de novo colocar de acordo com a respectiva especificação de colocação (exceto o “h”, que não é mais válido). Qualquer objeto que ocorra no texto será enviado para a fila de espera. O LATEXmantém estritamente a ordem original em que aparecem cada um dos tipos de objetos flutuantes. Esta é a razão pela qual uma figura que não pôde ser inserida em seu local original “empurra” todas as outras figuras para o fim do documento. 6.3 Comentários Os comentários em LATEXsão escritos EM LINHA e marcados pelo caracter %. Por exem- plo, o comentário abaixo não apareceria (se não estivesse sob influência do “verbatim”, seção 3.8) no documento final. % ESTE COMENTÁRIO N~AO DEVERIA APARECER NO % DOCUMENTO COMPILADOR A PARTIR DO ARQUIVO FONTE. 2Estas filas são “FIFO” — “first in first out”, o primeiro a entrar é o primeiro a sair 6.4. INSERINDO FIGURAS 25 6.4 Inserindo figuras Atualmente, quando um documento dvi ou ps é gerado, as figuras são transcritas para pdf pelo próprio compilador 3. Atribui-se esta converção ao fato de que agora dvi e ps têm as referências (ver 6.1) funcionando como links, assim como funcionava com os documentos gerados em pdf. De toda forma, o pacote que possibilita a inserção de figuras é o “graphicx”, ou seja, no preâmbulo deve constar uma linha com “\usepackage{graphicx}” em formato eps (Encapsulated PostScript), sendo o comando que insere o seguinte: \includegraphics[opç~oes]{nome-do-arquivo} . As posśıveis opções que podem ser escolhidas estão relacionadas na tabela 6.2. height Altura (exemplo: “height = 20cm”). width Largura. scale Reescala a figura com respeito às suas dimensões originais. angle Ângulo de rotação da figura (em graus). Tabela 6.2: Tabela com as opções a serem utilizadas no comando “includegraphics”. Outra maneira de utilizar este comando seria inseri-lo no ambiente “figure” , que tem a seguinte forma. \begin{figure}[posicionamento] = (comandos relacionados com a figura) = \caption{Legenda da figura} \label{fig:NOME} \end{figure} A vantagem de utilizar a forma relacionada acima é o fato de que poderemos utilizar um ambiente próprio para figura (organização) e utilizar as referências e legendas. Veremos algo análogo quando estudarmos tabeleas (6.6). Uma vantagem extremamente grande é que a figura pode agora estar com a opção “flutuante” (o LATEXcalcula a melhor posição, ver 6.2). Pode-se também utilizar mais de um \includegraphics dentro de um esmo ambiente “figure”. 6.5 Conjunto de figuras Existe um pacote, como o discutido na seção 4.2.1, que permite a inserção de conjunto de figuras e sua visualização e indexissação seguir os moldes da montagem de sistemas. Este pacote é o 3Para inserir figuras em formatos como “pdf” ou “jpg” deve-se em primeiro lugar inserir comando dvipdfm como argumento opcional da classe do documento: “\documentclass[dvipdfm]...”. Para inserir a figura é necessário transformá-la do formato original (.jpg, .png, .pdf) para o formato .bb (bounding box). Como fazer? Suponha que o nome da arquivo seja grafico.jpg. Para transformá-lo em gráfico.bb basta abrir o Command Prompt e digitar: “ebb grafico.jpg”. Isto transforma o arquivo de .jpg em .bb. Obs: A figura não aparecerá no documento .dvi. É preciso que se transforme-o em .pdf. Para fazer isso, abra o Command Prompt e digite: ”dvipdfm documento.dvi”, supondo que o nome do arquivo seja documento. 26 CAPÍTULO 6. DETALHES, ÍNDICES E FIGURAS \usepackage{subfigure} Observe o exemplo abaixo. \begin{figure}[t!] \centering \subfigure[Molécula de CH4\label{fig:metano}] {\includegraphics[scale = .4]{ch4.pdf}} \subfigure[Exemplo do programa.\label{fig:prog}] {\includegraphics[scale = .4]{exemplo.jpg}} \caption{Figura ilustrativa das vantagens introduzidas pelo editor de imagens \emph{LatexDraw}. Nesta figura, está esquematizada a molécula de $CH4$ e dois eixos de simetria, $C_3$ e $S_4$. Logo ao lado da molécula, vemos um exemplo do programa em aç~ao.} \label{fig:figura1} \end{figure} O exemplo logo acima foi utilizado na seção 5.3. 6.6 Tratando tabelas Há a possibilidade também de se criar tabelas em LATEXde forma bem simples. Desta vez, deveremos demarcar o ińıcio da tabela com \begin{tabular}{opç~oes}. As opções na verdade se referem ao número de colunas que a tabela vai ter e qual o alinhamento de cada coluna. Por exemplo, se quisermos três colunas, sendo uma alinha à esquerda, uma à direita e outra centralizada, o comando ficará \begin{tabular}{lrc} (l de “left”, r de “right” e c de “center). Vejemos um exemplo simples: \begin{tabular}{rcl} RIGHT & CENTER & LEFT \\ PRIMEIRA COLUNA & SEGUNDA COLUNA & TERCEIRA COLUNA \\ \end{tabular} RIGHT CENTER LEFT PRIMEIRA COLUNA SEGUNDA COLUNA TERCEIRA COLUNA Os caracteres & servem para separar as colunas. Mas observe que a tabela não apre- senta divisórias entre as células, como mostra a 6.2. Para isso, usaremos outras opções. O argumento do tabular que enumera os alinhamentos das colunas (e especifica o número de colunas) também determinará como serão as divisões verticais: onde houver o caracter |, haverá também uma divisória. Observe: \begin{tabular}{|rc|l|} RIGHT & CENTER & LEFT \\ PRIMEIRA COLUNA & SEGUNDA COLUNA & TERCEIRA COLUNA \\ \end{tabular} RIGHT CENTER LEFT PRIMEIRA COLUNA SEGUNDA COLUNA TERCEIRA COLUNA 6.6. TRATANDO TABELAS 27 Já as divisórias horizontais são obtidas com o comando \hline, que deve ser adicionado na linha sobre o qual a divisória deverá ser visualizada. Por exemplo, observe este último exemplo: \begin{tabular}{|rcl|}\hline RIGHT& CENTER & LEFT \\ PRIMEIRA COLUNA & SEGUNDA COLUNA & TERCEIRA COLUNA \\\hline \end{tabular} RIGHT CENTER LEFT PRIMEIRA COLUNA SEGUNDA COLUNA TERCEIRA COLUNA Existe ainda um ambiente especializado para criar tabelas com mais opções e de maneira bem mais organizada (assim como na seção 6.4). Este ambiente chama-se “table”. Vejemos um exemplo, baseado na 4.1. \begin{center} \begin{table}[htb] \begin{center} \begin{tabular}{|l|l|l|l|}\hline \verb|\alpha| & $\alpha$ & \verb|\epsilon| & $\epsilon$ \\ \verb|\beta| & $\beta$ & \verb|\Pi| & $\Pi$ \\ \verb|\gamma| & $\gamma$ & \verb|\Sigma| & $\Sigma$ \\ \verb|\Gamma| & $\Gamma$ & \verb|\eta| & $\eta$ \\ \verb|\nabla| & $\nabla$ & \verb|\lambda| & $\lambda$ \\ \verb|\delta| & $\delta$ & \verb|\Lambda| & $\Lambda$ \\ \hline \end{tabular} \end{center} \caption{Alguns exemplos de letras gregas em \LaTeX.} \label{tab:ltrggs1} \end{table} \end{center} \alpha α \epsilon � \beta β \Pi Π \gamma γ \Sigma Σ \Gamma Γ \eta η \nabla ∇ \lambda λ \delta δ \Lambda Λ Tabela 6.3: Alguns exemplos de letras gregas em LATEX. Observe que assim, o único grande trabalho que o usuário terá será de organizar bem os itens para que as células sejam bem respeitadas e nenhuma montagem incoveniente seja compilado. Como podemos ver, agora podemos nos referir à tabela 6.3 com o comando usual, ou seja, \ref{tab:ltrggs1}. Lembre-se sempre que o \caption deverá aparecer antes do \label; também é bom tomar cuidado para, caso usar o “center”, enter não deixar que o \label esteja subordinado ao ambiente “center” quando ocorrer. 28 CAPÍTULO 6. DETALHES, ÍNDICES E FIGURAS 6.7 Listas de figuras e tabelas Também pode-se criar uma lista, como a página de conteúdos, contendo as tabelas e figu- ras que serão apresentadas durante o texto. Analogamente ao comando \tableofcontents, utiliza-se os comandos \listoffigures , para exibir uma página com a lista de todas as figuras, e \listoftable , para exibir uma página com todas as tabelas do texto. 6.8 Resumo Em publicações cient́ıficas é habitual iniciar com um resumo que dá ao leitor uma visão rápida do que o espera. O LATEXdispõe do ambiente “abstract” para esta finalidade. Normal- mente este ambiente é usado em documentos escritos com a classe “article” de documentos. Sua sintaxe é a mesma de qualquer outro ambiente. \begin{abstract} RESUMO . . . \end{abstract} 6.9 Ligações Hipertexto O pacote hyperref padronizará todas as referências internas do seu documento como hiperligações. Para que isto funcione devidamente, é necessária a utilização do pacote “hy- perref”, ou seja, \usepackage[pdftex]{hyperref} como último comando do preâmbulo do seu documento (caso o objetivo final seja a geração de um documento pdf 4 ). Muitas opções estão dispońıveis para configurar o com- portamento do pacote “hyperref”: • como uma lista separada por v́ırgulas depois da opção pdftex, \usepackage[pdftex]{hyperref}. • ou em linhas individuais com o comando \hypersetup{op�c~oes} Na lista seguinte, os valores por omissão estão escritos num tipo de letra vertical ou “não itálico”. 4É de notar que o pacote hyperref não está limitado ao uso com o pdfTEX. Também pode ser configurado para embeber informação espećıfica do PDF no ficheiro DVI, resultado normal do LATEX, que depois irá colocar no ficheiro PS com o dvips e que, finalmente, será usado pelo Adobe Distiller quando se tentar converter de PS para PDF. 6.10. REFERÊNCIAS BIBLIOGRÁFICAS 29 • bookmarks (=true,false) mostra (true) ou esconde (false) a barra de bookmarks ao visualizar o documento; • unicode (=false,true) permite usar caracteres unicode nas bookmarks do Acrobat; • pdftoolbar (=true,false) mostra ou esconde a barra de ferramentas do Acrobat; • pdfmenubar (=true,false) mostra ou esconde o menu do Acrobat; • pdffitwindow (=true,false) ajusta, ou não, automaticamente o tamanho inicial do texto quando visualizado; • pdftitle (={texto}) define o t́ıtulo que será mostrado na janela Document Info do Acrobat; • pdfauthor (={texto}) o nome do autor do PDF; • pdfnewwindow (=true,false) define se uma nova janela deve ser aberta quando uma ligação envia para fora do documento atual; • colorlinks (=false,true) delimita as ligações por uma caixa de cor (false) ou pinta o texto das ligações (true). As cores destas ligações podem ser escolhidas com a seguinte sintaxe: linkcolor (=red) cor de liga�c oes internas (sec�c oes, páginas, etc), citecolor (=green) cor de cita�c oes (bibliografia), filecolor (=magenta) cor de liga�c oes para ficheiros, urlcolor (=cyan) cor de liga�c oes de URL (mail, web). Por exemplo, caso deseja modificar todas as cores das ligações, pode utilizar a seguinte sintaxe (que é a adotada nesta apostila): \usepackage{hyperref} ... \hypersetup{colorlinks,% citecolor=green,% linkcolor=blue,% urlcolor=cyan,% pdftex} 6.10 Referências bibliográficas As referências bibliográficas iniciam com \begin{thebibliography}{largura} e termi- nam com um \end{thebibliography}. Em alguns casos, o parâmetro largura pode ser pensado como a quantidade máxima de itens que podem ser utilizados na bibliografia. Cada item da bibliografia deve iniciar com um comando \bibitem{marca}. A marca não é im- pressa no texto final e serve apenas para referências dentro do próprio documento através do comando \cite{marca}. Observe o trecho a seguir: 30 CAPÍTULO 6. DETALHES, ÍNDICES E FIGURAS ... Para maiores informa\c c\~oes veja as refer\^encias \cite{silva} e \cite{almeida}. ... \begin{thebibliography}{99} \bibitem{almeida} Almeida, H. P., {\it Introdu\c c\~ao \‘a Teoria dos C\’odigos}, Editora da UFPB, 1999. \bibitem{silva} Silva, A. A., {\it Matem\’atica Elementar}, notas de aula, 1997. \end{thebibliography} O trecho acima gerará no fim do arquivo um conjunto de referências bibliográficas e no meio do texto haverá links para as reverências, analogamente aos links das referências cruzadas. Porém, há ainda um jeito bem mais prático de brincar com referências bibliográficas. Observve que em cada arquivo fonte o usuário deverá incluir uma seção com as referências que o artigo utilizará. Isto não é necessário, pois se o usuário adicionar os comandos \bibliographystyle{unsrt} e \bibliography{articles,books} no fim do arquivo fonte, o compilador gerará as referências bibliográficas a partir de dois arquivos 5 (chamados “ar- ticles.bbl” e “books.bbl”). Durante o texto, basta citar um item existente nestes arquivos utilizando sua “marca” e o compilador gerará um arquivo externo, com o mesmo nome do seu arquivo fonte, mas com extensão ligeiramente diferente (.aux). Agora, basta utilizar a linha de comando “bibtex nome” (sendo “nome” o nome do arquivo fonte sem extensão) e um outro arquivo externo, com outra extensão, será gerado. Este segundo arquivo será sua bibliografia. Bsta compilar novamente seu arquivo fonte para que a bibliografia apareça ao fim do documento. 6.11 Índice Remissivo O ı́ndice remissivo é um ı́ndice criado com uma lista de palavras selecionadas pelo au- tor, relacionando-as com suas localizações (página). O LATEXpermite a geração automática deste ı́ndice, necessitando apenas do pacote \usepackage{makeidx} presente no preâmbulo. Ainda no preâmbulo deverá ser inclúıdo o comando \makeindex. Depois disso, basta seleci- onar as palavras que serão inclúıdas no ı́ndice remissivo e o local onde o ı́ndice será impresso. Para escolher o local, basta invocar o comando \printindex no local onde o ı́ndice deverá estar localizado. Já para selecionar as palavras, basta invocar (geralmente, ao lado da palavra, para que não haja diferença entre a página em que a palavra estará e a página deste comando) \index{grupo!elemento}. No exemplo anterior, o ı́ndice conterá uma entrada como abaixo. grupo,1 elemento, 1 Ou seja, caso haja um grande tópico que englobe diversos elementos (ou palavras), basta colocá-lo no comando\index{GRANDE-TÓPICO!...} antes da palavra à qual se quer fazer uma referência, separando as duas pelo ponto de exclamação (!). 5Eu optei por montar estes dois arquivos, inserindo sempre nomes de artigos e livros que vou sentindo a necessidade de utilizar. Aos poucos, percebe-se a facilidade e praticidade que esta opção traz. 6.12. NOTAS DE RODAPÉ E NAS MARGENS 31 6.12 Notas de rodapé e nas margens Basta utilizar o comando ~\footnote{NOTAS} no ponto do texto onde a nota de ro- dapé for convieniente. Por exemplo, no caṕıtulo 2, em um dos itens de argumentos para o documentclass, foi escrito apenas o que está listado abaixo. o \LaTeX funcionada apenas se o usuário digitasse certos códigos especiais para a acentuaç~ao também~\footnote{Eu peguei essa época...}), o que torna a digitaç~ao muito mais veloz; Para acrescentar notas nas margens, basta utilizar o comando \marginpar. 6.13 Dividindo o arquivo fonte Para a produção de textos maiores é essencial, que se divida o arquivo fonte em ar- quivos menores e que possam ser processados em separado para diminuir o tempo de pro- cessamento. Para isso, pode ser empregado o comando \include{arquivo} junto com o comando \includeonly{lista de arquivos} no preâmbulo, contendo uma lista de arqui- vos que devem ser lidos pelo LATEX. Os nomes dos arquivos na lista de arquivos devem ser separados por v́ırgula a terminação .tex deve ser suprimida. Se o comando \includeonly for suprimido, então todos os arquivos são lidos e processados. Os caṕıtulos foram escritos em arquivos separados com nomes intwin.tex, intmatl.tex, intlat.tex, . . . . O arquivo principal contém o texto \documentclass[a4paper,12pt]{book} . . . . . . . \includeonly{. . .} . . . . . . . \begin{document} \maketitle \tableofcontents \include{intwin} \include{intmatl} \include{intlat} . . . . . . . \end{document}^ Colocando uma entrada apropriada no comando \includeonly é possivel o processamento de alguns caṕıtulos seletivamente. Por exemplo, \includeonly{intmatl,intlat} faz com que o LATEXprocesse o t́ıtulo, o conteúdo e os caṕıtulos de Introdução ao Matlab (intmatml) e de Introdução ao LATEX(intlat). 6.14 Protegendo comandos. . . O texto dado como argumento de comandos como \caption ou \section pode aparecer mais do que uma vez no documento (exemplo, na tabela de conteúdos assim como no corpo do documento). Alguns comandos falham quando usados no argumento de outros comandos do tipo \section. Estes são chamados comandos frágeis. Por exemplo, os comandos \footnote ou \phantom são frágeis. O que estes comandos precisam para funcionar corretamente é de proteção. Pode-se protegê-los usando o comando \protect antes deles. O \protect apenas 32 CAPÍTULO 6. DETALHES, ÍNDICES E FIGURAS se refere ao comando que se lhe segue, nem sequer ao seu argumento. Em muitos casos, um \protect supérfluo não magoaria ninguém. \section{Estou a considerar \protect\footnote{proteger a minha nota}} Apêndice A Todas as Letras Gregas α \alpha ι \iota % \varrho β \beta κ \kappa σ \sigma γ \gamma λ \lambda ς \varsigma δ \delta µ \mu τ \tau � \epsilon ν \nu υ \upsilon ε \varepsilon ξ \xi φ \phi ζ \zeta o o ϕ \varphi η \eta π \pi χ \chi θ \theta $ \varpi ψ \psi ϑ \vartheta ρ \rho ω \omega Tabela A.1: Todas as letras gregas minúsculas, com suas respectivas variações. 33 Apêndice B Śımbolos Matemáticos \pm ± \cdots · · · \cong ∼= \cap ∩ \vdots ... \vec{x} ~x \circ ◦ \int ∫ \hat{x} x̂ \S § \sum ∑ y \cdot x y · x \partial ∂ \prod ∏ \dot{x} ẋ \infty ∞ \oint ∮ \ddots . . . \le ≤ \mid | \div ÷ \ll � \times × \Re < \not \le 6≤ \wedge ∧ \Im = \approx ≈ \mid | \hbar ~ \angle ∠ \ell ` \diamond � \in ∈ \otimes ⊗ \left\langle 〈 \notin /∈ \oplus ⊕ \left| | \cup ∪ \ominus \flat [ \subset ⊂ \supset ⊃ \emptyset ∅ \bigcup ⋃ \bigcap ⋂ \sharp ] \subseteq ⊆ \supseteq ⊇ \natural \ \triangleleft / \triangleright . \surd √ \top > \imath ı \jmath Tabela B.1: Śımbolos matemáticos muito comuns. 34 35 \leftarrow ← \rightarrow → \leftrightarrow ↔ \Leftarrow ⇐ \Rightarrow ⇒ \Leftrightarrow ⇔ \uparrow ↑ \downarrow ↓ \updownarrow l \Uparrow ⇑ \Downarrow ⇓ \Updownarrow m \leftharpoonup ↼ \rightharpoonup ⇀ \rightleftharpoons \leftharpoondown ↽ \leftharpoondown ↽ \eightharpoondown ⇁ \mapsto 7→ \longmapsto 7−→ \hookleftarrow ←↩ \hookrightarrow ↪→ \nearrow ↗ \searrow ↘ \swarrow ↙ \nwarrow ↖ \longleftarrow ←− \longrightarrow −→ \longleftrightarrow ←→ \Longleftarrow ⇐= \Longrightarrow =⇒ \Longleftrightarrow ⇐⇒ \stackrel{texto}{\rightarrow} texto→ Tabela B.2: Śımbolos para todos os tipos de flechas. Apêndice C Curvas de Bézier No campo de análise numérica, uma curva de Bézier é uma curva paramétrica, importan- tante em computação gráfica, polinomial expressa como combinação baricêntrica de alguns pontos representativos, chamados de pontos de controle. A generalização das curvas de Bézier para outras dimensões maiores são chamadas de superf́ıcies de Bézier, da qual o triângulo de Bézier é um caso especial. Estas curvas foram muito utilizadas por volta de 1962 pelo engenheiro francês Pierre Bézier, que as usava para desenhar corpos de automóveis. Mas o primeiro desenvolvimento de curvas deste tipo foi feito por Paul de Casteljau, usando o algoŕıtmo de Casteljau, método numérico estável para gerar curvas de Bézier. C.1 Caso geral Sem muitas delongas, a curva de Bézier de grau n pode ser descrita como, dados os pontos Pi, com i ∈ I, B(t) = n∑ i=0 ( n i ) Pi(1− t)n−iti, t ∈ [0, 1]. (C.1) Então t será apenas o parâmetro pelo qual parametrizamos nossa curva. Para obter as diferentes curvas de Bézier, basta variarmos o grau e os pontos. Podemos tentar alguns exemplos. C.1.1 Curva de Bézier linear Fazendo n = 1 e fornecendo os pontos P0 e P1, fica fácil calcular, pela (C.1), B(t) = (1− t)P0 + tP1. (C.2) Observe que a (C.2) é a equação de uma reta que passa pelos pontos fornecidos, e seu coeficiente angular pode ser obtido rearranjando a (C.2) de forma a chegar em B(t) = P0 + t(P1 − P0), (C.3) ou seja, seu coeficiente angular é (P1 − P0). 36 C.1. CASO GERAL 37 C.1.2 Curva de Bézier quadrática Análogamente à seção anterior, três pontos (que sempre estarão em um plano, claro) são dados e tomando n = 2, podemos calcular a partir de (C.1) a equação geral da curva de Bézier quadrática, B(t) = (1− t)2P0 + 2t(1− t)P1 + t2P2. (C.4) C.1.3 Curva de Bézier cúbica Quatro pontos P0, P1, P2 e P3 em um plano ou em um espaço tridimensional definem a curva quadrática de Bézier. A curva começa em P0 e acaba-se em P3, mas, usualmente, pode não passar por P1 ou P2; estes dois pontos têm interpretação puramente geométrica e dão informações direcionais à curva (às quais não compensa distutirmos nesta oportunidade). A distância entre P0 e P1 determina “o quanto a curva se moverá” na direção de P2 antes de chegar em P3. Tomando n = 3, vamos calcular pela última vez a curva: B(t) = (1− t)3P0 + 3t(1− t)2P1 + 3t2(1− t)P2 + t3P3. (C.5) Índice ambientes, 7 abstract, 4, 28 eqnarray, 14 equation, 14 figure, 25 picture, 20 table, 27 verbatim, 11 ambientessubeqnarray, 15 Bezier, curvas de, 21 bibtex, 30 bounding box, 25 caption, 31 colorlinks, 29 citecolor, 29 filecolor, 29 linkcolor, 29 urlcolor, 29 documentclass, 3 article, 3 book, 3 report, 3 revtex4, 3 slide, 3 footnote, 31 h́ıfens, 8 indent, 6 indice remissivo, 2 Indices listoffigures, 28 listoftables, 28 tableofcontents, 8 limite, 19 limits, 18 Mudando a cor da fonte, 12 da página, 13 do fundo da fonte, 13 newcommand, 17 nonumber, 14 overline (barras), 19 pacotes hyperref, 28 subeqnarray, 15 phantom, 31 picture, 20 posicionamento, 25 preâmbulo, 2 protect, 31 put, 21 line, 21 multput, 21 referência eqref, 23 label, 5, 14, 23 ref, 23 śımbolos matemáticos especiais, 16 section, 31 sobrescrito, 18 subscrito, 18 unitlength, 20 38 Agradecimentos Resumo Compilador
Compartilhar