uma não tão pequena introdução ao latex

Upload: jose-inacio-serafini

Post on 18-Oct-2015

65 views

Category:

Documents


0 download

DESCRIPTION

Uma não tão pequena introdução ao Latex

TRANSCRIPT

  • Uma no to pequenaintroduo ao LATEX2

    Ou LATEX2 em 137 minutos

    por Tobias Oetiker

    Hubert Partl, Irene Hyna e Elisabeth Schlegl

    Traduo portuguesa por Alberto Simes

    Verso 4.20.1, 18 de Setembro de 2007

  • ii

    Direitos de Cpia 1995-2006 por Tobias Oetiker e Colaboradores do LShort.Todos os direitos reservados.

    Este documento gratuito; pode redistribui-lo e/ou modific-lo dentro dos ter-mos da Licena Pblica e Genrica GNU, tal como publicada pela Fundao doSoftware Livre, verso 2 da licena, ou (na sua opinio) qualquer verso mais re-cente.

    Este documento distribudo na esperana de que seja til mas SEM QUAL-QUER GARANTIA, nem mesmo a garantia implcita de ENQUADRAMENTOPARA UM FIM PARTICULAR. Veja a Licena Pblica e Genrica GNU paramais detalhes.

    Deve ter recebido uma cpia da Licena Pblica e Genrica GNU juntamentecom este documento; caso contrrio, escreva para Free Software Foundation, Inc.,675 Mass Ave, Cambridge, MA 02139, USA.

  • Obrigado!

    Muito do material utilizado nesta introduo provm de uma introduoaustraca ao LATEX 2.09 escrita em alemo por:

    Hubert Partl Zentraler Informatikdienst der Universitt fr Bodenkultur Wien

    Irene Hyna Bundesministerium fr Wissenschaft und Forschung Wien

    Elisabeth Schlegl in Graz

    Se est interessado no documento alemo, pode encontrar a verso ac-tualizada para LATEX2 por Jrg Knappen a partir deCTAN:/tex-archive/info/lshort/german

  • iv Obrigado!

    As seguintes pessoas ajudaram com correces, sugestes e material paramelhorar este documento. Colocaram grande empenho para me ajudar acolocar este documento na sua presente forma. Gostaria de agradecer sin-ceramente a todos eles. Naturalmente, todos os erros que encontrar nestelivro so meus. Se encontrar alguma palavra que esteja escrita correcta-mente, deve ter sido uma das pessoas abaixo que me enviou essa linha.

    Rosemary Bailey, Marc Bevand, Friedemann Brauer, Jan Busa,Markus Brhwiler, Pietro Braione, David Carlisle, Jos Carlos Santos,Neil Carter, Mike Chapman, Pierre Chardaire, Christopher Chin, Carl Cerecke,Chris McCormack, Wim van Dam, Jan Dittberner, Michael John Downes,Matthias Dreier, David Dureisseix, Elliot, Hans Ehrbar, Daniel Flipo, David Frey,Hans Fugal, Robin Fairbairns, Jrg Fischer, Frank Fischli, Erik Frisk,Mic Milic Frederickx, Frank, Kasper B. Graversen, Arlo Griffiths,Alexandre Guimond, Cyril Goutte, Greg Gamble, Andy Goth, Neil Hammond,Rasmus Borup Hansen, Joseph Hilferty, Morten Hgholm, Bjrn Hvittfeldt,Martien Hulsen, Werner Icking, Jakob, Eric Jacoboni, Alan Jeffrey, Byron Jones,David Jones, Johannes-Maria Kaltenbach, Michael Koundouros, Andrzej Kawalec,Alain Kessi, Christian Kern, Tobias Klauser, Sander de Kievit, Kjetil Kjernsmo,Jrg Knappen, Flori Lambrechts, Axel Liljencrantz, Maik Lehradt, Rmi Letot,Johan Lundberg, Alexander Mai, Martin Maechler, Hendrik Maryns,Aleksandar S Milosevic, Henrik Mitsch, Claus Malten, Kevin Van Maren,Philipp Nagele, Richard Nagy, Lenimar Nunes de Andrade, Manuel Oetiker,Urs Oswald, Martin Pfister, Demerson Andre Polli, Hubert Partl,Maksym Polyakov, Nikos Pothitos, John Refling, Mike Ressler, Brian Ripley,Young U. Ryu, Bernd Rosenlecher, Chris Rowley, Risto Saarelma,Gilles Schintgen, Hanspeter Schmid, Craig Schlenter, Baron Schwartz,Christopher Sawtell, Miles Spielberg, Geoffrey Swindale, Laszlo Szathmary,Boris Tobotras, Josef Tkadlec, Scott Veirs, Didier Verna, Fabian Wernli,Carl-Gustav Werner, David Woodhouse, Chris York, Fritz Zaucker, Rick Zaccone,e Mikhail Zotov.

    Adicionalmente, o tradutor agradece o contributo das seguintes pessoas:

    Jos Alves Castro, Rold Jnior, Jos Pedro Oliveira, Marcos Marado Torres, Paulo Ro-cha.

  • Prefcio

    O LATEX [1] um sistema tipogrfico, bastante adequado para produzirdocumentos cientficos e matemticos de grande qualidade tipogrfica. Osistema igualmente adequado para produzir todo o tipo de outros docu-mentos, desde simples cartas at livros completos. O LATEX usa o TEX [2]como sistema de formatao.

    Esta pequena introduo descreve o LATEX2, e deve ser suficiente paraum grande nmero das aplicaes do LATEX. Consulte [1, 3] para uma des-crio completa do sistema LATEX.

    O LATEX est disponvel para quase todos os computadores, desde o PC eMac at grandes sistemas UNIX e VMS. Em muitas redes de computadoresde universitrios, ir descobrir que uma instalao do LATEX est disponvel epronta a ser utilizada. Informaes sobre como aceder sua instalao localdo LATEX deve estar includa no Local Guide [4]. Se tiver problemas quandocomear a trabalhar, pergunte pessoa que lhe deu este livro. O mbitodeste documento no explicar como instalar e preparar o LATEX, mas en-sinar a escrever os seus documentos de forma a que possam ser processadospelo LATEX.

    Esta introduo est dividida em 6 captulos:

    O Captulo 1 indica a estrutura bsica de um documento LATEX2. Apren-der tambm um pouco da histria do LATEX. Aps a leitura destecaptulo, dever ter uma ideia bsica do funcionamento do LATEX.

    O Captulo 2 apresenta com algum detalhe como escrever um documento.Explica igualmente a maior parte dos comandos e ambientes essenciaisdo LATEX. Aps a leitura deste captulo, estar pronto a escrever o seuprimeiro documento.

    O Captulo 3 explica como escrever frmulas com o LATEX. Mais uma vez,numerosos exemplos ajudaro a perceber como usar uma das maiorespotencialidades do LATEX. No final deste captulo, encontrar tabelascom listas de todos os smbolos matemticos disponveis em LATEX.

    O Captulo 4 explica a gerao de ndices e bibliografias, incluso de gr-ficos EPS, e algumas outras extenses teis.

  • vi Prefcio

    O Captulo 5 mostra como usar o LATEX para criar grficos. Em vez dedesenhar uma imagem usando um qualquer programa grfico, gravar odesenho e incluir o ficheiro no LATEX, pode descrever a figura de formaa que o LATEX a desenhe.

    O Captulo 6 contm alguma informao potencialmente perigosa sobrecomo fazer alteraes aos formatos standard produzidos pelo LATEX.Mostrar como modificar coisas de modo que o belo resultado do LATEXcomece a ficar bastante mau.

    importante ler os captulos sequencialmenteafinal o livro no assimto grande. Leia cuidadosamente os exemplos, porque grande parte da in-formao est contida nos vrios exemplos que vai encontrar ao longo dolivro.

    Se precisar de mais algum material relacionado com o LATEX visite o arquivoftp ftp://www.ctan.org e os seus mirrors oficiais volta do mundo.

    Encontrar outras referncias ao CTAN ao longo deste livro. Especial-mente, apontadores para software e documentos que poder querer copiarpara o seu computador. Em vez de escrever endereos completos, escrevere-mos apenas CTAN: seguido da localizao que deve visitar dentro da rvoredo CTAN.

    Se deseja instalar o LATEX para utilizao no seu computador, visiteCTAN:/tex-archive/systems.

    Se tiver ideias sobre alguma coisa que deva ser adicionada, alterada ou remo-vida deste documento, por favor, avise-me. Estou interessado especialmenteem respostas dos que esto a aprender LATEX sobre quais as partes desta in-troduo fceis de compreender e quais as que devem ser explicadas melhor.

    Tobias Oetiker

    Departamento de Tecnologia da Informao eEngenharia Electrotcnica,Instituto de Tecnologia Federal da Sua

    A verso actual e original deste documento est disponvel emCTAN:/tex-archive/info/lshort A verso portuguesa est disponvel em

    http://alfarrabio.di.uminho.pt/ albie/lshort. Traduo porAlberto Simes ([email protected])Departamento de Informtica da Universidade do Minho

  • Contedo

    Obrigado! iii

    Prefcio v

    1 Coisas Que Precisa de Saber 11.1 O Nome do Jogo . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1.1 TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.2 LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.2 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.1 Autor, Paginadores e Tipgrafo . . . . . . . . . . . . . 21.2.2 Desenho do Formato . . . . . . . . . . . . . . . . . . . 31.2.3 Vantagens e Desvantagens . . . . . . . . . . . . . . . . 3

    1.3 Ficheiros LATEX . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.1 Espaos . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2 Caracteres Especiais . . . . . . . . . . . . . . . . . . . 51.3.3 Comandos LATEX . . . . . . . . . . . . . . . . . . . . . 51.3.4 Comentrios . . . . . . . . . . . . . . . . . . . . . . . 6

    1.4 Estrutura do Ficheiro . . . . . . . . . . . . . . . . . . . . . . 71.5 Uma Sesso de Edio Tpica . . . . . . . . . . . . . . . . . . 91.6 O Formato do Documento . . . . . . . . . . . . . . . . . . . . 10

    1.6.1 Classes de Documentos . . . . . . . . . . . . . . . . . 101.6.2 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    1.7 Ficheiros que provavelmente encontrar . . . . . . . . . . . . 121.7.1 Estilo de Pginas . . . . . . . . . . . . . . . . . . . . . 14

    1.8 Grandes Projectos . . . . . . . . . . . . . . . . . . . . . . . . 15

    2 Escrever Texto 172.1 A Estrutura de um Texto . . . . . . . . . . . . . . . . . . . . 172.2 Quebras de Linha e Quebras de Pgina . . . . . . . . . . . . . 19

    2.2.1 Pargrafos Justificados . . . . . . . . . . . . . . . . . . 192.2.2 Hifenizao . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.3 Texto j Feito . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Smbolos e Caracteres Especiais . . . . . . . . . . . . . . . . . 22

  • viii CONTEDO

    2.4.1 Aspas . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4.2 Traos e Hfens . . . . . . . . . . . . . . . . . . . . . . 222.4.3 Til () . . . . . . . . . . . . . . . . . . . . . . . . . . 232.4.4 Smbolo de Graus () . . . . . . . . . . . . . . . . . . 232.4.5 Smbolo de Euro (e) . . . . . . . . . . . . . . . . . . . 232.4.6 Reticncias (. . . ) . . . . . . . . . . . . . . . . . . . . . 242.4.7 Ligaes . . . . . . . . . . . . . . . . . . . . . . . . . . 242.4.8 Caracteres Especiais e Acentos . . . . . . . . . . . . . 25

    2.5 Suporte de Lnguas Internacionais . . . . . . . . . . . . . . . 252.5.1 Suporte para Alemo . . . . . . . . . . . . . . . . . . 282.5.2 Suporte para Portugus . . . . . . . . . . . . . . . . . 292.5.3 Suporte para Francs . . . . . . . . . . . . . . . . . . 302.5.4 Suporte para Coreano . . . . . . . . . . . . . . . . . . 312.5.5 Suporte para Grego . . . . . . . . . . . . . . . . . . . 332.5.6 Suporte para Cirlico . . . . . . . . . . . . . . . . . . . 34

    2.6 O Espao entre Palavras . . . . . . . . . . . . . . . . . . . . . 352.7 Ttulos, Captulos e Seces . . . . . . . . . . . . . . . . . . . 362.8 Referncias Cruzadas . . . . . . . . . . . . . . . . . . . . . . . 382.9 Notas de Rodap . . . . . . . . . . . . . . . . . . . . . . . . . 392.10 Palavras Realadas . . . . . . . . . . . . . . . . . . . . . . . . 392.11 Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    2.11.1 Indicar, Enumerar, e Descrever . . . . . . . . . . . . . 402.11.2 Esquerda, Direita e Centro . . . . . . . . . . . . . . . 412.11.3 Citaes e Versos . . . . . . . . . . . . . . . . . . . . . 412.11.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . 422.11.5 Tal & Qual . . . . . . . . . . . . . . . . . . . . . . . . 422.11.6 Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    2.12 Corpos Flutuantes . . . . . . . . . . . . . . . . . . . . . . . . 452.13 Protegendo Comandos Frgeis . . . . . . . . . . . . . . . . . . 48

    3 Frmulas Matemticas 493.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2 Agrupar em Modo Matemtico . . . . . . . . . . . . . . . . . 513.3 Construindo Blocos de Frmulas Matemticas . . . . . . . . . 513.4 Espaamento Matemtico . . . . . . . . . . . . . . . . . . . . 563.5 Material Alinhado Verticalmente . . . . . . . . . . . . . . . . 563.6 Fantasmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.7 Tamanho da Matemtica . . . . . . . . . . . . . . . . . . . . 593.8 Teoremas, Leis, . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.9 Smbolos Gordos . . . . . . . . . . . . . . . . . . . . . . . . . 613.10 Lista de Smbolos Matemticos . . . . . . . . . . . . . . . . . 63

  • CONTEDO ix

    4 Especialidades 714.1 Incluindo Grficos Encapsulated PostScript . . . . . . . . . 714.2 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.3 Indexar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4 Cabealhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.5 O Pacote Verbatim . . . . . . . . . . . . . . . . . . . . . . . . 774.6 Instalando Pacotes ExtraLATEX . . . . . . . . . . . . . . . . . 774.7 Usar o pdfLATEX . . . . . . . . . . . . . . . . . . . . . . . . . 78

    4.7.1 Documentos PDF para a Internet . . . . . . . . . . . . 794.7.2 Os tipos de letra . . . . . . . . . . . . . . . . . . . . . 804.7.3 Uso de Grficos . . . . . . . . . . . . . . . . . . . . . . 824.7.4 Ligaes de Hipertexto . . . . . . . . . . . . . . . . . . 834.7.5 Problemas com Ligaes . . . . . . . . . . . . . . . . . 854.7.6 Problemas com Bookmarks . . . . . . . . . . . . . . . 86

    4.8 Criar Apresentaes . . . . . . . . . . . . . . . . . . . . . . . 88

    5 Produo de Grficos Matemticos 915.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.2 O ambiente picture . . . . . . . . . . . . . . . . . . . . . . . 92

    5.2.1 Comandos Bsicos . . . . . . . . . . . . . . . . . . . . 925.2.2 Segmentos de Recta . . . . . . . . . . . . . . . . . . . 935.2.3 Setas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945.2.4 Crculos . . . . . . . . . . . . . . . . . . . . . . . . . . 955.2.5 Textos e Formulas . . . . . . . . . . . . . . . . . . . . 965.2.6 \multiput e \linethickness . . . . . . . . . . . . . . 965.2.7 Ovais . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.2.8 Mltiplos usos de caixas de imagem pr-definidas . . . 985.2.9 Curvas de Bzier Quadrticas . . . . . . . . . . . . . . 995.2.10 Parbolas . . . . . . . . . . . . . . . . . . . . . . . . . 1005.2.11 Rapidamente a teoria da Relatividade . . . . . . . . . 101

    5.3 XY-pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    6 Configurar o LATEX 1056.1 Novos Comandos, Ambientes e Pacotes . . . . . . . . . . . . . 105

    6.1.1 Novos Comandos . . . . . . . . . . . . . . . . . . . . . 1066.1.2 Novos Ambientes . . . . . . . . . . . . . . . . . . . . . 1076.1.3 Expao Extra . . . . . . . . . . . . . . . . . . . . . . . 1076.1.4 A linha de comando do LATEX . . . . . . . . . . . . . . 1086.1.5 O Seu Prprio Pacote . . . . . . . . . . . . . . . . . . 109

    6.2 Letras e Tamanhos . . . . . . . . . . . . . . . . . . . . . . . . 1096.2.1 Tipos de letra . . . . . . . . . . . . . . . . . . . . . . . 1096.2.2 Perigo, Will Robinson, Perigo . . . . . . . . . . . . . . 1126.2.3 Aviso . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

    6.3 Espaamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

  • x CONTEDO

    6.3.1 Espao entre linhas . . . . . . . . . . . . . . . . . . . . 1136.3.2 Formatao de Pargrafos . . . . . . . . . . . . . . . . 1146.3.3 Espao Horizontal . . . . . . . . . . . . . . . . . . . . 1146.3.4 Espao Vertical . . . . . . . . . . . . . . . . . . . . . . 115

    6.4 Formato da Pgina . . . . . . . . . . . . . . . . . . . . . . . . 1166.5 Mais divertimento com comprimentos . . . . . . . . . . . . . 1186.6 Caixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196.7 Rguas e Estruturas . . . . . . . . . . . . . . . . . . . . . . . 121

    Bibliografia 123

    ndice 125

  • Lista de Figuras

    1.1 Um ficheiro LATEX mnimo. . . . . . . . . . . . . . . . . . . . 81.2 Exemplo de um Artigo Real. . . . . . . . . . . . . . . . . . . 8

    4.1 Exemplo de configurao do fancyhdr. . . . . . . . . . . . . . 764.2 Exemplo de cdigo para a classe beamer. . . . . . . . . . . . . 89

    6.1 Pacote de Exemplo. . . . . . . . . . . . . . . . . . . . . . . . 1096.2 Parmetros do Formato de Pgina. . . . . . . . . . . . . . . . 117

  • Lista de Tabelas

    1.1 Classes de Documentos. . . . . . . . . . . . . . . . . . . . . . 101.2 Opes das Classes de Documentos. . . . . . . . . . . . . . . 111.3 Alguns Pacotes Distribudos com o LATEX. . . . . . . . . . . . 131.4 Os Estilos de Pginas Pr-definidos no LATEX. . . . . . . . . . 15

    2.1 Um saco cheio de smbolos de Euro . . . . . . . . . . . . . . . 242.2 Caracteres especiais e Acentos. . . . . . . . . . . . . . . . . . 252.3 Caracteres especiais alemes. . . . . . . . . . . . . . . . . . . 282.4 Comandos especiais para Francs. . . . . . . . . . . . . . . . . 302.5 Prembulo para documentos em Grego. . . . . . . . . . . . . 332.6 Caracteres Especiais Gregos. . . . . . . . . . . . . . . . . . . 342.7 Bulgaro, Russo, e Ucraniano . . . . . . . . . . . . . . . . . . . 352.8 Permisses de Colocao de Corpos Flutuantes. . . . . . . . . 46

    3.1 Acentos Matemticos. . . . . . . . . . . . . . . . . . . . . . . 633.2 Letras Gregas. . . . . . . . . . . . . . . . . . . . . . . . . . . 633.3 Relaes Binrias. . . . . . . . . . . . . . . . . . . . . . . . . 643.4 Operadores Binrios. . . . . . . . . . . . . . . . . . . . . . . . 643.5 Operadores GRANDES. . . . . . . . . . . . . . . . . . . . . . 653.6 Setas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.7 Delimitadores. . . . . . . . . . . . . . . . . . . . . . . . . . . 653.8 Grandes Delimitadores. . . . . . . . . . . . . . . . . . . . . . 663.9 Smbolos Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . 663.10 Smbolos no Matemticos. . . . . . . . . . . . . . . . . . . . 663.11 Delimitadores AMS. . . . . . . . . . . . . . . . . . . . . . . . 663.12 Letras AMS gregas e hebraicas. . . . . . . . . . . . . . . . . . 663.13 Relaes Binrias AMS. . . . . . . . . . . . . . . . . . . . . . 673.14 Setas AMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.15 Relaes Binrias Negadas e Setas AMS. . . . . . . . . . . . . 693.16 Operadores Binrios AMS. . . . . . . . . . . . . . . . . . . . 693.17 AMS Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . . . 703.18 Alfabeto Matemtico. . . . . . . . . . . . . . . . . . . . . . . 70

    4.1 Nomes das Chaves para o Pacote graphicx. . . . . . . . . . . . 72

  • xiv LISTA DE TABELAS

    4.2 Exemplos da Sintaxe das Chaves de Indexao. . . . . . . . . 75

    6.1 Letras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.2 Tamanho de Letra. . . . . . . . . . . . . . . . . . . . . . . . . 1106.3 Tamanhos Absolutos nas Classes Padro. . . . . . . . . . . . 1116.4 Letras Matemticas. . . . . . . . . . . . . . . . . . . . . . . . 1116.5 Unidades do TEX. . . . . . . . . . . . . . . . . . . . . . . . . 116

  • Captulo 1

    Coisas Que Precisa de Saber

    Na primeira parte deste captulo, ser apresentada uma viso geral sobre afilosofia e histria do LATEX2. A segunda parte foca as estruturas bsicas deum documento LATEX. Depois de ler este captulo, ter uma ideia geral de comoo LATEX funciona. O seu principal objectivo ajudar a integrar toda a informaoque dada nos captulos seguintes.

    1.1 O Nome do Jogo1.1.1 TEXO TEX um programa de computador criado por Donald E. Knuth [2]. devoto tipografia de texto e frmulas matemticas. O motor tipogrficocomeou a ser escrito em 1977 para explorar os potenciais de equipamentodigital de impresso que estava a infiltrar na indstria de publicao naqueletempo, especialmente na esperana de poder alterar o rumo da deteriora-o de qualidade tipogrfica que ele viu a afectar os seus prprios livros eartigos. Tal como o usamos hoje, o TEX foi disponibilizado em 1982 com pe-quenos melhoramentos adicionados em 1989 para suportar da melhor formaos caracteres de 8-bits, e mltiplas linguagens. Tem recebido muitos elogiospor ser extremamente estvel, funcionar em muitos tipos diferentes de com-putadores, e virtualmente no ter qualquer bug. A verso do TEX est aconvergir para pi e de momento 3.141592.

    Pronunciamos TEX como Tech, com um ch idntico palavra alemAch1 ou escocesa Loch. O ch teve origem no alfabeto grego onde oX a letra ch ou chi. TEX tambm a primeira slaba da palavra grega

    1Em alemo existem na verdade duas formas de pronunciar ch e devemos assumirque a forma mais macia como se usa para Pech a mais apropriada. Depois de algumperguntar ao Knuth sobre isto, ele escreveu na Wikipedia alem: Eu no fico zangadoquando as pessoas pronunciam TEX da sua forma favorita. . . e em alemo muitos usamuma forma leve de ch porque o X segue a vogal e, e no a forma bruca que segue a vogala. Na Russia, tex uma palavra muito comum, pronunciada tyekh. Mas acredito que a

  • 2 Coisas Que Precisa de Saber

    texnologia (tecnologia). Em ambientes ASCII, TEX deve ser escrito comoTeX.

    1.1.2 LATEX

    O LATEX um pacote de comandos (macros que permitem que formatos pre-definidos, de grandssima qualidade tipogrfica, sejam impressos por qual-quer autor. Foi escrito originalmente por Leslie Lamport [1]. Na verdade,no mais do que um conjunto de comandos simplificados sobre o TEXoriginal. 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.

    1.2 Bases

    1.2.1 Autor, Paginadores e Tipgrafo

    Para publicar alguma coisa, os autores do um manuscrito dactilografado companhia de publicao. Um dos seus paginadores decide o formato dodocumento (largura da coluna, tipos de letra, espaos antes e aps os cabe-alhos, . . . ). Este escreve as suas instrues no manuscrito, que entregueao tipgrafo que imprime o livro de acordo com estas instrues.

    Um paginador humano tenta imaginar o que o autor tinha em menteenquanto escrevia o manuscrito. Tem de decidir os cabealhos de captulos,exemplos, frmulas, etc. baseado nos seus conhecimentos profissionais e nocontedo do manuscrito.

    Num ambiente LATEX, o paginador o LATEX, que usa o TEX como seutipgrafo. Mas o LATEX apenas um programa e portanto precisa de algumapoio. O autor tem de dar informao adicional descrevendo a estruturalgica do seu trabalho. Esta informao escrita no texto como comandosLATEX.

    Esta uma grande diferena da abordagem WYSIWYG2 que a maiorparte dos processadores de texto modernos, tais como o MS Word ou CorelWordPerfect, usam. Com estas aplicaes, os autores especificam o formatodo documento de uma forma interactiva enquanto vo escrevendo o texto nocomputador. Durante esse processo, podem ver no cran como o resultadofinal vai aparecer quando impresso.

    Ao usar o LATEX, normalmente no possvel ver o resultado final en-quanto se digita o texto. No entanto, o resultado final pode ser pr-visualizado

    forma mais correcta de pronunciar ouvida na Grcia, onde existe a forma mais sperade ch como ach e Loch.

    2What you see is what you get O que vs o que recebes.

  • 1.2 Bases 3

    no cran depois de processar o ficheiro com o LATEX. Ento, podem ser feitascorreces para enviar posteriormente o documento para a impressora.

    1.2.2 Desenho do FormatoO desenho relacionado com a tipografia bastante trabalhoso. Autores noqualificados cometem frequentemente erros srios de formatao assumindoque o desenho de livros , na sua maior parte, uma questo esttica Se umdocumento artisticamente bonito, ento est bem desenhado. Mas, comoum documento tem de ler lido e no pendurado numa galeria de pinturas,a leitura e compreenso de muito maior importncia do que a sua forma.Exemplos:

    O tamanho e a numerao dos cabealhos devem ser escolhidos parafazer a estrutura de captulos e seces clara ao leitor.

    O comprimento das linhas tem de ser suficientemente curto para nofazer o leitor trocar os olhos, mas suficientemente longo para preencheruma pgina de uma forma esteticamente bela.

    Com sistemas WYSIWYG, os autores criam documentos esteticamenteagradveis sem estrutura, ou em que esta se apresenta de uma forma incon-sistente. O LATEX previne este tipo de erros de formatao ao obrigar osautores a declarar a estrutura lgica do seu documento, escolhendo depoiso formato mais adequado.

    1.2.3 Vantagens e DesvantagensQuando as pessoas do mundo WYSIWYG conhecem pessoas que usamLATEX, frequentemente discutem as vantagens do LATEX em relao a umprocessador de texto normal ou o contrrio. A melhor coisa que se podefazer quando uma discusso inicia manter a calma, porque este tipo de dis-cusses saem facilmente dos limites. Mas por vezes no se pode escapar. . .

    Ento, aqui esto algumas munies. As principais vantagens do LATEXsobre um processador de texto normal so as seguintes:

    Formatos criados profissionalmente esto disponveis, que fazem comque um documento parea realmente impresso numa tipografia;

    A escrita de frmulas matemticas suportada de uma forma conve-niente;

    O utilizador apenas precisa de aprender uma dzia de comandos facil-mente compreensveis que especificam a estrutura lgica de um docu-mento. Quase nunca se precisa de atormentar com o formato real dodocumento;

  • 4 Coisas Que Precisa de Saber

    At estruturas complexas, tais como notas de rodap, referncias, ta-belas de contedos e bibliografias podem ser facilmente geradas;

    Pacotes gratuitos podem ser aplicados a tarefas tipogrficas no su-portadas pelo LATEX bsico. Por exemplo, existem pacotes para in-cluir grficos PostScript e para imprimir bibliografias conforme osstandards. Muitos destes pacotes esto descritos no The LATEX Com-panion [3];

    O LATEX encoraja os autores a escrever textos bem estruturados porque assim que o LATEX funciona especificando a estrutura;

    TEX, o motor de formatao do LATEX2, extremamente portvel elivre. Desta forma, o sistema funciona em quase todas as plataformasde hardware existentes.

    O LATEX tambm tem algumas desvantagens, e penso que um pouco dif-cil para mim encontrar alguma, mas parece-me que outras pessoas podemindicar centenas ;-)

    LATEX no funciona bem para pessoas que tenham vendido a suaalma. . .

    Apesar de alguns parmetros poderem ser ajustados num formato pr-definido, o desenho de todo um novo formato difcil e demora muitotempo 3

    difcil de escrever documentos mal estruturados e desorganizados;

    Embora o seu hamster demonstre alguma dedicao durante os pri-meiros passos, nunca conseguir digerir completamente o conceito demarcao lgica.

    1.3 Ficheiros LATEXOs ficheiros LATEX so ficheiros de texto ASCII planos. Pode cri-los emqualquer editor de texto; o ficheiro contm o texto do documento assimcomo os comandos que dizem ao LATEX como formatar o texto.

    1.3.1 EspaosCaracteres brancos como espaos ou caracteres de tabulao (tabs) sotratados uniformemente como espaos pelo LATEX. Caracteres brancosconsecutivos so tratados como um espao. Os espaos no incio de uma

    3Rumores dizem que este um dos pontos chave a ser abordado na verso 3 do LATEX.

  • 1.3 Ficheiros LATEX 5

    linha so geralmente ignorados, e uma simples mudana de linha tratadada mesma forma que um espao.

    Uma linha em branco entre duas linhas de texto define o fim de umpargrafo. Vrias linhas vazias so tratadas da mesma forma que uma linhavazia. O texto que se segue um exemplo. Do lado esquerdo apresenta-se o texto do ficheiro a escrever, e do lado direito o resultado depois deprocessado.

    No interessa se introduz apenasum ou vrios espaos depoisde uma palavra.

    Uma linha em branco inicia um novopargrafo.

    No interessa se introduz apenas um ouvrios espaos depois de uma palavra.Uma linha em branco inicia um novo pa-rgrafo.

    1.3.2 Caracteres EspeciaisOs smbolos que se seguem so caracteres reservados que ou tm um signi-ficado especial para o LATEX ou no esto disponveis em todos os tipos deletras. Se os introduzir directamente no seu texto, no sero impressos, mascausaro o LATEX a fazer coisas que no deseja.

    # $ % ^ & _ { } ~ \

    Como ir ver, estes caracteres podem ser utilizados nos seus documentostodos da mesma forma, adicionando uma barra invertida como prefixo:

    \$ \& \% \# \_ \{ \} $ & % # _ { }

    Outros smbolos e muitos mais podem ser impressos com comandos es-peciais em frmulas matemticas ou como acentos. O caracter de barrainvertida (\) no deve ser introduzido adicionando uma outra barra antes(\\), porque esta sequncia utilizada para quebrar linhas de texto.4

    1.3.3 Comandos LATEXOs comandos LATEX so sensveis s maisculas/minsculas, e tm um dedois formatos:

    Comeam com um backslash5 (\) e tm um nome que consiste ape-nas de letras. Os nomes de comandos terminam com um espao, umnmero ou qualquer outro smbolo no-letra.

    4Tente o comando $\backslash$ em vez da dupla barra, que produz um \.5NT: a partir de agora utilizaremos o termo ingls em vez de barra invertida

  • 6 Coisas Que Precisa de Saber

    Consistem num backslash e exactamente um caracter no letra.

    O LATEX ignora espaos em branco aps os comandos. Se deseja umespao depois de um comando, deve colocar {} e um caracter especial, ouum comando de espaamento especial depois do nome do comando. O {} fazcom que o LATEX pare de comer todos os espaos aps o nome do comando.

    Li que o Knuth divide aspessoas que trabalham com o \TeX{}em \TeX{}nicos e \TeX pertos.\\Hoje \today.

    Li que o Knuth divide as pessoas quetrabalham com o TEX em TEXnicos eTEXpertos.Hoje 18 de Setembro de 2007.

    Alguns comandos precisam de um parmetro que deve ser introduzidoentre chavetas ({}) depois do nome do comando. Outros suportam par-metros opcionais que so adicionados depois do nome do comando entreparntesis rectos ([]). Os exemplos seguintes utilizam alguns comandosLATEX. No se preocupe com eles, pois sero explicados mais tarde.

    Pode \textsl{apoiar-se} em mim! Pode apoiar-se em mim!

    Por favor, comece uma nova linhaexactamente aqui!\newlineObrigado!

    Por favor, comece uma nova linha exacta-mente aqui!Obrigado!

    1.3.4 ComentriosQuando o LATEX encontra um caracter % ao processar o ficheiro, ignora todoo resto dessa linha, a mudana de linha e todos os espaos no incio da linhaseguinte.

    Pode ser utilizado para escrever notas nos ficheiros de cdigo, que noaparecero nas verses impressas.

    Este um % estpido% Melhor: instrutivo

  • 1.4 Estrutura do Ficheiro 7

    Para comentrios mais longos, pode utilizar o ambiente comment dispo-nibilizado pelo pacote verbatim. Isto significa que, para usar o ambientecomment tem de adicionar o comando \usepackage{verbatim} ao prem-bulo do seu documento.

    Este outro\begin{comment}bastante estpido,mas instrutivo\end{comment}exemplo de como embebercomentrios nos seus documentos.

    Este outro exemplo de como embebercomentrios nos seus documentos.

    Note que isto no funciona dentro de ambientes complexos tal como omatemtico.

    1.4 Estrutura do FicheiroQuando o LATEX2 processa um ficheiro, espera que ele respeite uma certaestrutura. Desta forma, todos os ficheiros devem comear com o comando

    \documentclass{...}

    Isto especifica o tipo de documento que tenciona escrever. Em seguida,pode incluir comandos que influenciam o estilo de todo o documento, oupode incluir pacotes que adicionaro novas propriedades ao sistema LATEX.Para incluir este tipo de pacote, utilize o comando

    \usepackage{...}

    Quando todo o trabalho de configurao estiver feito,6 inicie o corpo dotexto com o comando

    \begin{document}

    Agora introduza o texto misturado com comandos LATEX teis. No fimdo documento adicione o comando

    \end{document}

    que indica ao LATEX o fim do seu servio. Tudo o que siga este comando serignorado pelo LATEX.

    A figura 1.1 mostra o contedo de um ficheiro LATEX2 mnimo. Umficheiro um pouco mais complexo mostrado na figura 1.2.

    6A rea entre \documentclass e \begin{document} chamado de prembulo.

  • 8 Coisas Que Precisa de Saber

    \documentclass{article}

    % esta linha especfica para% o Portugus e outras lnguas% com caracteres acentuados.\usepackage[latin1]{inputenc}

    \begin{document}Pequeno belo.\end{document}

    Figura 1.1: Um ficheiro LATEX mnimo.

    \documentclass[a4paper,11pt]{article}% Esta linha necessria para% documentos em lnguas que incluam% caracteres acentuados.\usepackage[latin1]{inputenc}

    % Define o autor e ttulo\author{H.~Partl}\title{Minimalista}

    \begin{document}% Gera o ttulo\maketitle% Insere a tabela de contedos\tableofcontents\section{Algumas Palavras Interessantes}Bem, e aqui est o inicio do meu adorado artigo.\section{Adeus, Mundo!}\ldots{} e aqui ele acaba.\end{document}

    Figura 1.2: Exemplo de um artigo de jornal real. Note que os comandos quev neste exemplo sero explicados mais tarde, nesta introduo.

  • 1.5 Uma Sesso de Edio Tpica 9

    1.5 Uma Sesso de Edio Tpica

    Aposto que deve estar a morrer por poder testar o pequeno exemplo de LATEXmostrado na pgina 8. Aqui est alguma ajuda: o LATEX, por si s, nocontm um interface grfico, ou botes para clicar. apenas um programaque mastiga o seu documento. Algumas instalaes do LATEX providenciamum programa grfico para interagir com o LATEX clicando em certos menus.Outros sistemas podem exigir um pouco mais de dactilografia, portantoaqui apresentamos como obrigar o LATEX a compilar o seu documento numsistema baseado em texto. Note que esta descrio assume que existe umainstalao LATEX a funcionar no seu computador.7

    1. Edite/Crie o seu documento LATEX. Este ficheiro deve ser texto ASCIIsem qualquer tipo de formatao. Em Unix, todos os editores vofazer o que deseja. Em Windows, deve ter a certeza que vai gravar oficheiro em ASCII ou em formato texto. Ao escolher um nome para oseu ficheiro, tenha a certeza de lhe colocar a extenso .tex.

    2. Execute o LATEX sobre o seu ficheiro. Se correr tudo bem, ir acabarcom um ficheiro .dvi. Poder ser necessrio correr o LATEX vriasvezes para obter um ndice de contedos e todas as referncias internascorrectamente. Sempre que o seu ficheiro tenha um erro o LATEX irdizer-lhe que erro cometeu e ir parar o seu processamento. Pressionectrl-D para voltar linha de comandos.

    latex foo.tex

    3. Agora pode ver o ficheiro DVI. Existem vrias formas de o fazer. Podemostrar o ficheiro no cran com

    xdvi foo.dvi &

    Isto funciona apenas em Unix com X11. Se est em Windows, podertentar usar o yap (ainda outro pr-visualizadoryet another previ-ewer). Tambm pode converter o ficheiro dvi em PostScript paraimprimir ou ver com o Ghostscript.

    dvips -Pcmz foo.dvi -o foo.ps

    Se tiver sorte, o seu sistema LATEX at trs a ferramenta dvipdf, que

    7Este o caso de qualquer sistema Unix, e . . . Homens a srio usam Unix

  • 10 Coisas Que Precisa de Saber

    lhe permite converter o seu ficheiro .dvi directamente em pdf.

    dvipdf foo.dvi

    1.6 O Formato do Documento1.6.1 Classes de DocumentosA primeira informao que o LATEX precisa de saber quando processa umficheiro o tipo de documento que o autor quer criar. Este tipo especificadopelo comando \documentclass.

    \documentclass[opes]{classe}

    Aqui, classe especifica o tipo do documento a ser criado. A tabela 1.1lista as classes de documento explicadas nesta introduo. A distribuiodo LATEX2 permite classes adicionais para outros documentos, incluindocartas e slides. O parmetro opes caracteriza o comportamento da classedo documento. As opes devem ser separadas por vrgulas. As opes maiscomuns para os documentos padro esto listadas na tabela 1.2.

    Exemplo: Um ficheiro para um documento LATEX pode comear com alinha

    Tabela 1.1: Classes de Documentos.

    article para artigos em jornais cientficos, pequenos relatrios, documen-tao de programas, convites, . . .

    report para relatrios mais longos contendo vrios captulos, pequenos li-vros, teses de doutoramento, . . .

    book para livros verdadeiros

    slides para slides. Esta classe usa letras grandes do tipo sans serif. Deveconsiderar utilizar o pacote FoilTEXa em vez do slides.

    proc para actas (proceedings) baseadas na classe artigo.

    minimal a classe mais pequena que pode obter. S define um tamanhode papel, e um tamanho de letra base. usado especialmente paradeteco de problemas.

    amacros/latex/contrib/supported/foiltex

  • 1.6 O Formato do Documento 11

    Tabela 1.2: Opes das Classes de Documentos.

    10pt, 11pt, 12pt Define o tamanho principal das letras do documento.Caso no especifique uma delas, assumido 10pt.

    a4paper, letterpaper, . . . Define o tamanho do papel. Por omisso, utilizado o letterpaper. Alm destes, existem a5paper, b5paper,executivepaper, e legalpaper.

    fleqn Alinha as frmulas esquerda em vez de as centrar.

    leqno Coloca a numerao nas frmulas do lado esquerdo em vez dolado direito.

    titlepage, notitlepage Especifica se se deve criar uma nova pginadepois do ttulo do documento ou no. A classe article no iniciauma nova pgina por omisso, enquanto que o report e o book ofazem.

    twocolumn Instrui o LATEX a escrever o documento em duas colunas.

    twoside, oneside Indica se deve ser gerado resultado para impressodos dois lados. As classes article e report so impressas apenas deum lado e a classe book impressa dos dois lados por omisso. Noteque esta opo muda apenas o estilo do documento. A opotwoside no diz impressora que deve fazer a impresso de ambosos lados.

    openright, openany Faz os captulos comear apenas nas pginas dolado direito ou na prxima disponvel. Esta opo no funciona coma classe article uma vez que ela no sabe o que so captulos. Aclasse report inicia por omisso os captulos na primeira pginadisponvel e a classe book inicia nas pginas do lado direito.

    landscape Muda o formato do documento para ser impresso numa folhadeitada.

  • 12 Coisas Que Precisa de Saber

    \documentclass[11pt,twoside,a4paper]{article}

    que instrui o LATEX a escrever o documento como sendo um artigo (article)com um tamanho base de letra de onze pontos (11pt), e para gerar umformato adequado para impresso de ambos os lados (twoside) em papel A4(a4paper).

    1.6.2 PacotesAo escrever o seu documento, provavelmente encontrar algumas reas ondeo LATEX bsico no conseguir resolver os seus problemas. Se deseja incluirgrficos, texto colorido ou cdigo fonte de um ficheiro no seu documento, irprecisar de melhorar as capacidades do LATEX. Este tipo de melhoramentosso chamados pacotes (packages), e so activados com o comando

    \usepackage[opes]{pacote}

    onde pacote o nome do pacote e opes uma lista de palavras chave queactivam (ou desactivam) propriedades especiais no pacote. Alguns pacotesvm com a distribuio base do LATEX2 (Veja a tabela 1.3), outros sodistribuidos separadamente. Poder encontrar mais informao sobre ospacotes instalados no Local Guide [4]. A primeira fonte de informao sobreos pacotes LATEX o The LATEX Companion [3], que contm descries decentenas de pacotes juntamente com informao sobre como escrever as suasprprias extenses para o LATEX2.

    As distribuies de TEX modernas incluem um grande nmero de pacotesj instalados. Se est a trabalhar num sistema Unix, use o comando texdocpara aceder documentao existente.

    1.7 Ficheiros que provavelmente encontrarQuando trabalhar com o LATEX, rapidamente se encontrar num labirinto deficheiros com vrias extenses e provavelmente sem pista alguma sobre o seucontedo. Em seguida apresentamos uma lista indicando os vrios tipos deficheiros que possivelmente encontrar ao trabalhar com TEX. Note que estatabela no pretende ser uma lista completa de extenses, mas se encontraruma que falte e que lhe parea importante, avise!

    .tex Ficheiros LATEX ou TEX. Podem ser compilados com o latex.

    .sty Pacote de macros LATEX. Este um ficheiro que pode carregar no seudocumento LATEX utilizando o comando \usepackage.

    .dtx TEX documentado. Este o formato base para a distribuio de fi-cheiros de estilo LATEX. Se processar um destes ficheiros ficar comdocumentao do pacote contido no ficheiro .dtx.

  • 1.7 Ficheiros que provavelmente encontrar 13

    Tabela 1.3: Alguns Pacotes Distribudos com o LATEX.

    doc Permite a documentao de programas LATEX.Descrito em doc.dtxa e no The LATEX Companion [3].

    exscale Fornece verses das letras do modo matemtico regulveis em tama-nhoDescrito em ltexscale.dtx.

    fontenc Especifica que codificao de caracteres o LATEX deve usar.Descrito em ltoutenc.dtx.

    ifthen Fornece comandos da formaif. . . then do. . . otherwise do. . . .Descrito em ifthen.dtx e no The LATEX Companion [3].

    latexsym Permite aceder ao tipo de letra symbol do LATEX. Descrito emlatexsym.dtx e no The LATEX Companion [3].

    makeidx Fornece comandos para produzir ndices. Descrito na seco 4.3 eno The LATEX Companion [3].

    syntonly Processa um documento sem escrever o resultado do processa-mento.

    inputenc Permite a especificao de uma codificao como seja ASCII, ISOLatin-1, ISO Latin-2, pginas de cdigo 437/850 IBM, Apple Macin-tosh, Next, ANSI-Windows ou definido pelo utilizador. Descrito eminputenc.dtx.

    aEste ficheiro deve estar instalado no seu sistema, e deve conseguir convert-lo paraum ficheiro dvi digitando latex doc.dtx em qualquer directoria em que tiver permisses.Isto tambm verdade para todos os outros ficheiros mencionados nesta tabela.

  • 14 Coisas Que Precisa de Saber

    .ins o instalador para os ficheiros contidos nos ficheiros .dtx com o mesmonome. Se fizer download de um pacote LATEX da Internet, normalmenteficar com um ficheiro .dtx e um .ins. Corra o LATEX no ficheiro .inspara descompactar o ficheiro .dtx.

    .cls Ficheiros de classe que definem como o seu documento vai aparecer.Podem ser seleccionados com o comando \documentclass.

    .fd Ficheiros de descrio de tipos de letra que comunica ao LATEX novostipos disponveis.

    Os ficheiros seguintes so gerados quando corre o LATEX no seu documento:

    .dvi Device Independent file. Este o resultado principal da utilizao doLATEX. Pode ver o seu contedo com um programa de visualizao deDVI ou pode envi-lo para a impressora com dvips ou uma aplicaosimilar.

    .log Contm informao detalhada sobre o que aconteceu da ltima vezque correu o LATEX no seu documento.

    .toc Guarda todos os cabealhos. Ser lido da prxima vez que correr oLATEX para produzir a tabela de contedos.

    .lof Idntico ao .toc mas para a lista de figuras.

    .lot Mais uma vez o mesmo para a lista de tabelas.

    .aux Outro ficheiro que transporta informao de uma utilizao do LATEXat prxima. Entre outras coisas, o ficheiro .aux utilizado paraguardar informao associada com referncias cruzadas.

    .idx Se o seu documento inclu um ndice, o LATEX guarda todas as palavrasque vo para o ndice neste ficheiro. Este ficheiro deve ser processadocom o makeindex. Visite a seco 4.3 na pgina 74 para mais infor-mao sobre indexao.

    .ind o ficheiro processado do .idx, pronto para incluso no seu documentono prximo ciclo de compilao.

    .ilg Ficheiro com os resultados sobre o processamento do makeindex.

    1.7.1 Estilo de Pginas

    O LATEX suporta trs combinaes pr-definidas de cabealho/rodap chamados de estilo de pginas . O parmetro estilo pode ser um dos definidos

  • 1.8 Grandes Projectos 15

    pelo comando

    \pagestyle{estilo}

    A tabela 1.4 lista os estilos de pginas pr-definidos.

    Tabela 1.4: Os Estilos de Pginas Pr-definidos no LATEX.

    plain imprime o nmero da pgina no fundo da pgina, no centro do ro-dap. Este o estilo por omisso.

    headings imprime o nome do captulo actual e o nmero da pgina nocabealho de cada pgina, enquanto que o rodap se mantm vazio.(Este o estilo usado neste documento)

    empty coloca quer o cabealho quer o rodap vazios.

    possvel alterar o estilo da pgina actual com o comando

    \thispagestyle{estilo}

    Uma descrio sobre como criar os seus prprios cabealhos e rodapspode ser encontrado no The LATEX Companion [3] e na seco 4.4 da p-gina 76.

    1.8 Grandes ProjectosQuando trabalha com documentos grandes, possivelmente gostava de sepa-rar os ficheiros de cdigo em vrias partes. O LATEX tem dois comandos queajudam a atingir este objectivo.

    \include{nomedoficheiro}

    este comando usado no corpo de um documento para incluir o contedo deoutro ficheiro (chamado nomedoficheiro.tex). O LATEX ir iniciar uma novapgina antes de processar o contedo deste ficheiro.

    O segundo comando pode ser utilizado no prembulo. Ele permite in-dicar ao LATEX que apenas os ficheiros especificados podem ser includos:

    \includeonly{nomedoficheiro,nomedoficheiro,. . . }

    Depois deste comando ser executado no prembulo do documento, ape-

  • 16 Coisas Que Precisa de Saber

    nas os comandos \include para os ficheiros listados no argumento do co-mando \includeonly sero realmente includos. Note que no podem existirespaos entre os nomes dos ficheiros e as vrgulas.

    O comando \include inicia o texto, includo numa nova pgina. Isto til quando usa o \includeonly, porque as mudanas de pgina no semovero, mesmo quando alguns \includes so omitidos. Algumas vezesisto pode no ser desejvel. Neste caso, deve utilizar o comando

    \input{nomedoficheiro}

    que inclu simplesmente o ficheiro especificado, sem fatos brilhantes, nemcordas agarradas!

    Para fazer o LATEX verificar rapidamente o seu documento pode utilizaro pacote syntonly que faz com que o LATEX percorra o ficheiro verificandoapenas a sintaxe e utilizao de comandos, mas no produz nenhum ficheiro.Como o LATEX corre mais depressa neste modo, pode poupar-lhe muito doseu precioso tempo. A sua utilizao muito simples:

    \usepackage{syntonly}\syntaxonly

    Quando precisar de produzir pginas, adicione um comentrio segundalinha (adicionando um smbolo de percentagem).

  • Captulo 2

    Escrever Texto

    Depois de ler o captulo anterior, deve saber as partes bsicas que constituemum documento LATEX2. Este captulo preencher o resto da estrutura queprecisa de conhecer para produzir material autntico.

    2.1 A Estrutura de um TextoBy Hanspeter Schmid

    Ao escrever um texto, o principal ponto (alguma literatura DAAC1 mo-derna excluda), apresentar ideias, informao ou conhecimento ao leitor.Este ir compreender melhor o texto se estas ideias estiverem bem estrutu-radas, e ir ver e sentir melhor esta estrutura se a forma tipogrfica reflectira estrutura lgica e semntica do contedo.

    O LATEX diferente de todos os outros sistemas de escrita apenas por terde indicar a estrutura lgica e semntica do texto. Utilizando esta estrutura,deriva a forma tipogrfica do texto de acordo com as regras dadas na classedo documento e nos vrios ficheiros de estilo.

    A unidade mais importante de texto em LATEX (e em tipografia) opargrafo. Chamamos-lhe unidade de texto porque um pargrafo aforma tipogrfica que deve reflectir um pensamento coerente, ou uma ideia.Nas seces seguintes aprender como forar mudanas de linha, por exemplocom \\ e mudanas de pargrafo deixando uma linha em branco no cdigo.Se comea a descrever um novo pensamento, deve iniciar um novo pargrafo;se no, apenas mudanas de linha devem ser utilizadas. Em dvida sedeve ou no realizar quebras de pargrafos, pense no seu texto como umarmrio de ideias e pensamentos. Se tem uma quebra de pargrafo, maso pensamento anterior continua, deve ser removido. Se alguma linha depensamento completamente nova ocorre no mesmo pargrafo, ento deveser quebrado.

    1Different At All Cost (diferente a todo o custo), uma traduo da UVA Sua-Alem(Ums Verrecken Anders).

  • 18 Escrever Texto

    A maior parte das pessoas esquece completamente a importncia de que-bras de pargrafos bem colocadas. Muitas pessoas nem sequer saber o sig-nificado duma quebra de pargrafo, e, especialmente em LATEX, introduzempargrafos sem saber. Este erro especialmente fcil de fazer se forem uti-lizadas equaes no texto. Veja os exemplos seguintes, e descubra porquealgumas linhas em branco (quebras de pargrafos) so utilizados antes edepois da equao, e outras vezes no. (Se ainda no compreender todos oscomandos o suficiente para compreender estes exemplos, continue a ler estee os captulos seguintes, e depois volte a ler esta seco.)

    % Example 1\ldots quando Einstein introduziu a sua frmula\begin{equation}

    e = m \cdot c^2 \; ,\end{equation}que ao mesmo tempo a mais conhecida e a menoscompreendida frmula fsica.

    % Example 2\ldots de onde segue a lei actual de Kirchhoff:\begin{equation}

    \sum_{k=1}^{n} I_k = 0 \; .\end{equation}

    A lei de voltagem de Kirchhoff pode ser deduzida\ldots

    % Example 3\ldots que tem vrias vantagens.

    \begin{equation}I_D = I_F - I_R

    \end{equation} o centro de um modelo diferente de transistor.\ldots

    A unidade mais pequena de texto seguinte a frase. Em textos ingleses2,existe um maior espao depois de um ponto que acaba uma frase do que umque acaba uma abreviatura. O LATEX tenta adivinhar qual dos casos deveutilizar. Se o LATEX errar, deve dizer-lhe o que quer. Como fazer isto explicado mais tarde neste captulo.

    A estruturao do texto extende-se at s partes de uma frase. Quasetodas as lnguas tm regras de pontuao muito complicadas, mas na sua

    2NT: e tambm em portugueses

  • 2.2 Quebras de Linha e Quebras de Pgina 19

    maioria (incluindo alemo e ingls3), ir obter quase todas as vrgulas cor-rectas se se lembrar do que ela representa: uma pequena paragem no fluxoda lngua. Se no tem a certeza onde colocar a vrgula, leia a frase em vozalta, e faa uma pequena respirao em cada vrgula. Se fica mal em algumstio, apague a vrgula; se precisa de respirar (ou fazer uma pequena pausa)em algum outro ponto, insira uma vrgula.

    Finalmente, os pargrafos de um texto devem tambm estar estruturadoslogicamente a um nvel superior, encaixando-os em captulos, seces, sub-seces, e assim sucessivamente. No entanto, o efeito tipogrfico de escrever,por exemplo, \section{A Estrutura e Linguagem do Texto} to obvioque evidente quando estas estruturas de alto nvel devem ser utilizadas.

    2.2 Quebras de Linha e Quebras de Pgina

    2.2.1 Pargrafos Justificados

    habitual que os livros sejam escritos de forma a que cada linha tenha omesmo comprimento. O LATEX insere as quebras de linha e espaos neces-srios entre palavras optimizando os contedos de um pargrafo, como umtodo. Se necessrio, ele tambm hifeniza as palavras que no cabem con-fortavelmente numa linha. Como os pargrafos so impressos depende daclasse do documento. Normalmente a primeira linha do pargrafo inden-tada, e no existe espao adicional entre dois pargrafos. Veja a seco 6.3.2para mais informao.

    Em casos especiais pode ser necessrio ordenar ao LATEX para quebrar alinha:

    \\ ou \newline

    iniciam uma nova linha sem iniciar um novo pargrafo.

    \\*

    probe, adicionalmente, uma quebra de pgina aps a quebra de linha for-

    3NT: e portugus

  • 20 Escrever Texto

    ada.

    \newpage

    inicia uma nova pgina.

    \linebreak[n], \nolinebreak[n], \pagebreak[n], \nopagebreak[n]

    fazem o que o seu nome diz4. Permitem que o autor influencie as suasaces com um argumento opcional n que pode variar desde zero at quatro.Ao colocar n com um valor inferior a 4 permite que o LATEX ignore o seucomando se o resultado ficar muito feio. No confunda estes comandosbreak com os comandos new. Mesmo ao indicar um comando break,o LATEX tenta ainda preencher as bordas do texto e o comprimento total dapgina, como descrito na seco seguinte. Se realmente quer comear umanova linha, ento utilize o comando correspondente. Adivinhe qual!

    O LATEX tenta sempre produzir as melhores quebras de linha possveis. Seno encontra uma forma de quebrar a linha dum modo que esteja de acordocom a sua qualidade, deixa uma linha sair um pouco da margem direita dopargrafo. No entanto, o LATEX queixa-se (overfull hbox) ao processar odocumento. Isto acontece mais frequentemente quando o LATEX no encontraum stio correcto para hifenizar a palavra.5 Existe a possibilidade de instruiro LATEX a baixar a sua qualidade um pouco dando-lhe o comando \sloppy,que previne estas linhas demasiado compridas aumentando o espao entrepalavrasmesmo que o resultado final no seja ptimo. Neste caso, um aviso(underfull hbox) dado. Na maior parte destes casos o resultado no o melhor. O comando \fussy traz o LATEX de volta ao seu comportamentohabitual.

    2.2.2 HifenizaoO LATEX hifeniza as palavras sempre que precisa. Se o algoritmo de hifeni-zao no encontrar o ponto correcto, pode remediar a situao utilizandoo seguinte comando, para indicar ao TEX a excepo.

    O comando

    \hyphenation{lista de palavras}

    causa as palavras listadas no argumento sejam hifenizadas apenas nos pontos4NT: forar quebra de linha, evitar quebra de linha, forar nova pgina e evitar nova

    pgina, respectivamente5Apesar do LATEX avis-lo quando isto acontece (Overfull hbox) e mostrar a linha

    problemtica, estas linhas nem sempre so fceis de encontrar. Se utilizar a opo draftno comando \documentclass, estas linhas sero marcadas com uma linha preta na margemdireita.

  • 2.2 Quebras de Linha e Quebras de Pgina 21

    marcados por -. O argumento do comando deve conter apenas palavrasconstitudas de letras normais ou sinais considerados como letras normaispelo LATEX. As sugestes de hifenizao so guardados para a lngua activaquando o comando de hifenizao ocorre. Isto significa que se colocar umcomando de hifenizao no prembulo do seu documento, influenciar a hife-nizao da lngua inglesa. Se colocar o comando aps o \begin{document}e est a usar algum pacote para suporte de outras lnguas como seja o pacotebabel, ento as sugestes de hifenizao estaro activas na lngua activadapelo babel.

    O seguinte exemplo permitir que hifenizao seja hifenizado to bemcomo Hifenizao, e previne de todo que FORTRAN, Fortran e for-tran sejam hifenizados. No argumento deste comando no so permitidossmbolos ou caracteres especiais.

    Exemplo:

    \hyphenation{FORTRAN Hi-fe-ni-za-o}

    O comando \- insere um hfen descritivo numa palavra. Estes passamtambm a ser os nicos pontos de hifenizao permitidos na palavra. Estecomando especialmente til para palavras que contm caracteres especiais(por exemplo, caracteres acentuados), porque o LATEX no hifeniza automa-ticamente palavras que contenham esses caracteres.

    Penso que isto : su\-per\-cal\-%i\-frag\-i\-lis\-tic\-ex\-pi\-%al\-i\-do\-cious

    Penso que isto : supercalifragilisticexpi-alidocious

    Vrias palavras podem ser mantidas juntas numa linha, utilizando ocomando

    \mbox{texto}

    que obriga o LATEX a manter o seu argumento junto em todas as circunstn-cias.

    O meu nmero de telefone ir mudarbrevemente para \mbox{0116 291 2319}.

    O parmetro\mbox{\emph{nomedoficheiro}} deverconter o nome do ficheiro.

    O meu nmero de telefone ir mudar bre-vemente para 0116 291 2319.O parmetro nomedoficheiro dever con-ter o nome do ficheiro.

    O comando \fbox idntico ao \mbox, mas adiciona um rectngulodesenhado volta do contedo.

  • 22 Escrever Texto

    2.3 Texto j Feito

    Em alguns dos exemplos nas pginas anteriores dever ter visto alguns co-mandos LATEX muito simples para escrever texto especial:

    Comando Exemplo Descrio\today 18 de Setembro de 2007 Data actual na lngua actual\TeX TEX O nome do seu tipgrafo preferido\LaTeX LATEX O Nome do Jogo\LaTeXe LATEX2 A incarnao actual do LATEX

    2.4 Smbolos e Caracteres Especiais

    2.4.1 Aspas

    No deve utilizar o caracter " para desenhar aspas como o faria numa m-quina de escrever. Existem duas marcas especiais para abrir e fechar aspasem tipografia. Em LATEX, use dois ` (acento grave) para abrir aspas edois ' (apstrofe) para fechar aspas. Para aspas simples use apenas um decada.

    Por favor, pressione a tecla x.Por favor, pressione a tecla x.

    Sim, eu sei que a renderizao no a ideal, mas na verdade um acentograve (`) para abrir aspas, e um apstrofe (') para fechar. Ignore o que otipo de letra escolhido possa sugerir.

    2.4.2 Traos e Hfens

    O LATEX conhece quatro tipos diferentes de traos. Pode aceder trs delescolocando um, dois ou trs - consecutivos. O quarto sinal no um traoo sinal matemtico menos:

    fim-de-semana, segunda-feira\\pginas 13--67\\sim---ou no? \\$0$, $1$ e $-1$

    fim-de-semana, segunda-feirapginas 1367simou no?0, 1 e 1

    Os nomes destes traos so: - hfen, en-dash, em-dash e sinalde menos.

  • 2.4 Smbolos e Caracteres Especiais 23

    2.4.3 Til ()Um caracter visto frequentemente em endereos de Internet o til. Paragerar este smbolo em LATEX pode usar \~ mas o resultado: no propri-amente o que queria. Tente desta forma:

    http://www.rich.edu/\~{}bush \\http://www.clever.edu/$\sim$demo

    http://www.rich.edu/bushhttp://www.clever.edu/demo

    2.4.4 Smbolo de Graus ()O seguinte exemplo mostra como imprimir um smbolo de graus em LATEX:

    Temperatura: $-30\,^{\circ}\mathrm{C}$,Daqui a pouco estou a congelar.

    Temperatura: 30 C, Daqui a pouco es-tou a congelar.

    O pacote textcomp torna o smbolo de graus tambm disponvel como\textcelsius.

    2.4.5 Smbolo de Euro (e)Ultimamente, ao escrever sobre dinheiro vai precisar do smbolo do Euro.Muitos dos tipos de letra actuais contm o smbolo do Euro. Depois decarregar o pacote textcomp no prembulo do seu documento

    \usepackage{textcomp}

    pode usar o comando

    \texteuro

    para o desenhar.Se o seu tipo de letra no providenciar o seu prprio smbolo do Euro ou

    se no gosta do smbolo do Euro nos tipos de letra que possu, ainda temduas hipteses:

    Em primeiro lugar, o pacote eurosym que contm o smbolo oficial doEuro:

    \usepackage[official]{eurosym}

    Se preferir um smbolo mais parecido com o seu tipo de letra, use a opogen no lugar da opo official.

  • 24 Escrever Texto

    O pacote marvosym tambm inclui muitos smbolos diferentes, incluindoo Euro, sob o nome \EURtm. A desvantagem que no providencia umavariante em negrito nem inclinada do smbolo do Euro.

    Tabela 2.1: Um saco cheio de smbolos de Euro

    LM+textcomp \texteuro eurosym \euro e e e[gen]eurosym \euro AC AC ACmarvosym \EURtm 01 01 01

    2.4.6 Reticncias (. . . )Numa mquina de escrever, uma vrgula ou um ponto ocupam o mesmoespao de qualquer outra letra. Ao imprimir livros, estes caracteres ocu-pam apenas um pequeno espao e so colocados muito prximos letraprecedente. Desta forma, no pode introduzir reticncias simplesmente in-troduzindo trs pontos, porque o espaamento estar errado. No entanto,existe um comando especial para estes pontos. chamado

    \ldots

    No desta forma ... mas assim:\\Nova Iorque, Tquio, Budapeste, \ldots

    No desta forma ... mas assim:Nova Iorque, Tquio, Budapeste, . . .

    2.4.7 LigaesAlgumas combinaes de letras so escritas, no colocando as diferentesletras uma aps a outra, mas usando smbolos especiais.

    ff fi fl ffi. . . em vez de ff fi fl ffi . . .Estas chamadas ligaes podem ser proibidas inserindo uma \mbox{} entreas duas letras em questo. Isto pode ser necessrio com palavras construdasde duas palavras.

    \Large Not shelfful\\but shelf\mbox{}ful

    Not shelffulbut shelfful

  • 2.5 Suporte de Lnguas Internacionais 25

    2.4.8 Caracteres Especiais e AcentosO LATEX suporta o uso de acentos e caracteres especiais de muitas lnguas.A tabela 2.2 mostra todos os tipos de acentos sendo aplicados letra o.Naturalmente que outras letras tambm funcionam.

    Para colocar um acento no topo de um i ou de um j, o ponto deve serremovido. Isto conseguido escrevendo \i e \j.

    H\^otel, na\"\i ve, \el\eve,\\sm\o rrebr\o d, !Se\~norita!,\\Sch\"onbrunner Schlo\ss{}Stra\ss e

    Htel, nave, lve,smrrebrd, Seorita!,Schnbrunner Schlo Strae

    Tabela 2.2: Caracteres especiais e Acentos.

    \o \o \^o \~oo \=o o \.o \"o \c c

    o \u o o \v o \H o o \c oo. \d o o

    \b o oo \t oo

    \oe \OE \ae \AE \aa \AA

    \o \O \l \L \i \j ! ?

    2.5 Suporte de Lnguas InternacionaisSe precisa de escrever documentos noutras lnguas que no o ingls, entoexistem trs reas onde o LATEX pode ser configurado apropriadamente:

    1. Todos os textos gerados automaticamente6 podem ser adaptados paraa outra lngua. Para a maior parte das lnguas, estas mudanas podemser conseguidas utilizando o pacote babel por Johannes Braams.

    2. O LATEX precisa de saber as regras de hifenizao para a nova lngua.Conseguir as regras de hifenizao no LATEX um pouco mais com-plicado. Obriga a reconstruir o ficheiro de formato activando padresde hifenizao diferentes. O seu Local Guide [4] deve apresentar maisinformao na realizao desta tarefa.

    6Tabela de Contedos, Lista de Figuras, . . .

  • 26 Escrever Texto

    3. Regras tipogrficas especficas de algumas lnguas. Em Francs, porexemplo, existe um espao obrigatrio antes de cada caracter de doispontos (:).

    Se o seu sistema j est configurado de forma apropriada, pode activaro pacote babel adicionando o comando

    \usepackage[lngua]{babel}

    depois do comando \documentclass. A lista das lnguas que o seu sistemasuporta sero mostradas sempre que o seu compilador inicia. O Babel iractivar automaticamente as regras apropriadas de hifenizao para a lnguaque escolher. Se o seu formato LATEX no suporta hifenizao na lngua queescolheu, o babel continuar a funcionar mas ir desactivar a hifenizao, oque ter um efeito bastante negativo na aparncia visual do documento.

    Se inicializar o babel com vrias lnguas

    \usepackage[lnguaA,lnguaB]{babel}

    a ltima lngua que definiu ficar activa, mas pode usar o comando

    \selectlanguage{lnguaA}

    para alterar a lngua actual.Quase todos os sistemas modernos permitem introduzir alguns carac-

    teres especiais directamente pelo teclado. Para conseguir manusear umavariedade de smbolos usados nos diferentes grupos de lnguas e/ou nas di-ferentes plataformas, o LATEX usa o pacote inputenc:

    \usepackage[codificao]{inputenc}

    Ao utilizar este pacote, dever ter em ateno que outras pessoas podemno conseguir ler o cdigo do seu documento no seu computador, porqueutilizam uma codificao diferente. Por exemplo, o umlaut alemo emOS/2 codificado como 132, mas em alguns sistemas Unix utilizando ISO-LATIN 1 codificado como 228, enquanto que em Cirlico (cp1251 paraWindows) esta letra no existe de todo. Desta forma deve utilizar estafuncionalidade com cuidado. As seguintes codificaes podem ser teis,dependendo do tipo de sistema com que est a trabalhar:7

    7Para aprender mais sobre as codificaes suportadas para lnguas baseadas em Latine Cirlico, leia a documentao para o inputenc.dtx e cyinpenc.dtx, respectivamente. Aseco 4.6 ensina a produzir a documentao destes pacotes.

  • 2.5 Suporte de Lnguas Internacionais 27

    Sistema codificaesoperativo Latim CirlicoMac applemac macukrUnix latin1 koi8-ruWindows ansinew cp1251DOS, OS/2 cp850 cp866nav

    Se estiver a usar um documento multilingue com conflitos de codificao,pode desejar mudar para unicode com a ajuda do pacote ucs.

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

    ir permitir que crie documentos LATEX em utf8x, uma codificao multi-byte na qual cada caracter pode ser codificado no mnimo como um byte e,no mximo, quatro bytes.

    A codificao de tipos de letra uma matria diferente. Esta, define emque posies cada letra guardada dentro da TEX-font. Vrias codificaespodem ser mapeadas numa codificao, o que reduz o nmero de conjuntosde tipos de letras necessrios. Estas codificaes so manuseadas usando opacote fontenc:

    \usepackage[codificao]{fontenc}

    onde codificao um tipo de codificao de caracteres. possvel carregarvrias codificaes simultneamente.

    A codificao habitual do LATEX a OT1, a codificao dos tipos de le-tra originais do TEX: Computer Modern. Contm apenas 128 caracteresdo conjunto de caracteres ASCII de 7 bits. Quando os caracteres acentua-dos so necessrios, o TEX cria-os combinando um caracter normal com oacento. Embora o resultado parea perfeito, este mtodo pra a hifeniza-o automtica para palavras que contenham caracteres acentuados. Almdisso, algumas letras latinas no podem ser criadas combinando um caracternormal com um acento, j para no falar das letras de alfabetos no latinoscomo sejam o Grego ou Cirlico.

    Para resolver estes problemas, vrios tipos de letra do tipo CM de 8bits foram criados. Tipos de letra Extended Cork (EC) na codificao T1contm letras e caracteres de pontuao para a maioria das lnguas Europeiasbaseadas em Latim. O conjunto de tipos de letra LH contm as letrasnecessrias para escrever documentos em lnguas cirlicas. Devido ao grandenmero de glifos cirlicos, estes foram divididos em quatro codificaes T2A, T2B, T2C, e X2.8 O conjunto CB contm letras na codificao LGR para

    8A lista de lnguas suportadas por cada uma destas codificaes pode ser encontradano [10].

  • 28 Escrever Texto

    a composio de texto Grego.Ao usar estes tipos de letra pode melhorar/activar a hifenizao de tex-

    tos no Ingleses. Outra vantagem que estes tipos de letra providenciam asfamilias CM em todos os seus formatos, e tamanhos opticalmente aumenta-dos.

    2.5.1 Suporte para Alemo

    Aqui vo algumas dicas para aqueles que estejam a criar documentos LATEXem Alemo: pode carregar o suporte para lngua alem com o comando

    \usepackage[german]{babel}

    Isto far com que o LATEX passe a fazer hifenizao para a lngua Alem,se tiver o seu sistema LATEX bem configurado. Tambm ir alterar todo otexto automtico para alemo. Por exemplo, Chapter ir passar a Ka-pitel. Um conjunto de novos comandos iro passar a estar disponveis, quelhe iro permitir introduzir texto alemo de forma mais rpida, mesmo queno use o pacote inputenc. Repare na tabela 2.3 para alguma inspirao.Com o inputenc, tudo isto se torna desnecessrio, mas o seu texto tambmir ficar preso num mundo de codificao particular.

    Tabela 2.3: Caracteres especiais alemes.

    "a "s " " "< or \flqq "> or \frqq \flq \frq \dq "

    Em livros alemes ir encontrar aspas de estilo francs (guillemets).Os tipgrafos alemes usam-as de forma diferente. Uma frase entre aspasnum livro alemo dever ser assim. Na parte da Sua que fala alemo,os tipgrafos usam guillemets da mesma forma que os Franceses.

    Um grande problema surge do uso de comandos como \flq: se usarum tipo de letra OT1 (que o tipo de letra por omisso) as guillemetsiro parecer o smbolo matemtico , que ir revoltar um estmago detipgrafo. Os tipos de letra codificados em T1, por outro lado, no contmos smbolos necessrios. Assim, se est a usar este tipo de aspas, tenha acerteza de que est com a codificao T1. (\usepackage[T1]{fontenc})

  • 2.5 Suporte de Lnguas Internacionais 29

    2.5.2 Suporte para PortugusBy Alberto Simes

    Texto Automtico

    Como acontece com outras lnguas, o pacote babel suporta a lngua portu-gusa. Isto significa que ao colocar no prembulo do documento a linha

    \usepackage[portuges]{babel}

    todo o texto gerado automaticamente traduzido para Portugus. Porexemplo, chapter ir passar a captulo, table of contents a contedo.Da mesma forma, o comando \date passar a apresentar a data actual emPortugus.

    Caracteres Acentuados

    J se torna fcil utilizar caracteres latin-1 directamente no cdigo fonte doseu documento. Para saber como configurar o teclado para permitir inserirestes caracteres em Linux, visite http://gil.di.uminho.pt. Para que oLATEX no se queixe, active o pacote fontenc da seguinte forma:

    \usepackage[T1]{fontenc}

    Depois, use o LATEX da forma habitual!

    Hifenizao

    Nas distribuies do LATEX em Linux utilizadas at agora, nunca encontreiuma com a hifenizao automtica para portugus activada quando se usao pacote babel. No entanto, a sua activao extremamente simples se temacesso aplicao texconfig. Tente execut-la (como administrador dosistema) e, caso no a encontre, verifique se no estar escondida algures,como em /usr/share/texmf/bin/texconfig.

    Depois de executar a aplicao, e aps alguns segundos de processa-mento, aparecer uma janela com vrias opes. Escolha a opo de hifeni-zao (HYPHEN - hyphenation). Na nova janela, escolha a opo latex, queabrir o editor vi com um ficheiro de configurao.

    Agora deve procurar a palavra portuges neste ficheiro. Se no est ha-bituado a usar este editor, tecle / seguido de portuges. O cursor aparecersobre uma linha da forma:

    %portuges pt8hyph.tex

  • 30 Escrever Texto

    Repare no smbolo de comentrio (smbolo de percentagem). Se existe,significa que a hifenizao portuguesa est desligada. Se seguiu as instruc-es dadas, tecle x. Caso contrrio, no precisa de alterar nada. Esta linhadeve passar a:

    portuges pt8hyph.tex

    Para terminar, escreva :wq. O sistema comear a processar este ficheiro.Espere at que volte a aparecer a janela inicial e escolha a opo para sair(Exit).

    2.5.3 Suporte para FrancsBy Daniel Flipo

    Alguns conselhos para aqueles que desejem criar documentos em Francsusando o LATEX. Pode carregar o suporte para o Francs usando o comando:

    \usepackage[frenchb]{babel}

    Note que, por razes histricas, o nome da opo do pacote babel parao Francs frenchb ou francais mas nunca french.

    Esta opo inicia a hifenizao Francesa, se tiver o seu LaTeX confi-gurado de forma correcta. Tambm altera todo o texto automtico parafrancs: \chapter escreve Chapitre, \today escreve a data actual emfrancs, e assim sucessivamente. Um grande conjunto de novos comandospassam a existir, que lhe permitem escrever ficheiros em Francs de formamais simples. D uma olhadela tabela 2.4 para inspirao.

    Tabela 2.4: Comandos especiais para Francs.

    \og guillemets \fg{} guillemets M\up{me}, D\up{r} Mme, Dr

    1\ier{}, 1\iere{}, 1\ieres{} 1er, 1re, 1res

    2\ieme{} 4\iemes{} 2e 4es

    \No 1, \no 2 No 1, no 220~\degres C, 45\degres 20 C, 45\bsc{M. Durand} M. Durand\nombre{1234,56789} 1 234,567 89

    Tambm ir reparar que o formato das listas muda quando usa a lnguafrancesa. Para ficar a conhecer tudo o que a opo franchb do pacote babel

  • 2.5 Suporte de Lnguas Internacionais 31

    faz e como pode alterar o seu funcionamento, execute o LATEX no ficheirofrenchb.dtx e leia o ficheiro produzido: frenchb.dvi.

    2.5.4 Suporte para Coreano9

    Para usar o LATEX para escrever Coreano, precisamos de resolver trs pro-blemas:

    1. Temos de ser capazes de editar ficheiros LATEX em coreano. Estes fi-cheiros devem ser em formato de texto puro, mas porque o Coreano usaos seus prprios caracteres fora do reportrio do US-ASCII, eles iroparecer bastante estranhos num editor ASCII comum. As duas codifi-caes mais usadas para textos em Coreano so EUC-KR e a sua ex-tenso compatvel usada no MS-WIndows Coreano, CP949/Windows-949/UHC. Nestas codificaes, cada caracter US-ASCII representa oseu caracter ASCII normal semelhante a outras codificaes compat-veis como a ISO-8859-x, EUC-JP, Big5 ou Shift_JIS. Por outro lado,slabas Hangul, Hanjas (caracteres Chineses usados na Coreia), Han-gul Jamos, Hiraganas, Katakanas, Grego e caracteres Cirlicos e ou-tros smbolos e letras desenhadas pelo KS X 1001 so representadospor dois octetos consecutivos. O primeiro tem o seu conjunto MSB.At ao meio dos 1990s, demorou uma quantidade de tempo e traba-lho considervel para criar um ambiente Coreano num sistema ope-rativo no Coreano. Pode dar uma olhadela ao agora muito antigohttp://jshin.net/faq para ter uma ideia de como se usava Coreanonum sistema operativo no Coreano no meio dos 1990s. Nestes dias,os trs principais sistemas operativos (Mac OS, Unix, Windows) vemequipados com suporte multilingue bastante decente, e internaciona-lizao de forma que editar um texto em Coreano j no tanto umproblema, mesmo em sistemas operativos no coreanos.

    2. O TEX e o LATEX foram originalmente escritos para lnguas com menosde 256 caracteres no seu alfabeto. Para os fazer funcionar para lnguascom consideravelmente mais caracteres como o Coreano 10 ou Chins,

    9Considerando o nmero de questes que os utilizadores de LATEX Coreanos tm de terem conta, esta seco foi escrita por Karnes KIM da equipa de graduo do lshort paraCoreano. Foi traduzida para Ingls por SHIN Jungshik e encolhida por Tobi Oetiker.

    10O Hangul Coreano uma lngua alfabtica com 14 consoantes bsicas e 10 vogaisbsicas (Jamos). De forma diferente das lnguas latinas ou cirlicas, cada caracter in-dividual tem de ser colocado em caixas rectangulares com um tamanho similar ao doscaracteres Chineses. Cada caixa representa uma slaba. Um nmero ilimitado de sla-bas pode ser formado deste conjunto finito de vogais e consoantes. Os standards mo-dernos da ortografia Coreana (na Coreia do Sul e na Coreia do Norte), colocam algu-mas restries na formao destas caixas. Assim, apenas um conjunto finito de sila-bas ortograficamente correctas existem. A codificao de caracteres coreanos define umcdigo individual para cada uma destas slabas (KS X 1001:1998 e KS X 1002:1992).

  • 32 Escrever Texto

    um mecanismo de sub-tipos de letra foi desenvolvido. Divide uma letraCJK com centenas ou dezenas de centenas de glifos num conjunto desub-tipos com 256 glifos cada. Para o Coreano, existem trs pacotesbastante usados; HLATEX por UN Koaunghi, hLATEXp por CHA Jae-choon e o pacote CJK por Werner Lemberg.11 HLATEX e hLATEXp soespecficos para o Coreano e disponibilizam o Coreano sobre o suportede tipos de letras. Ambos conseguem processar texto Coreano codi-ficado em EUC-KR. HLATEX pode at processar ficheiros codificadosem CP949/Windows-949/UHC e UTF-8 quando usado com ou .O pacote CJK no especfico para Coreano. Consegue processar fi-cheiros em UTF-8 assim como em vrias codificaes CJK incluindoEUC-KR e CP949/Windows-949/UHC. Pode ser usado para escreverdocumentos com contedo multi-lingue (especialmente Chins, Japo-ns e Coreano). O Pacote CJK no tem localizao em Coreano comoa oferecida pelo HLATEX e no disponibiliza tantos tipos de letra Co-reana como o HLATEX.

    3. O ltimo objectivo de usar programas como o TEX e o LATEX paraobter documentos esteticamente satisfatrios. Sem dvida que oelemento mais importante o tipo de letra bem desenhado. A distri-buio HLATEX inclui tipos de letra UHC PostScript de 10 famliasdiferentes e tipos Munhwabu12 de 5 famlias diferentes. O pacote CJKfunciona com um conjunto de tipos de verses anteriores ao HLATEX etambm consegue usar tipos de letra Bitstream cyberbit TrueType.

    Para usar o pacote HLATEX para escrever o seu texto em Coreano, incluaa seguinte declarao no prembulo do documento:

    \usepackage{hangul}

    Este comando liga a localizao para Coreano. Os cabealhos de cap-tulos, seces, seces, ndices de contedos ou figuras, todos eles iro ser

    O Hangul passa a ser tratado como nos sistemas de escrita do Chins ou do Japo-ns, com centenas de caracteres ideogrficos. O ISO 10646/Unicode oferece ambas asformas de representar Hangul usado para o Coreano moderno codificando ConjoiningHangul Jamos (alfabetos: http://www.unicode.org/charts/PDF/U1100.pdf) em adi-o total codificao das slibas ortograficamente permitidas em Coreano moderno(http://www.unicode.org/charts/PDF/UAC00.pdf). Um dos maiores desafios na tipo-grafia Coreana com LATEX e sistemas similares o suporte para Coreano mais antigoepossvelmente Coreano do futuroonde as slabas s podem ser representadas juntandoJamos em Unicode. Espera-se que futuros motores do TEX como e iro, eventual-mente, providenciar solues de forma a que alguns linguistas e historidores Coreanos irodesistir do MS Word que j tem um bom suporte para Coreano antigo.

    11Podem ser obtidos em language/korean/HLaTeX/language/korean/CJK/ e http://knot.kaist.ac.kr/htex/

    12Ministrio da Cultura Coreano.

  • 2.5 Suporte de Lnguas Internacionais 33

    Tabela 2.5: Prembulo para documentos em Grego.

    \usepackage[english,greek]{babel}\usepackage[iso-8859-7]{inputenc}

    traduzidos para Coreano, e a formatao do documento ir seguir as conven-es Coreanas. O pacote tambm contempla uma seleco de partculasautomtica. Em Coreano, existem pares de partculas ps-fixas gramatica-mente equivalentes mas diferentes em forma. Qual correcto depende se aslaba precedente acaba em vogal ou consoante. ( um pouco mais complexoque isto, mas deve estar a ter uma boa ideia.) Coreanos nativos no tmproblemas a escolher a partcula correcta, mas o TEX no pode determinarque particula usar para referncias ou outro texto automtico que ir mu-dar ao editar o documento. Esta seleco de partculas manual gera algumesforo em colocar as partculas cada vez que adiciona ou remove refern-cias ou simplesmente baralha alguma das partes do seu documento. HLATEXalivia os seus utilizadores deste processo aborrecido e delicado.

    No caso de no precisar das caractersticas de localizao do Coreano, equer apenas escrever em Coreano, pode usar a seguinte linha no prembulodo seu documento,

    \usepackage{hfont}

    Para maior detalhe sobre o uso de Coreano com HLATEX, consultar oHLATEX Guide. Veja tambm a pgina do grupo Coreano de utilizadores deTEX (KTUG) em http://www.ktug.or.kr/. Tambm existe uma traduoCoreana deste manual.

    2.5.5 Suporte para GregoBy Nikolaos Pothitos

    Veja a tabela 2.5 para o prembulo que precisa para escrever na lnguagrega. Este prembulo activa a hifenizao e altera todo o texto automticopara Grego.13

    Um conjunto de novos comandos ficam disponveis, que lhe permite es-crever em Grego de forma facilitada. Para alternar temporariamente entreGrego e Portugus, e vice-versa, pode usar os comandos \textlatin{textoem caracteres latinos} e \textgreek{texto grego}. Ambos recebem um ar-gumento que colocado no documento final com a codificao correcta. Para

    13Se seleccionar a opo utf8x para o pacote inputenc pode digitar directamente ca-racteres unicode Gregos e politnicos Gregos.

  • 34 Escrever Texto

    zonas de maior dimenso pode usar o comando \selectlanguage{...} des-crito numa seco anterior. Veja a tabela 2.6 para alguma pontuao Grega.Para o smbolo do Euro use \euro.

    Tabela 2.6: Caracteres Especiais Gregos.

    ; ? ;(( ))

    2.5.6 Suporte para CirlicoBy Maksym Polyakov

    A verso 3.7h do babel inclu suporte para as codificaes T2* e paraescrever texto Bulgaro, Russo e Ucraniano usando letras cirlicas.

    O suporte para o cirlico baseado nos mecanismos habituais do LATEXatravs dos pacotes fontenc e inputenc. Mas, se for usar cirlico em modomatemtico, ir precisar de carregar o pacote mathtext antes do fontenc:14

    \usepackage{mathtext}\usepackage[T1,T2A]{fontenc}\usepackage[koi8-ru]{inputenc}\usepackage[english,bulgarian,russian,ukranian]{babel}

    Geralmente, o babel ir escolher automaticamente a codificao por omis-so para as trs lnguas, ou seja, T2A. No entanto, os documentos no estorestringidos a uma nica codificao. Para um documento multi-lingue queuse lnguas cirlicas e lnguas latinas faz sentido incluir a codificao latinaexplicitamente. O babel ir tratar de mudar para a codificao necessriasempre que uma lngua diferente seleccionada dentro do documento.

    Alm de activar as hifenizaes, traduzir automaticamente o texto ge-rado, e activar algumas regras tipogrficas especfcias da lngua (como o\frenchspacing), o babel providencia alguns comandos para permitir es-crever de acordo com os standards das lnguas Bulgara, Russa ou Ucraniana.

    Para estas trs lnguas, a pontuao especfica providenciada: um hi-fen em cirlico para o texto ( ligeiramente diferente do latino, e separadopor pequenos espaos), hifen para discurso directo, aspas, e comandos parafacilitar a hifenizao. Veja a tabela 2.7.

    As opes para Russo e Ucraniano do babel definem o comando \Asbuke \asbuk, que funcionam como \Alph e \alph, mas produzem uma letra

    14Se usar os pacotes AMS-LATEX, carregue-os antes do fontenc e do babel.

  • 2.6 O Espao entre Palavras 35

    Tabela 2.7: As definies extra feitas pelas opes Bulgaro, Russa, e Ucra-niana do babel"| desliga as ligaduras nesta posio."- um hifen explicito, permitindo hifenizao no resto da palavra"--- Cyrillic emdash em texto plano."--~ Cyrillic emdash em nomes compostos."--* Cyrillic emdash para representar discurso directo."" como "-, mas no produz o smbolo do hifen (para palvras compostas

    com hifen e.g.x-""y ou outros smbolos como activar/desactivar)."~ para uma marca de palavra composta sem ponto de quebra."= para uma marca de palavra composta com um ponto de quebra per-

    mitindo hifenizao de palavras compostas.", pequeno espao para inciais com um ponto de quebra." para as aspas duplas Alems (esquerdas) (parece-se com ,,)." para as aspas duplas Alems (direitias) (parece-se com )."< para as aspas esquerdas Francesas (parece-se com

  • 36 Escrever Texto

    O Sr~Smith estava contente de a ver\\conforma a fig.~5\\Eu gosto de BASIC\@. E tu?

    O Sr Smith estava contente de a verconforma a fig. 5Eu gosto de BASIC. E tu?

    O espao adicional aps pontos pode ser desactivado com o comando

    \frenchspacing

    que diz ao LATEX para no inserir mais espao depois de ponto do que emrelao a qualquer outro caracter. Isto muito comum em lnguas noinglesas, excepto em bibliografias. Se usar \frenchspacing, o comando \@no necessrio.

    2.7 Ttulos, Captulos e Seces

    Para ajudar o leitor a encontrar a linha de leitura ao longo do documento,deve dividi-lo em captulos, seces e subseces. O LATEX permite que sefaa isto com comandos especiais que tomam o ttulo como seu argumento.Agora, consigo que os use na ordem correcta.

    Os comandos de diviso do texto que esto disponveis para a classearticle so:

    \section{...}\subsection{...}\subsubsection{...}\paragraph{...}\subparagraph{...}

    Quando precisa de dividir o seu documento em partes sem influenciar anumerao de seces ou captulos pode usar

    \part{...}

    Se estiver a trabalhar com as classes report ou book, um comandoadicional para seccionar ao nvel de topo, torna-se disponvel

    \chapter{...}

    Como a classe article no sabe nada acerca de captulos, torna-se muitofcil adicionar artigos como captulos num livro. O espaamento entre sec-es, a numerao e o tamanho de letra dos ttulos sero colocados automa-ticamente pelo LATEX.

  • 2.7 Ttulos, Captulos e Seces 37

    Dois destes comandos so ligeiramente especiais:

    O comando \part no influencia a numerao de sequncia dos cap-tulos;

    O comando \appendix no leva nenhum argumento. Apenas muda anumerao de captulos para letras.15

    O LATEX cria um tabela de contedos pegando nos ttulos de seco e nonmero de pgina do ltimo ciclo de compilao do documento. O comando

    \tableofcontents

    expande-se para uma tabela de contedos no stio onde for invocado. Umnovo documento deve ser compilado (LATEXado) duas vezes para obter umatabela de contedos correcta. Algumas vezes, pode ser necessrio compilaro documento uma terceira vez. O LATEX avisar quando isto for necessrio.

    Todos os comandos listados acima tambm existem em verses estre-ladas. Uma verso estrelada do comando construda adicionando umaestrela * aps o nome do comando. Estas verses geram ttulos que noaparecero na tabela de contedos e que no sero numerados. O comando\section{Ajuda}, por exemplo, pode passar a \section*{Ajuda}.

    Normalmente, o ttulo da seco aparecer na tabela de contedos exac-tamente como introduziu no texto. Algumas vezes isto no possvel por ottulo ser demasiado grande e a tabela de contedos no ficar legvel. Ento,a entrada que aparecer na tabela de contedos pode ser especificada comoum argumento opcional antes do verdadeiro ttulo.

    \chapter[Ttulo pequeno para a tabela de contedos]{Umttulo grande e especialmente aborrecido, que aparecena pgina propriamente dita.}

    O ttulo do documento como um todo gerado invocando o comando

    \maketitle

    Os contedos do ttulo tm de ser definidos pelos comandos

    \title{...}, \author{...} e opcionalmente \date{...}

    antes de chamar o \maketitle. No argumento de \author, pode escrevervrios nomes separados pelo comando \and.

    15Para o estilo article, muda a numerao de seces.

  • 38 Escrever Texto

    Um exemplo de alguns dos comandos mencionados acima pode ser en-contrado na figura 1.2 da pgina 8.

    Para alm destes comandos, o LATEX2 introduziu quatro comandos adi-cionais para serem utilizados na classe book. So teis para dividir a pu-blicao. Estes, alteram os cabealhos de captulo e numerao de pginapara funcionar da forma esperada para a publicao de um livro:

    \frontmatter deve ser o primeiro comando aps o incio do corpo do docu-mento (\begin{document}). Ir mudar a numerao de pgina paranumerais romanos e as seces no sero numeradas, tal como se usassea verso estrelada nos comandos de seco (exemplo \chapter*{Prefcio})mas as seces continuaro a aparecer no ndice de contedos. no osnumere.

    \mainmatter aparece exactamente antes do primeiro captulo do livro. Mudaa numerao para numerais rabes e coloca o contador de pgina azero.

    \appendix marca o incio de material adicional no seu livro. Depois destecomando os captulos sero numerados com letras.

    \backmatter deve ser inserido antes dos ltimos itens do seu livro comosejam a bibliografia e o ndice. Nas classes de documento padro notem qualquer efeito visual.

    2.8 Referncias CruzadasEm livros, relatrios e artigos, existem frequentemente referncias cruzadaspara figuras, tabelas e segmentos especiais de texto. O LATEX providenciaos seguintes comandos para realizar referncias cruzadas:

    \label{marca}, \ref{marca} e \pageref{marca}

    onde marca um identificador escolhido pelo utilizador. O LATEX substitu\ref pelo nmero da seco, subseco, figura, tabela ou teorema aps orespectivo comando \label foi invocado. O \pageref imprime o nmero dapgina onde o comando \label ocorreu.16 Tal como os ttulos de seces,os nmeros utilizados so os da compilao anterior.

    Uma referncia para esta subseco\label{sec:esta} aparece como:ver seco~\ref{sec:esta} napgina~\pageref{sec:esta}.

    Uma referncia para esta subseco apa-rece como: ver seco 2.8 na pgina 38.

    16Note que estes comandos no sabem a que que se referem. O \label apenas gravao ltimo nmero gerado.

  • 2.9 Notas de Rodap 39

    2.9 Notas de RodapCom o comando

    \footnote{texto na nota de rodap}

    impressa uma nota de rodap no fundo da pgina actual. Estas notasdevem ser postas17 aps a palavra qual a frase se refere. Notas de rodapque se referem a frases ou partes delas, devem ser colocadas aps a vrgulaou ponto. 18

    As notas de rodap\footnote{Isto uma nova de rodap.} so muitousadas por utilizadores \LaTeX.

    As notas de rodapa so muito usadas porutilizadores LATEX.

    aIsto uma nova de rodap.

    2.10 Palavras RealadasSe um texto escrito utilizando uma mquina de escrever, as palavras im-portantes so salientadas sublinhado-as.

    \underline{texto}

    Em livros impressos, no entanto, as palavras so realadas escrevendo-asem itlico. O LATEX tem o comando

    \emph{texto}

    que salienta o texto. O que o comando faz, na verdade, depende do seucontexto:

    \emph{Se utilizar estecomando dentro de um bocadode texto realado, ento o\LaTeX{} usa o tipo de letra\emph{normal} para salientar.}

    Se utilizar este comando dentro de um bo-cado de texto realado, ento o LATEX usao tipo de letra normal para salientar.

    Note a diferena entre dizer ao LATEX para salientar alguma coisa edizer-lhe para usar um tipo de letra diferente:

    17postas pode ser uma forma do verbo pr ou apenas bocados de peixe.18Note que as notas de rodap so distraces para o leitor que o desviam do corpo

    principal do seu documento. Afinal, toda a gente l as notas de rodap, somos uma espciecuriosa. Portanto, porque no integrar tudo o que quer dizer no corpo do documento?19

    19Uma carta no vai necessariamente para onde est endereada :-).

  • 40 Escrever Texto

    \textit{Pode tambm\emph{salientar} texto seele est em itlico,}

    \textsf{num tipo de letra\emph{sans-serif},}

    \texttt{ou num estilo\emph{mquina} de escrever.}

    Pode tambm salientar texto se ele est emitlico, num tipo de letra sans-serif, ou numestilo mquina de escrever.

    2.11 Ambientes

    \begin{ambiente} texto \end{ambiente}

    Onde ambiente o nome do ambiente. Os ambientes podem ser chamadosvrias vezes uns dentro dos outros desde que a ordem de chamada sejamantida.

    \begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}

    Nas seces seguintes, todos os ambientes importantes sero explicados.

    2.11.1 Indicar, Enumerar, e Descrever

    O ambiente itemize til para listas simples, o enumerate para listasenumeradas e o description para descries.

    \flushleft\begin{enumerate}\item Pode misturar ambientesde listas conforme o seu gosto:\begin{itemize}\item Mas pode comear a parecermuito pattico.\item[-] Com um hfen,\end{itemize}\item Portanto, lembre-se: algo\ldots\begin{description}\item[Estpido] no se transformarem algo inteligente ao ser listado.\item[Interessante] pode serapresentado lindamente numa lista.\end{description}\end{enum