A Introdu¸˜o ao L TEX 2ε ca A Ou LTEX 2ε em 105 minutos por Tobias Oetiker Hubert Partl, Irene Hyna e Elisabeth Schlegl Vers˜o 3.20, 09 de Agosto de 2001 a Tradu¸˜o: D´merson Andr´ Polli ca e e Compilado em 18 de setembro de 2002. ii Copyright c 2000 Tobias Oetiker e todos os Contribuintes do LShort. Todos os direitos reservados. Este documento ´ software livre; vocˆ pode redistribu´ e/ou modific´-lo de e e ı-lo a acordo com os termos da Licen¸a P´blica da GNU como publicado pela Free Softc u ware Foundation; vers˜o 2 da Licen¸a, ou (se for sua op¸˜o) qualquer vers˜o posa c ca a terior. Este documento ´ distribuido no desejo de que ele seja util, mas SEM QUALe ´ QUER GARANTIA; sem mesmo qualquer garantia de VALOR MERCANTIL ou ˜ de APTIDAO PARA QUALQUER FINALIDADE. Veja a Licen¸a P´blica da GNU c u para mais detalhes. Vocˆ deve receber uma c´pia da Licen¸a P´blica GNU com este documento; se e o c u n˜o, escreva para Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA a 02139, USA. Agradecimentos! Muito material usado nesta introdu¸˜o ´ original de uma introdu¸˜o Ausca e ca A X 2.09 escrita em Alem˜o por: tr´ ıaca ao L TE a Hubert Partl Zentraler Informatikdienst der Universit¨t f¨r Bodenkultur Wien a u Irene Hyna Bundesministerium f¨r Wissenschaft und Forschung Wien u Elisabeth Schlegl in Graz Se vocˆ est´ interessado no documento em Alem˜o, vocˆ poder´ encone a a e a A tr´-lo atualizado para o L TEX 2ε por J¨rg Knappen em a o CTAN:/tex-archive/info/lshort/german Enquanto preparava este documento, procurei por revisores em comp.text.tex, e recebi v´rias respostas. As seguintes pessoas ajudaram com corre¸˜es, sua co gest˜es e materiais para melhorar este documento. Eles tiveram um grande o trabalho para me ajudar a obter este documento no padr˜o atual. Eu gosa taria de agradecer a todos eles. Naturalmente, todos os erros que vocˆ e encontrar neste livro s˜o meus. Se vocˆ encontrar uma palavra que esteja a e corretamente escrita, pode ser o resultado de alguma destas pessoas que me ajudaram. iv Agradecimentos! Rosemary Bailey, Friedemann Brauer, Jan Busa, Markus Br¨hwiler, u David Carlisle, Jos´ Carlos Santos, Mike Chapman, e Christopher Chin, Carl Cerecke, Chris McCormack, Wim van Dam, Jan Dittberner, Michael John Downes, David Dureisseix, Elliot, David Frey, Robin Fairbairns, J¨rg— Fischer, Erik Frisk, Frank, o Kasper B. Graversen, Alexandre Guimond, Cyril Goutte, Greg Gamble, Neil Hammond, Rasmus Borup Hansen, Joseph Hilferty, Bj¨rn Hvittfeldt, Martien Hulsen, Werner Icking, o Jakob, Eric Jacoboni, Alan Jeffrey, Byron Jones, David Jones, Johannes-Maria Kaltenbach, Michael Koundouros, Andrzej Kawalec, Alain Kessi, Christian Kern, J¨rg Knappen, Kjetil Kjernsmo, o Maik Lehradt, Alexander Mai, Martin Maechler, Aleksandar S Milosevic, Claus Malten, Kevin Van Maren, Lenimar Nunes de Andrade, Hubert Partl, John Refling, Mike Ressler, Brian Ripley, Young U. Ryu, Bernd Rosenlecher, Chris Rowley, Hanspeter Schmid, Craig Schlenter, Christopher Sawtell, Geoffrey Swindale, Josef Tkadlec, Didier Verna, Fabian Wernli, Carl-Gustav Werner, David Woodhouse, Chris York, Fritz Zaucker, Rick Zaccone, Mikhail Zotov, Gustavo Eulalio e Leonardo Pinheiro Pref´cio a A L TEX [1] ´ um sistema de processamento de textos muito usado para proe duzir documentos cient´ ıficos e matem´ticos de alta qualidade tipogr´fica. a a O sistema tamb´m ´ util para produzir v´rios outros tipos de documentos, e e´ a A desde simples cartas at´ livros completos. L TEX usa o TEX [2] como seu e mecanismo de formata¸˜o. ca A Esta breve introdu¸˜o descreve o L TEX 2ε e pode ser o suficiente para ca A a maioria das aplica¸˜es do L TEX. Consulte o [1, 3] para uma descri¸˜o co ca A X. completa do sistema L TE A L TEX est´ dispon´ para a maioria dos computadores, desde os micros a ıvel PC e Mac, at´ os sistemas UNIX e VMS. Em muitas redes de computador e A nas universidades vocˆ ir´ encontrar uma instala¸˜o do L TEX dispon´ e a ca ıvel pronta para usar. Informa¸˜es sobre como acessar a instala¸˜o local do co ca A L TEX pode ser obtida no Local Guide [4]. Se vocˆ tiver algum problema para e A come¸ar a trabalhar com L TEX, pergunte para a pessoa que te forneceu este c manual. O escopo deste documento n˜o ´ ensin´-lo a instalar e configurar a e a A um sistema L TEX, mas sim ensin´-lo como escrever seus documentos de a A forma que possam ser processados pelo L TEX. Esta introdu¸˜o se extende por 6 cap´ ca ıtulos: A Cap´ ıtulo 1 ensina sobre as estruturas b´sicas dos documentos L TEX 2ε . a A Vocˆ tamb´m ir´ aprender um pouco da hist´ria do L TEX. Ap´s ler e e a o o este cap´ ıtulo, vocˆ ter´ uma breve no¸˜o do que ´ o L TEX. Esta no¸˜o e a ca e A ca ser´ um pouco vaga, mas ela ir´ permiti-lo integrar a informa¸˜o dos a a ca outros cap´ ıtulos para formar uma no¸˜o completa. ca Cap´ ıtulo 2 trata dos detalhes do processamento de seus documentos. Ele A explica os comandos e ambientes mais essenciais do L TEX. Depois de ler este cap´ ıtulo, vocˆ estar´ apto a escrever seus primeiros documene a tos. A Cap´ ıtulo 3 explica como processar f´rmulas com o L TEX. Novamente, o v´rios exemplos ir˜o ajud´-lo a entender como usar um dos principais a a a A recursos do L TEX. No fim deste cap´ ıtulo, vocˆ ir´ encontrar tabelas, e a A listando todos os s´ ımbolos matem´ticos dispon´ a ıveis no L TEX. vi Pref´cio a Cap´ ıtulo 4 explica a cria¸˜o de ´ ca ındices e bibliografias, inclus˜o de gr´ficos a a EPS, e algumas outras extens˜es uteis. o ´ Cap´ ıtulo 5 cont´m informa¸˜es potencialmente perigosas sobre como fazer e co A altera¸˜es no layout padr˜o do documento produzido pelo L TEX. Ele co a A ir´ dizer como mudar as coisas quando os elegantes resultados do L TEX a se parecem um pouco ruins. Cap´ ıtulo 6 apresenta alguns comandos b´sicos para a cria¸˜o de figuras a ca A usando o L TEX 2ε . Este cap´ ıtulo foi acrescentado apenas na vers˜o a para o portuguˆs. e ´ E importante ler os cap´ ıtulos em uma ordem seq¨ˆncial. Afinal, o livro n˜o ue a ´ t˜o grande assim. Certifique-se de ler cuidadosamente os exemplos, pois e a grande parte da informa¸˜o est´ contida nos v´rios exemplos que vocˆ ir´ ca a a e a encontrar no livro. A Se vocˆ precisar de algum material de apoio referente ao L TEX, dˆ uma e e olhada em um dos sites do Comprehensive TEX Archive Network (CTAN). O site est´ em http://www.ctan.org. Todos os pacotes podem ser obtidos a do FTP ftp://www.ctan.org. Existem v´rios servidores em todo o mundo. a Eles podem ser encontrados, por exemplo, em ftp://ctan.tug.org (EUA), ftp://ftp.dante.de (Alemanha), ftp://ftp.tex.ac.uk (Reino Unido). Se vocˆ n˜o est´ em nenhum destes pa´ e a a ıses, escolha o servidor mais perto de vocˆ. e Vocˆ ir´ encontrar referˆncias ao CTAN por todo o livro. Especialmente e a e apontadores para software e documentos que vocˆ possa obter por download. e 1 completos, eu apenas escrevi CTAN: seguido Ao inv´s de escrever os URLs e da localiza¸˜o do arquivo dentro dos diret´rios (ou pastas) do servidor da ca o CTAN. A Se vocˆ quer usar o L TEX em seu computador, verifique em quais sistee mas ele est´ dispon´ em CTAN:/tex-archive/systems. a ıvel N.T.: nome dado aos endere¸os na internet, URL = Universal Resource Locator c (Localizador Universal de Recursos) 1 vii Se vocˆ tem id´ias de algo que deve ser adicionado, removido ou alterado e e neste documento, por favor, me informe. Estou muito interessado na opini˜o a A X sobre quais partes desta introdu¸˜o s˜o de f´cil dos novos usu´rios do L TE a ca a a compreens˜o e quais poderiam ser melhor explicadas. a Tobias Oetiker Departamento de Engenharia El´trica, e Instituto Federal Sui¸o de Tecnologia c Se vocˆ encontrar algum erro gramatical ou ortogr´fico, ou de qualquer e a outra natureza nesta tradu¸˜o para o portuguˆs, por favor me informe (ao ca e tradutor). Toda ajuda ser´ muito bem vinda. a D´merson Andr´ Polli e e Instituto de Matem´tica e Estat´ a ıstica, Universidade de S˜o Paulo a Este documento ou a sua vers˜o original em inglˆs2 est˜o dispon´ a e a ıveis em CTAN:/tex-archive/info/lshort A vers˜o em portuguˆs pode tamb´m ser obtida em a e e http://www.linux.ime.usp.br/~polli 2 A O t´ ıtulo em inglˆs do livro ´ “The Not So Short L TEX 2ε Introduction” e e Sum´rio a Agradecimentos! Pref´cio a 1 Coisas que Vocˆ Precisa Saber e 1.1 O nome do Jogo . . . . . . . . . . . . . . . . 1.1.1 TEX . . . . . . . . . . . . . . . . . . . A 1.1.2 L TEX . . . . . . . . . . . . . . . . . . 1.2 No¸˜es B´sicas . . . . . . . . . . . . . . . . . co a 1.2.1 Autor, Diagramador, e Editor gr´fico . a 1.2.2 Projeto do Layout . . . . . . . . . . . 1.2.3 Vantagens e Desvantagens . . . . . . . A 1.3 Arquivos de Entrada do L TEX . . . . . . . . 1.3.1 Espa¸os . . . . . . . . . . . . . . . . . c 1.3.2 Caracteres Especiais . . . . . . . . . . A 1.3.3 Comandos do L TEX . . . . . . . . . . 1.3.4 Coment´rios . . . . . . . . . . . . . . a 1.4 Estrutura do Arquivo de Entrada . . . . . . . 1.5 Uma T´ ıpica Se¸˜o de Linha de Comandos . . ca 1.6 O Layout do Documento . . . . . . . . . . . . 1.6.1 Classes de Documentos . . . . . . . . 1.6.2 Pacotes . . . . . . . . . . . . . . . . . 1.7 Arquivos que vocˆ pode encontrar . . . . . . e 1.7.1 Estilo da P´gina . . . . . . . . . . . . a 1.8 Grandes Projetos . . . . . . . . . . . . . . . . 2 Editando o Texto 2.1 A Estrutura do Texto e Linguagem 2.2 Quebras de Linha e de P´gina . . . a 2.2.1 Par´grafos Justificados . . . a 2.2.2 Hifena¸˜o . . . . . . . . . . ca 2.3 Palavras j´ Prontas . . . . . . . . . a 2.4 Caracteres Especiais e S´ ımbolos . . iii v 1 1 1 1 3 3 3 4 5 5 6 6 7 8 8 10 10 12 12 14 15 17 17 19 19 20 21 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 2.4.1 Aspas . . . . . . . . . . . . . . . 2.4.2 Tra¸os e H´ c ıfens . . . . . . . . . . 2.4.3 Til (∼) . . . . . . . . . . . . . . 2.4.4 S´ ımbolo de Grau (◦) . . . . . . . 2.4.5 Reticˆncias ( . . . ) . . . . . . . . e 2.4.6 Ligaduras . . . . . . . . . . . . . 2.4.7 Acentos e Caracteres Especiais . Suporte a Linguagem Internacional . . . 2.5.1 Suporte para o Alem˜o . . . . . a 2.5.2 Suporte para o Portuguˆs . . . . e O Espa¸o entre as Palavras . . . . . . . c T´ ıtulos, Cap´ ıtulos, e Se¸˜es . . . . . . . co Referˆncias Cruzadas . . . . . . . . . . . e Notas de rodap´ . . . . . . . . . . . . . e Notas laterais . . . . . . . . . . . . . . . Palavras Enfatizadas . . . . . . . . . . . Ambientes . . . . . . . . . . . . . . . . . 2.12.1 Itemizar, Enumerar e Descrever . 2.12.2 Alinhamento do Texto . . . . . . 2.12.3 Cita¸˜es e Versos . . . . . . . . . co 2.12.4 Imprimindo o Texto Diretamente 2.12.5 Tabelas . . . . . . . . . . . . . . Corpos Flutuantes . . . . . . . . . . . . Protegendo Comandos Fr´geis . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (Verbatim) . . . . . . . . . . . . . . . . . . . . . ´ SUMARIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 22 22 23 23 23 24 26 26 27 27 29 30 30 31 31 32 32 33 33 34 36 39 41 41 43 43 47 48 50 51 51 53 54 61 61 63 64 65 66 67 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 3 Editando F´rmulas Matem´ticas o a 3.1 No¸˜es Gerais . . . . . . . . . . . . . . . . . co 3.2 Agrupando em Modo Matem´tico . . . . . . a 3.3 Construindo Blocos de F´rmula Matem´tica o a 3.4 Espa¸amento Matem´tico . . . . . . . . . . c a 3.5 Material Alinhado Verticalmente . . . . . . 3.6 Espa¸o Fantasma (Phantom) . . . . . . . . c 3.7 Tamanho da Fonte em Modo Matem´tico . a 3.8 Teoremas, Leis, . . . . . . . . . . . . . . . . 3.9 S´ ımbolos real¸ados . . . . . . . . . . . . . . c 3.10 Lista de S´ ımbolos Matem´ticos . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Recursos Adicionais 4.1 Inclu´ ındo Gr´ficos EPS . . . . . . . . . . . . . . . . a 4.2 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . 4.3 ´ Indices . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Cabe¸alhos Personalizados (Fancy Headings) . . . . c 4.5 O pacote ‘Verbatim’ . . . . . . . . . . . . . . . . . . A 4.6 Obtendo (Download) e Instalando Pacotes do L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ´ SUMARIO A 5 Personalisando o L TEX 5.1 Novos Comandos, Ambientes e Pacotes . 5.1.1 Novos Comandos . . . . . . . . . 5.1.2 Novos Ambientes . . . . . . . . . 5.1.3 Seu pr´prio Pacote . . . . . . . . o 5.2 Fontes e Tamanhos . . . . . . . . . . . . 5.2.1 Comandos de Mudan¸a de Fonte c 5.2.2 Perigo, Perigo, . . . . . . . . . . . 5.2.3 Conselho . . . . . . . . . . . . . 5.3 Espa¸amento . . . . . . . . . . . . . . . c 5.3.1 Espa¸amento das Linhas . . . . . c 5.3.2 Formatando o Par´grafo . . . . . a 5.3.3 Espa¸o Horizontal . . . . . . . . c 5.3.4 Espa¸o Vertical . . . . . . . . . . c 5.4 Layout da P´gina . . . . . . . . . . . . . a 5.5 Mais Divers˜o com os Tamanhos . . . . a 5.6 Caixas . . . . . . . . . . . . . . . . . . . 5.7 R´guas e Suportes . . . . . . . . . . . . e A 6 Desenhando em L TEX 2ε A 6.1 Algumas no¸˜es sobre figuras em L TEX co 6.2 O ambiente picture . . . . . . . . . . . . 6.3 Objetos gr´ficos . . . . . . . . . . . . . . a 6.3.1 Texto . . . . . . . . . . . . . . . 6.3.2 Boxes . . . . . . . . . . . . . . . 6.3.3 Linhas . . . . . . . . . . . . . . . 6.3.4 Setas . . . . . . . . . . . . . . . . 6.3.5 Pilhas . . . . . . . . . . . . . . . 6.3.6 C´ ırculos . . . . . . . . . . . . . . 6.3.7 Oval . . . . . . . . . . . . . . . . 6.3.8 Curvas de Bezier . . . . . . . . . 6.3.9 Grades . . . . . . . . . . . . . . . xi 69 69 70 71 71 72 72 75 76 76 76 76 77 78 78 81 81 83 85 85 86 87 87 87 88 88 89 89 89 90 90 93 95 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Referˆncias Bibliogr´ficas e a ´ Indice Remissivo Lista de Figuras 1.1 1.2 1.3 4.1 5.1 5.2 Componentes de um Sistema TEX . . . . . . . . . . . . . . . A Um Arquivo L TEX M´ ınimo. . . . . . . . . . . . . . . . . . . . A Exemplo de um Artigo escrito em L TEX. . . . . . . . . . . . . Exemplo de Configura¸˜o fancyhdr. . . . . . . . . . . . . . . . ca Pacote Exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . Parˆmetros do Layout de P´gina. . . . . . . . . . . . . . . . . a a 2 8 9 66 72 79 Lista de Tabelas 1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.1 4.2 5.1 5.2 Classes de Documento. . . . . . . . . . . . . . Op¸˜es das Classes de Documento. . . . . . . co A Alguns dos Pacotes Distribuidos com o L TEX. A X. Os Estilos de P´ginas Predefinidos do L TE a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 13 15 24 26 27 37 54 54 54 55 55 56 56 56 56 57 57 57 57 58 58 59 59 60 60 62 65 73 73 Acentos e Caracteres Especiais. . . . . . . . . . . . . Caracteres Especiais em Alem˜o. . . . . . . . . . . . a Preˆmbulo para Escrever em Portuguˆs. . . . . . . . a e Permiss˜es de Posicionamento de Corpos Flutuantes. o Acentos do Modo Matem´tico. a Letras Gregas Min´sculas. . . . u Letras Gregas Mai´sculas. . . . u Rela¸˜es Bin´rias. . . . . . . . co a Operadores Bin´rios. . . . . . . a Operadores GRANDES. . . . . Setas. . . . . . . . . . . . . . . Delimitadores. . . . . . . . . . Delimitadores Grandes. . . . . S´ ımbolos Diversos. . . . . . . . S´ ımbolos N˜o-Matem´ticos. . . a a Delimitadores AMS. . . . . . . Grego e Hebreu AMS. . . . . . Rela¸˜es Bin´rias AMS. . . . . co a Setas AMS. . . . . . . . . . . . Negativas das Rela¸˜es Bin´rias co a Operadores Bin´rios AMS. . . a S´ ımbolos AMS Diversos. . . . . Alfabetos Matem´ticos. . . . . a . . . . . . . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setas AMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nome das Chaves do Pacote graphicx. . . . . . . . . . . . . . Exemplos da Sintaxe da Chave do ´ Indice. . . . . . . . . . . . Fontes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tamanhos da Fonte. . . . . . . . . . . . . . . . . . . . . . . . xvi 5.3 5.4 5.5 LISTA DE TABELAS Tamanho Absoluto em Pontos nas Classes Padr˜o. . . . . . . a Fontes Matem´ticas. . . . . . . . . . . . . . . . . . . . . . . . a Unidades do TEX. . . . . . . . . . . . . . . . . . . . . . . . . 74 74 78 Cap´ ıtulo 1 Coisas que Vocˆ Precisa e Saber Na primeira parte deste cap´ ıtulo, vocˆ ter´ um pequeno resumo da filosofia e e a A X 2ε . A segunda parte do cap´ hist´ria do LTE o ıtulo est´ focada nas estruturas a A b´sicas de um documento escrito em LTEX. Depois de ler este cap´ a ıtulo, vocˆ e A ter´ algum conhecimento sobre como o LTEX funciona. No prosseguimento da a leitura, isto ir´ ajud´-lo a integrar todas as novas informa¸˜es em uma no¸˜o a a co ca completa. 1.1 1.1.1 O nome do Jogo TEX ´ TEX ´ um programa de computador criado por Donald E. Knuth [2]. E usae do para processamento eletrˆnico de textos e f´rmulas matem´ticas. Knuth o o a come¸ou a escrever o TEX em 1977 para explorar o potencial dos equipamenc tos digitais de impress˜o que come¸avam a se infiltrar nas editoras naquela a c ´poca, especialmente com o desejo de que ele pudesse reverter o processo de e deteriora¸˜o da qualidade tipogr´fica que ele viu afetar seus pr´prios livros ca a o e artigos. O TEX como n´s usamos hoje foi lan¸ado em 1982, com alguns o c recursos adicionados em 1989 para suportar melhor os caracteres de 8-bit e m´ltiplas linguagens. O TEX ´ reconhecido por ser extremamente est´vel, u e a por funcionar em muitos tipos diferentes de computadores e por ser virtualmente livre de erros. O n´mero da vers˜o do TEX est´ convergindo para u a a o π e atualmente ´ a vers˜o 3.14159. TEX ´ pronunciado “T´c.” Em um e a e e ambiente ASCII, TEX se torna TeX. 1.1.2 A L TEX A L TEX ´ um pacote de macros que permite aos autores processar e imprimir e 2 Coisas que Vocˆ Precisa Saber e   copy   ... c editor T     ispell emacs c   .mf .tex  ...   E .log   c METAfont c   c   E TEX E .tfm   AMS-Package A E L T X 2ε Plain c   .pk  .dvi c . . . E driver PostScript xdvi dvips E printer screen E T ' Fonts E' Typesetting Figura 1.1: Componentes de um Sistema TEX seus trabalhos com a mais alta qualidade tipogr´fica, usando um layout proa A X foi originalmente escrito por Leslie Lamport [1]. fissional predefinido. L TE Ele usa o formatador TEX como seu mecanismo de processamento. A A Em 1994 o pacote L TEX foi atualizado pela equipe L TEX3, liderada por Frank Mittelbach, para incluir algumas melhorias a muito requisitadas, e para reunificar todas as atualiza¸˜es de vers˜o que foram lan¸adas desde o co a c A X 2.09 alguns anos atr´s. Para distinguir a nova vers˜o lan¸amento do L TE c a a A da anterior, ela ´ chamada de L TEX 2ε . Esta documenta¸˜o se refere ao e ca A L TEX 2ε . A A L TEX ´ pronunciado “Lay-t´c.” Se vocˆ se referir ao L TEX em um e e e A ambiente ASCII, vocˆ digita LaTeX. L TEX 2ε ´ pronunciado “Lay-tech dois e e ´” e digitado LaTeX2e. e A A figura 1.1 mostra como o TEX e o L TEX 2ε trabalham juntos. Esta figura foi obtida de wots.tex por Kees van der Laan. 1.2 No¸˜es B´sicas co a 3 1.2 1.2.1 No¸oes B´sicas c˜ a Autor, Diagramador, e Editor gr´fico a Para publicar qualquer coisa, autores fornecem seus textos datilografados para uma editora. Um dos diagramadores ent˜o decide o layout do documento a (tamanho das colunas, fontes, espa¸os antes e depois dos t´ c ıtulos, . . . ). O diagramador escreve as instru¸˜es no manuscrito e ent˜o passa este para um co a editor, que ir´ fazer a edi¸˜o gr´fica do livro de acordo com estas instru¸˜es. a ca a co Um diagramador humano tenta descobrir o que o autor tinha em mente quando estava escrevendo o manuscrito. Ele decide os t´ ıtulos dos cap´ ıtulos, cita¸˜es, exemplos, f´rmulas, etc. baseado em seu conhecimento profissional co o e no conte´do do manuscrito. u A A Em um ambiente L TEX, o L TEX toma o lugar do diagramador e usa A o TEX para a edi¸˜o gr´fica. Mas o L TEX ´ “apenas” um programa e ca a e deste modo precisa receber mais informa¸˜es. O autor tem que fornecer co informa¸˜es adicionais que descrevem a estrutura l´gica de seu trabalho. co o A Esta informa¸˜o ´ escrita no texto como “comandos L TEX”. ca e Isto ´ completamente diferente da metodologia WYSIWYG1 que muie tos dos processadores modernos como o MS Word ou o Corel WordPerfect usam. Com estes programas, os autores especificam o layout do documento interativamente enquanto digitam o texto no computador. A todo o momento, eles podem ver no monitor o resultado que ser´ impresso no final do a trabalho. A Quando usamos o L TEX, normalmente n˜o ´ poss´ a e ıvel ver o resultado final enquanto digitamos o texto. Mas o resultado pode ser visto no monitor A depois de processado com o L TEX. Ent˜o podem ser feitas corre¸˜es no a co texto antes de envi´-lo para a impressora. a 1.2.2 Projeto do Layout Autores inexperiˆntes freq¨ˆntemente cometem s´rios erros de formata¸˜o e ue e ca do texto pois assumem que o projeto do livro na maior parte ´ uma quest˜o e a de est´tica—“Se um documento se parece bom artisticamente, ele est´ bem e a projetado.” Mas um documento precisa ser lido e n˜o pendurado em uma a galeria de quadros, a legibilidade e inteligibilidade ´ de muito maior ime portˆncia do que a beleza do livro. Exemplos: a • O tamanho da fonte e a numera¸˜o dos t´ ca ıtulos precisam ser escolhidos de modo que a estrutura dos cap´ ıtulos e das se¸˜es fiquem claras ao co leitor. N.T: do inglˆs What you see is what you get, que significa, o Que Vocˆ Vˆ ´ o Que e e ee Vocˆ Tem. e 1 4 Coisas que Vocˆ Precisa Saber e • O comprimento da linha precisa ser suficientemente pequeno para n˜o a cansar os olhos do leitor, mas grande o suficiente para preencher a p´gina elegantemente. a Com os sistemas WYSIWYG, autores geralmente criam documentos com uma est´tica agrad´vel mas com pouca estrutura ou com uma estrutura e a A inconsistente. O L TEX evita estes erros de formata¸˜o de texto, for¸ando o ca c A X ent˜o escolhe autor a declarar a estrutura l´gica de seu documento. O L TE o a o layout mais adequado. 1.2.3 Vantagens e Desvantagens Quando as pessoas do mundo WYSIWYG encontram as pessoas que usam A A o L TEX, eles geralmente discutem “as vantagens do L TEX em rela¸˜o a um ca processador de textos normal” ou o contr´rio. A melhor coisa que vocˆ pode a e fazer quando uma discuss˜o como esta se inicia ´ n˜o argumentar muito, a e a pois estas discuss˜es geralmente saem do controle. Mas `s vezes vocˆ n˜o o a e a consegue escapar . . . A Ent˜o eis alguma muni¸˜o. As principais vantagens do L TEX sobre um a ca processador de textos normal s˜o as seguintes: a • Est˜o dispon´ a ıveis layouts profissionalmente criados, que deixam um documento realmente com uma aparˆncia de texto “de gr´fica.” e a • O processamento de f´rmulas matem´ticas ´ suportado de uma mao a e neira extremamente conveniente. • Os usu´rios apenas precisam aprender alguns poucos comandos de f´cil a a compreens˜o que especificam a estrutura l´gica de um documento. a o Eles quase nunca precisam se preocupar com o layout do documento. • At´ mesmo estruturas complexas como notas de rodap´, referˆncias, e e e ´ ındices, e bibliografias podem ser criados facilmente. • Existem pacotes de atualiza¸˜o gr´tis para muitas das tarefas que ca a A n˜o s˜o suportados pelo L TEX b´sico. Por exemplo, est˜o dispon´ a a a a ıveis pacotes para incluir gr´ficos PostScript ou para criar bibliografias a em conformidade com algum padr˜o ou norma. Muitos destes pacotes a A de atualiza¸˜o est˜o descritos em The L TEX Companion [3]. ca a A • O L TEX encoraja os autores a escrever textos bem estruturados, por A que ´ assim que o L TEX funciona—por especifica¸˜o de estrutura. e ca A • O TEX, o mecanismo de formata¸˜o do L TEX 2ε , ´ extremamente ca e port´vel e gratuito. Conseq¨ˆntemente o sistema funciona em quaa ue se todas as plataformas de hardware dispon´ ıveis. A 1.3 Arquivos de Entrada do L TEX 5 A L TEX tamb´m possui algumas desvantagens, e eu confesso que ´ um pouco e e dif´ para mim encontrar alguma que seja importante, mas eu tenho certeza ıcil que outras pessoas ir˜o te dizer centenas delas ;-) a A • L TEX n˜o funciona muito bem com as pessoas que venderam a sua a alma . . . • Embora alguns parˆmetros possam ser ajustados em um layout de a documento predefinido, o desenvolvimento de um layout inteiramente novo ´ dif´ e demanda muito tempo.2 e ıcil ´ • E muito dif´ escrever documentos desestruturados e desorganizados. ıcil • Seu hamster pode, apesar de alguns passos iniciais encorajadores, nunca ser capaz de entender o conceito dos “Marcadores L´gicos”. o 1.3 A Arquivos de Entrada do L TEX A A entrada para o L TEX ´ um arquivo de texto em ASCII. Vocˆ pode cri´-lo e e a com qualquer editor de textos. Ele cont´m o texto do documento e tamb´m e e A os comandos que ir˜o dizer ao L TEX como processar o texto. a 1.3.1 Espa¸os c Caracteres de “espa¸amento” como o espa¸o ou a tabula¸˜o s˜o tratados unic c ca a A X. Muitos caracteres de espa¸amento formemente como “espa¸o” pelo L TE c c consecutivos s˜o tratados como apenas um “espa¸o”. Espa¸amento no in´ a c c ıcio de uma linha ´ geralmente ignorado, e uma quebra de linha ´ tratada como e e um “espa¸o”. c Uma linha em branco entre duas linhas de texto define o fim de um par´grafo. Muitas linhas em branco juntas s˜o tratadas como se fosse uma a a unica linha em branco. O texto abaixo ´ um exemplo. Do lado esquerdo ´ e est´ o texto do arquivo de entrada, e do lado direito est´ o texto formatado. a a N~o importa se voc^ escreve um a e ou muitos espa¸os c depois de uma palavra. Uma linha em branco inicia um novo par´grafo. a N˜o importa se vocˆ escreve um ou muitos a e espa¸os depois de uma palavra. c Uma linha em branco inicia um novo par´grafo. a Existem rumores que este ´ um dos elementos principais que ser˜o melhorados no e a A futuro L TEX3. 2 6 Coisas que Vocˆ Precisa Saber e 1.3.2 Caracteres Especiais Os seguintes s´ ımbolos s˜o caracteres reservados que ou possuem um signia A X ou n˜o est˜o dispon´ ficado especial no L TE a a ıveis para todos os tipos de fontes. Se vocˆ digit´-los diretamente em seu texto, eles normalmente n˜o e a a A X fa¸a coisas que vocˆ n˜o ser˜o impressos mas ir˜o fazer com que o L TE a a c e a quer. # $ % ^ & _ { } ~ \ Como vocˆ ver´, estes caracteres podem ser usados em seus documentos e a apenas adicionando uma barra invertida como prefixo: #$%ˆ& {}˜ \# \$ \% \^{} \& \_ \{ \} \~{} Os outros s´ ımbolos e muitos outros podem ser impressos por meio de comandos especiais nas f´rmulas matem´ticas ou nos acentos. O caracter o a barra invertida \ n˜o pode ser produzido adicionando outra barra invertida a na frente (\\), esta seq¨ˆncia ´ usada para quebras de linha.3 ue e 1.3.3 A Comandos do L TEX A Os comandos do L TEX diferem mai´sculas de min´sculas e segue um dos u u dois formatos: • Eles come¸am com uma barra invertida \ e possuem um nome que c consiste apenas em letras. Os nomes dos comandos s˜o terminados a por um espa¸o, um n´mero ou qualquer outro caracter que ‘n˜o seja c u a letra’. • Eles consistem de uma barra invertida e exatamente um caracter especial. A O L TEX ignora os espa¸amentos ap´s os comandos. Se vocˆ deseja obter c o e um espa¸o ap´s um comando, vocˆ precisa digitar {} seguido de um espa¸o c o e c ou um comando especial de espa¸amento ap´s o comando. O {} faz com c o A que o L TEX pare de ignorar os espa¸os ap´s o nome dos comandos. c o Eu li que o Knuth divide as pessoas que trabalham com o \TeX{} em \TeX{}nicos e \TeX perts.\\ Hoje ´ \today. e 3 Eu li que o Knuth divide as pessoas que trabalham com o TEX em TEXnicos e TEXperts. Hoje ´ 18 de setembro de 2002. e O comando $\backslash$ produz uma ‘\’. A 1.3 Arquivos de Entrada do L TEX 7 Alguns comandos precisam de um parˆmetro que deve ser fornecido entre a chaves { } ap´s o nome do comando. Alguns comandos aceitam parˆmetros o a opcionais que s˜o fornecidos ap´s o nome do comando entre colchetes [ ]. a o A Os pr´ximos exemplos usam alguns comandos do L TEX. N˜o se preocupe o a com eles, eles ser˜o explicados posteriormente. a Voc^ pode \textsl{inclinar-se} sobre mim! e pode inclinar-se sobre mim! e Vocˆ Por favor, inicie uma nova linha bem aqui!\newline Obrigado! Por favor, inicie uma nova linha bem aqui! Obrigado! 1.3.4 Coment´rios a A Quando o L TEX encontra um caracter % , ele ignora o restante da linha, a quebra de linha, e todos os espa¸amentos no in´ da pr´xima linha. c ıcio o Isto pode ser usado para escrever notas no arquivo de entrada, que n˜o a ser˜o impresso. a Este ´ um % exemplo idiota e % Melhor: instrutivo <---exemplo: Supercal% ifragilist% icexpialidocious Este ´ um exemplo: Supercalifragilisticexpie alidocious O caracter % pode tamb´m ser usado para quebrar longas linhas quando e n˜o s˜o permitidos espa¸amentos e nem quebras de linha. a a c Para coment´rios longos vocˆ pode usar o ambiente comment definido no a e pacote verbatim. Ou seja, para usar o ambiente comment vocˆ precisa adicioe nar o comando \usepackage{verbatim} ao prˆambulo4 do seu documento. e Este ´ outro e \begin{comment} bem idiota, mas ´til u \end{comment} exemplo de inser¸~o de ca coment´rios em seus documentos. a Este ´ outro exemplo de inser¸˜o de coe ca ment´rios em seus documentos. a Note que isto n˜o funciona em ambientes complexo, como o matem´tico a a por exemplo. 4 A ´rea entre \documentclass e \begin{document} ´ chamada preˆmbulo. a e a 8 Coisas que Vocˆ Precisa Saber e 1.4 Estrutura do Arquivo de Entrada A Quando o L TEX 2ε processa um arquivo de entrada, ele espera seguir uma certa estrutura. Ent˜o todo arquivo de entrada precisa come¸ar com o a c comando \documentclass{...} Isto especifica que tipo de documento vocˆ pretende escrever. Ap´s isso, e o vocˆ pode incluir comandos que influenciam o estilo de todo o documento, e ou vocˆ pode carregar os pacotes que adicionam novos recursos ao sistema e A L TEX. Para carregar um pacote vocˆ deve usar o comando e \usepackage{...} Quando toda a configura¸˜o estiver conclu´ ca ıda, vocˆ deve iniciar o corpo e do texto com o comando \begin{document} A Agora vocˆ digita o texto misturado com alguns comandos L TEX. No e final do documento vocˆ adiciona o comando e \end{document} A que diz ao L TEX para terminar o processamento. Qualquer coisa que siga A este comando ser´ ignorado pelo L TEX. a A A figura 1.2 mostra o conte´do de um arquivo L TEX 2ε m´ u ınimo. Um arquivo de entrada um pouco mais complicado ´ dado na figura 1.3. e 1.5 Uma T´ ıpica Se¸ao de Linha de Comandos c˜ Eu acredito que vocˆ deve estar curioso para ver como ficar´ a impress˜o e a a A X mostrado abaixo.Aqui vai uma ajuda: O L T X A do pequeno arquivo L TE E n˜o vem com uma Interface Gr´fica (GUI) ou bot˜es bonitinhos para presa a o sionar. Ele ´ apenas um programa que processa seu arquivo de entrada. e A Algumas instala¸˜es do L TEX possuem uma interface gr´fica onde vocˆ poco a e A de clicar para que o L TEX compile seu arquivo de entrada. Mas Homem que \documentclass{article} \begin{document} Pequeno ´ elegante. e \end{document} A Figura 1.2: Um Arquivo L TEX M´ ınimo. 1.5 Uma T´ ıpica Se¸˜o de Linha de Comandos ca A ´ Homem n˜o Clica, ent˜o aqui est˜o os passos para que vocˆ fa¸a o L TEX e a a a e c compilar seu arquivo de entrada em um ambiente baseado em texto (como o prompt do DOS ou o X-Terminal do UNIX, por exemplo). Note que esta A descri¸˜o assume que j´ existe uma instala¸˜o do L TEX funcionando em seu ca a ca computador. A 1. Edite/Crie seu arquivo de entrada L TEX. Este arquivo precisa conter texto ASCII puro. No UNIX todos os editores ir˜o criar este tipo a de arquivo. No WINDOWS vocˆ precisa se certificar que gravou o e arquivo em ASCII ou no formato Somente Texto. Quando digitar o nome no arquivo esteja certo de ter colocado a extens˜o .tex. a A 2. Execute o L TEX em seu arquivo de entrada. Se o processamento terminar com sucesso vocˆ ter´ um arquivo .dvi. e a 9 latex foo.tex 3. Agora vocˆ pode ver o arquivo DVI. e xdvi foo.dvi ou convertˆ-lo para PS e dvips -Pcmz foo.dvi -o foo.ps \documentclass[a4paper,11pt]{article} % define the title \author{H.~Partl} \title{Minimalismo} \begin{document} % generates the title \maketitle % insert the table of contents \tableofcontents \section{Start} Bem, aqui se inicia meu querido artigo. \section{End} \ldots{} e aqui ele termina. \end{document} A Figura 1.3: Exemplo de um Artigo escrito em L TEX. 10 Coisas que Vocˆ Precisa Saber e xdvi e dvips s˜o ferramentas de c´digo aberto para a manipula¸˜o de a o ca arquivos .dvi. O primeiro exibe os DVIs no monitor em um ambiente X11 e o outro cria um arquivo PostScript para impress˜o. Se vocˆ a e n˜o est´ trabalhando em um sistema UNIX, outros comandos para a a A manipular os arquivos .dvi existir˜o. Uma vers˜o do L TEX para a a WINDOWS pode ser obtida no site http://home.germany.net/100-122054/texwin.htm. 1.6 1.6.1 O Layout do Documento Classes de Documentos A A primeira informa¸˜o que o L TEX precisa quando processa um arquivo ´ o ca e tipo de documento que o autor quer criar. Isto ´ especificado com o comando e \documentclass. \documentclass[op¸˜es]{classe} co Onde classe especifica o tipo de documento a ser criado. A tabela 1.1 lista as classes de documento explicadas nesta introdu¸˜o. A distribui¸˜o L TEX 2ε ca ca A define classes adicionais para outros documentos, incluindo cartas e slides. O parˆmetro op¸˜es padroniza o comportamento das classes de documento. a co As op¸˜es precisam ser separadas por v´ co ırgula. As op¸˜es mais comuns para co as classes de documento padr˜o est˜o listadas na tabela 1.2. a a A Exemplo: Um arquivo de entrada para um documento L TEX poderia come¸ar com a seguinte linha c \documentclass[11pt,twoside,a4paper]{article} Tabela 1.1: Classes de Documento. article para artigos em revistas cient´ ıficas, apresenta¸˜es, pequenos co relat´rios, documenta¸˜o de programas, convites, . . . o ca report para relat´rios maiores contendo v´rios cap´ o a ıtulos, pequenos livros, teses de doutorado, . . . book para livros slides para slides. A classe usa grandes letras sans serif. Pode ser preferivel o uso do FoilTEXa ao inv´s desta classe. e a CTAN:/tex-archive/macros/latex/contrib/supported/foiltex 1.6 O Layout do Documento 11 Tabela 1.2: Op¸˜es das Classes de Documento. co 10pt, 11pt, 12pt Ajusta o tamanho da fonte principal do documento. Se nenhuma op¸˜o for especificada, ´ assumido 10pt. ca e a4paper, letterpaper, . . . Define o tamanho do papel. O tamanho padr˜o ´ letterpaper. Al´m destes, a5paper, b5paper, a e e executivepaper, e legalpaper podem ser especificados. fleqn Exibe as f´rmulas alinhadas ` esquerda ao inv´s de o a e centraliz´-las. a leqno Coloca a numera¸˜o de f´rmulas no lado esquerdo ao inv´s do ca o e lado direito. titlepage, notitlepage Especifica se deve ou n˜o ser iniciada uma a nova p´gina ap´s o t´ a o ıtulo do documento. Por padr˜o, a classe a article n˜o inicia uma nova p´gina, enquanto que as classes a a report e book iniciam. A onecolumn, twocolumn Instrui o L TEX a criar os documentos em colunas simples ou em colunas duplas. twoside, oneside Especifica quando deve ser gerada uma sa´ em ıda p´ginas duplas ou p´ginas unicas. Por padr˜o, as classes article a a ´ a e report geram sa´ ıdas em p´ginas unicas e a classe book gera a ´ p´ginas duplas. Note que esta op¸˜o diz respeito apenas ao estilo a ca do documento. A op¸˜o twoside n˜o diz para a impressora ca a imprimir os dois lados do papel. openright, openany Faz com que os cap´ ıtulos comecem somente nas p´ginas da direita ou na pr´xima p´gina dispon´ a o a ıvel. Esta op¸˜o n˜o funciona com a classe article, pois nela n˜o existe a ca a a defini¸˜o de cap´ ca ıtulo. A classe report come¸a por padr˜o os c a cap´ ıtulos na pr´xima p´gina dispon´ e a classe book come¸a o a ıvel c sempre os cap´ ıtulos nas p´ginas da direita. a 12 Coisas que Vocˆ Precisa Saber e A que informa o L TEX para criar um documento do tipo article com a fonte base do tamanho de onze pontos, para impress˜o em p´ginas duplas em papel a a A4. 1.6.2 Pacotes Enquanto escreve seu documento, vocˆ provavelmente descobrir´ algumas e a A X b´sico n˜o poder´ resolver seu problema. Se vocˆ quer a ´reas onde o L TE a a a e inserir gr´ficos, texto colorido ou c´digo fonte de um arquivo em seu docua o A mento, vocˆ precisa aumentar as capacidades do L TEX. Estas capacidades e extras s˜o chamadas de pacotes. Pacotes s˜o ativados com o comando a a \usepackage[op¸˜es]{pacote} co onde pacote ´ o nome do pacote e op¸˜es s˜o a lista de palavras chaves e co a que acionam recursos especiais no pacote. Alguns pacotes vem com a disA tribui¸˜o b´sica do L TEX 2ε (Veja a Tabela 1.3). Outros s˜o fornecidos ca a a separadamente. Vocˆ pode encontrar mais informa¸˜es sobre os pacotes inse co talados consultando o Local Guide [4]. A melhor fonte de informa¸˜o sobre ca A A os pacotes do L TEX ´ o The L TEX Companion [3]. Este cont´m a descri¸˜o e e ca de centenas de pacotes com informa¸˜es sobre como escrever suas pr´prias co o A extens˜es para o L TEX 2ε . o 1.7 Arquivos que vocˆ pode encontrar e A Quando vocˆ trabalha com o L TEX, vocˆ logo se ver´ num labirinto de are e a quivos com v´rias extens˜es e provavelmente nenhum significado. Abaixo a o temos uma lista dos v´rios tipos de arquivos que vocˆ pode encontrar quana e do trabalha com o TEX. Note que esta tabela n˜o pretende ser uma lista a completa de extens˜es de arquivo, mas se vocˆ encontrar alguma que est´ o e a faltando e que vocˆ ache importante, por favor, me informe. e A .tex Arquivo de entrada do L TEX ou do TEX. Pode ser compilado com o latex. A .sty Pacote de Macros L TEX. Este ´ um arquivo que vocˆ pode usar em e e A X com o comando \usepackage. seu documento L TE .dtx Arquivo TEX Documentado. Esta ´ o principal formato para distrie A bui¸˜o de macros do L TEX. Se vocˆ processa um arquivo .dtx vocˆ ca e e A obt´m um c´digo documentado das macros do pacote L TEX contido e o no arquivo .dtx. 1.7 Arquivos que vocˆ pode encontrar e 13 A Tabela 1.3: Alguns dos Pacotes Distribuidos com o L TEX. A doc Permite a documenta¸˜o dos programas L TEX. ca a e em The L T X Companion [3]. A Descrito em doc.dtx E exscale Define vers˜es escalares das fontes matem´ticas. o a Descrito em ltexscale.dtx. A fontenc Especifica qual tabela de caracteres o L TEX dever´ usar. a Descrito em ltoutenc.dtx. ifthen Define comandos da forma ‘if . . . then do . . . otherwise do . . . .’ A Descrito em ifthen.dtx e em The L TEX Companion [3]. A latexsym Para acessar o fonte de s´ ımbolos do L TEX, vocˆ deve e usar o pacote latexsym. Descrito em latexsym.dtx e em A The L TEX Companion [3]. makeidx Define comandos para a produ¸˜o de ´ ca ındices. Descrito A X Companion [3]. na se¸˜o 4.3 e em The L TE ca syntonly Processa um documento sem gerar uma sa´ ıda. Usado para verifica¸˜o de erros. ca inputenc Permite a especifica¸˜o das tabelas de caracteres ASCII, ca ISO Latin-1, ISO Latin-2, p´ginas de c´digo 437/850 IBM, a o Apple Macintosh, Next, ANSI-Windows ou alguma tabela definida pelo usu´rio. Descrito em inputenc.dtx. a Este arquivo deve estar instalado em seu sistema, e vocˆ pode obter uma e c´pia do dvi digitando latex doc.dtx em qualquer diret´rio que vocˆ tiver o o e permiss˜o de escrita. O mesmo ´ verdade para todos os outros arquivos mena e cionados nesta tabela. a 14 Coisas que Vocˆ Precisa Saber e ´ .ins E o instalador para os arquivos contidos no .dtx correspondente. Se A vocˆ fizer o download de um pacote L TEX na internet, vocˆ provae e A X no velmente ir´ obter um arquivo .dtx e um .ins. Execute o L TE a arquivo .ins para descompactar o arquivo .dtx. .cls Arquivo das classes, define a aparˆncia de seu documento. Eles s˜o e a selecionados com o comando \documentclass. A Os seguintes arquivos s˜o gerados quando vocˆ executa o L TEX em seu a e arquivo de entrada: .dvi Arquivo Independente de Dispositivo. Este ´ o resultado principal de e uma compila¸˜o L TEX. Vocˆ pode ver o conte´do destes arquivos ca A e u usando um programa visualizador de DVI ou vocˆ pode envi´-lo para e a uma impressora usando o dvips ou uma aplica¸˜o similar. ca .log Fornece um relat´rio detalhado sobre o que ocorreu durante a ultima o ´ compila¸˜o. ca .toc Armazena todos os t´ ıtulos de se¸˜es. Este arquivo ser´ lido na pr´xima co a o compila¸˜o e ´ usado para produzir o ´ ca e ındice. .lof Este ´ igual ao .toc mas para a lista de figuras. e .lot E novamente outro igual para a lista de tabelas. .aux Outro arquivo que transporta as informa¸˜es entre uma compila¸˜o co ca e outra. Entre outras coisas, o arquivo .aux ´ usado para armazenar e informa¸˜es associadas com as referˆncias cruzadas. co e A .idx Se seu documento cont´m um ´ e ındice remissivo, o L TEX armazena todas as palavras que ir˜o para o ´ a ındice remissivo neste arquivo. Processe este arquivo com o programa makeindex. Leia a se¸˜o 4.3 na p´gina ca a 64 para mais informa¸˜es sobre como criar o ´ co ındice remissivo. ´ .ind E o arquivo .idx j´ processado, pronto para a inclus˜o em seu docua a mento na pr´xima compila¸˜o. o ca .ilg Arquivo de relat´rio que diz o que o makeindex fez. o 1.7.1 Estilo da P´gina a A O L TEX suporta trˆs combina¸˜es predefinidas de cabe¸alho/rodap´ — e co c e chamadas de estilos de p´gina. O parˆmetro estilo do comando a a \pagestyle{estilo} define qual deles usar. A tabela 1.4 lista os estilos de p´gina predefinidos. a 1.8 Grandes Projetos ´ E poss´ mudar o estilo da p´gina atual com o comando ıvel a \thispagestyle{estilo} 15 Uma descri¸˜o de como criar seus pr´prios cabe¸alhos e rodap´s pode ca o c e A ser encontrado em The L TEX Companion [3] e na se¸˜o 4.4 na p´gina 65. ca a 1.8 Grandes Projetos Quando vocˆ trabalha em grandes documentos, vocˆ pode dividir o arquivo e e A X possui dois comandos para ajud´-lo a principal em v´rias partes. O L TE a a fazer isso. \include{arquivo} vocˆ pode usar este comando no corpo do documento para inserir o conte´do e u A de outro arquivo chamado arquivo.tex. Note que o L TEX ir´ iniciar uma nova a p´gina antes de processar o material contido em arquivo.tex. a O segundo comando pode ser usado no preˆmbulo. Ele permite que a A vocˆ informe ao L TEX para inserir apenas alguns dos arquivos inclu´ e ıdos pelo comando \include. \includeonly{arquivo,arquivo, . . . } Depois que este comando for executado no preˆmbulo do documento, a somente os comandos \include para os arquivos que est˜o listados no argua mento do comando \includeonly ser˜o executados. Note que n˜o existem a a espa¸os entre os nomes de arquivos e as v´ c ırgulas. O comando \include inicia a formata¸˜o do texto que foi inclu´ ca ıdo, em uma nova p´gina. Isto ´ util quando vocˆ usa \includeonly, porque as a e ´ e A Tabela 1.4: Os Estilos de P´ginas Predefinidos do L TEX. a plain imprime os n´meros das p´ginas no fim da p´gina, no centro do u a a rodap´. Este ´ o estilo padr˜o. e e a headings imprime o t´ ıtulo do cap´ ıtulo atual e o n´mero da p´gina no u a cabe¸alho em cada p´gina, enquanto que o rodap´ fica vazio. (Este c a e ´ o estilo usado neste documento) e empty deixa tanto o cabe¸alho como o rodap´ vazios. c e 16 Coisas que Vocˆ Precisa Saber e quebras de p´ginas n˜o ir˜o se mover, a n˜o ser que algum arquivo inclu´ a a a a ıdo seja omitido. Algumas vezes isso pode n˜o ser o desejado. Neste caso, vocˆ a e pode usar o comando \input{arquivo} Ele simplesmente inclui o arquivo especificado. N˜o executa mais nenhuma a a¸˜o. ca A Para fazer o L TEX checar rapidamente seu documento vocˆ pode usar e A o pacote syntonly. Ele faz com que o L TEX processe seu documento apenas verificando a sintaxe e o uso dos comandos, n˜o produz qualquer sa´ a ıda A (DVI). Como o L TEX trabalha mais r´pido neste modo vocˆ ir´ economizar a e a um bom tempo. O uso ´ muito simples: e \usepackage{syntonly} \syntaxonly Quando vocˆ quiser produzir as p´ginas, apenas comente a segunda linha e a (adicionando um sinal de porcentagem). Cap´ ıtulo 2 Editando o Texto Depois de ler o cap´ ıtulo anterior, vocˆ deve conhecer o b´sico sobre como um e a A documento LTEX 2ε ´ feito. Neste cap´ e ıtulo ser´ completado o que vocˆ precisa a e saber para produzir um material realmente profissional. 2.1 A Estrutura do Texto e Linguagem O principal ponto na escrita de um texto (alguma literatura DQC 1 exclu´ ıda), ´ trazer id´ias, informa¸˜o, ou conhecimento para o leitor. O leitor e e ca ir´ entender o texto melhor se estas id´ias estiverem bem-estruturadas, e a e ir´ ver e sentir esta estrutura muito melhor se a forma tipogr´fica refletir a a a estrutura l´gica e semˆntica do contexto. o a A O L TEX ´ diferente dos outros sistemas de editora¸˜o pelo fato de vocˆ e ca e ter que inform´-lo sobre a estrutura l´gica e semˆntica do texto. Este ent˜o a o a a aplica a forma tipogr´fica do texto de acordo com as “regras” definidas no a arquivo de defini¸˜o da classe do documento e em v´rios arquivos de estilo. ca a A X (e na tipografia) ´ o A mais importante unidade de texto no L TE e par´grafo. N´s o chamamos de “unidade de texto” porque um par´grafo ´ a a o a e forma tipogr´fica que deve refletir um pensamento coerente, ou uma id´ia. a e Vocˆ ir´ aprender nas seguintes se¸˜es, como vocˆ pode for¸ar quebras de e a co e c linha com \\ e quebras de par´grafo deixando uma linha vazia no c´digo a o fonte. Entretanto, se um novo pensamento come¸a, um novo par´grafo deve c a come¸ar, e se n˜o, apenas quebras de linhas devem ser usadas. Se estiver c a em d´vida sobre as quebras de par´grafos, pense em seu texto como um u a suporte para id´ias e pensamentos. Se vocˆ tem uma quebra de par´grafo, e e a mas o pensamento anterior continua, ent˜o a quebra deve ser removida. Se a alguma linha de pensamento totalmente nova ocorre no mesmo par´grafo, a ent˜o ele deve ser quebrado. a Muitas pessoas subestimam completamente a importˆncia de quebras a de par´grafos bem colocadas. Muitas pessoas nem mesmo sabem qual o a 1 Diferentes a Qualquer Custo, tradu¸ao do Sui¸o UVA (Um’s Verrecken Anders). c c 18 Editando o Texto A significado que uma quebra de par´grafo tem, ou, especialmente no L TEX, a introduzem quebras de par´grafos sem saber. Este ultimo erro ´ muito a ´ e f´cil de acontecer especialmente se equa¸˜es s˜o usadas no texto. Veja os a co a exemplos seguintes, e note por que algumas vezes linhas vazias (quebras de par´grafo) s˜o usadas antes e depois da equa¸˜o, e que outras vezes n˜o. a a ca a (Se vocˆ ainda n˜o compreende todos os comandos bem o suficiente para e a entender estes exemplos, por favor, leia este cap´ ıtulo e o seguinte, e ent˜o a volte novamente para esta se¸˜o.) ca % Exemplo 1 \ldots quando Einstein introduziu sua f´rmula o \begin{equation} e = m \cdot c^2 \; , \end{equation} que ´ ao mesmo tempo a mais conhecida e e a menos compreendida f´rmula da f´sica. o ı % Exemplo 2 \ldots do que segue a lei de corrende de Kirchoff: \begin{equation} \sum_{k=1}^{n} I_k = 0 \; . \end{equation} A lei da voltagem de Kirchhoff pode ser derivada \ldots % Example 3 \ldots que possui v´rias vantagens. a \begin{equation} I_D = I_F - I_R \end{equation} e ´ o n´cleo de muitos modelos de transistores. \ldots u A pr´xima unidade de texto ´ a sente¸a. Em textos em Inglˆs, existe o e c e um espa¸o maior ap´s um ponto que termina uma senten¸a do que ap´s um c o c o A ponto que termina uma abrevia¸˜o. O L TEX tenta descobrir qual deles vocˆ ca e A X processa de forma errada, vocˆ precisa dizer a ele quis produzir. Se o L TE e o que vocˆ quer. Isto ´ explicado neste cap´ e e ıtulo. A estrutura¸˜o do texto se extende uniformemente para partes das senca ten¸as. Muitas l´ c ınguas possuem regras de pontua¸˜o muito complicadas, ca mas em muitas outras (incluindo o Portuguˆs2 , o Alem˜o e o Inglˆs) vocˆ e a e e 2 N.Tr: Portuguˆs foi inclu´ pelo tradutor e ıdo 2.2 Quebras de Linha e de P´gina a sempre colocar´ todas as v´ a ırgulas corretamente se vocˆ lembrar o que elas e representam: uma pequena pausa no fluxo da leitura. Se vocˆ n˜o tem e a certeza onde deve colocar as v´ ırgulas, leia a senten¸a em voz alta, e pare c para respirar em cada v´ ırgula. Se elas parecerem estranhas em algum lugar, retire a v´ ırgula, se vocˆ sentir falta de ar (ou fizer uma pequena pausa) em e algum outro lugar, coloque uma v´ ırgula. Finalmente, os par´grafos de um texto devem tamb´m estar estruturaa e dos l´gicamente em um n´ mais alto, colocando os mesmos em cap´ o ıvel ıtulos, se¸˜es, subse¸˜es, etc . . . De qualquer forma, o efeito tipogr´fico de se escreco co a ver, por exemplo, \section{A Estrutura do Texto e Linguagem} ´ t˜o e a o ´bvio que ´ quase evidente como estas estruturas de alto n´ e ıvel devem ser usadas. 19 2.2 2.2.1 Quebras de Linha e de P´gina a Par´grafos Justificados a Geralmente os livros s˜o digitados com cada linha tendo o mesmo compria A mento. O L TEX insere as quebras de linha necess´rias e espa¸os entre as a c palavras para otimizar o conte´do de um par´grafo inteiro. Se necess´rio, u a a ele pode tamb´m hifenizar palavras que n˜o iriam caber confort´velmente e a a em uma linha. O modo como os par´grafos s˜o produzidos depende da clasa a se do documento. Normalmente a primeira linha do par´grafo ´ indentada, a e e n˜o existem espa¸os adicionais entre dois par´brafos. Veja a se¸˜o 5.3.2 a c a ca para mais detalhes. A Em casos especiais pode ser necess´rio ordenar para o L TEX quebrar a uma linha: \\ ou \newline inicia uma nova linha sem iniciar um novo par´grafo. a \\* pro´ a quebra de p´gina ap´s uma quebra de linha for¸ada. ıbe a o c \newpage inicia uma nova p´gina. a \linebreak[n], \nolinebreak[n], \pagebreak[n] e \nopagebreak[n] faz o que seus pr´prios nomes j´ diz. Eles permitem que o autor influencie o a suas a¸˜es com um argumento opcional n. Este pode ser um n´mero entre co u 20 Editando o Texto A zero e quatro. Se n for um valor abaixo de 4, vocˆ deixa ao L TEX a op¸˜o de e ca ignorar seus comandos se o resultado ficar muito ruim. N˜o confunda estes a comandos “break” com os comandos “new”. Sempre que vocˆ d´ um comane a A do “break”, o L TEX ainda tenta ajustar a borda direita e o comprimento total da p´gina da forma descrita na pr´xima se¸˜o. Se vocˆ realmente quer a o ca e um “nova linha”, ent˜o use o comando correspondente (\newline). a A O L TEX sempre tenta produzir as melhores quebras de linha poss´ ıveis. Se ele n˜o consegue encontrar uma forma de quebrar as linhas de modo a que ele siga seus padr˜es, ele permite que a linha ultrapasse a margem o A direita do par´grafo. Ent˜o o L TEX avisa (“overfull hbox”) quando est´ a a a compilando o arquivo de entrada. Isto acontece muitas vezes quando o A L TEX n˜o consegue encontrar um bom lugar para hifenizar uma palavra.3 a A Vocˆ pode instruir o L TEX para diminuir um pouco seus padr˜es atrav´s do e o e comando \sloppy. Ele evita que nas linhas muito longas o espa¸o entre as c palavras seja aumentado — mesmo se o resultado final n˜o ficar otimizado. a Neste caso o aviso (“underfull hbox”) ´ dado ao usu´rio. Em muitos destes e a A casos o resultado n˜o fica muito bom. O comando \fussy retorna o L TEX a ao seu padr˜o. a 2.2.2 Hifena¸ao c˜ A O L TEX hifeniza as palavras sempre que necess´rio. Se o algoritmo de a hifena¸˜o n˜o encontra os pontos corretos de hifena¸˜o de uma palavra, ca a ca vocˆ pode remediar a situa¸˜o usando os seguintes comandos para dizer ao e ca TEX sobre a excess˜o. a O comando \hyphenation{lista de palavras} faz com que as palavras listadas no argumento sejam hifenizadas somente nos pontos marcados por “-”. O argumento do comando s´ pode conter palavras o constitu´ ıdas de letras normais ou alguns sinais que s˜o tratados como letras a normais dependendo do contexto atual. As regras de hifena¸˜o s˜o definidas ca a pela linguagem que est´ ativa quando o comando de hifena¸˜o ocorre. Isso a ca significa que se vocˆ insere um comando de hifena¸˜o no preˆmbulo do seu e ca a documento este ser´ influenciado pelas regras da l´ a ıngua inglesa. Se vocˆ e coloca o comando ap´s o \begin{document} e se vocˆ est´ usando algum o e a pacote para o suporte da linguagem nacional como o babel, ent˜o as regras a de hifena¸˜o ser˜o ativas naquela linguagem atrav´s do babel. ca a e 3 A Embora o L TEX dˆ um aviso quando isso ocorre (Overfull hbox) e mostre a linha onde e est´ o problema, estas linhas n˜o s˜o muito f´ceis de achar. Se vocˆ usar a op¸˜o draft a a a a e ca no comando \documentclass, estas linhas ser˜o marcadas com uma pequena linha preta a na margem direita. 2.3 Palavras j´ Prontas a O exemplo abaixo permite que “batata” seja hifenizada assim como “Batata”, e evita que “FORTRAN”, “Fortran” e “fortran” seja hifenizada de qualquer forma. Nenhum caracter especial ou s´ ımbolos s˜o permitidos no a argumento. Exemplo: \hyphenation{FORTRAN Ba-ta-ta} O comando \- insere um discreto h´ ıfen em uma palavra. Este tamb´m e se torna o unico ponto de hifena¸˜o permitido para esta palavra. Este ´ ca comando ´ usado especialmente para palavras contendo caracteres especiais e A (ex: caracteres acentuados) pois o L TEX n˜o hifeniza automaticamente estas a palavras. Eu acho que isto ´: su\-per\-cal\-% e i\-frag\-i\-lis\-tic\-ex\-pi\-% al\-i\-do\-cious Eu acho que isto ´: supercalifragilisticexpiale idocious 21 Muitas palavras podem se manter juntas em uma linha com o comando \mbox{texto} Este faz com que seu argumento permane¸a junto sobre qualquer circunstˆncia. c a Meu n´mero de telefone em breve u ir´ mudar. a Ele ser´ \mbox{0116 291 2319}. a O par^metro a \mbox{\emph{arquivo}} deve conter o nome de um arquivo. Meu n´mero de telefone em breve ir´ mudar. u a Ele ser´ 0116 291 2319. a O parˆmetro arquivo deve conter o nome de a um arquivo. \fbox ´ similar ao mbox, mas em adi¸˜o ele desenha uma caixa vis´ e ca ıvel ao redor do conte´do. u 2.3 Palavras j´ Prontas a Em alguns exemplos nas p´ginas anteriores vocˆ viu alguns comandos muito a e A X para produzir estas palavras: simples do L TE Comando \today \TeX \LaTeX \LaTeXe Exemplo 18 de setembro de 2002 TEX A L TEX A L TEX 2ε Descri¸˜o ca Data de hoje na linguagem em uso. O nome do seu processador de texto favorito O nome do Jogo A A encarna¸˜o atual do L TEX ca 22 Editando o Texto 2.4 2.4.1 Caracteres Especiais e S´ ımbolos Aspas Vocˆ n˜o deve usar o " como aspas como vocˆ faria em uma m´quina de e a e a escrever. Em editora¸˜o existem marcas especiais para abrir e fechar aspas. ca A No L TEX, use dois ‘ (acentos agudos) para abrir aspas e dois ’ (apostrofes) para fechar aspas. Para aspas simples use apenas um de cada. ‘‘Pressione a tecla ‘x’.’’ “Pressione a tecla ‘x’.” 2.4.2 Tra¸os e H´ c ıfens A O L TEX conhece quatro tipos de tra¸os. Vocˆ pode usar trˆs deles com um c e e n´mero diferente de tra¸os consecutivos. O quarto sinal n˜o ´ simplesmente u c a e um tra¸o: Ele ´ o sinal matem´tico de menos: c e a couve-flor, guarda-chuva\\ p´ginas 13--67\\ a sim---ou nao? \\ $0$, $1$ e $-1$ couve-flor, guarda-chuva p´ginas 13–67 a sim—ou nao? 0, 1 e −1 O nome destes tra¸os s˜o: ‘-’ h´ c a ıfen, ‘–’ tra¸o simples, ‘—’ travess˜o e ‘−’ c a sinal de menos. 2.4.3 Til (∼) Um caracter, geralmente usado em endere¸os da web (internet) ´ o til. Para c e A produzir um til em L TEX vocˆ pode usar \~ mas o resultado: ˜ n˜o ´ e a e exatamente o que vocˆ quer. Tente isso no lugar: e http://www.rich.edu/\~{}bush \\ http://www.clever.edu/$\sim$demo http://www.rich.edu/˜bush http://www.clever.edu/∼demo 2.4.4 S´ ımbolo de Grau (◦) A Como produzir o s´ ımbolo de grau no L TEX? Temperatura e ´ $-30\,^{\circ}\mathrm{C}$, Logo come¸arei a c super-conduzir. Temperatura ´ −30 ◦ C, Logo come¸arei a e c super-conduzir. 2.4 Caracteres Especiais e S´ ımbolos 23 2.4.5 Reticˆncias ( . . . ) e Em uma m´quina de escrever uma v´ a ırgula ou um ponto ocupa o mesmo espa¸o que qualquer outra letra. Na impress˜o de livros estes caracteres c a ocupam apenas um pequeno espa¸o e est˜o muito pr´ximos da letra precec a o dente. Deste modo vocˆ n˜o pode produzir as “reticˆncias” apenas digitando e a e trˆs pontos, pois o espa¸amento estaria errado. Ao inv´s disso, existe um e c e comando especial para fazer as reticˆncias. Ele ´ chamado e e \ldots N~o ´ assim ... mas assim:\\ a e New York, Tokyo, Budapest, \ldots N˜o ´ assim ... mas assim: a e New York, Tokyo, Budapest, . . . 2.4.6 Ligaduras Algumas combina¸˜es de letras n˜o s˜o produzida apenas colocando uma co a a letra ap´s a outra, mas sim por meio de s´ o ımbolos especiais chamados ligaduras. ff fi fl ffi ... ao inv´s de e ff fi fl ffi . . . Estas ligaduras podem ser proibidas inserindo-se um \mbox{} entre as duas letras em quest˜o. Isto pode ser necess´rio com palavras constitu´ a a ıdas de duas outras palavras. N~o ´ ‘shelfful’\\ a e mas ‘shelf\mbox{}ful’ N˜o ´ ‘shelfful’ a e mas ‘shelfful’ 2.4.7 Acentos e Caracteres Especiais A O L TEX suporta o uso de acentos e caracteres especiais de muitas linguagens. A tabela 2.1 mostra v´rios acentos aplicados ` letra o. Naturalmente com a a as outras letras tamb´m funciona. e Para colocar um acento no topo de um i ou um j, os pontos destas letras precisam ser removidos. Isto ´ possivel digitando \i e \j. e H\^otel, na\"\i ve, \’el\‘eve,\\ sm\o rrebr\o d, !‘Se\~norita!,\\ Sch\"onbrunner Schlo\ss{} Stra\ss e Hˆtel, na¨ ´l`ve, o ıve, e e smørrebrød, ¡Se˜orita!, n Sch¨nbrunner Schloß Straße o 24 Editando o Texto 2.5 Suporte a Linguagem Internacional Se vocˆ precisa escrever documentos em linguagens que n˜o ´ o Inglˆs, exise a e e A X precisa ser configurado de maneira apropriada: tem duas ´reas onde o L TE a 1. Todas os textos gerados automaticamente4 precisa ser adaptada para a nova linguagem. Para muitas linguagens estas mudan¸as podem ser c feitas usando o pacote babel de Johannes Braams. A 2. L TEX precisa conhecer as regras de hifena¸˜o para a nova linguagem. ca ´ um pouco mais complicado para se obter as regras de hifena¸˜o no E ca A L TEX. Para isso vocˆ deve reconstruir o arquivo de formato com os e novos padr˜es de hifena¸˜o habilitados. Seu Local Guide [4] deve te o ca dar mais informa¸˜es sobre isso. co Se seu sistema j´ est´ devidamente configurado, vocˆ pode ativar o paa a e cote babel adicionando o comando \usepackage[linguagem]{babel} ap´s o comando \documentclass. As linguagens que seu sistema suporta o devem estar listadas no Local Guide [4]. O babel ir´ automaticamente ativar a as regras de hifena¸˜o apropriadas para a linguagem que vocˆ escolheu. ca e A Mesmo que o seu L TEX n˜o suporte hifena¸˜o na linguagem de sua escolha, a ca o babel ainda ir´ funcionar mas ir´ desabilitar a hifena¸˜o, o que tem um a a ca efeito negativo na aparˆncia visual do documento produzido. e Para algumas linguagens, o babel tamb´m especifica novos comandos e que simplificam a entrada de caracteres especiais. O Alem˜o, por exemplo, a 4 Sum´rio, Lista de Figuras, . . . a Tabela 2.1: Acentos e Caracteres Especiais. o ` o ¯ o ˘ o . œ ˚ a ø ı \‘o \=o \u o \d o \oe \aa \o \i o ´ o ˙ o ˇ o ¯ Œ ˚ A Ø  \’o \.o \v o \b o \OE \AA \O \j o ˆ o ¨ o ˝ oo æ l ¡ \^o \"o \H o \t oo \ae \l !‘ o ˜ c ¸ o ¸ Æ L ¿ \~o \c c \c o \AE \L ?‘ 2.5 Suporte a Linguagem Internacional cont´m v´rios tremas (¨¨u). Com o babel, vocˆ pode entrar um ¨ apenas e a ao¨ e o digitando "o ao inv´s de \"o. e Alguns sistemas de computador permitem digitar caracteres especiais A diretamente do teclado. O L TEX pode manipular estes caracteres. Desde a A vers˜o de Dezembro de 1994 do L TEX 2ε , o suporte a v´rios conjuntos de a a A caracteres foram inclu´ ıdas na distribui¸˜o b´sica do L TEX 2ε . Conhe¸a o ca a c pacote inputenc: \usepackage[c´digo]{inputenc} o 25 Quando usar este pacote, vocˆ deve considerar que outras pessoas podem e n˜o conseguir usar seus arquivos de entrada em seus computadores, por a causa dos diferentes c´digos dos caracteres. Por exemplo, o trema Alem˜o o a a ¨ em um PC ´ codificado como 132, mas em alguns sistemas UNIX usando e ISO-LATIN 1 este ´ codificado como 228. Entretando vocˆ deve usar este e e recurso com cuidado. Os seguintes conjuntos de caracteres podem ser uteis, ´ dependendo do tipo de sistema em que vocˆ est´ trabalhando: e a Sistema Operacional Mac Unix Windows OS/2 Conjunto applemac latin1 ansinew cp850 A codifica¸˜o das fontes ´ um assunto diferente. Ela define em qual ca e posi¸˜o dentro de uma fonte-TEX cada letra est´ armazenada. O fonte ca a original Computer Modern TEX apenas cont´m os 128 caracteres da antiga e tabela de caracteres ASCII 7-bits. Quando os caracteres acentuados s˜o a necess´rios, o TEX cria estes caracteres combinando um caracter normal a com um acento. Embora o resultado final pare¸a perfeito, esta configura¸˜o c ca faz com que a hifena¸˜o pare automaticamente de funcionar em palavras ca contendo caracteres acentuados. Felizmente, a maioria das distribui¸˜es modernas do TEX cont´m uma co e c´pia das fontes EC. Estas fontes se parecem com as fontes Computer Moo dern, mas cont´m caracteres especiais para a maioria dos caracteres acentue ados usados nas l´ ınguas Europ´ias. Usando estas fontes vocˆ pode melhorar e e a hifena¸˜o em documentos escritos em l´ ca ıngua n˜o-Inglesa. As fontes EC a s˜o ativadas ao incluir o pacote fontenc no preˆmbulo de seu documento a a \usepackage[T1]{fontenc} 26 Editando o Texto 2.5.1 Suporte para o Alem˜o a A Algumas dicas sobre como criar documentos em Alem˜o com o L TEX. Vocˆ a e pode carregar o suporte ao Alem˜o com o comando: a \usepackage[german]{babel} Este comando habilita a hifena¸˜o em Alem˜o se vocˆ configurou seu ca a e A sistema L TEX de acordo. Tamb´m muda todos os textos autom´ticos para o e a Alem˜o. Por exemplo, “Cap´ a ıtulo” se torna “Kapitel”. Tamb´m um conjunto e de novos comandos se tornam dispon´ ıveis o que permite escrever textos em Alem˜o mais rapidamente. Veja a tabela 2.2. a Tabela 2.2: Caracteres Especiais em Alem˜o. a "a "‘ "< \dq ” a ¨ ” "s "’ "> ß “ 2.5.2 Suporte para o Portuguˆs e Para habilitar a hifena¸˜o e mudar todos os textos autom´ticos para o Porca a tuguˆs use o comando: e \usepackage[brazil]{babel} ´ E necess´rio habilitar os acentos usados em portuguˆs, com os comandos a e \usepackage[latin1]{inputenc} e \usepackage[T1]{fontenc} Agora, vocˆ pode digitar normalmente todos os acentos usados na l´ e ıngua portuguesa. Veja na tabela 2.3 o preˆmbulo usado para se escrever em a portuguˆs. e 2.6 O Espa¸o entre as Palavras c 27 2.6 O Espa¸o entre as Palavras c A Para obter uma margem direita reta, o L TEX insere v´rios espa¸os entre a c as palavras. Ele insere ligeiramente mais espa¸os no final da senten¸a, pois c c A isto torna o texto mais leg´ ıvel. O L TEX assume que a senten¸a termina c com ponto final, ponto de interroga¸˜o ou de exclama¸˜o. Se um ponto ca ca segue uma letra mai´scula, ele n˜o ´ considerado como fim de senten¸a, u a e c pois pontos ap´s letras mai´sculas normalmente ocorrem em abrevia¸˜es. o u co Qualquer excess˜es para estas regras devem ser especificadas pelo autor. o Uma barra invertida em frente a um espa¸o gera um espa¸o que n˜o ser´ c c a a aumentado. Um til ‘~’ gera um espa¸o que n˜o pode ser aumentado e que c a al´m disso n˜o pode quebrar a linha. O comando \@ em frente de um ponto e a especifica que aquele ponto termina uma senten¸a, mesmo que esteja ap´s c o uma letra mai´scula. u Sr.~Smith ficou feliz ao v^-la\\ e cf.~Fig.~5\\ Eu gosto de BASIC\@. E voc^? e Sr. Smith ficou feliz ao vˆ-la e cf. Fig. 5 Eu gosto de BASIC. E vocˆ? e Os espa¸os adicionais ap´s os pontos finais podem ser desabilitados com c o o comando \frenchspacing A que diz ao L TEX para n˜o inserir mais espa¸os ap´s um ponto do que faria a c o ap´s um caracter qualquer. Isto ´ muito comum em linguagens n˜o-Inglesas, o e a exceto em bibliografias. Se vocˆ usa \frenchspacing, o comando \@ ´ e e desnecess´rio. a 2.7 T´ ıtulos, Cap´ ıtulos, e Se¸oes c˜ Para ajudar o leitor a encontrar-se em seu trabalho, vocˆ deve dividi-lo em e A cap´ ıtulos, se¸˜es, e subse¸˜es. O L TEX cria estas estruturas com comandos co co Tabela 2.3: Preˆmbulo para Escrever em Portuguˆs. a e %% Para escrever em Portugu^s e \usepackage[brazil]{babel} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} 28 Editando o Texto especiais que recebem o t´ ıtulo da se¸˜o como argumento. ca Os seguintes comandos de seccionamento est˜o dispon´ a ıveis para a classe article: \section{...} \subsection{...} \subsubsection{...} \paragraph{...} \subparagraph{...} Vocˆ pode usar dois comandos adicionais de seccionamento para as clase ses report e book: \part{...} \chapter{...} Como a classe article n˜o define cap´ a ıtulos, fica muito f´cil adicionar a artigos como cap´ ıtulos de um livro. O espa¸amento entre as se¸˜es, a numec co ra¸˜o e o tamanho da fonte dos t´ ca ıtulos s˜o automaticamente configurados a A pelo L TEX. Dois dos comandos de seccionamento s˜o um pouco especiais: a • O comando \part n˜o influencia a seq¨ˆncia de numera¸˜o dos cap´ a ue ca ıtulos. • O comando \appendix n˜o recebe nenhum argumento. Ele apenas a muda a numera¸˜o de cap´ ca ıtulos para letras.5 A O L TEX cria um ´ ındice, usando os t´ ıtulos das se¸˜es e os n´meros da co u p´gina da ultima compila¸˜o do documento. O comando a ´ ca \tableofcontents se expande para um ´ ındice no local onde ele estiver inserido. Um documento novo precisa ser compilado duas vezes para se obter um ´ ındice correto. Algumas vezes pode ser necess´rio compilar o documento por uma terceira a A vez. O L TEX ir´ te informar quando isto for necess´rio. a a Todos os comandos de seccionamento listados acima tamb´m possuem e uma vers˜o “com asterisco”. A vers˜o “com asterisco” de um comando ´ a a e constru´ adicionando um asterisco * ap´s o nome do comando. Eles geıda o ram t´ ıtulos de se¸˜es que n˜o ser˜o inclu´ co a a ıdos no ´ ındice e que n˜o ser˜o a a numerados. O comando \section{Aux´lio}, por exemplo, se tornaria ı \section*{Aux´lio}. ı Normalmente, os t´ ıtulos das se¸˜es s˜o mostrados no ´ co a ındice exatamente como est˜o no texto. Algumas vezes n˜o ´ poss´ porque o t´ a a e ıvel ıtulo ´ muito e longo para caber em uma entrada do ´ ındice. A entrada para o ´ ındice pode ser especificada como um argumento opcional na frente do t´ ıtulo. \chapter[T´tulo para o sum´rio]{Um t´tulo ı a ı longo e muito cansativo, mostrado no texto} 5 Para a classe article ele muda a numera¸˜o de se¸˜es. ca co 2.8 Referˆncias Cruzadas e O t´ ıtulo do documento ´ criado pelo comando e \maketitle 29 O conte´do do t´ u ıtulo precisa ser definido pelos comandos \title{...}, \author{...} e opcionalmente \date{...} antes de chamar \maketitle. No argumento de \author, vocˆ pode fornecer e v´rios nomes separados por comandos \and. a Um exemplo de alguns dos comandos mencionados acima pode ser encontrado na figura 1.3 na p´gina 9. a A Al´m dos comandos de seccionamento explicados acima, o L TEX 2ε ine troduziu trˆs comandos adicionais para usar com a classe book. Eles s˜o e a usados para dividir sua publica¸˜o. Estes comandos alteram os t´ ca ıtulos dos cap´ ıtulos e a numera¸˜o de p´gina para funcionar como ´ esperado em um ca a e livro: \frontmatter deve ser o pr´ximo comando ap´s \begin{document}. Ele o o ´ mudar´ a numera¸˜o de p´gina para n´meros Romanos. E comum a ca a u usar a vers˜o “com asterisco” dos comandos de seccionamento (ex. a \chapter*{Pref´cio}) para o conte´do desta parte para evitar que a u A o L TEX enumere estes itens. \mainmatter vem exatamente antes do primeiro cap´ ıtulo do livro. Ele ativa a numera¸˜o Ar´bica das p´ginas e reinicia o contador de p´ginas. ca a a a \appendix marca o inicio do material adicional do teu livro. Ap´s este o comando os cap´ ıtulos ser˜o numerados com letras. a \backmatter deve ser inserido antes dos ultimos itens de seu livro como a ´ bibliografia e o ´ ındice remissivo. Nas classes padr˜o este comando n˜o a a causa nenhum efeito visual. 2.8 Referˆncias Cruzadas e Em livros, relat´rios e artigos, geralmente existem referˆncias cruzadas para o e A figuras, tabelas e segmentos especiais do texto. O L TEX possui os seguintes comandos para criar referˆncias cruzadas. e \label{marca}, \ref{marca} e \pageref{marca} A onde marca ´ um identificador escolhido pelo usu´rio. O L TEX substitui o e a \ref pelo n´mero da se¸˜o, subse¸˜o, figura, tabela ou teorema de onde o u ca ca comando \label correspondente foi usado. \pageref imprime o n´mero da u 30 Editando o Texto p´gina onde o comando \label occurreu.6 Assim como no t´ a ıtulo das se¸˜es, co os n´meros da ultima compila¸˜o ser˜o usados. u ´ ca a Uma refer^ncia para esta subse¸~o e ca \label{sec:this} ficaria assim: ‘‘veja se¸~o~\ref{sec:this} na ca p´gina~\pageref{sec:this}.’’ a Uma referˆncia para esta subse¸˜o ficaria ase ca sim: “veja se¸˜o 14 na p´gina 30.” ca a 2.9 Notas de rodap´ e Com o comando \footnote{texto} uma nota de rodap´ ´ impressa no rodap´ da p´gina atual. Notas de rodap´ ee e a e 7 ap´s a palavra ou senten¸a ao qual elas se devem sempre ser colocadas o c referem. Notas de rodap´ referindo-se a uma senten¸a ou parte dela, deve e c entretanto ser colocada ap´s a v´ o ırgula ou ponto.8 Notas de rodap´a s˜o muito usadas pelas pese a A soas que usam o L TEX. a Notas de rodap´\footnote{Esta ´ uma e e nota de rodap´.} s~o muito usadas e a pelas pessoas que usam o \LaTeX. Esta ´ uma nota de rodap´. e e 2.10 Notas laterais Com o comando \marginpar{texto} uma nota lateral ´ impressa na margem direita da p´gina atual. Estas e a notas laterais aparecem na margem direita, ao final do par´grafo onde elas a ocorrem. Note que estes comandos n˜o sabem a que est˜o se referindo, o \label apenas salva a a o ultimo n´mero gerado automaticamente. ´ u 7 “colocar” ´ um dos verbos mais comuns no Portuguˆs e e 8 Note, que as notas de rodap´ tiram a aten¸ao do leitor do corpo principal de seu e c˜ documento. Afinal, todo mundo lˆ as notas de rodap´, n´s somos uma esp´cie de curiosos. e e o e Ent˜o porque n˜o integrar aqui tudo o que vocˆ quer dizer no corpo do texto ? 9 a a e 9 Um guarda n˜o vai necess´riamente para onde ele aponta :-). a a 6 2.11 Palavras Enfatizadas 31 2.11 Palavras Enfatizadas Se um texto ´ digitado em uma m´quina de escrever palavras importantes e a s~o enfatizadas sublinhando-as. a \underline{texto} Em livros impressos, entretanto, paravras s˜o enfatizadas digitando-as a A em it´lico. O L TEX prossui o comando a \emph{texto} para enfatizar textos. O que o comando far´ com o texto depende do cona texto atual: \emph{Se voc^ enfatizar um texto e dentro de um bloco de texto j´ a enfatizado, o \LaTeX{} usar´ a a fonte \emph{normal} para enfatizar este texto.} Se vocˆ enfatizar um texto dentro de um bloco e A de texto j´ enfatizado, o L TEX usar´ a fonte a a normal para enfatizar este texto. A Note a diferˆn¸a entre dizer ao L TEX para enfatizar algo e dizer para e c ele usar uma fonte diferente: \textit{Voc^ tamb´m pode e e \emph{enfatizar} texto se este estiver em it´lico,} a \textsf{em uma fonte \emph{sans-serif},} \texttt{ou em estilo \emph{m´quina de escrever}.} a Vocˆ tamb´m pode enfatizar texto se este ese e tiver em it´lico, em uma fonte sans-serif, ou a em estilo m´quina de escrever. a 2.12 Ambientes \end{ambiente} \begin{ambiente} texto Onde ambiente ´ o nome do ambiente. Os ambientes podem ser chamados e v´rias vezes um dentro do outro desde que a ordem da chamada seja mantida. a \begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa} Nas seguintes se¸˜es todos os ambientes importantes ser˜o explicados. co a 32 Editando o Texto 2.12.1 Itemizar, Enumerar e Descrever O ambiente itemize ´ usado para criar listas simples, o ambiente enumerate e para listas enumeradas e o ambiente description para descri¸˜es. co \flushleft \begin{enumerate} \item Voc^ pode misturar os e ambientes de lista ao seu gosto: \begin{itemize} \item Mas eles podem ter uma apar^ncia melhor. e \item[-] Com um h´fen. ı \end{itemize} \item Entretanto lembre-se: \begin{description} \item[Coisas in´teis] n~o se tornar~o u a a u ´teis porque est~o em uma lista. a \item[Coisas ´teis], entretanto, podem u ser bem apresentadas em uma lista. \end{description} \end{enumerate} 1. Vocˆ pode misturar os ambientes de e lista ao seu gosto: • Mas eles podem ter uma aparˆncia melhor. e - Com um h´ ıfen. 2. Entretanto lembre-se: Coisas in´ teis n˜o se tornar˜o uteis u a a ´ porque est˜o em uma lista. a Coisas uteis , entretanto, podem ser ´ bem apresentadas em uma lista. 2.12.2 Alinhamento do Texto Os ambientes flushleft e flushright geram par´grafos que s˜o alinhados a a a ` esquerda e ` direita respectivamente. O ambiente center centraliza o a texto. Se vocˆ n˜o se preocupar em digitar \\ para especificar quebras de e a A X ir´ determinar automaticamente as quebras de linha. linha, o L TE a \begin{flushleft} Este texto est´\\ alinhado ` esquerda. a a O \LaTeX{} n~o est´ tentando deixar a a todas as linhas do mesmo tamanho. \end{flushleft} Este texto est´ a A alinhado ` esquerda. O L TEX n˜o est´ a a a tentando deixar todas as linhas do mesmo tamanho. \begin{flushright} Este texto est´\\alinhado ` direita. a a O \LaTeX{} n~o est´ tentando deixar a a todas as linhas do mesmo tamanho. \end{flushright} Este texto est´ a A alinhado ` direita. O L TEX n˜o est´ a a a tentando deixar todas as linhas do mesmo tamanho. \begin{center} No centro\\da Terra \end{center} No centro da Terra 2.12 Ambientes 33 2.12.3 Cita¸oes e Versos c˜ O ambiente quote ´ usado para cita¸˜es, frases importantes e exemplos. e co Uma regra da tipografia sobre o comprimento de uma linha ´: e \begin{quote} Em m´dia, nenhuma linha deve e ser maior que 66 caracteres. \end{quote} Este ´ o motivo pelo qual as e p´ginas do \LaTeX{} possuem as a bordas t~o grandes e tamb´m o a e motivo pelo qual os jornais usam impress~o em colunas. a Uma regra da tipografia sobre o comprimento de uma linha ´: e Em m´dia, nenhuma linha deve e ser maior que 66 caracteres. A Este ´ o motivo pelo qual as p´ginas do L TEX e a possuem as bordas t˜o grandes e tamb´m o a e motivo pelo qual os jornais usam impress˜o a em colunas. Existem dois ambientes similares: os ambientes quotation e verse. Como ambiente quotation faz a indenta¸˜o dos par´grafos, ele ´ usado para ca a e cita¸˜es longas que se extendem por v´rios par´grafos. O ambiente verse ´ co a a e usado em poemas onde as quebras de linhas s˜o importantes. As linhas s˜o a a separadas por \\ e por uma linha em branco no fim de cada verso. Eu conhe¸o de cor apenas um poema c em Ingl^s. ´ sobre Humpty Dumpty. e E \begin{flushleft} \begin{verse} Humpty Dumpty sat on a wall:\\ Humpty Dumpty had a great fall.\\ All the King’s horses and all the King’s men\\ Couldn’t put Humpty together again. \end{verse} \end{flushleft} Eu conhe¸o de cor apenas um poema em Inc glˆs. E sobre Humpty Dumpty. e ´ Humpty Dumpty sat on a wall: Humpty Dumpty had a great fall. All the King’s horses and all the King’s men Couldn’t put Humpty together again. 2.12.4 Imprimindo o Texto Diretamente (Verbatim) Textos que est˜o entre \begin{verbatim} e \end{verbatim} ser˜o impresa a sos diretamente como se digitados em uma m´quina de escrever, com todas a A as quebras de linha e espa¸os, sem que o L TEX processe qualquer comando. c Em um par´grafo, um recurso similar ´ o comando a e \verb+texto+ O + ´ apenas um exemplo de um caracter delimitador. Vocˆ pode usar e e qualquer outro caracter exceto letras, * ou espa¸o. Muitos exemplos em c A L TEX neste livreto foram criados com este comando. 34 O comando \verb|\ldots| \ldots Editando o Texto O comando \ldots . . . \begin{verbatim} 10 PRINT "HELLO WORLD "; 20 GOTO 10 \end{verbatim} 10 PRINT "HELLO WORLD "; 20 GOTO 10 \begin{verbatim*} outra vers~o do a ambiente verbatim enfatiza os espa¸os c no texto \end{verbatim*} outra vers~o do a ambiente verbatim enfatiza os espa¸os c no texto O comando \verb pode ser usado de um modo similar com um asterisco: \verb*|igual aqui :-) | igual aqui :-) O ambiente verbatim e o comando \verb n˜o podem ser usados em a parˆmetros de outros comandos. a 2.12.5 Tabelas O ambiente tabular pode ser usados para criar tabelas com linhas horizonA tais e verticais opcionais. O L TEX determina automaticamente a largura das colunas. O argumento especifica¸˜o do comando ca \begin{tabular}{especifica¸˜o} ca define o formato da tabela. Use um l para uma coluna de texto alinhado a ` esquerda, r para texto alinhado ` direita, e c para texto centralizado; a p{largura} para uma coluna contendo texto justificado com quebras de linha, e | para uma linha vertical. Dentro de um ambiente tabular, & pula para a pr´xima coluna, \\ inicia o uma nova linha e \hline insere uma linha horizontal. Vocˆ pode adicionar e linhas parciais usando \cline{j-i} onde j e i s˜o os n´meros das colunas a u por onde a linha se extender´. a 2.12 Ambientes \begin{tabular}{|r|l|} \hline 7C0 & hexadecimal \\ 3700 & octal \\ \cline{2-2} 11111000000 & bin´rio \\ a \hline \hline 1984 & decimal \\ \hline \end{tabular} 35 7C0 3700 11111000000 1984 hexadecimal octal bin´rio a decimal \begin{tabular}{|p{4.7cm}|} \hline Bem vindo ao par´grafo de Boxy. a Espero que voc^ goste e do show.\\ \hline \end{tabular} Bem vindo ao par´grafo de a Boxy. Espero que vocˆ goste e do show. O separador de coluna pode ser especificado com a constru¸˜o @{...}. ca Este comando elimina os espa¸os entre as colunas e os substitui pelo que est´ c a entre as chaves. Um uso comum para este comando ´ explicado abaixo no e problema de alinhamento decimal. Outra aplica¸˜o poss´ ´ a elimina¸˜o ca ıvel e ca de espa¸os em uma tabela com @{}. c \begin{tabular}{@{} l @{}} \hline sem espa¸os extras\\ c \hline \end{tabular} sem espa¸os extras c \begin{tabular}{l} \hline espa¸os extras a esquerda e a c direita\\ \hline \end{tabular} espa¸os extras a esquerda e a direita c Como n˜o existe um comando para alinhar os pontos decimais das coa 10 n´s podemos “trapacear” e fazer isso usando duas colunas: uma lunas, o alinhada ` direita para os inteiros e outra alinhada ` esquerda para a parte a a fracion´ria. O comando @{.} na linha \begin{tabular} substitui o esa pa¸amento normal entre as colunas pelo “.”, dando a aparˆncia de uma c e unica coluna alinhada pelo ponto decimal. N˜o se esque¸a de substituir o ´ a c ponto decimal em seus n´meros pelo divisor de colunas (&)! Uma coluna u 10 Se a cole¸˜o ‘tools’ est´ instalada em seu sistema, dˆ uma olhada no pacote dcolumn. ca a e 36 Editando o Texto de identifica¸˜o pode ser colocada sobre sua “coluna num´rica” usando o ca e comando \multicolumn \begin{tabular}{c r @{.} l} Express~o do Pi a & \multicolumn{2}{c}{Valor} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular} Express˜o do Pi a π ππ (π π )π Valor 3.1416 36.46 80662.7 \begin{tabular}{|c|c|} \hline \multicolumn{2}{|c|}{Ene} \\ \hline Mene & Muh! \\ \hline \end{tabular} Ene Mene Muh! Os materiais produzidos em um ambiente de tabela sempre ficam juntos em uma p´gina. Se vocˆ quiser produzir grandes tabelas vocˆ pode precisar a e e dos ambientes supertabular ou longtabular. 2.13 Corpos Flutuantes Hoje em dia, a maioria das publica¸˜es cont´m um monte de figuras e tabeco e las. Estes elementos precisam de um tratamento especial porque n˜o podem a ser quebrados entre as p´ginas. Um m´todo seria iniciar uma nova p´gina a e a toda a vez que uma figura ou uma tabela for muito grande para caber na p´gina atual. Este m´todo deixa algumas p´ginas parcialmente vazias, o a e a que ´ muito ruim. e A solu¸˜o para este problema ´ ‘flutuar’ qualquer figura ou tabela que ca e n˜o caiba na p´gina atual para uma p´gina posterior, preenchendo a p´gina a a a a A X oferece dois ambientes para criar corpos flutuanatual com texto. O L TE tes: um para tabelas e um para figuras. Para obter total vantagem desses A dois ambientes ´ importante compreender como o L TEX manipula estes obe jetos internamente. Caso contr´rio, estes podem se tornar na maior fonte a A de frustra¸˜o, pois o L TEX nunca colocar´ estes corpos onde vocˆ deseja. ca a e A Vamos primeiro ver os comandos que o L TEX possui para criar os corpos flutuantes: Qualquer material contido nos ambientes figure ou table ser´ trataa do como material flutuante. Ambos os ambientes suportam um parˆmetro a 2.13 Corpos Flutuantes opcional \begin{figure}[especificador de posi¸˜o] ou \begin{table}[especificador de posi¸˜o] ca ca 37 chamado de especificador de posi¸˜o. Este parˆmetro ´ usado para dizer ao ca a e A L TEX sobre os locais para onde o objeto pode ser movido. Um especificador de posi¸˜o ´ constru´ por uma cadeia de caracteres de permiss˜es de ca e ıdo o posicionamento. Veja a tabela 2.4. Nota: 0pt e 1.05em s˜o unidades do TEX. Leia mais sobre isso na tabela a 5.5 na p´gina 78. a Uma tabela poderia ser iniciada com a seguinte linha \begin{table}[!hbp] A O especificador de posi¸˜o [!hbp] permite ao L TEX colocar a tabela neste ca local (h) ou no final (b) de alguma p´gina ou ainda, em uma p´gina especial a a somente de corpos flutuantes (p), e tudo isso se ele n˜o procurar a melhor a situa¸˜o (!). Se nenhum especificador de posi¸˜o for fornecido, as classes ca ca padr˜o assume [tbp]. a A O L TEX ir´ inserir todos os corpos flutuantes que ele encontrar, de acora do com o especificador de posi¸˜o fornecido pelo autor. Se um corpo n˜o ca a 11 de figuras pode ser colocado na p´gina atual ent˜o ele ´ inserido na fila a a e A ou de tabelas. Quando uma nova p´gina ´ iniciada, o L TEX primeiro veria e fica se ´ poss´ preencher a p´gina somente com os corpos que est˜o nas e ıvel a a filas. Se isso n˜o for poss´ a ıvel, o primeiro corpo de cada fila ´ tratado coe A mo se estivesse ocorrendo no texto: o L TEX tenta novamente inseri-los de acordo com seus respectivos especificadores de posi¸˜o (exceto ‘h’ que n˜o ca a ´ mais poss´ e ıvel). Qualquer corpo flutuante que ocorra no texto ´ colocado e A na fila correspondente. O L TEX mant´m estritamente a ordem original de e 11 O primeiro que entra ´ o primeiro que sai e Tabela 2.4: Permiss˜es de Posicionamento de Corpos Flutuantes. o Especifica¸˜o ca h t b p ! a Permiss˜o . . . a ´ aqui no local exato onde o comando ocorreu. E usado principalmente para pequenos objetos. no inicio de uma p´gina a no final de uma p´gina a em uma p´gina especial contendo apenas corpos flutuantes. a desconsiderando muitos dos parˆmetros internosa que podea riam evitar que o corpo fosse inserido. Como, por exemplo, o n´mero m´ximo de corpos flutuantes por p´gina. u a a 38 Editando o Texto ocorrˆncia de cada tipo de corpo. Este ´ o motivo pelo qual uma figura que e e n˜o consegue ser inserida empurra todas as outras figuras para o final do a documento. Portanto: A Se o L TEX n˜o est´ colocando os corpos flutuantes como vocˆ a a e esperava, ´ comum que apenas um corpo esteja congestionando e uma das duas filas. A O fato de n˜o ser poss´ fornecer ao L TEX mais que um especificador de a ıvel posi¸˜o ´ o que causa os problemas. Se um corpo n˜o se encaixa na posi¸˜o ca e a ca especificada, ent˜o ele bloqueia os corpos subseq¨ˆntes. Em particular, vocˆ a ue e nunca deve usar a op¸˜o [h], esta op¸˜o ´ t˜o ruim que nas vers˜es mais ca ca e a o A recentes do L TEX, ela ´ automaticamente substituida por [ht]. e Tendo explicado as dificuldades, existem algumas coisas a mais a dizer sobre os ambientes table e figure. Com o comando \caption{legenda} vocˆ pode definir uma legenda para o corpo flutuante. Um contador e a e A palavra “Figura” ou “Tabela” ser´ adicionada pelo L TEX. a Os dois comandos \listoffigures e \listoftables funcionam de modo an´logo ao comando \tableofcontents, gerando resa pectivamente uma lista de figuras ou tabelas. Nestas listas a legenda inteira ser´ repetida. Se vocˆ pretende usar legendas longas, vocˆ pode ter uma a e e vers˜o menor da legenda para aparecer nas listas. Isto ´ feito digitando-se a e uma vers˜o curta entre colchetes ap´s o comando \caption. a o \caption[Curto]{LLLLLoooooonnnnngggggoooooooo} Com \label e \ref, vocˆ pode criar uma referˆncia ao corpo flutuante e e em seu texto. O exemplo seguinte desenha um quadrado e o insere no documento. Vocˆ pode usar isso se vocˆ quiser reservar espa¸os para imagens que vocˆ e e c e ir´ inserir no documento final. a Figura~\ref{white} ´ um exemplo de Pop-Art. e \begin{figure}[!hbp] \makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} \caption{Cinco por Cinco Centimetros.} \label{white} \end{figure} A No exemplo acima, o L TEX ir´ tentar com bastante prioridade (!) colocar a 12 Se isso n˜o for poss´ a figura exatamente aqui (h). a ıvel, ele tenta colocar 12 assumindo que a fila das figuras est´ vazia. a 2.14 Protegendo Comandos Fr´geis a a figura no final (b) da p´gina. Falhando a tentativa de colocar a figura a na p´gina atual, ele determina se ´ poss´ criar uma p´gina contendo esta a e ıvel a figura e talvez algumas tabelas da fila das tabelas. Se n˜o tiver material o a A suficiente para um p´gina especial de corpos flutuantes, o L TEX inicia uma a nova p´gina, e mais uma vez trata a figura como se ela estivesse ocorrendo a novamente no texto. Em algumas circunstˆncias pode ser necess´rio usar o comando a a \clearpage ou ent˜o o \cleardoublepage a A Ele ordena o L TEX para inserir imediatamente todos os corpos flutuantes restantes nas filas e ent˜o iniciar uma nova p´gina. \cleardoublepage vai a a para uma nova p´gina ` direita. a a Vocˆ ir´ aprender como incluir desenhos PostScript em documentos e a A L TEX 2ε posteriormente nesta introdu¸˜o. ca 39 2.14 Protegendo Comandos Fr´geis a Textos passados como argumentos de comandos como \caption ou \section podem aparecer mais de uma vez no documento (no ´ ındice assim como no corpo do documento). Alguns comandos falham quando usados no argumento dos comandos do mesmo tipo que \section. Estes s˜o chamados a de comandos fr´geis. S˜o fr´geis os comandos \footnote e \phantom. O a a a que estes comandos fr´geis precisam para funcionar, ´ de prote¸˜o (n´s a e ca o tamb´m?). Vocˆ pode protegˆ-los colocando o comando \protect na frente e e e deles. \protect se refere apenas ao comando que o segue imediatamente a direita, n˜o a seus argumentos. Na maioria dos casos, alguns \protect n˜o a a atrapalham. \section{Eu estou considerando \protect\footnote{e protegendo minhas notas de rodap´}} e Cap´ ıtulo 3 Editando F´rmulas o Matem´ticas a Agora vocˆ est´ pronto! Neste cap´ e a ıtulo, n´s iremos atacar o principal recurso o do TEX: edi¸˜o de textos matem´ticos. Mas esteja avisado que este cap´ ca a ıtulo apenas explora a superf´ ıcie. Embora as coisas que est˜o explicadas aqui seja o a suficiente para muitas pessoas, n˜o se desespere se vocˆ n˜o puder encontrar a e a ´ uma solu¸˜o para suas necessidades de edi¸˜o de textos matem´ticos. E muito ca ca a A X1 ou em algum outro provavel que seu problema est´ resolvido no AMS-LTE a pacote. 3.1 No¸oes Gerais c˜ A O L TEX tem um modo especial para edi¸˜o de texto matem´tico. Texto ca a matem´tico dentro de um par´grafo ´ digitado entre \( e \), entre $ e $ ou a a e entre \begin{math} e \end{math}. Adicione o quadrado de $a$ ao quadrado de $b$ para obter o quadrado de $c$. Ou, usando uma nota¸~o mais matem´tica: ca a $c^{2}=a^{2}+b^{2}$ Adicione o quadrado de a ao quadrado de b para obter o quadrado de c. Ou, usando uma nota¸˜o mais matem´tica: c2 = a2 + b2 ca a \TeX{} ´ pronunciado como e $\tau\epsilon\chi$.\\[6pt] 100~m$^{3}$ de `gua\\[6pt] a Isto vem do meu $\heartsuit$ 1 TEX ´ pronunciado como τ χ. e 100 m3 de `gua a Isto vem do meu ♥ CTAN:/tex-archive/macros/latex/required/amslatex 42 Editando F´rmulas Matem´ticas o a ´ E prefer´ ıvel agrupar as grandes equa¸˜es ou f´rmulas matem´ticas ao co o a inv´s de edit´-las em linhas separadas. Para isso vocˆ deve inclu´ e a e ı-las entre \[ e \] ou entre \begin{displaymath} e \end{displaymath}. Isto produz A f´rmulas que n˜o s˜o numeradas. Se vocˆ quer que o L TEX numere as o a a e equa¸˜es use o ambiente equation. co Adicione o quadrado de $a$ ao quadrado de $b$ para obter o quadrado de $c$. Ou, usando uma nota¸~o mais matem´tica: ca a \begin{displaymath} c^{2}=a^{2}+b^{2} \end{displaymath} E apenas uma linha a mais. Adicione o quadrado de a ao quadrado de b para obter o quadrado de c. Ou, usando uma nota¸˜o mais matem´tica: ca a c2 = a2 + b2 E apenas uma linha a mais. Vocˆ pode referˆnciar uma equa¸˜o com \label e \ref e e ca \begin{equation} \label{eq:eps} \epsilon > 0 \end{equation} De (\ref{eq:eps}), temos \ldots >0 De (3.1), temos . . . (3.1) Note que express˜es ser˜o exibidas em um estilo diferente2 usando o o a comando \displaymath: $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$ n 1 k=1 k2 π2 6 limn→∞ = \begin{displaymath} \lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6} \end{displaymath} n n→∞ lim k=1 1 π2 = 2 k 6 Existem diferen¸as entre o modo matem´tico e o modo texto. Por exemc a plo, no modo matem´tico: a 1. A maioria dos espa¸os e quebras de linha n˜o possuem nenhum sigc a nificado, pois todos os espa¸os s˜o criados l´gicamente a partir das c a o express˜es matem´ticas ou a partir de comandos especiais como \,, o a \quad ou \qquad. 2. Linhas vazias n˜o s˜o permitidas. Apenas um par´grafo por f´rmula. a a a o 2 N.Trad: muito melhor apresentado visualmente 3.2 Agrupando em Modo Matem´tico a 3. Cada letra ´ considerada como sendo o nome de uma vari´vel e ser´ e a a processada como tal. Se vocˆ quiser processar texto normal dentro de e uma f´rmula (fonte e espa¸amento normal) ent˜o vocˆ precisa digitar o c a e o texto usando o comando \textrm{...}. \begin{equation} \forall x \in \mathbf{R}: \qquad x^{2} \geq 0 \end{equation} 43 ∀x ∈ R : x2 ≥ 0 (3.2) \begin{equation} x^{2} \geq 0\qquad \textrm{para todo }x\in\mathbf{R} \end{equation} x2 ≥ 0 para todo x ∈ R (3.3) Matem´ticos podem ser muito confusos com a simbologia adotada: poa de ser convencional usar um ‘estilo quadro-negro’, que s˜o obtidos usando a \mathbb dos pacotes amsfonts ou amssymb. O ultimo exemplo seria assim: ´ \begin{displaymath} x^{2} \geq 0\qquad \textrm{para todo }x\in\mathbb{R} \end{displaymath} x2 ≥ 0 para todo x ∈ R 3.2 Agrupando em Modo Matem´tico a A maioria dos comandos do modo matem´tico atuam apenas no pr´ximo a o caracter. Ent˜o se vocˆ quer que o comando afete v´rios caracteres, vocˆ a e a e precisa agrup´-los usando chaves: {...}. a \begin{equation} a^x+y \neq a^{x+y} \end{equation} ax + y = ax+y (3.4) 3.3 Construindo Blocos de F´rmula Matem´tica o a Nesta se¸˜o, ser˜o descritos os mais importantes comandos usadas na edi¸˜o ca a ca de textos matem´ticos. Dˆ uma olhada na se¸˜o 3.10 na p´gina 54 para ver a e ca a uma lista detalhada dos comandos para criar os s´ ımbolos matem´ticos. a Letras Gregas min´ sculas s˜o digitadas como \alpha, \beta, \gamma, u a . . . , letras mai´sculas s˜o digitadas como \Gamma, \Delta, . . . 3 u a 3 A N˜o est´ definido o Alpha mai´sculo no L TEX 2ε porque ele ´ igual ` letra A. a a u e a 44 Editando F´rmulas Matem´ticas o a $\lambda,\xi,\pi,\mu,\Phi,\Omega$ λ, ξ, π, µ, Φ, Ω Expoentes e Subscritos podem ser especificados usando o caracter ^ e _, respectivamente. $a_{1}$ \qquad $x^{2}$ \qquad $e^{-\alpha t}$ \qquad $a^{3}_{ij}$\\ $e^{x^2} \neq {e^x}^2$ a1 x2 2 ex = ex 2 e−αt a3 ij A ra´ quadrada ´ produzida com \sqrt, a n-´sima raiz ´ produzida ız e e e com \sqrt[n]. O tamanho do sinal de radicia¸˜o ´ determinado automatica e A camente pelo L TEX. Se vocˆ quer apenas o sinal, use \surd. e $\sqrt{x}$ \qquad $\sqrt{ x^{2}+\sqrt{y} }$ \qquad $\sqrt[3]{2}$\\[3pt] $\surd[x^2 + y^2]$ √ x x2 + √ 2 [x + y 2 ] √ y √ 3 2 Os comandos \overline e \underline criam linhas horizontais diretamente sobre ou abaixo de uma express˜o. a $\overline{m+n}$ m+n Os comandos \overbrace e \underbrace criam longas chaves horizontais acima ou abaixo de uma express˜o. a a + b + ··· + z 26 $\underbrace{ a+b+\cdots+z }_{26}$ Para adicionar acentos matem´ticos, como pequenas setas ou sinais de a til nas vari´veis, vocˆ pode usar os comandos mostrados na tabela 3.1 na a e p´gina 54. Grandes circunflexos ou tils cobrindo v´rios caracteres s˜o criados a a a com \widehat e \widetilde respectivamente. O s´ ımbolo ’ denota uma primitiva. \begin{displaymath} y=x^{2}\qquad y’=2x\qquad y’’=2 \end{displaymath} y = x2 y = 2x y =2 Vetores geralmente s˜o especificados adicionando uma pequena seta no a topo da vari´vel. Isto ´ feito com o comando \vec. Os dois comandos a e 3.3 Construindo Blocos de F´rmula Matem´tica o a \overrightarrow e \overleftarrow s˜o usados para denotar o vetor de A a para B. \begin{displaymath} \vec a\quad\overrightarrow{AB} \end{displaymath} 45 − → a AB Usualmente vocˆ pode digitar um ponto para indicar a opera¸˜o de mule ca tiplica¸˜o para ajudar o leitor a ver como se deve agrupar os termos da ca f´rmula. Para isso, use \cdot o \begin{displaymath} v = {\sigma}_1 \cdot {\sigma}_2 {\tau}_1 \cdot {\tau}_2 \end{displaymath} v = σ 1 · σ 2 τ1 · τ2 Nome de fun¸˜es s˜o geralmente criados em fonte normal e n˜o em it´lico co a a a A como as vari´veis. Conseq¨ˆntemente o L TEX possui os seguintes comandos a ue para criar os nomes das mais importantes fun¸˜es: co \arccos \cos \csc \exp \ker \limsup \min \arcsin \cosh \deg \gcd \lg \ln \Pr \arctan \cot \det \hom \lim \log \sec \arg \coth \dim \inf \liminf \max \sin \sinh \sup \tan \tanh \[\lim_{x \rightarrow 0} \frac{\sin x}{x}=1\] x→0 lim sin x =1 x Para a fun¸˜o m´dulo, existem dois comandos: \bmod para o operador ca o bin´rio “a mod b” e \pmod para express˜es como “x ≡ a (mod b).” a o Uma fra¸˜o ´ criada com o comando \frac{...}{...}. Geralmente a ca e forma 1/2 ´ prefer´ e ıvel, por que fica melhor para ‘fra¸˜es pequenas’. co $1\frac{1}{2}$~horas \begin{displaymath} \frac{ x^{2} }{ k+1 }\qquad x^{ \frac{2}{k+1} }\qquad x^{ 1/2 } \end{displaymath} 1 1 horas 2 x2 k+1 x k+1 2 x1/2 Para criar o coeficiente binomial ou estruturas similares, vocˆ pode usar e tando o comando {... \choose ...} como o {... \atop ...}. O segun- 46 Editando F´rmulas Matem´ticas o a do comando produz o mesmo resultado do primeiro sem os parˆnteses.4 e \begin{displaymath} {n \choose k}\qquad {x \atop y+2} \end{displaymath} n k x y+2 Para rela¸˜es bin´rias isso pode ser usado para colocar um s´ co a ımbolo sobre outro. \stackrel coloca o s´ ımbolo passado no primeiro argumento em tamanho igual ao superscrito em cima do segundo que ´ colocado em sua e posi¸˜o usual. ca \begin{displaymath} \int f_N(x) \stackrel{!}{=} 1 \end{displaymath} fN (x) = 1 ! A integral ´ criada com \int, o somat´rio com \sum e o produt´rio e o o com \prod. Os limites superiores e inferiores s˜o especificados com ^ e _ a igual nos subscritos e sobrescritos. 5 \begin{displaymath} \sum_{i=1}^{n} \qquad \int_{0}^{\frac{\pi}{2}} \qquad \prod_\epsilon \end{displaymath} n 0 π 2 i=1 Existem todos os tipos de s´ ımbolos no TEX que podem ser usados como delimitadores (ex. [ ). Parˆnteses e colchetes podem ser digitados com e suas teclas correspondentes, chaves com \{, todos os outros delimitadores s˜o criados com comandos especiais (ex. \updownarrow). Para uma lista de a todos os delimitadores dispon´ ıveis, veja a tabela 3.8 na p´gina 56. a \begin{displaymath} {a,b,c}\neq\{a,b,c\} \end{displaymath} a, b, c = {a, b, c} Se vocˆ coloca o comando \left em frente a um delimitador de abertura e ou \right em frente a um delimitador de fechamento, o TEX determinar´ a automaticamente o tamanho correto do delimitador. Note que vocˆ precisa e Note que o uso destes comandos em estilo antigo s˜o expressamente proia bidos pelo pacote amsmath. Eles foram substituidos pelos comandos \binom e \genfrac. O segundo ´ um super-conjunto para todas as constru¸˜es relacioe co nadas, ex. vocˆ pode obter uma constru¸˜o similar a \atop com \newcommand e ca {\newatop}[2]{\genfrac{}{}{0pt}{1}{#1}{#2}}. 5 A AMS-L TEX possui tamb´m sobre-/subscritos multi-linhas. e 4 3.4 Espa¸amento Matem´tico c a fechar cada \left com o \right correspondente e que o tamanho ´ detere minado corretamente se os dois delimitadores estiverem na mesma linha. Se vocˆ n˜o quiser nada ` direita, use o delimitador invis´ ‘\right.’ ! e a a ıvel \begin{displaymath} 1 + \left( \frac{1}{ 1-x^{2} } \right) ^3 \end{displaymath} 47 1+ 1 1 − x2 3 Em alguns casos ´ necess´rio especificar o tamanho correto de um delie a mitador matem´tico manualmente, o que pode ser feito usando os comandos a \big, \Big, \bigg e \Bigg como prefixos aos comandos que criam os delimitadores.6 $\Big( (x+1) (x-1) \Big) ^{2}$\\ $\big(\Big(\bigg(\Bigg($\quad $\big\}\Big\}\bigg\}\Bigg\}$\quad $\big\|\Big\|\bigg\|\Bigg\|$ 2 (x + 1)(x − 1) Para produzir os trˆs pontos em uma f´rmula, vocˆ pode usar v´rios e o e a comandos. \ldots cria os pontos na base da linha e \cdots cria os pontos centralizados na linha. Al´m destes, existem os comandos \vdots para e pontos na vertical e \ddots para pontos na diagonal. Vocˆ pode encontrar e outro exemplo na se¸˜o 3.5. ca \begin{displaymath} x_{1},\ldots,x_{n} \qquad x_{1}+\cdots+x_{n} \end{displaymath} x1 , . . . , xn x1 + · · · + xn 3.4 Espa¸amento Matem´tico c a Se os espa¸os nas f´rmulas escolhidos pelo TEX n˜o s˜o satisfat´rios, eles c o a a o podem ser ajustados por meio de comandos especiais de espa¸amento. Exisc 3 tem alguns comandos para espa¸os pequenos: \, para 18 quad ( ), \: para c 4 5 c c 18 quad ( ) e \; para 18 quad ( ). O caracter de espa¸o \ gera um espa¸o m´dio e \quad( ) e \qquad ( e ) produzem espa¸os grandes. O tamac nho de um \quad corresponde a largura do caracter ‘M’ da fonte atual. O 3 comando \! produz um espa¸o negativo de − 18 quad ( ). c Estes comandos n˜o funcionam como esperado se um comando de mudan¸a de taa c manho foi usado ou se as op¸˜es 11pt ou 12pt. Use os pacotes exscale ou amsmath para co corrigir este comportamento. 6 48 \newcommand{\ud}{\mathrm{d}} \begin{displaymath} \int\!\!\!\int_{D} g(x,y) \, \ud x\, \ud y \end{displaymath} ao inv´s de e \begin{displaymath} \int\int_{D} g(x,y)\ud x \ud y \end{displaymath} Editando F´rmulas Matem´ticas o a g(x, y) dx dy D ao inv´s de e g(x, y)dxdy D Note que o ‘d’ no diferencial ´ convencionalmente ajustado para roman. e A O AMS-L TEX prossui outra forma de ajustar o espa¸amento entre multic plos sinais de integral, chamados de \iint, \iiint, \iiiint, e \idotsint. Com o pacote amsmath, o exemplo acima pode ser criado desta forma: \newcommand{\ud}{\mathrm{d}} \begin{displaymath} \iint_{D} \, \ud x \, \ud y \end{displaymath} dx dy D Veja o documento eletrˆnico7 testmath.tex (distribu´ com o AMSo ıdo A X) ou o Cap´ L TE ıtulo 8 do “The LaTeX Companion” para maiores detalhes. 3.5 Material Alinhado Verticalmente Para criar matrizes, use o ambiente array. Ele funciona de modo similar ao ambiente tabular. O comando \\ ´ usado para quebrar as linhas. e \begin{displaymath} \mathbf{X} = \left( \begin{array}{ccc} x_{11} & x_{12} & \ldots \\ x_{21} & x_{22} & \ldots \\ \vdots & \vdots & \ddots \end{array} \right) \end{displaymath} x11  x21 X= . . .  x12 x22 . . .  ... ...   .. . O ambiente array podem tamb´m ser usado para produzir express˜es e o que possuem um grande delimitador usando um “.” como um delimitador direito (\right) invis´ ıvel: 7 N.Trad: Em inglˆs. e 3.5 Material Alinhado Verticalmente \begin{displaymath} y = \left\{ \begin{array}{ll} a & \textrm{se $d>c$}\\ b+x & \textrm{de manh~}\\ a l & \textrm{o resto do dia} \end{array} \right. \end{displaymath} 49  se d > c  a b + x de manh˜ a y=  l o resto do dia Assim como no ambiente tabular vocˆ pode desenhar linhas no ambiente e array, ex. separando as entradas de uma matriz: \begin{displaymath} \left(\begin{array}{c|c} 1 & 2 \\ \hline 3 & 4 \end{array}\right) \end{displaymath} 1 2 3 4 Para f´rmulas que se extendem por v´rias linhas ou para sistemas de o a equa¸˜es, vocˆ pode usar os ambientes eqnarray e eqnarray* ao inv´s de co e e equation. No eqnarray cada linha recebe um n´mero de equa¸˜o. O u ca eqnarray* n˜o numera nada. a Os ambientes eqnarray e eqnarray* funcionam como uma tabela de 3-colunas da forma {rcl}, onde a coluna do meio pode ser usada para o sinal de igualdade ou desigualdade ou qualquer outro sinal que vocˆ queira e colocar. O comando \\ quebra as linhas. \begin{eqnarray} f(x) & = & \cos x \\ f’(x) & = & -\sin x \\ \int_{0}^{x} f(y)dy & = & \sin x \end{eqnarray} f (x) f (x) x = cos x = − sin x = sin x (3.5) (3.6) (3.7) f (y)dy 0 Note que o espa¸o em cada lado dos sinais de igualdade ´ um pouco c e grande. Isso pode ser reduzido usando \setlength\arraycolsep{2pt}, como no pr´ximo exemplo. o As equa¸˜es longas n˜o ser˜o automaticamente divididas em partes co a a menores. O autor precisa especificar onde quebr´-las e como indent´-las. a a Os dois m´todos seguintes s˜o os mais comuns para se conseguir isso. e a 50 Editando F´rmulas Matem´ticas o a {\setlength\arraycolsep{2pt} \begin{eqnarray} \sin x & = & x -\frac{x^{3}}{3!} +\frac{x^{5}}{5!}-{} \nonumber\\ & & {}-\frac{x^{7}}{7!}+{}\cdots \end{eqnarray}} sin x = x − x3 x5 + − 3! 5! x7 − + ··· 7! (3.8) \begin{eqnarray} \lefteqn{ \cos x = 1 -\frac{x^{2}}{2!} +{} } \nonumber\\ & & {}+\frac{x^{4}}{4!} -\frac{x^{6}}{6!}+{}\cdots \end{eqnarray} cos x = 1 − x2 + 2! x4 x6 + − + ··· 4! 6! (3.9) A O comando \nonumber faz com que o L TEX n˜o numere a equa¸˜o. a ca Pode ser dif´ obter equa¸˜es alinhadas verticalmente com estes m´todos; ıcil co e o pacote amsmath define um conjunto mais poderoso de alternativas. (veja os ambientes split e align). 3.6 Espa¸o Fantasma (Phantom) c N´s n˜o conseguimos ver os fantasmas mas eles ainda ocupam algum espa¸o o a c A X n˜o ´ diferente. Vocˆ pode nas mentes de muitas pessoas. Com o L TE a e e usar os ‘fantasmas’ para obter alguns truques interessantes de espa¸amento. c A Quando alinha textos verticalmente usando ^ e _, o L TEX apenas algumas vezes ´ inteligente o suficiente. Usando o comando \phantom vocˆ pode e e reservar espa¸o para caracteres que n˜o ser˜o mostrados no resultado final. c a a Melhor ´ que vocˆ veja os seguintes exemplos: e e \begin{displaymath} {}^{12}_{\phantom{1}6}\textrm{C} \qquad \textrm{verso} \qquad {}^{12}_{6}\textrm{C} \end{displaymath} 12 6C verso 12 6 C \begin{displaymath} \Gamma_{ij}^{\phantom{ij}k} \qquad \textrm{verso} \qquad \Gamma_{ij}^{k} \end{displaymath} Γij k verso Γk ij 3.7 Tamanho da Fonte em Modo Matem´tico a 51 3.7 Tamanho da Fonte em Modo Matem´tico a Em modo matem´tico, o TEX seleciona o tamanho da fonte de acordo com a o contexto. Sobrescritos, por exemplo, s˜o criados em uma fonte menor. a Se vocˆ quer editar parte de uma equa¸˜o em roman n˜o use o comando e ca a \textrm porque o \textrm escapa temporariamente para o modo texto e as mudan¸as da fonte n˜o ir˜o funcionar. Use \mathrm para manter o mecac a a nismo de mudan¸a de tamanho ativo. Mas preste aten¸˜o pois o \mathrm c ca s´ ir´ funcionar bem em itens curtos. Espa¸os continuam desativados e n˜o o a c a funciona a acentua¸˜o de caracteres.8 ca \begin{equation} 2^{\textrm{o}} \quad 2^{\mathrm{o}} \end{equation} 2o 2o (3.10) A Entretanto, algumas vezes vocˆ precisa dizer ao L TEX o tamanho correto e da fonte. Em modo matem´tico o tamanho da fonte ´ ajustado com os a e quatro comandos: \displaystyle (123), \textstyle (123), \scriptstyle (123) e \scriptscriptstyle (123). A mudan¸a dos estilos tamb´m afetam a forma como os limites s˜o mosc e a trados. \begin{displaymath} \mathop{\mathrm{corr}}(X,Y)= \frac{\displaystyle \sum_{i=1}^n(x_i-\overline x) (y_i-\overline y)} {\displaystyle\biggl[ \sum_{i=1}^n(x_i-\overline x)^2 \sum_{i=1}^n(y_i-\overline y)^2 \biggr]^{1/2}} \end{displaymath} n (xi − x)(yi − y) corr(X, Y ) = i=1 n n 1/2 (xi − x)2 i=1 i=1 (yi − y)2 Este ´ um daqueles exemplos onde n´s precisamos de colchetes maiores do e o que o criado por \left[ \right]. 3.8 Teoremas, Leis, . . . Quando escreve documentos matem´ticos, vocˆ provavelmente precisa de um a e modo para criar os “Lemas”, “Defini¸˜es”, “Axiomas” e estruturas similares. co A O pacote AMS-L TEX faz com que o comando \textrm funcione com a mudan¸a do c tamanho da fonte. 8 52 Editando F´rmulas Matem´ticas o a A O L TEX suporta estas estruturas com o comando \newtheorem{nome}[contador ]{texto}[se¸˜o] ca O argumento nome ´ uma pequena palavra chave usada para identificar e o “teorema”. Com o argumento texto vocˆ define o nome do “teorema” que e ser´ impresso no documento final. a Os argumentos entre colchetes s˜o opcionais. Ambos s˜o usados para a a especificar a numera¸˜o usada no “teorema”. Com o argumento contador ca vocˆ pode especificar o nome do “teorema” declarado anteriormente. O e novo “teorema” ser´ ent˜o numerado na mesma seq¨ˆncia. O argumento a a ue se¸˜o permite vocˆ especificar a unidade de seccionamento9 na qual vocˆ ca e e quer que seu “teorema” seja numerado. Ap´s executar o comando \newtheorem no preˆmbuo de seu documento, o a vocˆ pode usar o comando seguinte no seu documento. e \begin{nome}[texto] Este ´ o meu teorema interessante e \end{nome} Isso ´ apenas teoria. Os exemplos seguintes ir˜o remover os resquicios e a finais de d´vida e deixar claro que o ambiente \newtheorem ´ uma coisa u e muito complexa de se entender. % defini¸~es para o documento co % pre^mbulo a \newtheorem{lei}{Lei} \newtheorem{juri}[lei]{Juri} %no documento \begin{lei} \label{law:box} N~o se esconda na mesa da testemunha a \end{lei} \begin{juri}[Os Doze] Poderia ser voc^! Ent~o previna-se e e a veja a lei~\ref{law:box}\end{juri} \begin{lei}N~o, N~o, N~o\end{lei} a a a Lei 1 N˜o se esconda na mesa da testemua nha Juri 2 (Os Doze) Poderia ser vocˆ! Ent˜o e a previna-se e veja a lei 1 Lei 3 N˜o, N˜o, N˜o a a a O teorema “Juri” usa o mesmo contador do teorema “Lei”. Conseq¨enteu mente ele obt´m um n´mero que est´ em seq¨ˆncia com as outras “Leis”. O e u a ue argumento entre colchetes ´ usado para especificar um t´ e ıtulo ou algo similar para o teorema. 9 ou seja, se a seq¨ˆncia de numera¸˜o deve ser a mesma dos cap´ ue ca ıtulos, se¸˜es, etc. co 3.9 S´ ımbolos real¸ados c \flushleft \newtheorem{mur}{Murphy}[section] \begin{mur} Se existem duas ou mais formas de se fazer alguma coisa, e uma das formas podem resultar em uma cat´strofe, ent~o algu´m a a e ir´ fazer a que resulta em a cat´strofe.\end{mur} a 53 Murphy 3.8.1 Se existem duas ou mais formas de se fazer alguma coisa, e uma das formas podem resultar em uma cat´strofe, a ent˜o algu´m ir´ fazer a que resulta em a e a cat´strofe. a O teorema “Murphy” obt´m um n´mero que est´ ligado ao n´mero da e u a u se¸˜o atual. Vocˆ pode tamb´m usar outras unidades como, por exemplo, ca e e cap´ ıtulo ou subse¸˜o. ca 3.9 S´ ımbolos real¸ados c ´ A E um pouco dif´ de se obter s´ ıcil ımbolos real¸ados (negritado) em L TEX, e isso c provavelmente ´ intencional para evitar que os usu´rios amadores fa¸am uso e a c excessivo do negrito. O comando de mudan¸a de fonte \mathbf produz letras c real¸adas mas estas est˜o em fonte roman (upright) sendo que os s´ c a ımbolos matem´ticos est˜o normalmente em it´lico. Existe o comando \boldmath, a a a mas ele s´ pode ser usado fora do modo matem´tico. Ele funciona para o a s´ ımbolos tamb´m. e \begin{displaymath} \mu, M \qquad \mathbf{M} \qquad \mbox{\boldmath $\mu, M$} \end{displaymath} µ, M M µ, M Note que a v´ ırgula ´ real¸ada tamb´m, o que pode n˜o ser o esperado. e c e a O pacote amsbsy (inclu´ por amsmath) assim como o pacote bm do conıdo junto de ferramentas torna isso muito mais f´cil pois eles incluem o comando a \boldsymbol. \begin{displaymath} \mu, M \qquad \boldsymbol{\mu}, \boldsymbol{M} \end{displaymath} µ, M µ, M 54 Editando F´rmulas Matem´ticas o a 3.10 Lista de S´ ımbolos Matem´ticos a Nas tabelas seguintes, vocˆ encontra todos os s´ e ımbolos normalmente acess´ ıveis em modo matem´tico. a Para usar os s´ ımbolos listados nas tabelas 3.12–3.16,10 o pacote amssymb precisa ser chamado no preˆmbulo do documento e as fontes matem´ticas a a “AMS math fonts” precisam estar instaladas no sistema. Se o pacote AMS e as fontes n˜o estiverem instalados em seu sistema, dˆ uma olhada em a e CTAN:/tex-archive/macros/latex/required/amslatex Tabela 3.1: Acentos do Modo Matem´tico. a a ˆ a ` a ¯ \hat{a} \grave{a} \bar{a} a ˇ a ˙ a \check{a} \dot{a} \vec{a} a ˜ a ¨ A \tilde{a} \ddot{a} \widehat{A} a ´ a ˘ A \acute{a} \breve{a} \widetilde{A} Tabela 3.2: Letras Gregas Min´sculas. u α β γ δ ε ζ η \alpha \beta \gamma \delta \epsilon \varepsilon \zeta \eta θ ϑ ι κ λ µ ν ξ \theta \vartheta \iota \kappa \lambda \mu \nu \xi o π ρ σ ς τ o \pi \varpi \rho \varrho \sigma \varsigma \tau υ φ ϕ χ ψ ω \upsilon \phi \varphi \chi \psi \omega Tabela 3.3: Letras Gregas Mai´sculas. u Γ ∆ Θ \Gamma \Delta \Theta Λ Ξ Π \Lambda \Xi \Pi Σ Υ Φ \Sigma \Upsilon \Phi Ψ Ω \Psi \Omega Estas tabelas foram obtidas do documento symbols.tex de David Carlisle e subseq¨ˆntemente alterada extensivamente como sugerido por Josef Tkadlec. ue 10 3.10 Lista de S´ ımbolos Matem´ticos a 55 Tabela 3.4: Rela¸˜es Bin´rias. co a Vocˆ pode produzir as nega¸˜es correspondentes adicionando o comando e co \not como prefixo aos s´ ımbolos seguintes. < ≤ < \leq or \le \ll \prec \preceq \subset \subseteq \sqsubset a \sqsubseteq \in \vdash \mid \smile : a > ≥ ⊂ ⊆ ` ∈ | : ⊃ ⊇ a ∈ / > \geq or \ge \gg \succ \succeq \supset \supseteq \sqsupset a \sqsupseteq \ni , \owns \dashv \parallel \frown \notin = ≡ . = ∼ ≈ ∼ = I ∝ |= ⊥ = = \equiv \doteq \sim \simeq \approx \cong \Join a \bowtie \propto \models \perp \asymp \neq or \ne Use o pacote latexsym para obter este s´ ımbolo Tabela 3.5: Operadores Bin´rios. a + ± · × ∪ ∨ ⊕ ⊗ ¡ ¢ + \pm \cdot \times \cup \sqcup \vee , \lor \oplus \odot \otimes \bigtriangleup \lhd a \unlhd a − ÷ \ ∩ ∧ \mp \div \setminus \cap \sqcap \wedge , \land \ominus \oslash \bigcirc \bigtriangledown \rhd a \unrhd a ∗ ◦ • £ ¤ † ‡ \triangleleft \triangleright \star \ast \circ \bullet \diamond \uplus \amalg \dagger \ddagger \wr 56 Editando F´rmulas Matem´ticas o a Tabela 3.6: Operadores GRANDES. \sum \prod \coprod \int \bigcup \bigcap \bigsqcup \oint \bigvee \bigwedge \bigoplus \bigotimes \bigodot \biguplus Tabela 3.7: Setas. ← → ↔ ⇐ ⇒ ⇔ → ← \leftarrow ou \gets \rightarrow ou \to \leftrightarrow \Leftarrow \Rightarrow \Leftrightarrow \mapsto \hookleftarrow \leftharpoonup \leftharpoondown \rightleftharpoons a ←− −→ ←→ ⇐= =⇒ ⇐⇒ −→ → ⇐⇒ \longleftarrow \longrightarrow \longleftrightarrow \Longleftarrow \Longrightarrow \Longleftrightarrow \longmapsto \hookrightarrow \rightharpoonup \rightharpoondown \iff (espa¸os maiores) c ↑ ↓ ⇑ ⇓ Y \uparrow \downarrow \updownarrow \Uparrow \Downarrow \Updownarrow \nearrow \searrow \swarrow \nwarrow \leadsto a Use o pacote latexsym para obter este s´ ımbolo Tabela 3.8: Delimitadores. ( [ { ( [ ou \lbrack \{ ou \lbrace \langle \lfloor / ) ] } ) ] ou \rbrack \} ou \rbrace \rangle \rfloor \backslash ↑ ↓ | \uparrow \downarrow \updownarrow | ou \vert \lceil . (dual. vazio) ⇑ ⇓ \Uparrow \Downarrow \Updownarrow \| ou \Vert \rceil / \     Tabela 3.9: Delimitadores Grandes.    \rgroup  \lmoustache \lgroup   \arrowvert \Arrowvert  \bracevert    \rmoustache 3.10 Lista de S´ ımbolos Matem´ticos a 57 Tabela 3.10: S´ ımbolos Diversos. ... \dots \hbar \Re \forall ’ \nabla \bot \diamondsuit \neg ou \lnot a ··· ı ∃ ∀ ⊥ ♦ ¬ ♥ \cdots \imath \Im \exists \prime \triangle \top \heartsuit \flat . . .  ℵ H ∅ P ∠ ♣ \vdots \jmath \aleph \mho a \emptyset \Box a \angle \clubsuit \natural .. . ℘ ∂ ∞ Q √ ♠ \ddots \ell \wp \partial \infty \Diamond a \surd \spadesuit \sharp Use o pacote latexsym para obter este s´ ımbolo Tabela 3.11: S´ ımbolos N˜o-Matem´ticos. a a Estes s´ ımbolos podem tamb´m ser usados em modo texto. e † ‡ \dag \ddag § ¶ \S \P c £ \copyright \pounds Tabela 3.12: Delimitadores AMS. \ulcorner \lvert \urcorner \rvert \llcorner \lVert \lrcorner \rVert | | Tabela 3.13: Grego e Hebreu AMS. \digamma κ \varkappa \beth \daleth \gimel 58 Editando F´rmulas Matem´ticas o a Tabela 3.14: Rela¸˜es Bin´rias AMS. co a \lessdot \leqslant \eqslantless \leqq \lll ou \llless \lesssim \lessapprox \lessgtr \lesseqgtr \lesseqqgtr \preccurlyeq \curlyeqprec \precsim \precapprox \subseteqq \Subset \sqsubset \therefore \shortmid \smallsmile \vartriangleleft \trianglelefteq \gtrdot \geqslant \eqslantgtr \geqq \ggg ou \gggtr \gtrsim \gtrapprox \gtrless \gtreqless \gtreqqless \succcurlyeq \curlyeqsucc \succsim \succapprox \supseteqq \Supset \sqsupset \because \shortparallel \smallfrown \vartriangleright \trianglerighteq \doteqdot ou \Doteq \risingdotseq \fallingdotseq \eqcirc \circeq \triangleq \bumpeq \Bumpeq \thicksim \thickapprox \approxeq \backsim \backsimeq \vDash \Vdash \Vvdash \backepsilon \varpropto \between \pitchfork \blacktriangleleft \blacktriangleright ∼ ≈ ` ∴ a ∝ Tabela 3.15: Setas AMS. \dashleftarrow \leftleftarrows \leftrightarrows \Lleftarrow \twoheadleftarrow \leftarrowtail \leftrightharpoons \Lsh \looparrowleft \curvearrowleft \circlearrowleft \dashrightarrow \rightrightarrows \rightleftarrows \Rrightarrow \twoheadrightarrow \rightarrowtail \rightleftharpoons \Rsh \looparrowright \curvearrowright \circlearrowright \multimap \upuparrows \downdownarrows \upharpoonleft \upharpoonright \downharpoonleft \downharpoonright \rightsquigarrow \leftrightsquigarrow 3.10 Lista de S´ ımbolos Matem´ticos a 59 Tabela 3.16: Negativas das Rela¸˜es Bin´rias e Setas AMS. co a \nless \lneq \nleq \nleqslant \lneqq \lvertneqq \nleqq \lnsim \lnapprox \nprec \npreceq \precneqq \precnsim \precnapprox \subsetneq \varsubsetneq \nsubseteq \subsetneqq \nleftarrow \nLeftarrow \ngtr \gneq \ngeq \ngeqslant \gneqq \gvertneqq \ngeqq \gnsim \gnapprox \nsucc \nsucceq \succneqq \succnsim \succnapprox \supsetneq \varsupsetneq \nsupseteq \supsetneqq \nrightarrow \nRightarrow \varsubsetneqq \varsupsetneqq \nsubseteqq \nsupseteqq \nmid \nparallel \nshortmid \nshortparallel \nsim \ncong \nvdash \nvDash \nVdash \nVDash \ntriangleleft \ntriangleright \ntrianglelefteq \ntrianglerighteq \nleftrightarrow \nLeftrightarrow Tabela 3.17: Operadores Bin´rios AMS. a \dotplus \ltimes \Cup or \doublecup \veebar \boxplus \boxtimes \leftthreetimes \curlyvee \centerdot \rtimes \Cap or \doublecap \barwedge \boxminus \boxdot \rightthreetimes \curlywedge \intercal \divideontimes \smallsetminus \doublebarwedge \circleddash \circledcirc \circledast 60 Editando F´rmulas Matem´ticas o a Tabela 3.18: S´ ımbolos AMS Diversos. \hbar \square \vartriangle \triangledown \lozenge \angle \diagup \nexists \eth \hslash \blacksquare \blacktriangle \blacktriangledown \blacklozenge \measuredangle \diagdown \Finv \mho k \Bbbk \circledS \complement \Game \bigstar \sphericalangle \backprime \varnothing ♦ ∠ ∅ ð H Tabela 3.19: Alfabetos Matem´ticos. a Exemplo ABCdef ABCdef ABCdef ABC ABC ABCdef ABC Comando \mathrm{ABCdef} \mathit{ABCdef} \mathnormal{ABCdef} \mathcal{ABC} \mathcal{ABC} \mathscr{ABC} \mathfrak{ABCdef} \mathbb{ABC} Pacote necess´rio a eucal com a op¸˜o: mathcal ca eucal com a op¸˜o: mathscr ca eufrak amsfonts ou amssymb ou Cap´ ıtulo 4 Recursos Adicionais A O LTEX ir´ te ajudar com alguns recursos especiais como gera¸˜o de gera¸˜o de a ca ca ´ ındices e gerenciamento de bibliografia, quando vocˆ trabalhar com documentos e A grandes. Uma descri¸˜o muito mais completa dos recursos adicionais do LTEX ca A X Manual [1] e The L T X Companion [3]. A pode ser encontrada em L TE E 4.1 Inclu´ ındo Gr´ficos EPS a A L TEX possui os recursos b´sicos para trabalhar com corpos flutuantes (veja a detalhes na p´gina 36) como as imagens ou os gr´ficos atrav´z dos ambientes a a e figure e table. A Existem tamb´m v´rias possibilidades de gerar gr´ficos com o L TEX e a a b´sico ou com um pacote de extens˜o. Infelizmente, a maioria dos usu´rios a a a acham que estes recursos s˜o dif´ a ıceis de se entender. Conseq¨entemente isso u A A n˜o ser´ explicado neste manual. Veja o The L TEX Companion [3] e o L TEX a a Manual [1] para mais informa¸˜es sobre este assunto. co Um modo muito mais f´cil de obter gr´ficos em um documento ´ criar o a a e gr´fico em um pacote de software gr´fico1 e ent˜o incluir o gr´fico j´ pronto a a a a a A no documento. Aqui novamente, os pacotes do L TEX oferecem muitas formas de fazer isso. Nesta introdu¸˜o apenas o uso dos gr´ficos Encapsulated ca a PostScript (EPS) ser´ discutido porque ´ muito f´cil de usar e amplamena e a te difundido. Para poder usar desenhos no formato EPS, vocˆ precisa que e esteja dispon´ uma impressora compat´ com o PostScript2 . ıvel ıvel Um bom conjunto de comandos para a inclus˜o de gr´ficos ´ definido no a a e pacote graphicx de D. P. Carlisle. Este faz parte de uma cole¸˜o de pacotes ca chamado de “graphics”3 . Como o XFig, CorelDraw!, Freehand, Gnuplot, . . . Outra possibilidade ´ e o programa GhostScript dispon´ ıvel em CTAN:/tex-archive/support/ghostscript. Usu´rios do Windows e do OS/2 poa dem usar o GSview. 3 CTAN:/tex-archive/macros/latex/required/graphics 2 1 62 Recursos Adicionais Assumindo que vocˆ est´ trabalhando em um sistema com uma impressoe a ra PostScript dispon´ 4 e com o pacote graphicx instalado, vocˆ pode usar ıvel e o seguinte guia passo-a-passo para incluir uma figura em seu documento: 1. Exporte a figura usando seu programa gr´fico para o formato EPS.5 a 2. Carregue o pacote graphicx no preˆmbulo do arquivo de entrada com a \usepackage[driver ]{graphicx} onde driver ´ o nome do seu programa conversor “dvi para postscript”. e O programa mais usado ´ chamado dvips. O nome do driver ´ nee e cess´rio porque n˜o existe uma forma padr˜o para incluir um gr´fico a a a a em TEX. Conhecendo o nome do driver, o pacote graphicx pode escolher corretamente o m´todo para inserir as informa¸˜es sobre o gr´fico e co a no arquivo .dvi, de modo que a impressora compreenda e inclua corretamente o gr´fico contido no arquivo .eps. a 3. Use o comando \includegraphics[chave=valor, . . . ]{arquivo} para incluir o arquivo em seu documento. O parˆmetro opcional aceia ta uma lista separada por v´ ırgula, contendo as chaves e seus valores associados. As chaves podem ser usadas para alterar a largura, altura, e rota¸˜o do gr´fico. A tabela 4.1 lista as chaves mais importantes. ca a Tabela 4.1: Nome das Chaves do Pacote graphicx. width height angle scale ajusta o gr´fico para a largura especificada a ajusta o gr´fico para a altura especificada a rotaciona o gr´fico no sentido hor´rio a a ajusta o tamanho de acordo com a escala N.Trad: Basta apenas ter o driver compat´ instalado. ıvel Se o seu software n˜o exporta para o formato EPS, vocˆ pode tentar instalar um a e driver de impressora PostScript (uma Apple LaserWriter por exemplo) e ent˜o imprimir a para um arquivo usando este driver. Se vocˆ tiver um pouco de sorte este arquivo estar´ e a em formato EPS. Note que um EPS precisa conter apenas uma p´gina. Alguns drivers de a impress˜o podem ser configurados expl´ a ıcitamente para produzir o formato EPS. 5 4 4.2 Bibliografia O exemplo seguinte ir´ tornar as coisas mais claras: a \begin{figure} \begin{center} \includegraphics[angle=90, width=0.5\textwidth]{test} \end{center} \end{figure} Ele inclui o gr´fico gravado no arquivo test.eps. O gr´fico primeiro ´ a a e rotacionado em um angulo de 90 graus e ent˜o ajustado para a largura final a de 0.5 vezes a largura de um par´grafo padr˜o. O raz˜o entre a largura e a a a a altura ´ 1.0 porque nenhuma altura foi especificada. Os parˆmetros “width” e a e “height” podem ser tamb´m especificados em dimens˜es absolutas. Veja e o a tabela 5.5 na p´gina 78 para mais informa¸˜es. Se vocˆ quer saber mais a co e sobre este t´pico, leia [8] e [11]. o 63 4.2 Bibliografia Vocˆ pode produzir uma bibliografia com o ambiente thebibliography. e Cada entrada come¸a com c \bibitem{marca} A marca ´ usada para fazer cita¸˜es do livro, artigo ou paper no texto e co do documento. \cite{marca} A numera¸˜o das entradas ´ gerada automaticamente; o parˆmetro ap´s ca e a o o comando \begin{thebibliography} ajusta o valor m´ximo destes n´meros. a u A No exemplo abaixo, {99} diz ao L TEX para esperar que nenhum dos itens bibliogr´ficos ser˜o numerados al´m do n´mero 99. a a e u Partl [1] propˆs que . . . o Partl~\cite{pa} prop^s que \ldots o \begin{thebibliography}{99} \bibitem{pa} H.~Partl: \emph{German \TeX}, TUGboat Volume~9, Issue~1 (1988) \end{thebibliography} Referˆncias e Bibliogr´ficas a [1] H. Partl: German TEX, TUGboat Volume 9, Issue 1 (1988) 64 Recursos Adicionais Para projetos maiores, vocˆ pode usar o programa BibTEX. O BibTEX ´ e e inclu´ na maioria das distribui¸˜es do TEX. Ele permite a vocˆ manter um ıdo co e banco de dados bibliogr´ficos e ent˜o extrair deste as referˆncias relevantes a a e para as coisas que vocˆ citou em seu paper. A apresenta¸˜o visual das e ca bibliografias geradas pelo BibTEX ´ baseada em um conceito de planilha de e estilos que permite criar bibliografias seguindo uma grande quantidade de estilos j´ definidos. a 4.3 ´ Indices A Um recurso usado em muitos livros ´ o ´ e ındice remissivo. Com o L TEX e o programa de suporte makeindex6 o ´ ındice remissivo pode ser gerado muito facilmente. Nesta introdu¸˜o, somente os comandos b´sicos de gera¸˜o de ca a ca ´ ındices remissivos ser˜o explicados. Para uma no¸˜o mais detalhada, veja o a ca A The L TEX Companion [3]. A Para habilitar o recurso de indexa¸˜o do L TEX, o pacote makeidx precisa ca ser carregado no preˆmbulo com: a \usepackage{makeidx} e os comandos de indexa¸˜o precisam ser habilitados pelo comando ca \makeindex no preˆmbulo do arquivo de entrada. a O conte´do do ´ u ındice remissivo ´ especificado com comandos e \index{chave} onde chave ´ a entrada do ´ e ındice remissivo. Vocˆ coloca os comandos \index e nos locais do texto para onde vocˆ quer que o ´ e ındice aponte. A tabela 4.2 explica a sintaxe do argumento chave com v´rios exemplos. a A Quando o arquivo de entrada ´ processado pelo L TEX cada comando e \index escreve uma entrada de ´ ındice apropriada junto com o n´mero da u p´gina atual em um arquivo especial. O arquivo tem o mesmo nome do a A arquivo de entrada do L TEX mas com uma extens˜o diferente (.idx). Este a arquivo .idx pode ent˜o ser processado com o programa makeindex. a makeindex arquivo O programa makeindex gera um ´ ındice ordenado com o mesmo nome do A arquivo base e com extens˜o .ind. Se agora o arquivo de entrada do L TEX a Em sistemas que n˜o suportam nomes de arquivos maiores que 8 caracteres, o proa grama pode ser chamado makeidx. 6 4.4 Cabe¸alhos Personalizados (Fancy Headings) c 65 Tabela 4.2: Exemplos da Sintaxe da Chave do ´ Indice. Exemplo \index{hello} \index{hello!Peter} \index{Sam@\textsl{Sam}} \index{Lin@\textbf{Lin}} \index{Jenny|textbf} \index{Joe|textit} Entrada do ´ Indice hello, 1 Peter, 3 Sam, 2 Lin, 7 Jenny, 3 Joe, 5 Coment´rio a Entrada simples Subentrada abaixo de ‘hello’ Entrada Formatada Igual o de cima N´m. P´gina Formatado u a Igual o de cima for processado novamente, este ´ ındice ordenado ser´ inclu´ no documento a ıdo A no ponto onde o L TEX encontrar o comando \printindex A O pacote showidx que vem com o L TEX 2ε imprime todas as entradas do ´ ındice na margem esquerda do texto. Isso ´ bastante util para fazer uma e ´ prova do documento para verificar se o ´ ındice est´ correto. a 4.4 Cabe¸alhos Personalizados (Fancy Headings) c O pacote fancyhdr,7 escrito por Piet van Oostrum, cria alguns comandos simples que permitem que vocˆ personalise as linhas de cabe¸alho e rodap´ e c e de seus documentos. Se vocˆ olhar para o topo desta p´gina poder´ ver uma e a a poss´ aplica¸˜o deste pacote. ıvel ca O maior problema que temos quando personalisamos os cabe¸alhos e c rodap´s ´ a obten¸˜o de coisas como os nomes de cap´ e e ca ıtulos ou da se¸˜o ca A atual. O L TEX realiza isso em dois est´gios. Na defini¸˜o do cabe¸alho a ca c e do rodap´ usa os comandos \rightmark e \leftmark para representar a e se¸˜o atual e o t´ ca ıtulo do cap´ ıtulo, respectivamente. Os valores destes dois comandos s˜o sobrescritos sempre que um comando \chapter ou \section a ´ processado. e Para aumentar a flexibilidade, o comando \chapter e seus amigos n˜o rea definem \rightmark e \leftmark, eles chamam outros comandos chamados \chaptermark, \sectionmark ou \subsectionmark que s˜o os respons´veis a a por redefinir \rightmark e \leftmark. Ent˜o, se vocˆ quer mudar a aparˆncia do nome do cap´ a e e ıtulo na linha do cabe¸alho, apenas precisa “redefinir” o comando \chaptermark. c 7 Dispon´ em CTAN:/tex-archive/macros/latex/contrib/supported/fancyhdr. ıvel 66 Recursos Adicionais \documentclass{book} \usepackage{fancyhdr} \pagestyle{fancy} % com isto n´s nos certificamos que o cabe¸alho dos cap´tulos e o c ı % se¸~es est~o em min´sculo. co a u \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} \fancyhf{} % deleta a configura¸~o atual para cabe¸alho e rodap´ ca c e \fancyhead[LE,RO]{\bfseries\thepage} \fancyhead[LO]{\bfseries\rightmark} \fancyhead[RE]{\bfseries\leftmark} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0pt} \addtolength{\headheight}{0.5pt} % cria espa¸o para a linha c \fancypagestyle{plain}{% \fancyhead{} % exibe o cabe¸alho e o rodap´ c e \renewcommand{\headrulewidth}{0pt} % e a linha } Figura 4.1: Exemplo de Configura¸˜o fancyhdr. ca A figura 4.1 mostra uma poss´ configura¸˜o para o pacote fancyhdr que ıvel ca criam os cabe¸alhos iguais aos usados neste livreto. Em todo caso, eu sugiro c que vocˆ obtenha a documenta¸˜o para o pacote no endere¸o mencionado e ca c na nota de rodap´. e 4.5 O pacote ‘Verbatim’ Vocˆ j´ viu neste livro o ambiente verbatim. Nesta se¸˜o, vocˆ ir´ aprene a ca e a der sobre o pacote verbatim. O pacote verbatim ´ basicamente uma ree implementa¸˜o do ambiente verbatim, que resolve algumas das limita¸˜es ca co do ambiente original. Isso por si mesmo n˜o ´ espetacular, mas com a a e implementa¸˜o do pacote verbatim tamb´m foram adicionadas novas funcica e onalidades, e esta ´ a raz˜o pela qual eu estou mencionando o pacote aqui. e a O pacote verbatim define o comando \verbatiminput{arquivo} que permite incluir um texto ASCII em seu documento como se ele estivesse dentro de um ambiente verbatim. Como o pacote verbatim faz parte da cole¸˜o ‘tools’, vocˆ deve encontr´ca e a lo pr´-instalado na maioria dos sistemas. Se vocˆ quer saber mais sobre este e e A 4.6 Obtendo (Download) e Instalando Pacotes do L TEX 67 pacote leia [9] 4.6 Obtendo (Download) e Instalando Pacotes do A LTEX A A maioria das instala¸˜es do L TEX vem com um vasto conjunto de pacotes co de estilos pr´-instalados, mas existem muitos outros dispon´ e ıveis na web. O lugar principal para encontrar os pacotes de estilo na Internet ´ o CTAN e (http://www.ctan.org/). Pacotes como o geometry, hyphenat e muitos outros, s˜o tipicamente a contruidos em dois arquivos: um arquivo com a extens˜o .ins e outro com a a extens˜o .dtx. Geralmente existe um readme.txt com uma breve descri¸˜o a ca do pacote. Vocˆ deve, ´ claro, ler este arquivo primeiro. e e Em todo caso, assim que vocˆ copia os arquivos do pacote em sua e m´quina, vocˆ precisa process´-los de forma que (a) sua distribui¸˜o TEX a e a ca saiba sobre o novo pacote e (b) vocˆ obtenha a documenta¸˜o. Aqui est´ e ca a como vocˆ faz a primeira parte: e A 1. Execute o L TEX no arquivo .ins. Isso ir´ extrair um arquivo .sty. a 2. Mova o arquivo .sty para um lugar onde sua distribui¸˜o possa enca contr´-lo. Usualmente no subdiret´rio . . . /localtexmf /tex/latex a o (usu´rios do Windows ou do OS/2 deve inverter a dire¸˜o das barras). a ca 3. Atualize seu banco de dados de pacotes. O comando depende da disA tribui¸˜o do L TEX: teTeX, fpTeX – texhash; web2c – maktexlsr; ca MikTeX – initexmf -update-fndb ou use a Interface Gr´fica (GUI). a Agora vocˆ pode extrair a documenta¸˜o do arquivo .dtx: e ca A 1. Execute o L TEX no arquivo .dtx. Isso ir´ gerar um arquivo .dvi. a A X v´rias vezes antes de Note que vocˆ pode ter que executar o L TE e a obter as referˆncias cruzadas corretas. e A 2. Verifique se o L TEX produziu um arquivo .idx entre os v´rios outros a que vocˆ tem agora. Se vocˆ n˜o encontrar este arquivo, ent˜o vocˆ e e a a e pode ir para o passo 5. 3. Para gerar o ´ ındice, digite o seguinte: makeindex -s gind.ist nome (onde nome ´ o nome do arquivo principal sem qualquer extens˜o). e a A 4. Execute o L TEX no arquivo .dtx novamente. 5. Por ultimo, mas n˜o menos importante, crie um arquivo .ps ou .pdf ´ a para aumentar seu prazer na leitura. 68 Recursos Adicionais Algumas vezes vocˆ ver´ que um arquivo .glo (gloss´rio) foi produzido. e a a Execute o seguinte comando entre os passos 4 e 5: makeindex -s gglo.ist -o nome.gls nome.glo A Certifique-se de executar o L TEX no .dtx uma ultima vez antes de ir para ´ o passo 5. Cap´ ıtulo 5 A Personalisando o L TEX Os documentos produzidos usando os comandos que vocˆ aprendeu at´ aqui e e ser˜o ter˜o uma grande aceita¸˜o. Embora n˜o estejam com uma aparˆncia a a ca a e muito elegante, eles obedecem todas as regras estabelecidas de uma boa tipografia, o que os torna f´ceis de ler e prazeirosos de olhar. a A Entretanto, existem situa¸˜es onde o LTEX n˜o prossui um comando ou co a ambiente que atende as suas necessidades ou o resultado produzido por algum comando existente n˜o se ajusta aos seus requerimentos. a Neste cap´ ıtulo, tentarei dar algumas dicas sobre como ensinar novos truques A ao LTEX e como fazer com que ele produza um resultado diferente do padr˜o. a 5.1 Novos Comandos, Ambientes e Pacotes Vocˆ deve ter notado que todos os comandos que foram introduzidos neste e livreto est˜o escritos dentro de um retˆngulo e que eles est˜o no ´ a a a ındice remissivo no final do livro. Ao inv´s de usar diretamente os comandos do e A L TEX necess´rios para fazer isso, eu criei um pacote no qual eu defino novos a comandos e ambientes para este objetivo. Agora eu posso simplesmente escrever: \begin{lscommand} \ci{dum} \end{lscommand} \dum Neste exemplo, eu estou usando um novo ambiente chamado lscommand que ´ respons´vel por desenhar o retˆngulo ao redor do comando e o novo e a a comando \ci que escreve o nome do comando e tamb´m cria uma entrae da correspondente no ´ ındice remissivo. Vocˆ pode verificar isso checando e o comando \dum no ´ ındice remissivo deste livro, onde vocˆ ir´ encontrar e a uma entrada para \dum apontando para cada p´gina onde este comando foi a mencionado. 70 A Personalisando o L TEX Se eu decidir que eu n˜o gosto mais que os comandos sejam escritos a dentro de um retˆngulo, posso simplesmente mudar a defini¸˜o do ambiente a ca lscommand para criar um outro resultado. Isso ´ muito mais f´cil do que e a A mudar por todo o documento os lugares onde usei comandos do L TEX para desenhar um retˆngulo ao redor de uma palavra. a 5.1.1 Novos Comandos Para criar seus pr´prios comandos use o \newcommand{nome}[num]{defini¸˜o} ca Basicamente, este comando requer dois argumentos: o nome do comando que vocˆ quer criar e a defini¸˜o do comando. O argumento num entre e ca colchetes ´ opcional e especifica o n´mero de argumentos que o novo coe u mando receber´ (no m´ximo 9), caso contr´rio ´ assumido 0, i.e, nenhum a a a e argumento ´ permitido ao novo comando. e Os seguintes dois exemplos deve ajud´-lo a entender o conceito. O pria meiro exemplo define um novo comando chamado \tnss. Isto ´ a abrevia¸˜o e ca A X 2ε ”1 . Este comando pode ser de “The Not So Short Introduction to L TE util se vocˆ precisar escrever o t´ ´ e ıtulo deste livro v´rias vezes. a \newcommand{\tnss}{The not so Short Introduction to \LaTeXe} Este ´ o ‘‘\tnss’’ \ldots{} e ‘‘\tnss’’ Este ´ o “The not so Short Introduction to e A L TEX 2ε ” . . . “The not so Short Introduction A to L TEX 2ε ” O pr´ximo exemplo ilustra como definir um novo comando que recebe um o argumento. O r´tulo #1 ´ substituido pelo argumento que vocˆ especificar. o e e Se vocˆ quiser usar mais que um argumento, use #2 e por a´ adiante. e ı \newcommand{\txsit}[1] {Este ´ o The \emph{#1} Short e Introduction to \LaTeXe} % in the document body: \begin{itemize} \item \txsit{not so} \item \txsit{very} \end{itemize} • Este ´ o The not so Short Introduction e A to L TEX 2ε • Este ´ o The very Short Introduction e A to L TEX 2ε A O L TEX n˜o permitir´ que vocˆ crie um novo comando com o mesmo a a e nome de um comando existente. Existe um comando especial no caso de vocˆ desejar realmente fazer isso: \renewcommand. Ele usa a mesma sintaxe e do comando \newcommand. 1 N.Trad: O t´ ıtulo original em inglˆs e 5.1 Novos Comandos, Ambientes e Pacotes Em certos casos vocˆ pode tamb´m usar o comando \providecommand. e e Ele funciona de modo semelhante ao \newcommand, mas se o comando j´ a A X 2ε ir´ ignor´-lo sem avisar nada. estiver definido o L TE a a ´ E necess´rio ficar atento sobre os caracteres de espa¸amento ap´s os a c o A X. Veja a p´gina 6 para mais informa¸˜es. comandos do L TE a co 71 5.1.2 Novos Ambientes Similar ao comando \newcommand, existe tamb´m um comando para crie ar seus pr´prios ambientes. O comando \newenvironment usa a seguinte o sintaxe: \newenvironment{nome}[num]{antes}{depois} Como no comando \newcommand, vocˆ pode usar o comando \newenvironment e com o argumento opcional ou sem. O material especificado no argumento antes ser´ processado antes do texto que est´ dentro do ambiente. O matea a rial no argumento depois ser´ processado quando o comando \end{name} a for encontrado. O exemplo abaixo ilustra o uso do comando \newenvironment. \newenvironment{king} {\rule{1ex}{1ex}% \hspace{\stretch{1}}} {\hspace{\stretch{1}}% \rule{1ex}{1ex}} \begin{king} Meus humildes assuntos \ldots \end{king} Meus humildes assuntos . . . O argumento num ´ usado da mesma forma que no comando \newcommand. e A X certifica-se que vocˆ n˜o ir´ definir um ambiente que j´ exisO L TE e a a a te. Se vocˆ quer mesmo mudar um ambiente existente use o comando e \renewenvironment. Este usa a mesma sintaxe do comando \newenvironment. Os comandos usados neste exemplo ser˜o explicados depois: Para o coa mando \rule veja a p´gina 83, para \stretch v´ para a p´gina 77, e mais a a a informa¸˜es sobre \hspace podem ser encontrados na p´gina 77. co a 5.1.3 Seu pr´prio Pacote o Se vocˆ definir um monte de novos ambientes e comandos, o preˆmbulo de e a seu documento ficar´ um pouco grande. Nesta situa¸˜o, ´ uma boa id´ia a ca e e A criar um pacote L TEX contendo todas as suas defini¸˜es de comandos e co ambientes. Vocˆ ent˜o pode usar o comando \usepackage para tornar o e a pacote dispon´ em seu documento. ıvel 72 A Personalisando o L TEX % Demo Package by Tobias Oetiker \ProvidesPackage{demopack} \newcommand{\tnss}{The not so Short Introduction to \LaTeXe} \newcommand{\txsit}[1]{The \emph{#1} Short Introduction to \LaTeXe} \newenvironment{king}{\begin{quote}}{\end{quote}} Figura 5.1: Pacote Exemplo. Escrever um pacote consiste basicamente em copiar o conte´do do preˆmbulo u a de seu documento para um arquivo separado com um nome terminado em .sty. Existe um comando especial, \ProvidesPackage{pacote} para usar no in´ ıcio do seu arquivo de pacote. \ProvidesPackage diz ao A L TEX o nome do pacote e permitir´ que ele informe com uma mensagem de a erro quando vocˆ tentar incluir o pacote duas vezes. A figura 5.1 mostra um e pequeno pacote exemplo que cont´m os comandos definidos nos exemplos e anteriores. 5.2 5.2.1 Fontes e Tamanhos Comandos de Mudan¸a de Fonte c A O L TEX escolhe a fonte e o tamanho da fonte apropriado baseado na estrutura l´gica do documento (se¸˜es, notas de rodap´, . . . ). Em alguns casos ´ o co e e poss´ mudar as fontes e os tamanhos manualmente. Para fazer isso, vocˆ ıvel e pode usar os comandos listados nas tabelas 5.1 e 5.2. O tamanho corrente de cada fonte ´ uma quest˜o de design e depende da classe de documento e a e de suas op¸˜es. A tabela 5.3 mostra o tamanho absoluto em pontos para co estes comandos como est´ implementado nas classes padr˜o. a a {\small A pequena e \textbf{real¸ada} Romans comparada} c {\Large a bem grande \textit{´talica}.} I A pequena e real¸ada Romans comparada a c ´ bem grande Italica. A Um recurso importante do L TEX 2ε ´ a independencia entre os atributos e das fontes. Isso significa, por exemplo, que vocˆ pode mudar o tamanho e ou mesmo a fonte e continuar mantendo o atributo negrito ou inclinado ajustado anteriormente. 5.2 Fontes e Tamanhos No modo matem´tico vocˆ pode usar os comandos de mudan¸a de fonte a e c para mudar temporariamente para o modo texto. Se vocˆ quizer mudar a e fonte para a digita¸˜o de f´rmulas existem outro conjunto de comandos. ca o Veja a tabela 5.4. Nos comandos de mudan¸a de tamanho de fonte, as chaves { } possuem c uma significante fun¸˜o. Elas s˜o usadas para construir grupos. Grupos ca a A limitam o escopo da maioria dos comandos L TEX. 73 Ele gosta de {\LARGE grandes e {\small pequenas} letras}. Ele gosta de . tras grandes e pequenas le- Os comandos de mudan¸a de tamanho da fonte tamb´m mudam os esc e pa¸amentos das linhas, mas somente se o par´grafo terminou dentro do c a escopo do comando. Note a posi¸˜o do comando \par nos pr´ximos dois ca o exemplos. 2 2 \par ´ equivalente a uma linha vazia. e Tabela 5.1: Fontes. \textrm{...} \texttt{...} \textmd{...} \textup{...} \textsl{...} \emph{...} roman m´quina de escrever a m´dio e upright inclinado enfatizado \textsf{...} \textbf{...} \textit{...} \textsc{...} \textnormal{...} sans serif real¸ado c it´lico a small caps documento Tabela 5.2: Tamanhos da Fonte. \tiny \scriptsize \footnotesize \small \normalsize \large min´ sculo u \Large \LARGE \huge \Huge maior muito pequena nota de rodap´ e muito maior pequena normal bastante grande grande enorme 74 A Personalisando o L TEX Tabela 5.3: Tamanho Absoluto em Pontos nas Classes Padr˜o. a tamanho \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge 10pt (padr˜o) a 5pt 7pt 8pt 9pt 10pt 12pt 14pt 17pt 20pt 25pt op¸˜o 11pt ca 6pt 8pt 9pt 10pt 11pt 12pt 14pt 17pt 20pt 25pt op¸˜o 12pt ca 6pt 8pt 10pt 11pt 12pt 14pt 17pt 20pt 25pt 25pt Tabela 5.4: Fontes Matem´ticas. a Comando \mathcal{...} \mathrm{...} \mathbf{...} \mathsf{...} \mathtt{...} \mathnormal{...} \mathit{...} Exemplo $\mathcal{B}=c$ $\mathrm{K}_2$ $\sum x=\mathbf{v}$ $\mathsf{G\times R}$ $\mathtt{L}(b,c)$ $\mathnormal{R_{19}}\neq R_{19}$ $\mathit{ffi}\neq ffi$ Resultado B=c K2 x=v G×R L(b, c) R = R19 ffi = ffi 5.2 Fontes e Tamanhos 75 {\Large N~o leia isto! Isto n~o ´ a a e verdade. Voc^ pode acreditar em e mim!\par} N˜o leia isto! Isto n˜o ´ vera a e dade. Vocˆ pode acreditar em e mim! {\Large Isto ainda n~o ´ verdade. a e Mas se lembre que eu sou um mentiroso.}\par Isto ainda n˜o ´ verdade. Mas a e se lembre que eu sou um mentiroso. Para que os comandos de mudan¸a de fonte afete um par´grafo ou mais c a de texto, vocˆ pode usar os ambientes correspondentes. e \begin{Large} Isto n~o ´ verdade. a e Mas ent~o, o que s~o a a estes dias \ldots \end{Large} Isto n˜o ´ verdade. Mas ent˜o, a e a o que s˜o estes dias . . . a Isso vai evitar que vocˆ fique contando um monte de chaves. e 5.2.2 Perigo, Perigo, . . . Como foi dito no come¸o deste cap´ c ıtulo ´ f´cil desconfigurar seu documento e a com comandos expl´ ıcitos como estes, porque eles trabalham em oposi¸˜o ca A X que ´ separar as marca¸˜es l´gicas e visuais de a `s id´ias b´sicas do L TE e a e co o seu documento. Isto significa que se vocˆ usar os mesmos comandos de e mudan¸a de fonte em v´rios lugares de seu documento para produzir algum c a tipo especial de informa¸˜o, vocˆ deve usar \newcommand para definir um ca e “envolt´rio l´gico” para o comando de mudan¸a de fonte. o o c \newcommand{\oops}[1]{\textbf{#1}} N~o \oops{entre} nesta sala, a ela est´ ocupada por uma a \oops{m´quina} de origem e a utilidade desconhecida. N˜o entre nesta sala, ela est´ ocupada por a a uma m´quina de origem e utilidade descoa nhecida. Este m´todo tem a vantagem de vocˆ poder se decidir posteriormente a e e usar alguma outra representa¸˜o para a advertˆncia no lugar de \textbf sem ca e ter que modificar todo o seu documento, identificando todas as ocorrˆncias e do \textbf e ent˜o descobrindo se cada uma delas est´ representando uma a a advertˆncia ou se est´ ali por qualquer outra raz˜o. e a a 76 A Personalisando o L TEX 5.2.3 Conselho Para concluir a jornada no pa´ das fontes e dos tamanhos de fontes, aqui ıs est´ uma breve palavra de conselho: a Lembre-se ! Quanto MA IS fontes vocˆ e ´ a usar em um documento, muito mais leg´ ıvel e elegante ele ficar . 5.3 5.3.1 Espa¸amento c Espa¸amento das Linhas c Se vocˆ quer usar um espa¸amento maior entre as linhas de um documento, e c vocˆ pode mudar este valor inserindo o comando e \linespread{fator } no preˆmbulo. Use \linespread{1.3} para um espa¸amento de “uma lia c nha e meia” e \linespread{1.6} para espa¸amento em linhas “duplas”. c Normalmente as linhas n˜o est˜o distanciadas, portanto, o fator de distana a ciamento padr˜o ´ 1. a e 5.3.2 Formatando o Par´grafo a A Em L TEX existem dois parˆmetros que influenciam o layout do par´grafo. a a Vocˆ pode mudar o layout dos par´grafos inserindo uma defini¸˜o semelhane a ca te a \setlength{\parindent}{0pt} \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} no preˆmbulo do arquivo de entrada. Estes dois comandos aumentam o a espa¸o entre dois par´grafos e configuram a indenta¸˜o do par´grafo para c a ca a zero. As partes plus (mais) e minus (menos) do tamanho acima diz ao TEX que ele pode comprimir e expandir a distˆncia entre os par´grafos dentro a a da faixa especificada, se for necess´rio, para colocar de modo apropriado os a par´grafos na p´gina. a a Na Europa continental os par´grafos geralmente s˜o separados por algum a a espa¸o e n˜o s˜o indentados. Mas cuidado, isso tamb´m tem efeitos no c a a e ´ ındice. Suas linhas ficam mais espa¸adas agora do que antes. Para evitar c isso, vocˆ pode mover os dois comandos do preˆmbulo para algum lugar ap´s e a o o comando \tableofcontents ou definitivamente n˜o us´-los, porque vocˆ a a e ver´ que os livros mais profissionais usam a indenta¸˜o e n˜o o espa¸amento a ca a c para separar os par´grafos. a 5.3 Espa¸amento c Se vocˆ quiser indentar um par´grafo que n˜o est´ indentado vocˆ pode e a a a e usar \indent 77 no in´ ıcio do par´grafo.3 Obviamente, isso ter´ efeito quando \parindent a a n˜o estiver configurado para zero. a Para criar um par´grafo n˜o-indentado use a a \noindent como o primeiro comando do par´grafo. Isso pode ser util quando vocˆ a ´ e come¸a um documento diretamente com texto sem nenhuma se¸˜o. c ca 5.3.3 Espa¸o Horizontal c A O L TEX determina os espa¸os entre as palavras e senten¸as automaticamenc c te. Para adicionar espa¸os horizontais use: c \hspace{tamanho} Se este espa¸o deve ser mantido mesmo que ele esteja no final ou no c in´ ıcio de uma linha use \hspace* ao inv´s de \hspace. O tamanho ´ nos e e casos mais simples apenas um n´mero e uma unidade. As unidades mais u importantes est˜o listadas na tabela 5.5. a Este\hspace{1.5cm}´ um espa¸o e c de 1.5 cm. Este ´ um espa¸o de 1.5 cm. e c O comando \stretch{n} gera um espa¸o el´stico especial. Ele se estica at´ que o espa¸o restante na c a e c linha seja preenchido. Se dois comandos \hspace{\stretch{n}} est˜o na a mesma linha, eles crescem de acordo com o fator de elasticidade n. x\hspace{\stretch{1}} x\hspace{\stretch{3}}x x x x Para indentar o primeiro par´grafo ap´s o t´ a o ıtulo de uma se¸˜o use o pacote indentfirst ca do conjunto ‘tools’. 3 78 A Personalisando o L TEX Tabela 5.5: Unidades do TEX. mm cm in pt em ex mil´ ımetro ≈ 1/25 polegadas cent´ ımetro = 10 mm polegada = 25.4 mm ponto ≈ 1/72 polegadas ≈ 1 mm 3 ≈ a largura de um ‘M’ na fonte atual ≈ a altura de um ‘x’ na fonte atual 5.3.4 Espa¸o Vertical c O espa¸o entre os par´grafos, se¸˜es, subse¸˜es, . . . ´ determinado automac a co co e A ticamente pelo L TEX. Se necess´rio, espa¸os verticais adicionais entre dois a c par´grafos podem ser adicionados com o comando: a \vspace{tamanho} Este comando deve ser usado normalmente entre duas linhas vazias. Se o espa¸o deve ser preservado no topo ou no final de uma p´gina use a vers˜o c a a \vspace* ao inv´s de \vspace. e O comando \stretch junto com o comando \pagebreak pode ser usado para produzir texto na ultima linha da p´gina ou para centralizar o texto ´ a verticalmente em uma p´gina. a Algum texto \ldots \vspace{\stretch{1}} Este vai na ´ltima linha da p´gina.\pagebreak u a Espa¸o adicional entre duas linhas do mesmo par´grafo ou dentro de c a uma tabela ´ especificado com o comando e \\[tamanho] Com \bigskip e \smallskip vocˆ pode pular uma quantidade pr´e e definida de espa¸o vertical sem ter que se preocupar com n´meros exatos. c u 5.4 Layout da P´gina a A O L TEX 2ε permite a vocˆ especificar o tamanho do papel no comando e \documentclass. Ele ent˜o configura automaticamente as margens do texa to. Mas algumas vezes vocˆ n˜o fica feliz com os valores pr´-definidos. Nae a e turalmente, vocˆ pode mud´-los. A figura 5.2 mostra todos os parˆmetros e a a 5.4 Layout da P´gina a 79 4 i c 5 i c 6 i 2 T i c T T cHeader T T Margin Notes Body 7 i E ' 9i ' 10 E i i ' 3 E ' c ' 1i E 11 8 i c E Footer T i 1 3 5 7 9 11 one inch + \hoffset \evensidemargin = 70pt \headheight = 13pt \textheight = 595pt \marginparsep = 7pt \footskip = 27pt \hoffset = 0pt \paperwidth = 597pt 2 4 6 8 10 one inch + \voffset \topmargin = 22pt \headsep = 19pt \textwidth = 360pt \marginparwidth = 106pt \marginparpush = 5pt (not shown) \voffset = 0pt \paperheight = 845pt Figura 5.2: Parˆmetros do Layout de P´gina. a a 80 A Personalisando o L TEX que podem ser mudados. A figura foi produzida com o pacote layout da cole¸˜o ‘tools’4 . ca ESPERE! . . . antes que vocˆ se lance em um “Vamos deixar esta p´gina e a mon´tona um pouco melhor”, pense por alguns segundos. Como em muitas o A coisas em L TEX, existe uma boa raz˜o para que o layout da p´gina seja a a como ele ´. e Claro, comparado com sua p´gina fora-do-padr˜o feita no MS Word ela a a se parece bastante mon´tona. Mas dˆ uma olhada em seu livro favorito5 e o e conte o n´mero de caracteres em uma linha de texto. Vocˆ ver´ que n˜o u e a a tem mais que 66 caracteres em cada linha. Agora fa¸a a mesma coisa na c A sua p´gina L TEX. Vocˆ ver´ que tamb´m existe uns 66 caracteres por linha. a e a e A experiˆncia mostra que a leitura se torna mais dif´ na medida em que e ıcil a quantidade de caracteres por linha aumenta. Isso porque ´ dif´ para e ıcil os olhos se moverem do final de uma linha para o in´ da pr´xima. Esta ıcio o tamb´m ´ a raz˜o pela qual os jornais s˜o escritos em m´ltiplas colunas. e e a a u Ent˜o se vocˆ aumentar a largura de seu texto, tenha em mente que vocˆ a e e est´ tornando a vida dos leitores mais dif´ a ıcil. Mas apesar deste aviso, eu prometo dizer a vocˆ como fazer isso . . . e A O L TEX possui dois comandos para mudar estes parˆmetros. Eles s˜o a a usados usualmente no preˆmbulo. a O primeiro comando atribui um valor fixo para qualquer dos parˆmetros: a \setlength{parˆmetro}{tamanho} a O segundo comando adiciona um tamanho a qualquer dos parˆmetros. a \addtolength{parˆmetro}{tamanho} a Este segundo comando ´ mais usado que o \setlength porque vocˆ pode e e trabalhar em rela¸˜o ` configura¸˜o existente. Para adicionar um cent´ ca a ca ımetro na largura total do texto, eu inseri os seguintes comandos no preˆmbulo do a documento: \addtolength{\hoffset}{-0.5cm} \addtolength{\textwidth}{1cm} Neste contexto, vocˆ pode dar uma olhada no pacote calc, ele permite e usar opera¸˜es aritm´ticas no argumento do \setlength e em outros lugares co e onde vocˆ pode digitar valores num´ricos em argumentos de fun¸˜es. e e co 4 5 CTAN:/tex-archive/macros/latex/required/tools Eu digo um livro real produzido por uma editora com reputa¸˜o. ca 5.5 Mais Divers˜o com os Tamanhos a 81 5.5 Mais Divers˜o com os Tamanhos a Sempre que poss´ ıvel, eu evito usar tamanhos absolutos nos documentos A X. Eu tento basear as coisas na largura ou na altura de outros elementos L TE da p´gina. A largura de uma figura, por exemplo, poderia ser \textwidth a para que ela ocupe toda a p´gina. a Os 3 seguintes comandos permitem que vocˆ determine a largura, altura e e profundidade de um texto. \settoheight{lscommand }{texto} \settodepth{lscommand }{texto} \settowidth{lscommand }{texto} O exemplo abaixo mostra uma poss´ aplica¸˜o para estes comandos: ıvel ca \flushleft \newenvironment{vardesc}[1]{% \settowidth{\parindent}{#1:\ } \makebox[0pt][r]{#1:\ }}{} \begin{displaymath} a^2+b^2=c^2 \end{displaymath} \begin{vardesc}{Where}$a$, $b$ -- s~o os catetos do a tri^ngulo ret^ngulo. a a $c$ -- ´ a hipotenusa do e tri^ngulo e se sente sozinha. a $d$ -- finalmente n~o aparece na a f´rmula. Ser´ que ´ para confundir ? o a e \end{vardesc} a2 + b2 = c2 Where: a, b – s˜o os catetos do triˆngulo a a retˆngulo. a c – ´ a hipotenusa do triˆngulo e se e a sente sozinha. d – finalmente n˜o aparece na a f´rmula. Ser´ que ´ para confundir ? o a e 5.6 Caixas A O L TEX constr´i suas p´ginas por meio de caixas. Em primeiro lugar, cada o a letra ´ uma pequena caixa que ´ ‘colada’ com outras letras para formar as e e palavras. Estas s˜o ‘coladas’ novamente com outras palavras, mas com uma a ‘cola especial’ que ´ el´stica, para permitir que as palavras sejam apertadas e a ou esticadas para preencher com exatid˜o uma linha da p´gina. a a Eu admito que esta ´ uma vers˜o muito simplificada das coisas que reale a mente acontecem, mas o importante ´ que o TEX opera com ‘cola’ e caixas. e N˜o somente uma letra pode ser uma caixa. Vocˆ pode colocar virtualmente a e 82 A Personalisando o L TEX tudo em uma caixa incluindo outras caixas. Cada caixa ser´ manipulada a A pelo L TEX como se ela fosse uma simples letra. Nos cap´ ıtulos anteriores vocˆ j´ encontrou algumas caixas embora eu e a n˜o tenha dito. O ambiente tabular e o \includegraphics, por exemplo, a ambos produzem uma caixa. Isso significa que vocˆ pode arrumar facilmente e duas tabelas ou imagens lado-a-lado. Vocˆ s´ precisa verificar se a largura e o dos dois objetos combinados n˜o ´ maior que a largura do texto (textwidth). a e Vocˆ tamb´m pode agrupar um par´grafo a sua escolha ou com o comando e e a \parbox[pos]{largura}{ texto} ou com o ambiente \begin{minipage}[pos]{largura} texto \end{minipage} O parˆmetro pos pode ser uma das letras c, t ou b para controlar o alia nhamento vertical da caixa, relativo a linha base do texto ao redor da caixa. largura recebe um tamanho especificando a largura da caixa. A principal diferen¸a entre o minipage e o \parbox ´ que vocˆ n˜o pode usar todos os c e e a comandos e ambientes dentro de um \parbox enquanto que quase tudo ´ e poss´ em um minipage. ıvel Enquanto o \parbox agrupa um par´grafo inteiro fazendo as quebras a de linha e tudo mais, existe tamb´m uma classe de comandos de caixa que e opera somente em material alinhado horizontalmente. N´s j´ conhecemos o a um deles que ´ o \mbox. O \mbox simplesmente agrupa uma s´rie de caixas e e A X quebre o texto em uma outra, e pode ser usado para evitar que o L TE em dois peda¸os. Como vocˆ pode colocar caixas dentro de caixas, este c e organizador horizontal te d´ toda a flexibilidade. a \makebox[largura][pos]{ texto} largura define a largura da caixa resultante como ser´ vista no resultaa do.6 Al´m das express˜es de comprimento vocˆ pode tamb´m usar \width, e o e e \height, \depth e \totalheight no parˆmetro largura. Eles ser˜o ajusa a tados para as medidas obtidas do texto. O parˆmetro pos recebe uma das a seguintes letras: center (centro), left (esquerda), right (direita) ou spread que estica o texto dentro da caixa para preenchˆ-la. e O comando \framebox funciona exatamente da mesma forma que o \makebox, mas este desenha uma caixa ao redor do texto. O exemplo seguinte mostra algumas coisas que vocˆ pode fazer com os e comandos \makebox e \framebox. Isso significa que ela pode ser menor que o material contido nela.. Vocˆ pode tamb´m e e ajustar a largura para 0pt de modo que o texto dentro da caixa ser´ editado sem influenciar a as caixas que o cerca. 6 5.7 R´guas e Suportes e 83 \makebox[\textwidth]{% c e n t r a l}\par central \makebox[\textwidth][s]{% e s t i c a d o}\par e s t i c a d o \framebox[1.1\width]{Acredite que eu Acredite que eu estou em uma caixa agora! estou em uma caixa agora!} \par \framebox[0.8\width][r]{Bummer, Bummer, Estou muito largo Estou muito largo} \par \framebox[1cm][l]{never never mind, consegue ler isso? Vocˆ so am I e mind, so am I} Voc^ consegue ler isso? e Agora que n´s controlamos o horizontal ´ ´bvio que o pr´ximo passo ´ o eo o e 7 Sem problemas para o L T X. O comando A ir para o vertical. E \raisebox{eleva¸˜o}[profundidade][altura]{texto} ca permite que vocˆ defina as propriedades verticais de uma caixa. Vocˆ e e pode usar \width, \height, \depth e \totalheight nos trˆs primeiros e parˆmetros de modo a ajustar o tamanho da caixa. a \raisebox{0pt}[0pt][0pt]{\Large% \textbf{Aaaa\raisebox{-0.3ex}{a}% \raisebox{-0.7ex}{aa}% \raisebox{-1.2ex}{r}% \raisebox{-2.2ex}{g}% \raisebox{-4.5ex}{h}}} ele gritou mas nem mesmo o pr´ximo o da fila percebeu que alguma coisa terr´vel tinha acontecido para ele. ı Aaaaaaa ele gritou mas nem mesr da mo o pr´ximo g fila percebeu que alguma o coisa terr´ tinha acontecido para ele. ıvel h 5.7 R´guas e Suportes e Algumas p´ginas atr´s n´s mostramos o comando a a o \rule[eleva¸˜o]{largura }{altura} ca Em uso normal ele produz uma simples caixa preta. 7 O controle total somente ´ obtido controlando-se ambos, o horizontal e o vertical . . . e 84 \rule{3mm}{.1pt}% \rule[-1mm]{5mm}{1cm}% \rule{3mm}{.1pt}% \rule[1mm]{1cm}{5mm}% \rule{3mm}{.1pt} A Personalisando o L TEX Isso ´ usado para desenhar linhas verticais e horizontais. A linha na p´gina e a t´ ıtulo, por exemplo, foi criada com um comando \rule. Um caso especial ´ uma r´gua sem largura mas com uma certa altura. e e Em editora¸˜o eletrˆnica isso ´ chamado de suporte (strut) e ´ usado para ca o e e garantir que um elemento na p´gina tenha uma certa altura m´ a ınima. Vocˆ e pode usar isso em um ambiente tabular para se certificar que uma linha tem uma altura m´ ınima. \begin{tabular}{|c|} \hline \rule{1pt}{4ex}Pitprop \ldots\\ \hline \rule{0pt}{4ex}Strut\\ \hline \end{tabular} Pitprop . . . Strut Cap´ ıtulo 6 A Desenhando em L TEX 2ε Este cap´ ıtulo apresenta uma breve introdu¸˜o ao ambiente picture, que perca A mite se fazer desenhos diretamente em LTEX.1 6.1 A Algumas no¸oes sobre figuras em L TEX c˜ O ambiente picture ´ usado para desenhar figuras compostas de texto, e linhas, setas, c´ ırculos, e curvas simples. Este ambiente e seus comandos associados s˜o implementados no TEX padr˜o e n˜o requer nenhum suporte a a a especial. Entretando, o pacote pict2e usa um driver de suporte para prover vers˜es melhoradas destes comandos resolvendo algumas de suas limita¸˜es. o co No ambiente picture, vocˆ posiciona os objetos especificando suas coe ordenadas x e y. Antes de ver os comandos para desenhar, vamos estudar um pouco como funciona a geometria das coordenadas. Uma coordenada ´ um n´mero, como 5, -7, 2.3, ou -3.1416. Dado uma e u origem e uma unidade de tamanho, um par de coordenadas especifica uma posi¸˜o. ca A unidade de tamanho usada para determinar as posi¸˜es em um amco biente picture ´ o valor do \unitlength. N˜o somente as posi¸˜es, mas e a co todos os tamanhos dos objetos s˜o especificados em termos de \unitlength. a Seu valor padr˜o ´ 1 ponto (cerca de 1/72 de polegada, ou 0.35mm), mas a e pode ser alterado com o comando \setlength. \setlength{\unitlength}{unidade} A mudan¸a do valor de \unitlength amplia ou reduz uma figura, isto c torna f´cil o ajuste do tamanho de uma figura. Entretanto, a mudan¸a a c do \unitlength n˜o muda as larguras das linhas e nem o tamanho dos a caracteres. 1 Este cap´ ıtulo foi escrito por D´merson Andr´ Polli (polli@linux.ime.usp.br) e e 86 A Desenhando em L TEX 2ε A O L TEX provˆ duas poss´ e ıveis espessuras de linhas. Essas espessuras s˜o especificadas pelas declara¸˜es \thinlines para linhas mais finas e a co \thicklines para linhas mais grossas. O padr˜o ´ \thinlines. Estes a e comandos s˜o apenas declara¸˜es, e podem ser usados a qualquer momento. a co Muitos comandos de desenhos recebem como parˆmetro um par de coa ordenadas. Este argumento n˜o ´ passado entre chaves, mas sim entre a e parˆnteses e separados por v´ e ırgula, como em (-2,3.7) ou (0,-17.2). 6.2 O ambiente picture O ambiente picture recebe como parˆmetro um par de coordenadas que a especifica o tamanho da figura (em rela¸˜o ao \unitlength). O ambienca te produz um box cuja largura e comprimento s˜o especificadas por este a parˆmetro. A posi¸˜o de origem ´ por padr˜o o canto inferior esquerdo do a ca e a box. Entretanto, o ambiente picture recebe um argumento opcional que especifica as coordenadas do canto inferior esquerdo, determinando assim a posi¸˜o da origem. Por exemplo, o comando ca \begin{picture}(100,200)(10,20) produz uma figura de largura 100 unidades, altura 200 unidades, cuja coordenada no canto inferior esquerdo ´ (10,20), e assim a coordenada e superior direita possui coordenada (110,220). Quando vocˆ desenhar uma figura pela primeira vez, vocˆ usualmente e e ir´ omitir o argumento opcional, deixando a origem no canto inferior esquera do. Posteriormente, se vocˆ quiser modificar a figura movendo para outra e coordenada, basta acrescentar o segundo parˆmetro. a O primeiro argumento do ambiente especifica o tamanho nominal de uma figura, que ´ usado pelo TEX para determinar quanto espa¸o ele deve e c deixar para ela. Este tamanho n˜o guarda nenhuma rela¸˜o com o compria ca A mento real da figura, pois o L TEX permite que vocˆ desenhe fora desta ´rea e a reservada, ou at´ mesmo fora da p´gina. e a A O ambiente picture coloca o L TEX em modo de desenho, um modo especial. Os unicos comandos que podem aparecer em um modo de desenho ´ s˜o \put, \multiput, \qbezier e \graphpaper, al´m de declara¸˜es como a e co \em, \thicklines, e \setlength. Vocˆ n˜o pode mudar o \unitlength em e a modo de desenho. 6.3 Objetos gr´ficos a 87 6.3 Objetos gr´ficos a A maioria das componentes de uma uma figura s˜o desenhadas pelo comando a \put. O comando \put(x,y){objeto} coloca o objeto na figura, com seu ponto de referˆncia na coordenada e (x,y). Os diversos tipos de objetos e seus pontos de referˆncia s˜o descritos e a abaixo. ´ E poss´ colocar v´rias c´pias do mesmo objeto em espa¸os regulares ıvel a o c com o comando \multiput. Veja a sintaxe: \multiput(x,y)(dx,dy){n}{objeto} O comando acima insere n c´pias do objeto, iniciando em (x,y), com um o espa¸amento de (dx,dy) entre cada c´pia do objeto. c o 6.3.1 Texto O tipo mais simples de objeto ´ um texto. Este produz um box com o ponto e de referˆncia na base da linha, do lado esquerdo. e \begin{picture}(10,20) \put(2.3,5){gang of armadillos} \end{picture} gang of armadillos 6.3.2 Boxes Um box ´ criado pelos comandos \makebox ou \framebox. Estes comandos, e assim como o comando relacionado \savebox possuem uma sintaxe especial para ser usado em modo de desenho. O primeiro argumento ´ um par de e coordenadas que especifica a largura e a altura do box. \begin{picture}(25,40)(0,0) \put(1.3,4){\framebox(20,30){gnu}} \end{picture} gnu O ponto de referˆncia ´ o canto inferior esquerdo do box. O padr˜o e e a ´ centralizar o texto tanto horizontal como verticalmente dentro do box, e mas um argumento opcional especifica a posi¸˜o. Este argumento consiste ca em uma ou duas das seguintes letras: l (esquerda), r (direita), t (topo) e 88 A Desenhando em L TEX 2ε b (base). As letras em um argumento de duas letras podem aparecer em qualquer ordem. \begin{picture}(50,35)(0,0) \put(5,0){\framebox(20,30)[t]{gnu}} \put(30,0){\framebox(20,30)[br]{gnat}} \end{picture} gnu gnat O comando \framebox quando usado em modo de desenho n˜o adiciona a espa¸os entre o box e o texto. Existe o comando \makebox que funciona da c mesma forma que o \framebox com a exce¸˜o que ele n˜o desenha a caixa. ca a O comando \dashbox ´ similar ao \framebox mas ele desenha o box e com a linha tracejada. Este comando recebe um argumento adicional que especifica a largura de cada tracejado. Vejamos um exemplo: \begin{picture}(25,10)(0,0) \put(5,0){\dashbox{2}(20,8)[t]{gnat}} \end{picture} gnat 6.3.3 Linhas O comando \line produz uma linha, com uma das extremidades no ponto de referˆncia. O comando possui a forma e \line(x,y){tam} onde a coordenada (x,y) indicam a inclina¸˜o, e tam indica o comprica mento da linha. A coordenada (x,y) indica um vetor que d´ a dire¸˜o da a ca reta. A reta se extende em na dire¸˜o do vetor at´ que se percorra tam ca e unidades de tamanho no eixo horizontal. No caso da reta ser vertical, tam indica o comprimento da reta. Aten¸˜o: os valores x e y devem ser inteiros, e devem ser tais que a ca fra¸˜o x/y seja irredut´ ca ıvel, ou seja, n˜o devem existir divisores em comum a entre x e y. 6.3.4 Setas Uma seta ´ feita com o comando \vector. Ele funciona da mesma forma e que o comando \line. \begin{picture}(25,20)(0,0) \put(7,4){\vector(1,2){5}} \put(22,4){\vector(-1,0){10}} \put(22,14){\vector(3,-2){15}} \end{picture} !  ¡' s 6.3 Objetos gr´ficos a As coordenadas do par de inteiros que especificam a inclina¸˜o da seta ca deve ser um inteiro entre -4 e 4. 89 6.3.5 Pilhas O comando \shortstack produz um box contendo uma coluna de texto com o ponto de referˆncia no canto inferior esquerdo. Seu argumento cont´m o e e texto com as linhas divididas por \\. O comando \shortstack ´ muito e parecido com um ambiente tabular com apenas uma coluna, mas o espa¸o c entre as linhas ´ definido como uma coluna de texto em uma figura. O e alinhamento padr˜o ´ centralizar o texto em cada coluna, mas um parˆmetro a e a opcional de posicionamento alinha o texto ` esquerda (l) ou ` direita (r). a a \begin{picture}(150,20)(0,0) Abc \put(1,0){\shortstack{Abc\\d\\ef}} d \put(50,0){\shortstack[r]{Bcd\\e\\fg}} \put(100,0){\shortstack[l]{Cde\\f\\gh}} ef \end{picture} Cde f gh Bcd e fg 6.3.6 C´ ırculos O comando \circle desenha um c´ ırculo com o diˆmetro indicado, com o a centro no ponto de referˆncia. O comando \circle* desenha um c´ e ırculo preenchido. \begin{picture}(50,25) \put(20,5){\circle{20}} \put(20,5){\vector(0,1){10}} \put(50,5){\circle*{5}} \end{picture}  T t  6.3.7 Oval Um oval ´ um retˆngulo com as bordas arredondadas, ou seja, um retˆngulo e a a cujas bordas s˜o substitu´ a ıdas por quarto de c´ ırculos. Ele ´ criado com o e comando \oval, cujo argumento indica a largura e o comprimento do objeto e o centro ´ o ponto de referˆncia. e e \begin{picture}(55,35)(-15,0) \put(1.1,10){\oval(35,20)} \end{picture}     A Passando um argumento opcional para o \oval faz com que o L TEX desenhe apenas metade ou um quarto do oval completo. O argumento ´ e 90 A Desenhando em L TEX 2ε uma ou duas das letras l (esquerda), r (direita), t (topo) e b (base), um argumento de uma letra especifica meio oval enquanto que duas letras especificam um quarto. O tamanho do objeto e o centro ´ determinado como se e o oval completo fosse desenhado; o argumento opcional serve apenas para omitir parte da figura. \begin{picture}(70,25)(0,0) \put(5,5){\oval(10,20)[t]} \put(51,5){\oval(10,20)[bl]} \end{picture} §¤ ¦ 6.3.8 Curvas de Bezier O comando \qbezier recebe como argumento trˆs pontos e desenha uma e curva de Bezier com estes pontos como controle. Uma curva de Bezier com pontos de controle P1 , P2 e P3 ´ uma curva de P1 at´ P3 , onde a linha de e e P1 at´ P2 ´ tangente ` curva no ponto P1 e a linha de P3 at´ P2 ´ tangente e e a e e a ` curva no ponto P3 . \begin{picture}(30,35)(0,0) \qbezier(10,20)(20,30)(25,20) \end{picture} Um parˆmetro opcional diz exatamente quantos pontos ser˜o desenhaa a dos: \begin{picture}(30,35)(0,0) \qbezier[37](10,20)(20,30)(25,20) \end{picture} 6.3.9 Grades O pacote graphpap define o comando \graphpaper, que desenha uma grade com as coordenadas numeradas estilo papel milimetrado. O primeiro argumento do comando ´ a coordenada do canto inferior esquerdo, e o segundo e argumento especifica a largura e altura da grade. 50 \begin{picture}(100,50)(0,0) \graphpaper(0,0)(100,50) \end{picture} 0 0 50 100 6.3 Objetos gr´ficos a O espa¸amento da grade ´ de 10 unidades, mas um espa¸amento diferente c e c pode ser passado como parˆmetro: a 50 \begin{picture}(100,50)(0,0) \graphpaper[5](0,0)(100,50) \end{picture} 25 0 0 25 50 75 100 91 Para maiores detalhes sobre estes comandos, consulte (Leslie Lamport. LaTeX: A Document Preparation System, Addison-Wesley, Reading, Massachusets, second edition, 1994, cap´ ıtulo 7, ISBN 0-201-52983-1). Referˆncias Bibliogr´ficas e a A [1] Leslie Lamport. L TEX: A Document Preparation System. AddisonWesley, Reading, Massachusetts, second edition, 1994, ISBN 0-20152983-1. [2] Donald E. Knuth. The TEXbook, Volume A of Computers and Typesetting, Addison-Wesley, Reading, Massachusetts, second edition, 1984, ISBN 0-201-13448-9. A [3] Michel Goossens, Frank Mittelbach and Alexander Samarin. The L TEX Companion. Addison-Wesley, Reading, Massachusetts, 1994, ISBN 0201-54199-8. A A [4] Cada instala¸˜o do L TEX deve possuir o chamado L TEX Local Guide ca que explica as coisas referˆntes ao sistema local. Este deve estar contido e em um arquivo chamado local.tex. Infelizmente, alguns administradores de rede n˜o permitem o acesso a este documento. Neste caso, a A vocˆ deve perguntar para algum expert em L TEX que vocˆ conhe¸a, e e c para obter aux´ ılio. A A A [5] L TEX3 Project Team. L TEX 2ε for authors. Comes with the L TEX 2ε distribution as usrguide.tex. A A [6] L TEX3 Project Team. L TEX 2ε for Class and Package writers. Vem A X 2ε em clsguide.tex. com a distribui¸˜o do L TE ca A A [7] L TEX3 Project Team. L TEX 2ε Font selection. Vem com a distribui¸˜o ca A do L TEX 2ε em fntguide.tex. [8] D. P. Carlisle. Packages in the ‘graphics’ bundle. Vem com o pacote gr´fico como grfguide.tex, dispon´ tamb´m na distribui¸˜o do a ıvel e ca A X. L TE [9] Rainer Sch¨pf, Bernd Raichle, Chris Rowley. A New Implementation o A of L TEX’s verbatim Environments. Vem com o pacote de ferramentas A como verbatim.dtx, dispon´ tamb´m na distribui¸˜o do L TEX. ıvel e ca 94 ˆ ´ REFERENCIAS BIBLIOGRAFICAS [10] Graham Williams. The TeX Catalogue ´ uma lista muito completa e A de pacotes relacionados ao TEX e ao L TEX. Dispon´ ıvel online em CTAN:/tex-archive/help/Catalogue/catalogue.html A [11] Keith Reckdahl. Using EPS Graphics in L TEX 2ε Documents que explica tudo e muito mais que vocˆ possa querer saber sobre arquie A vos EPS e seu uso nos documentos L TEX. Dispon´ ıvel online em CTAN:/tex-archive/info/epslatex.ps ´ Indice Remissivo Symbols \!, 47 ", 22 $, 41 \(, 41 \), 41 \,, 42, 47 -, 22 −, 22 \-, 21 –, 22 —, 22 ., espa¸o ap´s, 27 c o . . . , 23 .aux, 14 .cls, 14 .dtx, 12 .dvi, 14 .idx, 14 .ilg, 14 .ind, 14 .ins, 14 .lof, 14 .log, 14 .lot, 14 .sty, 12 .tex, 12 .toc, 14 \:, 47 \;, 47 \@, 27 \[, 42 ´ ındice, 28 ´ ındice remissivo, 64 \\, 19, 32–34, 78 \\*, 19 ı e sem pingo, 24 \], 42 ~, 27 A acento, 23 \addtolength, 80 æ, 24 agrupando, 73 agudo, 24 Alem˜o, 24, 26 a alinhamento ` esquerda, 32 a alinhamento decimal, 35 ambientes array, 48, 49 center, 32 comment, 7 description, 32 displaymath, 42 enumerate, 32 eqnarray, 49 equation, 42 figure, 36, 38 flushleft, 32 flushright, 32 itemize, 32 lscommand, 69 math, 41 minipage, 82 picture, 85, 86 quotation, 33 quote, 33 table, 36, 38 tabular, 34, 82, 89 thebibliography, 63 96 verbatim, 33, 66 verse, 33 amsbsy, 53 amsfonts, 43, 60 amsmath, 46–48, 50, 53 amssymb, 43, 54 \and, 29 \appendix, 28, 29 \arccos, 45 \arcsin, 45 \arctan, 45 \arg, 45 arquivo de entrada, 8 array, 48, 49 ASCII, 9 aspas, 22 \atop, 45, 46 \author, 29 ´ INDICE REMISSIVO \caption, 38, 39 caracteres de espa¸amento, 5 c caracteres especiais, 23 caracteres reservados, 6 \cdot, 45 \cdots, 47 center, 32 \chapter, 28, 65 \chaptermark, 65 chaves, 7, 73 \choose, 45 \ci, 69 \circle, 89 \circle*, 89 \cite, 63 classe article, 10 classe book, 10 classe report, 10 classe slides, 10 \cleardoublepage, 39 \clearpage, 39 \cline, 34 coeficiente binomial, 45 colchetes, 7 colunas duplas, 11 colunas simples, 11 comandos, 6 \!, 47 \(, 41 \), 41 \,, 42, 47 \-, 21 \:, 47 \;, 47 \@, 27 \[, 42 \\, 19, 32–34, 78 \\*, 19 \], 42 \addtolength, 80 \and, 29 \appendix, 28, 29 \arccos, 45 \arcsin, 45 B babel, 20, 24 \backmatter, 29 \backslash, 6 banco de dados bibliogr´ficos, 64 a barra invertida, 6 \begin, 31 BibTEX, 64 \bibitem, 63 bibliografia, 63 \Big, 47 \big, 47 \Bigg, 47 \bigg, 47 \bigskip, 78 \binom, 46 bm, 53 \bmod, 45 \boldmath, 53 \boldsymbol, 53 box, 86 C cabe¸alho, 14 c calc, 80 ´ INDICE REMISSIVO \arctan, 45 \arg, 45 \atop, 45, 46 \author, 29 \backmatter, 29 \backslash, 6 \begin, 31 \bibitem, 63 \Big, 47 \big, 47 \Bigg, 47 \bigg, 47 \bigskip, 78 \binom, 46 \bmod, 45 \boldmath, 53 \boldsymbol, 53 \caption, 38, 39 \cdot, 45 \cdots, 47 \chapter, 28, 65 \chaptermark, 65 \choose, 45 \ci, 69 \circle, 89 \circle*, 89 \cite, 63 \cleardoublepage, 39 \clearpage, 39 \cline, 34 \cos, 45 \cosh, 45 \cot, 45 \coth, 45 \csc, 45 \dashbox, 88 \date, 29 \ddots, 47 \deg, 45 \depth, 82, 83 \det, 45 \dim, 45 \displaymath, 42 \displaystyle, 51 \documentclass, 10, 14, 20 \dq, 26 \dum, 69 \em, 86 \emph, 31, 73 \end, 31 \exp, 45 \fbox, 21 \footnote, 30, 39 \footnotesize, 73 \frac, 45 \framebox, 82, 87, 88 \frenchspacing, 27 \frontmatter, 29 \fussy, 20 \gcd, 45 \genfrac, 46 \graphpaper, 86, 90 \height, 82, 83 \hline, 34 \hom, 45 \hspace, 71, 77 \Huge, 73 \huge, 73 \hyphenation, 20 \idotsint, 48 \iiiint, 48 \iiint, 48 \iint, 48 \include, 15 \includegraphics, 62, 82 \includeonly, 15 \indent, 77 \index, 64 \inf, 45 \input, 16 \int, 46 \item, 32 \ker, 45 \label, 29, 30, 42 \LARGE, 73 \Large, 73 \large, 73 \LaTeX, 21 97 98 \LaTeXe, 21 \ldots, 23, 47 \left, 46, 47 \leftmark, 65 \lg, 45 \lim, 45 \liminf, 45 \limsup, 45 \line, 88 \linebreak, 19 \linespread, 76 \listoffigures, 38 \listoftables, 38 \ln, 45 \log, 45 \mainmatter, 29 \makebox, 82, 87, 88 \makeindex, 64 \maketitle, 29 \marginpar, 30 \mathbb, 43 \mathbf, 74 \mathcal, 74 \mathit, 74 \mathnormal, 74 \mathrm, 51, 74 \mathsf, 74 \mathtt, 74 \max, 45 \mbox, 21, 23, 82 \min, 45 \multicolumn, 36 \multiput, 86, 87 \newcommand, 70, 71 \newenvironment, 71 \newline, 19 \newpage, 19 \newtheorem, 52 \noindent, 77 \nolinebreak, 19 \nonumber, 50 \nopagebreak, 19 \normalsize, 73 \oval, 89 ´ INDICE REMISSIVO \overbrace, 44 \overleftarrow, 45 \overline, 44 \overrightarrow, 45 \pagebreak, 19 \pageref, 29 \pagestyle, 14 \par, 73 \paragraph, 28 \parbox, 82 \parindent, 76 \parskip, 76 \part, 28 \phantom, 39, 50 \pmod, 45 \Pr, 45 \printindex, 65 \prod, 46 \protect, 39 \providecommand, 71 \ProvidesPackage, 72 \put, 86, 87 \qbezier, 86, 90 \qquad, 42, 47 \quad, 42, 47 \raisebox, 83 \ref, 29, 42 \renewcommand, 70 \renewenvironment, 71 \right, 46–48 \right., 47 \rightmark, 65 \rule, 71, 83, 84 \savebox, 87 \scriptscriptstyle, 51 \scriptsize, 73 \scriptstyle, 51 \sec, 45 \section, 28, 39, 65 \sectionmark, 65 \setlength, 76, 80, 85, 86 \settodepth, 81 \settoheight, 81 \settowidth, 81 ´ INDICE REMISSIVO \shortstack, 89 \sin, 45 \sinh, 45 \sloppy, 20 \small, 73 \smallskip, 78 \sqrt, 44 \stackrel, 46 \stretch, 71, 77 \subparagraph, 28 \subsection, 28 \subsectionmark, 65 \subsubsection, 28 \sum, 46 \sup, 45 \tableofcontents, 28 \tan, 45 \tanh, 45 \TeX, 21 \textbf, 73 \textit, 73 \textmd, 73 \textnormal, 73 \textrm, 51, 73 \textsc, 73 \textsf, 73 \textsl, 73 \textstyle, 51 \texttt, 73 \textup, 73 \thicklines, 86 \thinlines, 86 \thispagestyle, 15 \tiny, 73 \title, 29 \tnss, 70 \today, 21 \totalheight, 82, 83 \underbrace, 44 \underline, 31, 44 \unitlength, 85, 86 \usepackage, 12, 24, 25, 71 \vdots, 47 \vec, 44 \vector, 88 \verb, 33, 34 \verbatiminput, 66 \vspace, 78 \widehat, 44 \widetilde, 44 \width, 82, 83 comandos fr´geis, 39 a coment´rios, 7 a comment, 7 corpos flutuantes, 36 \cos, 45 \cosh, 45 \cot, 45 \coth, 45 \csc, 45 99 D \dashbox, 88 \date, 29 dcolumn, 35 \ddots, 47 \deg, 45 delimitadores, 46 \depth, 82, 83 description, 32 \det, 45 Deutsch, 26 \dim, 45 dimens˜es, 77 o \displaymath, 42 displaymath, 42 \displaystyle, 51 doc, 13 \documentclass, 10, 14, 20 \dq, 26 \dum, 69 dvips, 10 E \em, 86 \emph, 31, 73 empty, 14 Encapsulated PostScript, 61 100 \end, 31 enumerate, 32 eqnarray, 49 equa¸˜es longas, 49 co equation, 42 espa¸amento c ap´s os comandos, 6 o no inicio de uma linha, 5 espa¸amento de linhas, 76 c espa¸amento duplo de linhas, 76 c espa¸amento matem´tico, 47 c a espa¸o, 5 c espa¸o fantasma, 50 c especificador de posi¸˜o, 37 ca estilo de p´gina a empty, 14 headings, 14 plain, 14 estilo quadro-negro, 43 estilos de p´gina, 14 a estrutura, 8 eucal, 60 eufrak, 60 \exp, 45 expoente, 44 exscale, 13, 47 extens˜es, 12 o ´ INDICE REMISSIVO \frontmatter, 29 fun¸˜o m´dulo, 45 ca o \fussy, 20 G \gcd, 45 \genfrac, 46 geometry, 67 GhostScript, 61 gr´ficos, 12, 61 a graphicx, 61 graphpap, 90 \graphpaper, 86, 90 grave, 24 H h´ ıfen, 22 textttheadings, 14 \height, 82, 83 \hline, 34 \hom, 45 horizontal chave, 44 espa¸o, 77 c linha, 44 pontos, 47 \hspace, 71, 77 \Huge, 73 \huge, 73 hyphenat, 67 \hyphenation, 20 F f´rmulas, 41 o fancyhdr, 65, 66 \fbox, 21 figure, 36, 38 flushleft, 32 flushright, 32 foilTeX, 10 fonte, 72 fontenc, 13, 25 \footnote, 30, 39 \footnotesize, 73 fra¸˜o, 45 ca \frac, 45 \framebox, 82, 87, 88 \frenchspacing, 27 I \idotsint, 48 ifthen, 13 \iiiint, 48 \iiint, 48 \iint, 48 inclinado, 73 \include, 15 \includegraphics, 62, 82 \includeonly, 15 \indent, 77 indentfirst, 77 \index, 64 ´ INDICE REMISSIVO \inf, 45 \input, 16 inputenc, 13, 25 \int, 46 integral, 46 Interface Gr´fica, 8 a internacional, 24 it´lico, 73 a \item, 32 itemize, 32 \listoffigures, 38 \listoftables, 38 \ln, 45 \log, 45 longtabular, 36 lscommand, 69 101 M \mainmatter, 29 \makebox, 82, 87, 88 makeidx, 13, 64 \makeindex, 64 \maketitle, 29 margens, 78 \marginpar, 30 matem´tica a acentos, 44 delimitador, 47 fun¸˜es, 45 co matem´tico a menos, 22 math, 41 \mathbb, 43 \mathbf, 74 \mathcal, 74 \mathit, 74 \mathnormal, 74 \mathrm, 51, 74 \mathsf, 74 \mathtt, 74 \max, 45 \mbox, 21, 23, 82 \min, 45 minipage, 82 Mittelbach, Frank, 2 modo de desenho, 86 \multicolumn, 36 \multiput, 86, 87 K \ker, 45 Knuth, Donald E., 1 L \label, 29, 30, 42 Lamport, Leslie, 2 \LARGE, 73 \Large, 73 \large, 73 \LaTeX, 21 A L TEX 2.09, 2 A L TEX 2ε , 2 A L TEX3, 2 A L TEX3, 5 \LaTeXe, 21 latexsym, 13 layout, 80 layout da p´gina, 78 a \ldots, 23, 47 \left, 46, 47 \leftmark, 65 letras Escandinavas, 24 Letras Gregas, 43 \lg, 45 ligadura, 23 \lim, 45 \liminf, 45 \limsup, 45 \line, 88 \linebreak, 19 \linespread, 76 linguagens, 24 N \newcommand, 70, 71 \newenvironment, 71 \newline, 19 \newpage, 19 102 \newtheorem, 52 \noindent, 77 \nolinebreak, 19 \nonumber, 50 \nopagebreak, 19 \normalsize, 73 ´ INDICE REMISSIVO latexsym, 13 layout, 80 longtabular, 36 makeidx, 13, 64 pict2e, 85 showidx, 65 supertabular, 36 syntonly, 13, 16 verbatim, 7, 66 \pagebreak, 19 \pageref, 29 \pagestyle, 14 papel milimetrado, 90 \par, 73 par´grafo, 17 a parˆmetro, 7 a parˆmetros opcionais, 7 a \paragraph, 28 \parbox, 82 \parindent, 76 \parskip, 76 \part, 28 \phantom, 39, 50 pict2e, 85 picture, 85, 86 plain, 14 \pmod, 45 ponto, 23 pontos na diagonal, 47 pontos na vertical, 47 Portuguˆs, 26 e PostScript, 61 \Pr, 45 preˆmbulo, 7 a primitiva, 44 \printindex, 65 \prod, 46 produt´rio, 46 o programa makeindex, 64 \protect, 39 \providecommand, 71 \ProvidesPackage, 72 \put, 86, 87 O œ, 24 op¸˜es, 10 co \oval, 89 \overbrace, 44 overfull hbox, 20 \overleftarrow, 45 \overline, 44 \overrightarrow, 45 P p´ginas unicas, 11 a ´ p´ginas duplas, 11 a pacote, 8, 12 pacote makeidx, 64 pacotes amsbsy, 53 amsfonts, 43, 60 amsmath, 46–48, 50, 53 amssymb, 43, 54 babel, 20, 24 bm, 53 calc, 80 dcolumn, 35 doc, 13 eucal, 60 eufrak, 60 exscale, 13, 47 fancyhdr, 65, 66 fontenc, 13, 25 geometry, 67 graphicx, 61 graphpap, 90 hyphenat, 67 ifthen, 13 indentfirst, 77 inputenc, 13, 25 ´ INDICE REMISSIVO 103 sinal de menos, 22 \sinh, 45 sistemas de equa¸˜es, 49 co \sloppy, 20 \small, 73 small caps, 73 \smallskip, 78 somat´rio, 46 o \sqrt, 44 \stackrel, 46 \stretch, 71, 77 strut, 84 \subparagraph, 28 subscrito, 44 \subsection, 28 \subsectionmark, 65 \subsubsection, 28 \sum, 46 \sup, 45 supertabular, 36 suporte, 84 syntonly, 13, 16 Q \qbezier, 86, 90 \qquad, 42, 47 \quad, 42, 47 quebras de linha, 19 quotation, 33 quote, 33 R ra´ quadrada, 44 ız \raisebox, 83 real¸ado, 73 c \ref, 29, 42 referˆncias cruzadas, 29 e \renewcommand, 70 \renewenvironment, 71 reticˆncias, 23 e \right, 46–48 \right., 47 \rightmark, 65 rodap´, 14 e roman, 73 \rule, 71, 83, 84 T S s´ ımbolo de grau, 22 s´ ımbolos real¸ados, 43, 53 c sans serif, 73 \savebox, 87 \scriptscriptstyle, 51 \scriptsize, 73 \scriptstyle, 51 \sec, 45 \section, 28, 39, 65 \sectionmark, 65 seta, 44 setas, 44 \setlength, 76, 80, 85, 86 \settodepth, 81 \settoheight, 81 \settowidth, 81 \shortstack, 89 showidx, 65 \sin, 45 t´ ıtulo, 11 t´ ıtulo do documento, 11, 29 tabela, 34 tabela de caracteres, 13 table, 36, 38 \tableofcontents, 28 tabular, 34, 82, 89 tamanho A4, 11 tamanho A5, 11 tamanho B5, 11 tamanho da fonte, 72, 73 tamanho da fonte base, 11 tamanho da fonte do documento, 11 tamanho da fonte em modo matem´tico, 51 a tamanho de papel, 11 tamanho do papel, 78 tamanho executive, 11 tamanho legal, 11 104 tamanho letter, 11 \tan, 45 \tanh, 45 teorema, 52 \TeX, 21 \textbf, 73 \textit, 73 \textmd, 73 \textnormal, 73 texto colorido, 12 texto matem´tico, 41 a \textrm, 51, 73 \textsc, 73 \textsf, 73 \textsl, 73 \textstyle, 51 \texttt, 73 \textup, 73 thebibliography, 63 \thicklines, 86 \thinlines, 86 \thispagestyle, 15 til, 22, 44 til ( ~), 27 \tiny, 73 tipos de arquivos, 12 \title, 29 \tnss, 70 \today, 21 \totalheight, 82, 83 trˆs pontos, 47 e tra¸o, 22 c tra¸o simples, 22 c travess˜o, 22 a ´ INDICE REMISSIVO URL, 22 \usepackage, 12, 24, 25, 71 V v´ ırgula, 23 A vantagens do L TEX, 4 \vdots, 47 \vec, 44 \vector, 88 \verb, 33, 34 verbatim, 7, 66 verbatim, 33, 66 \verbatiminput, 66 verse, 33 vertical espa¸o, 78 c vetores, 44 \vspace, 78 W \widehat, 44 \widetilde, 44 \width, 82, 83 WINDOWS, 9 www, 22 WYSIWYG, 3, 4 X xdvi, 10 U umlaut, 24 \underbrace, 44 underfull hbox, 20 \underline, 31, 44 unidades, 77, 78 \unitlength, 85, 86 UNIX, 9 upright, 73 ´ INDICE REMISSIVO 105