Uma n˜o t˜o pequena a a A introdu¸˜o ao L TEX 2ε ca

A Ou LTEX 2ε em 136 minutos

por Tobias Oetiker Hubert Partl, Irene Hyna e Elisabeth Schlegl

Tradu¸˜o portuguesa por Alberto Sim˜es ca o Vers˜o 4.14, 10 de Abril de 2004 a

ii
Direitos de C´pia ©1995-2002 por Tobias Oetiker e por todos os Colaboradores o do LShort. Todos os direitos reservados. Este documento ´ gratuito; pode redistribui-lo e/ou modific´-lo dentro dos tere a mos da Licen¸a P´blica e Gen´rica GNU, tal como publicada pela Funda¸˜o do c u e ca Software Livre, vers˜o 2 da licen¸a, ou (na sua opini˜o) qualquer vers˜o mais rea c a a cente. Este documento ´ distribu´ na esperan¸a de que seja util mas SEM QUALe ıdo c ´ QUER GARANTIA, nem mesmo a garantia impl´ ıcita de ENQUADRAMENTO PARA UM FIM PARTICULAR. Veja a Licen¸a P´blica e Gen´rica GNU para c u e mais detalhes. Deve ter recebido uma c´pia da Licen¸a P´blica e Gen´rica GNU juntamente o c u e com este documento; caso contr´rio, escreva para Free Software Foundation, Inc., a 675 Mass Ave, Cambridge, MA 02139, USA.

Obrigado!
Muito do material utilizado nesta introdu¸˜o prov´m de uma introdu¸˜o ca e ca A X 2.09 escrita em alem˜o por: austr´ ıaca ao L TE a Hubert Partl Irene Hyna <partl@mail.boku.ac.at> <Irene.Hyna@bmwf.ac.at> <noemail>
Zentraler Informatikdienst der Universit¨t f¨r Bodenkultur Wien a u Bundesministerium f¨r Wissenschaft und Forschung Wien u

Elisabeth Schlegl
in Graz

Se est´ interessado no documento alem˜o, pode encontrar a vers˜o aca a a A tualizada para L TEX 2ε por J¨rg Knappen a partir de o CTAN:/tex-archive/info/lshort/german

iv

Obrigado! Durante a prepara¸˜o deste documento pedi coment´rios em comp.text.tex. ca a Recebi bastantes respostas. As seguintes pessoas ajudaram com correc¸˜es, co sugest˜es e material para melhorar este documento. Colocaram grande emo penho para me ajudar a colocar este documento na sua presente forma. Gostaria de agradecer sinceramente a todos eles. Naturalmente, todos os erros que encontrar neste livro s˜o meus. Se encontrar alguma palavra que a esteja escrita correctamente, deve ter sido uma das pessoas abaixo que me enviou essa linha.
Rosemary Bailey, Marc Bevand, Friedemann Brauer, Jan Busa, Markus Br¨hwiler, Pietro Braione, David Carlisle, Jos´ Carlos Santos, u e Neil Carter, Mike Chapman, Pierre Chardaire, Christopher Chin, Carl Cerecke, Chris McCormack, Wim van Dam, Jan Dittberner, Michael John Downes, Matthias Dreier, David Dureisseix, Elliot, Hans Ehrbar, Daniel Flipo, David Frey, Hans Fugal, Robin Fairbairns, J¨rg Fischer, Frank Fischli, Erik Frisk, o Mic Milic Frederickx, Frank, Kasper B. Graversen, Arlo Griffiths, Alexandre Guimond, Cyril Goutte, Greg Gamble, Andy Goth, Neil Hammond, Rasmus Borup Hansen, Joseph Hilferty, Bj¨rn Hvittfeldt, Martien Hulsen, o Werner Icking, Jakob, Eric Jacoboni, Alan Jeffrey, Byron Jones, David Jones, Johannes-Maria Kaltenbach, Michael Koundouros, Andrzej Kawalec, Alain Kessi, Christian Kern, Sander de Kievit, Kjetil Kjernsmo, J¨rg Knappen, o Flori Lambrechts, Maik Lehradt, R´mi Letot, Johan Lundberg, Alexander Mai, e Martin Maechler, Hendrik Maryns, Aleksandar S Milosevic, Henrik Mitsch, Claus Malten, Kevin Van Maren, Philipp Nagele, Richard Nagy, Lenimar Nunes de Andrade, Manuel Oetiker, Urs Oswald, Demerson Andre Polli, Maksym Polyakov Hubert Partl, John Refling, Mike Ressler, Brian Ripley, Young U. Ryu, Bernd Rosenlecher, Chris Rowley, Risto Saarelma, Gilles Schintgen, Hanspeter Schmid, Craig Schlenter, Baron Schwartz, Christopher Sawtell, Miles Spielberg, Geoffrey Swindale, Laszlo Szathmary, Boris Tobotras, Josef Tkadlec, Scott Veirs, Didier Verna, Fabian Wernli, Carl-Gustav Werner, David Woodhouse, Chris York, Fritz Zaucker, Rick Zaccone, e Mikhail Zotov.

Adicionalmente, o tradutor agradece o contributo das seguintes pessoas:
Paulo Rocha, Jos´ Alves Castro, Jos´ Pedro Oliveira. e e

Pref´cio a
A O L TEX [1] ´ um sistema tipogr´fico, bastante adequado para produzir e a documentos cient´ ıficos e matem´ticos de grande qualidade tipogr´fica. O a a sistema ´ igualmente adequado para produzir todo o tipo de outros docue A mentos, desde simples cartas at´ livros completos. O L TEX usa o TEX [2] e como sistema de formata¸˜o. ca A Esta pequena introdu¸˜o descreve o L TEX 2ε , e deve ser suficiente para ca A X. Consulte [1, 3] para uma desum grande n´mero das aplica¸˜es do L TE u co A cri¸˜o completa do sistema L TEX. ca A O L TEX est´ dispon´ para quase todos os computadores, desde o PC e a ıvel Mac at´ grandes sistemas UNIX e VMS. Em muitas redes de computadores e A de universit´rios, ir´ descobrir que uma instala¸˜o do L TEX est´ dispon´ e a a ca a ıvel pronta a ser utilizada. Informa¸˜es sobre como aceder ` sua instala¸˜o local co a ca A do L TEX deve estar inclu´ no Local Guide [4]. Se tiver problemas quando ıda come¸ar a trabalhar, pergunte ` pessoa que lhe deu este livro. O ˆmbito c a a A X, mas endeste documento n˜o ´ explicar como instalar e preparar o L TE a e sinar a escrever os seus documentos de forma a que possam ser processados A pelo L TEX.

Esta introdu¸˜o est´ dividida em 6 cap´ ca a ıtulos:
A O Cap´ ıtulo 1 indica a estrutura b´sica de um documento L TEX 2ε . Aprena A der´ tamb´m um pouco da hist´ria do L TEX. Ap´s a leitura deste a e o o A cap´ ıtulo, dever´ ter uma ideia b´sica do funcionamento do L TEX. a a

O Cap´ ıtulo 2 apresenta com algum detalhe como escrever um documento. Explica igualmente a maior parte dos comandos e ambientes essenciais A do L TEX. Ap´s a leitura deste cap´ o ıtulo, estar´ pronto a escrever o seu a primeiro documento.
A O Cap´ ıtulo 3 explica como escrever f´rmulas com o L TEX. Mais uma vez, o numerosos exemplos ajudar˜o a perceber como usar uma das maiores a A potencialidades do L TEX. No final deste cap´ ıtulo, encontrar´ tabelas a A com listas de todos os s´ ımbolos matem´ticos dispon´ a ıveis em L TEX.

O Cap´ ıtulo 4 explica a gera¸˜o de ´ ca ındices e bibliografias, inclus˜o de gr´ficos a a EPS, e algumas outras extens˜es uteis. o ´

vi

Pref´cio a
A Chapter 5 mostra como usar o L TEX para criar gr´ficos. Em vez de dea senhar uma imagem usando um qualquer programa gr´fico, gravar o a A X, pode descrever a figura de forma desenho e incluir o ficheiro no L TE A a que o L TEX a desenhe.

O Cap´ ıtulo 6 cont´m alguma informa¸˜o potencialmente perigosa sobre e ca A como fazer altera¸˜es aos formatos standard produzidos pelo L TEX. co A Mostrar´ como modificar coisas de modo que o belo resultado do L TEX a comece a ficar bastante mau. ´ E importante ler os cap´ ıtulos sequencialmente—afinal o livro n˜o ´ assim a e t˜o grande. Leia cuidadosamente os exemplos, porque grande parte da ina forma¸˜o est´ contida nos v´rios exemplos que vai encontrar ao longo do ca a a livro.
A Se precisar de mais algum material relacionado com o L TEX dˆ uma vista de e olhos a um dos arquivos ftp do Comprehensive TEX Archive Network (CTAN). Podem ser encontrados, por exemplo, em ctan.tug.org (US), ftp.dante.de (Alemanha), ftp.tex.ac.uk (UK). Se n˜o est´ num destes pa´ a a ıses, procure um arquivo perto de si. Encontrar´ outras referˆncias ao CTAN ao longo deste livro. Especiala e mente, apontadores para software e documentos que poder´ querer copiar a para o seu computador. Em vez de escrever endere¸os completos, escreverec mos apenas CTAN: seguido da localiza¸˜o que deve visitar dentro da ´rvore ca a do CTAN. A Se deseja instalar o L TEX para utiliza¸˜o no seu computador, visite ca CTAN:/tex-archive/systems. Se tiver ideias sobre alguma coisa que deva ser adicionada, alterada ou removida deste documento, por favor, avise-me. Estou interessado especialmente A em respostas dos que est˜o a aprender L TEX sobre quais as partes desta ina trodu¸˜o f´ceis de compreender e quais as que devem ser explicadas melhor. ca a

Tobias Oetiker

<oetiker@ee.ethz.ch>

Departamento de Tecnologia da Informa¸˜o e ca Engenharia Electrot´cnica, e Instituto de Tecnologia Federal da Su´ca ı¸ A vers˜o actual e original deste documento est´ dispon´ em a a ıvel CTAN:/tex-archive/info/lshort A vers˜o portuguesa est´ dispon´ em a a ıvel CVS em http://natura.di.uminho.pt. Tradu¸˜o por ca Alberto Sim˜es ¡albie@alfarrabio.di.uminho.pt¿ o Departamento de Inform´tica da Universidade do Minho a

Conte´ do u
Obrigado! Pref´cio a 1 Coisas Que Precisa de Saber 1.1 O Nome do Jogo . . . . . . . . . . . . . 1.1.1 TEX . . . . . . . . . . . . . . . . A 1.1.2 L TEX . . . . . . . . . . . . . . . 1.2 Bases . . . . . . . . . . . . . . . . . . . 1.2.1 Autor, Paginadores e Tip´grafo . o 1.2.2 Desenho do Formato . . . . . . . 1.2.3 Vantagens e Desvantagens . . . . A 1.3 Ficheiros L TEX . . . . . . . . . . . . . . 1.3.1 Espa¸os . . . . . . . . . . . . . . c 1.3.2 Caracteres Especiais . . . . . . . A 1.3.3 Comandos L TEX . . . . . . . . . 1.3.4 Coment´rios . . . . . . . . . . . a 1.4 Estrutura do Ficheiro . . . . . . . . . . 1.5 Uma Sess˜o de Edi¸˜o T´ a ca ıpica . . . . . . 1.6 O Formato do Documento . . . . . . . . 1.6.1 Classes de Documentos . . . . . 1.6.2 Pacotes . . . . . . . . . . . . . . 1.7 Ficheiros que provavelmente encontrar´ a 1.7.1 Estilo de P´ginas . . . . . . . . . a 1.8 Grandes Projectos . . . . . . . . . . . . 2 Escrever Texto 2.1 A Estrutura de um Texto . . . . . . . . 2.2 Quebras de Linha e Quebras de P´gina a 2.2.1 Par´grafos Justificados . . . . . . a 2.2.2 Hifeniza¸˜o . . . . . . . . . . . . ca 2.3 Texto j´ Feito . . . . . . . . . . . . . . . a 2.4 S´ ımbolos e Caracteres Especiais . . . . . iii v 1 1 1 1 2 2 2 3 4 4 5 5 6 7 7 10 10 10 12 14 15 17 17 19 19 20 21 22

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

viii 2.4.1 Aspas . . . . . . . . . . . . . . 2.4.2 Tra¸os e H´ c ıfens . . . . . . . . . 2.4.3 Til (∼) . . . . . . . . . . . . . 2.4.4 S´ ımbolo de Graus (◦) . . . . . 2.4.5 S´ ımbolo de Euro (¿) . . . . . . 2.4.6 Reticˆncias (. . . ) . . . . . . . . e 2.4.7 Liga¸˜es . . . . . . . . . . . . . co 2.4.8 Caracteres Especiais e Acentos Suporte de L´ ınguas Internacionais . . 2.5.1 Suporte para Alem˜o . . . . . a 2.5.2 Suporte para Portuguˆs . . . . e 2.5.3 Texto Autom´tico . . . . . . . a 2.5.4 Suporte para Francˆs . . . . . e 2.5.5 Suporte para Coreano . . . . . 2.5.6 Suporte para Cir´ ılico . . . . . . O Espa¸o entre Palavras . . . . . . . . c T´ ıtulos, Cap´ ıtulos e Sec¸˜es . . . . . . co Referˆncias Cruzadas . . . . . . . . . . e Notas de Rodap´ . . . . . . . . . . . . e Palavras Real¸adas . . . . . . . . . . . c Ambientes . . . . . . . . . . . . . . . . 2.11.1 Indicar, Enumerar, e Descrever 2.11.2 Esquerda, Direita e Centro . . 2.11.3 Cita¸˜es e Versos . . . . . . . . co 2.11.4 Resumo . . . . . . . . . . . . . 2.11.5 Tal & Qual . . . . . . . . . . . 2.11.6 Tabelas . . . . . . . . . . . . . Corpos Flutuantes . . . . . . . . . . . Protegendo Comandos Fr´geis . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

´ CONTEUDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 22 23 23 24 24 25 25 28 29 29 30 31 33 34 35 37 38 38 39 39 40 41 41 42 42 44 48 49 49 51 51 55 56 58 59 59 61 62

2.5

2.6 2.7 2.8 2.9 2.10 2.11

2.12 2.13

3 F´rmulas Matem´ticas o a 3.1 Generalidades . . . . . . . . . . . . . . . . . . 3.2 Agrupar em Modo Matem´tico . . . . . . . . a 3.3 Construindo Blocos de F´rmulas Matem´ticas o a 3.4 Espa¸amento Matem´tico . . . . . . . . . . . c a 3.5 Material Alinhado Verticalmente . . . . . . . 3.6 Fantasmas . . . . . . . . . . . . . . . . . . . . 3.7 Tamanho da Matem´tica . . . . . . . . . . . a 3.8 Teoremas, Leis, . . . . . . . . . . . . . . . . . . 3.9 S´ ımbolos Gordos . . . . . . . . . . . . . . . . 3.10 Lista de S´ ımbolos Matem´ticos . . . . . . . . a

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

´ CONTEUDO 4 Especialidades 4.1 Incluindo Gr´ficos Encapsulated PostScript a 4.2 Bibliografia . . . . . . . . . . . . . . . . . . . 4.3 Indexar . . . . . . . . . . . . . . . . . . . . . 4.4 Cabe¸alhos . . . . . . . . . . . . . . . . . . . c 4.5 O Pacote Verbatim . . . . . . . . . . . . . . . A 4.6 Instalando Pacotes L TEX . . . . . . . . . . . A X . . . . . . . . . . . . . . . . 4.7 Usar o pdfL TE 4.7.1 Documentos PDF para a Internet . . . 4.7.2 Os tipos de letra . . . . . . . . . . . . 4.7.3 Uso de Gr´ficos . . . . . . . . . . . . . a 4.7.4 Liga¸˜es de Hipertexto . . . . . . . . . co 4.7.5 Problemas com Liga¸˜es . . . . . . . . co 4.7.6 Problemas com Bookmarks . . . . . . 4.8 Criar Apresenta¸˜es com pdfscreen . . . . . . co 69 69 71 72 74 75 75 76 77 78 80 80 83 83 85 89 89 90 90 91 92 93 94 94 95 96 97 98 99 99

ix

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

5 Produ¸˜o de Gr´ficos Matem´ticos ca a a 5.1 Introdu¸˜o . . . . . . . . . . . . . . . . . . . . . . . . . . ca 5.2 O ambiente picture . . . . . . . . . . . . . . . . . . . . 5.2.1 Comandos B´sicos . . . . . . . . . . . . . . . . . a 5.2.2 Segmentos de Recta . . . . . . . . . . . . . . . . 5.2.3 Setas . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4 C´ ırculos . . . . . . . . . . . . . . . . . . . . . . . 5.2.5 Textos e Formulas . . . . . . . . . . . . . . . . . 5.2.6 Os comandos \multiput e \linethickness . . . 5.2.7 Ovais. Os comandos \thinlines e \thicklines 5.2.8 M´ltiplos usos de caixas de imagem pr´-definidas u e 5.2.9 Curvas de B´zier Quadr´ticas . . . . . . . . . . . e a 5.2.10 “Par´bolas” . . . . . . . . . . . . . . . . . . . . . a 5.2.11 Rapidamente a teoria da Relatividade . . . . . . 5.3 X -pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y
A 6 Configurar o L TEX 6.1 Novos Comandos, Ambientes e Pacotes 6.1.1 Novos Comandos . . . . . . . . 6.1.2 Novos Ambientes . . . . . . . . 6.1.3 Expa¸o Extra . . . . . . . . . . c A 6.1.4 A linha de comando do L TEX . 6.1.5 O Seu Pr´prio Pacote . . . . . o 6.2 Letras e Tamanhos . . . . . . . . . . . 6.2.1 Tipos de letra . . . . . . . . . . 6.2.2 Perigo, Will Robinson, Perigo . 6.2.3 Aviso . . . . . . . . . . . . . . 6.3 Espa¸amento . . . . . . . . . . . . . . c

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

103 . 103 . 104 . 105 . 105 . 106 . 107 . 107 . 107 . 110 . 111 . 111

x 6.3.1 Espa¸o entre linhas . . . . . . . c 6.3.2 Formata¸˜o de Par´grafos . . . ca a 6.3.3 Espa¸o Horizontal . . . . . . . c 6.3.4 Espa¸o Vertical . . . . . . . . . c Formato da P´gina . . . . . . . . . . . a Mais divertimento com comprimentos Caixas . . . . . . . . . . . . . . . . . . R´guas e Estruturas . . . . . . . . . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

´ CONTEUDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 111 112 113 114 116 117 119 121 123

6.4 6.5 6.6 6.7

Bibliografia Index

Lista de Figuras
1.1 1.2 4.1 4.2 6.1 6.2
A Um ficheiro L TEX m´ ınimo. . . . . . . . . . . . . . . . . . . . Exemplo de um Artigo Real. . . . . . . . . . . . . . . . . . .

8 8 74 86

Exemplo de configura¸˜o do fancyhdr. . . . . . . . . . . . . . ca Exemplo dum ficheiro para o pdfscreen . . . . . . . . . . . . .

Pacote de Exemplo. . . . . . . . . . . . . . . . . . . . . . . . 107 Parˆmetros do Formato de P´gina. . . . . . . . . . . . . . . . 115 a a

Lista de Tabelas
1.1 1.2 1.3 1.4 2.1 2.2 2.3 2.4 2.5 2.6 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 Classes de Documentos. . . . . . . . . . . . . Op¸˜es das Classes de Documentos. . . . . . co A Alguns Pacotes Distribu´ ıdos com o L TEX. . . A Os Estilos de P´ginas Pr´-definidos no L TEX. a e Um saco cheio de s´ ımbolos de Euro Caracteres especiais e Acentos. . . Caracteres especiais alem˜es. . . . a Comandos especiais para Francˆs. . e Bulgaro, Russo, e Ucraniano . . . . Permiss˜es de Coloca¸˜o de Corpos o ca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 11 13 15 24 25 28 30 34 45 62 62 62 63 63 64 64 64 64 65 65 65 65 66 66 67 67 68 68 70 73

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flutuantes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Acentos Matem´ticos. . . . . . . . . . . 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. . . . . . . . . . . . . . . Grandes Delimitadores. . . . . . . . . . S´ ımbolos Sortidos. . . . . . . . . . . . . S´ ımbolos n˜o Matem´ticos. . . . . . . . a a Delimitadores AMS. . . . . . . . . . . . Letras AMS gregas e hebraicas. . . . . . Rela¸˜es Bin´rias AMS. . . . . . . . . . co a Setas AMS. . . . . . . . . . . . . . . . . Rela¸˜es Bin´rias Negadas e Setas AMS. co a Operadores Bin´rios AMS. . . . . . . . a AMS Sortidos. . . . . . . . . . . . . . . Alfabeto Matem´tico. . . . . . . . . . . a

Nomes das Chaves para o Pacote graphicx. . . . . . . . . . . . Exemplos da Sintaxe das Chaves de Indexa¸˜o. . . . . . . . . ca

xiv 6.1 6.2 6.3 6.4 6.5 Letras. . . . . . . . . . . Tamanho de Letra. . . . Tamanhos Absolutos nas Letras Matem´ticas. . . a Unidades do TEX. . . .

LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . Classes Padr˜o. a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 108 109 109 113

Cap´ ıtulo 1

Coisas Que Precisa de Saber
Na primeira parte deste cap´ ıtulo, ser´ apresentada uma vis˜o geral sobre a a a A filosofia e hist´ria do LTEX 2ε . A segunda parte foca as estruturas b´sicas de o a A um documento LTEX. Depois de ler este cap´ ıtulo, ter´ uma ideia geral de como a A o LTEX funciona. O seu principal objectivo ´ ajudar a integrar toda a informa¸˜o e ca que ´ dada nos cap´ e ıtulos seguintes.

1.1
1.1.1

O Nome do Jogo
TEX

´ O TEX ´ um programa de computador criado por Donald E. Knuth [2]. E e devoto ` tipografia de texto e f´rmulas matem´ticas. O motor tipogr´fico a o a a come¸ou a ser escrito em 1977 para explorar os potenciais de equipamento c digital de impress˜o que estava a infiltrar na ind´stria de publica¸˜o naquele a u ca tempo, especialmente na esperan¸a de poder alterar o rumo da deteriora¸˜o c ca de qualidade tipogr´fica que ele viu a afectar os seus pr´prios livros e artigos. a o Tal como o usamos hoje, o TEX foi disponibilizado em 1982 com pequenos melhoramentos adicionados em 1989 para suportar da melhor forma os caracteres de 8-bits, e m´ltiplas linguagens. Tem recebido muitos elogios por u ser extremamente est´vel, funcionar em muitos tipos diferentes de computaa dores, e virtualmente n˜o ter qualquer bug. A vers˜o do TEX est´ a convergir a a a para π e de momento ´ 3.14159. e Pronunciamos TEX como “Tech,” com um “ch” idˆntico ` palavra alem˜ e a a “Ach” ou ` escocesa “Loch.” Em ambientes ASCII, TEX deve ser escrito a como TeX.

1.1.2

A L TEX

A O L TEX ´ um pacote de comandos (macros que permitem que formatos pree definidos, de grand´ ıssima qualidade tipogr´fica, sejam impressos por quala quer autor. Foi escrito originalmente por Leslie Lamport [1]. Usa o TEX

2

Coisas Que Precisa de Saber
A como o seu motor tipogr´fico. Ultimamente, o L TEX ´ mantido por Frank a e Mittelbach. A A L TEX ´ pronunciado “Lay-tech” ou “Lah-tech.” Se se referir ao L TEX e A num ambiente ASCII, deve escrever LaTeX. L TEX 2ε ´ pronunciado “Laye tech two e” e escrito LaTeX2e.

1.2
1.2.1

Bases
Autor, Paginadores e Tip´grafo o

Para publicar alguma coisa, os autores d˜o um manuscrito dactilografado a a ` companhia de publica¸˜o. Um dos seus paginadores decide o formato ca do documento (largura da coluna, tipos de letra, espa¸os antes e ap´s os c o cabe¸alhos, . . . ). Este escreve as suas instru¸˜es no manuscrito, que ´ enc co e tregue ao tip´grafo que imprime o livro de acordo com estas instru¸˜es. o co Um paginador humano tenta imaginar o que o autor tinha em mente enquanto escrevia o manuscrito. Tem de decidir os cabe¸alhos de cap´ c ıtulos, exemplos, f´rmulas, etc. baseado nos seus conhecimentos profissionais e no o conte´do do manuscrito. u A Num ambiente L TEX, o paginador ´ o L TEX, que usa o TEX como seu e A A tip´grafo. Mas o L TEX ´ “apenas” um programa e portanto precisa de algum o e apoio. O autor tem de dar informa¸˜o adicional descrevendo a estrutura ca l´gica do seu trabalho. Esta informa¸˜o ´ escrita no texto como “comandos o ca e A L TEX.” Esta ´ uma grande diferen¸a da abordagem WYSIWYG1 que a maior e c parte dos processadores de texto modernos, tais como o MS Word ou Corel WordPerfect, usam. Com estas aplica¸˜es, os autores especificam o formato co do documento de uma forma interactiva enquanto v˜o escrevendo o texto no a computador. Durante esse processo, podem ver no ´cran como o resultado e final vai aparecer quando impresso. A Ao usar o L TEX, normalmente n˜o ´ poss´ a e ıvel ver o resultado final enquanto se digita o texto. No entanto, o resultado final pode ser pr´-visualizado e A no ´cran depois de processar o ficheiro com o L TEX. Ent˜o, podem ser feitas e a correc¸˜es para enviar posteriormente o documento para a impressora. co

1.2.2

Desenho do Formato

O desenho relacionado com a tipografia ´ bastante trabalhoso. Autores n˜o e a qualificados cometem frequentemente erros s´rios de formata¸˜o assumindo e ca que o desenho de livros ´, na sua maior parte, uma quest˜o est´tica — e a e “Se um documento ´ artisticamente bonito, ent˜o est´ bem desenhado.” e a a Mas, como um documento tem de ler lido e n˜o pendurado numa galeria de a
1

What you see is what you get — O que vˆs ´ o que recebes. e e

1.2 Bases pinturas, a leitura e compreens˜o ´ de muito maior importˆncia do que a a e a sua forma. Exemplos:
ˆ

3

O tamanho e a numera¸˜o dos cabe¸alhos devem ser escolhidos para ca c fazer a estrutura de cap´ ıtulos e sec¸˜es clara ao leitor. co O comprimento das linhas tem de ser suficientemente curto para n˜o a fazer o leitor trocar os olhos, mas suficientemente longo para preencher uma p´gina de uma forma esteticamente bela. a

ˆ

Com sistemas WYSIWYG, os autores criam documentos esteticamente agrad´veis sem estrutura, ou em que esta se apresenta de uma forma incona A sistente. O L TEX previne este tipo de erros de formata¸˜o ao obrigar os ca autores a declarar a estrutura l´gica do seu documento, escolhendo depois o o formato mais adequado.

1.2.3

Vantagens e Desvantagens

Quando as pessoas do mundo WYSIWYG conhecem pessoas que usam A A L TEX, frequentemente discutem “as vantagens do L TEX em rela¸˜o a um ca processador de texto normal” ou o contr´rio. A melhor coisa que se pode a fazer quando uma discuss˜o inicia ´ manter a calma, porque este tipo de a e discuss˜es saem facilmente dos limites. Mas por vezes n˜o se pode escapar o a ...
A Ent˜o, aqui est˜o algumas muni¸˜es. As principais vantagens do L TEX sobre a a co um processador de texto “normal” s˜o as seguintes: a
ˆ

Formatos criados profissionalmente est˜o dispon´ a ıveis, que fazem com que um documento pare¸a realmente impresso numa tipografia; c A escrita de f´rmulas matem´ticas ´ suportada de uma forma conveo a e niente; O utilizador apenas precisa de aprender uma d´zia de comandos facilu mente compreens´ ıveis que especificam a estrutura l´gica de um docuo mento. Quase nunca se precisa de atormentar com o formato real do documento; At´ estruturas complexas, tais como notas de rodap´, referˆncias, tae e e belas de conte´dos e bibliografias podem ser facilmente geradas; u Pacotes gratuitos podem ser aplicados a tarefas tipogr´ficas n˜o sua a A X b´sico. Por exemplo, existem pacotes para inportadas pelo L TE a cluir gr´ficos PostScript e para imprimir bibliografias conforme os a A standards. Muitos destes pacotes est˜o descritos no The L TEX Coma panion [3];

ˆ

ˆ

ˆ

ˆ

4
ˆ

Coisas Que Precisa de Saber
A O L TEX encoraja os autores a escrever textos bem estruturados porque A ´ assim que o L TEX funciona — especificando a estrutura; e A TEX, o motor de formata¸˜o do L TEX 2ε , ´ extremamente port´vel e ca e a livre. Desta forma, o sistema funciona em quase todas as plataformas de hardware existentes.

ˆ

A O L TEX tamb´m tem algumas desvantagens, e penso que ´ um pouco dif´ e e ıcil para mim encontrar alguma, mas parece-me que outras pessoas podem indicar centenas ;-)
ˆ

A L TEX n˜o funciona bem para pessoas que tenham vendido a sua a alma. . .

ˆ

Apesar de alguns parˆmetros poderem ser ajustados num formato pr´a e definido, o desenho de todo um novo formato ´ dif´ e demora muito e ıcil tempo 2 ´ E dif´ de escrever documentos mal estruturados e desorganizados; ıcil Embora o seu hamster demonstre alguma dedica¸˜o durante os prica meiros passos, nunca conseguir´ digerir completamente o conceito de a marca¸˜o l´gica. ca o
A Ficheiros LTEX

ˆ

ˆ

1.3

A Os ficheiros L TEX s˜o ficheiros de texto ASCII planos. Pode cri´-los em a a qualquer editor de texto; o ficheiro cont´m o texto do documento assim e A como os comandos que dizem ao L TEX como formatar o texto.

1.3.1

Espa¸os c

Caracteres “brancos” como espa¸os ou caracteres de tabula¸˜o (tabs) s˜o c ca a A tratados uniformemente como “espa¸os” pelo L TEX. Caracteres brancos c consecutivos s˜o tratados como um “espa¸o”. Os espa¸os no in´ de uma a c c ıcio linha s˜o geralmente ignorados, e uma simples mudan¸a de linha ´ tratada a c e da mesma forma que um espa¸o. c Uma linha em branco entre duas linhas de texto define o fim de um par´grafo. V´rias linhas vazias s˜o tratadas da mesma forma que uma linha a a a vazia. O texto que se segue ´ um exemplo. Do lado esquerdo apresentae se o texto do ficheiro a escrever, e do lado direito o resultado depois de processado.
2 A Rumores dizem que este ´ um dos pontos chave a ser abordado na vers˜o 3 do L TEX. e a

A 1.3 Ficheiros L TEX

5

N~o interessa se introduz apenas a um ou v´rios a espa¸os depois c de uma palavra. Uma linha em branco inicia um novo par´grafo. a

N˜o interessa se introduz apenas um ou a v´rios espa¸os depois de uma palavra. a c Uma linha em branco inicia um novo par´grafo. a

1.3.2

Caracteres Especiais

Os s´ ımbolos que se seguem s˜o caracteres reservados que ou tˆm um signia e A X ou n˜o est˜o dispon´ ficado especial para o L TE a a ıveis em todos os tipos de letras. Se os introduzir directamente no seu texto, n˜o ser˜o impressos, mas a a A X a fazer coisas que n˜o deseja. causar˜o o L TE a a # $ % ^ & _ { } ~ \

Como ir´ ver, estes caracteres podem ser utilizados nos seus documentos a todos da mesma forma, adicionando uma barra invertida como prefixo:
$&%#

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

{}

Outros s´ ımbolos e muitos mais podem ser impressos com comandos especiais em f´rmulas matem´ticas ou como acentos. O caracter de barra o a invertida (\) n˜o deve ser introduzido adicionando uma outra barra antes a (\\), porque esta sequˆncia ´ utilizada para quebrar linhas de texto.3 e e

1.3.3

A Comandos L TEX

A Os comandos L TEX s˜o sens´ a ıveis `s mai´sculas/min´sculas, e tˆm um de a u u e dois formatos:

ˆ

Come¸am com um backslash4 (\) e tˆm um nome que consiste apec e nas de letras. Os nomes de comandos terminam com um espa¸o, um c n´mero ou qualquer outro s´ u ımbolo “n˜o-letra”. a Consistem num backslash e exactamente um caracter n˜o letra. a

ˆ

A O L TEX ignora espa¸os em branco ap´s os comandos. Se deseja um c o espa¸o depois de um comando, deve colocar {} e um caracter especial, ou c um comando de espa¸amento especial depois do nome do comando. O {} faz c A X pare de comer todos os espa¸os ap´s o nome do comando. com que o L TE c o
3 4

Tente o comando $\backslash$ em vez da dupla barra, que produz um ‘\’. NT: a partir de agora utilizaremos o termo inglˆs em vez de barra invertida e

6
Li que o Knuth divide as pessoas que trabalham com o \TeX{} em \TeX{}nicos e \TeX pertos.\\ Hoje ´ \today. e

Coisas Que Precisa de Saber

Li que o Knuth divide as pessoas que trabalham com o TEX em TEXnicos e TEXpertos. Hoje ´ 8 de Abril de 2004. e

Alguns comandos precisam de um parˆmetro que deve ser introduzido ena tre chavetas ({}) depois do nome do comando. Outros suportam parˆmetros a opcionais que s˜o adicionados depois do nome do comando entre parˆntesis a e A rectos ([]). Os exemplos seguintes utilizam alguns comandos L TEX. N˜o a se preocupe com eles, pois ser˜o explicados mais tarde. a

Pode \textsl{apoiar-se} em mim!

Pode apoiar-se em mim!

Por favor, comece uma nova linha exactamente aqui!\newline Obrigado!

Por favor, comece uma nova linha exactamente aqui! Obrigado!

1.3.4

Coment´rios a

A Quando o L TEX encontra um caracter % ao processar o ficheiro, ignora todo o resto dessa linha, a mudan¸a de linha e todos os espa¸os no in´ da linha c c ıcio seguinte. Pode ser utilizado para escrever notas nos ficheiros de c´digo, que n˜o o a aparecer˜o nas vers˜es impressas. a o

Este ´ um % est´pido e u % Melhor: instrutivo <---exemplo: Supercal% ifragilist% icexpialidocious

Este ´ um exemplo: Supercalifragilisticexpie alidocious

O caracter % tamb´m pode ser utilizado para quebrar linhas longas onde e n˜o s˜o permitidos espa¸os nem mudan¸as de linha. a a c c Para coment´rios mais longos, pode utilizar o ambiente comment disa ponibilizado pelo pacote verbatim. Isto significa que, para usar o ambiente comment tem de adicionar o comando \usepackage{verbatim} ao preˆmbulo do seu documento. a

1.4 Estrutura do Ficheiro
Este ´ outro e \begin{comment} bastante est´pido, u mas instrutivo \end{comment} exemplo de como embeber coment´rios nos seus documentos. a

7

Este ´ outro exemplo de como embeber coe ment´rios nos seus documentos. a

Note que isto n˜o funciona dentro de ambientes complexos tal como o a matem´tico. a

1.4

Estrutura do Ficheiro

A Quando o L TEX 2ε processa um ficheiro, espera que ele respeite uma certa estrutura. Desta forma, todos os ficheiros devem come¸ar com o comando c

\documentclass{...} Isto especifica o tipo de documento que tenciona escrever. Em seguida, pode incluir comandos que influenciam o estilo de todo o documento, ou A pode incluir pacotes que adicionar˜o novas propriedades ao sistema L TEX. a Para incluir este tipo de pacote, utilize o comando \usepackage{...} Quando todo o trabalho de configura¸˜o estiver feito,5 inicie o corpo do ca texto com o comando \begin{document}
A Agora introduza o texto misturado com comandos L TEX uteis. No fim ´ do documento adicione o comando

\end{document}
A que indica ao L TEX o fim do seu servi¸o. Tudo o que siga este comando ser´ c a A ignorado pelo L TEX. A A figura 1.1 mostra o conte´do de um ficheiro L TEX 2ε m´ u ınimo. Um ficheiro um pouco mais complexo ´ mostrado na figura 1.2. e

1.5

Uma Sess˜o de Edi¸˜o T´ a ca ıpica

A Aposto que deve estar a morrer por poder testar o pequeno exemplo de L TEX A mostrado na p´gina 8. Aqui est´ alguma ajuda: o L TEX, por si s´, n˜o a a o a ´ cont´m um interface gr´fico, ou bot˜es para clicar. E apenas um programa e a o A que mastiga o seu documento. Algumas instala¸˜es do L TEX providenciam co
5

A ´rea entre \documentclass e \begin{document} ´ chamado de preˆmbulo. a e a

8

Coisas Que Precisa de Saber

\documentclass{article} % esta linha ´ espec´fica para e ı % o Portugu^s e outras l´nguas e ı % com caracteres acentuados. \usepackage[latin1]{inputenc} \begin{document} Pequeno ´ belo. e \end{document}

A Figura 1.1: Um ficheiro L TEX m´ ınimo.

\documentclass[a4paper,11pt]{article} % Esta linha ´ necess´ria para e a % documentos em l´nguas que incluam ı % caracteres acentuados. \usepackage[latin1]{inputenc} % Define o autor e t´tulo ı \author{H.~Partl} \title{Minimalista} \begin{document} % Gera o t´tulo ı \maketitle % Insere a tabela de conte´dos u \tableofcontents \section{Algumas Palavras Interessantes} Bem, e aqui est´ o inicio do meu adorado artigo. a \section{Adeus, Mundo!} \ldots{} e aqui ele acaba. \end{document}

Figura 1.2: Exemplo de um Artigo Real.

1.5 Uma Sess˜o de Edi¸˜o T´ a ca ıpica
A um programa gr´fico para interagir com o L TEX clicando em certos menus. a Outros sistemas podem exigir um pouco mais de dactilografia, portanto A aqui apresentamos como obrigar o L TEX a compilar o seu documento num sistema baseado em texto. Note que esta descri¸˜o assume que existe uma ca A X a funcionar no seu computador.6 instala¸˜o L TE ca

9

A 1. Edite/Crie o seu documento L TEX. Este ficheiro deve ser texto ASCII sem qualquer tipo de formata¸˜o. Em Unix, todos os editores v˜o ca a fazer o que deseja. Em Windows, deve ter a certeza que vai gravar o ficheiro em ASCII ou em formato texto. Ao escolher um nome para o seu ficheiro, tenha a certeza de lhe colocar a extens˜o .tex. a A 2. Execute o L TEX sobre o seu ficheiro. Se correr tudo bem, ir´ acabar a A X v´rias com um ficheiro .dvi. Poder´ ser necess´rio correr o L TE a a a vezes para obter um ´ ındice de conte´dos e todas as referˆncias internas u e A correctamente. Sempre que o seu ficheiro tenha um erro o L TEX ir´ a dizer-lhe que erro cometeu e ir´ parar o seu processamento. Pressione a ctrl-D para voltar ` linha de comandos. a

latex foo.tex

3. Agora pode ver o ficheiro DVI. Existem v´rias formas de o fazer. Pode a mostrar o ficheiro no ´cran com e
xdvi foo.dvi &

Isto funciona apenas em Unix com X11. Se est´ em Windows, poder´ a a tentar usar o yap (ainda outro pr´-visualizador—yet another previe ewer). Tamb´m pode converter o ficheiro dvi em PostScript para e imprimir ou ver com o Ghostscript.
dvips -Pcmz foo.dvi -o foo.ps
A Se tiver sorte, o seu sistema L TEX at´ tr´s a ferramenta dvipdf, que e a lhe permite converter o seu ficheiro .dvi directamente em pdf.

dvipdf foo.dvi

6

Este ´ o caso de qualquer sistema Unix, e . . . Homens a s´rio usam Unix e e

10

Coisas Que Precisa de Saber

1.6
1.6.1

O Formato do Documento
Classes de Documentos

A A primeira informa¸˜o que o L TEX precisa de saber quando processa um ca ficheiro ´ o tipo de documento que o autor quer criar. Este tipo ´ especificado e e pelo comando \documentclass.

\documentclass[op¸˜es]{classe} co

Aqui, classe especifica o tipo do documento a ser criado. A tabela 1.1 lista as classes de documento explicadas nesta introdu¸˜o. A distribui¸˜o ca ca A do L TEX 2ε permite classes adicionais para outros documentos, incluindo cartas e slides. O parˆmetro op¸˜es caracteriza o comportamento da classe a co do documento. As op¸˜es devem ser separadas por v´ co ırgulas. As op¸˜es mais co comuns para os documentos padr˜o est˜o listadas na tabela 1.2. a a A Exemplo: Um ficheiro para um documento L TEX pode come¸ar com a c linha \documentclass[11pt,twoside,a4paper]{article}
A que instrui o L TEX a escrever o documento como sendo um artigo (article) com um tamanho base de letra de onze pontos (11pt), e para gerar um formato adequado para impress˜o de ambos os lados (twoside) em papel A4 a (a4paper ).

1.6.2

Pacotes

Ao escrever o seu documento, provavelmente encontrar´ algumas ´reas onde a a A X b´sico n˜o conseguir´ resolver os seus problemas. Se deseja incluir o L TE a a a Tabela 1.1: Classes de Documentos. article para artigos em jornais cient´ ıficos, pequenos relat´rios, docuo menta¸˜o de programas, convites, . . . ca report para relat´rios mais longos contendo v´rios cap´ o a ıtulos, pequenos livros, teses de doutoramento, . . . book para livros verdadeiros slides para slides. Esta classe usa letras grandes do tipo sans serif. Deve considerar utilizar o pacote FoilTEXa em vez do slides.
a

macros/latex/contrib/supported/foiltex

1.6 O Formato do Documento

11

Tabela 1.2: Op¸˜es das Classes de Documentos. co 10pt, 11pt, 12pt Define o tamanho principal das letras do documento. Caso n˜o especifique uma delas, ´ assumido 10pt. a e a4paper, letterpaper, . . . Define o tamanho do papel. Por omiss˜o, ´ utilizado o letterpaper. Al´m destes, existem a e e a5paper, b5paper, executivepaper, e legalpaper. fleqn Alinha as f´rmulas ` esquerda em vez de as centrar. o a

leqno Coloca a numera¸˜o nas f´rmulas do lado esquerdo em vez do ca o lado direito. titlepage, notitlepage Especifica se se deve criar uma nova p´gina depois do t´ a ıtulo do documento ou n˜o. A classe article a n˜o inicia uma nova p´gina por omiss˜o, enquanto que o report a a a e o book o fazem. twocolumn
A Instrui o L TEX a escrever o documento em duas colunas.

twoside, oneside Indica se deve ser gerado resultado para impress˜o dos dois lados. As classes article e report s˜o a a impressas apenas de um lado e a classe book ´ impressa dos dois e lados por omiss˜o. Note que esta op¸˜o muda apenas o estilo do a ca documento. A op¸˜o twoside n˜o diz ` impressora que deve ca a a fazer a impress˜o de ambos os lados. a openright, openany Faz os cap´ ıtulos come¸ar apenas nas p´ginas c a do lado direito ou na pr´xima dispon´ o ıvel. Esta op¸˜o n˜o ca a funciona com a classe article uma vez que ela n˜o sabe o que a s˜o cap´ a ıtulos. A classe report inicia por omiss˜o os cap´ a ıtulos na primeira p´gina dispon´ e a classe book inicia nas p´ginas do a ıvel a lado direito. landscape Muda o formato do documento para ser impresso numa folha deitada.

12

Coisas Que Precisa de Saber gr´ficos, texto colorido ou c´digo fonte de um ficheiro no seu documento, ir´ a o a A precisar de melhorar as capacidades do L TEX. Este tipo de melhoramentos s˜o chamados pacotes (packages), e s˜o activados com o comando a a
\usepackage[op¸˜es]{pacote} co

onde pacote ´ o nome do pacote e op¸˜es ´ uma lista de palavras chave que e co e activam (ou desactivam) propriedades especiais no pacote. Alguns pacotes A vˆm com a distribui¸˜o base do L TEX 2ε (Veja a tabela 1.3), outros s˜o e ca a distribuidos separadamente. Poder´ encontrar mais informa¸˜o sobre os a ca pacotes instalados no Local Guide [4]. A primeira fonte de informa¸˜o sobre ca A X ´ o The L T X Companion [3], que cont´m descri¸˜es de A os pacotes L TE e e co E centenas de pacotes juntamente com informa¸˜o sobre como escrever as suas ca A pr´prias extens˜es para o L TEX 2ε . o o

1.7

Ficheiros que provavelmente encontrar´ a

A Quando trabalhar com o L TEX, rapidamente se encontrar´ num labirinto de a ficheiros com v´rias extens˜es e provavelmente sem pista alguma sobre o seu a o conte´do. Em seguida apresentamos uma lista indicando os v´rios tipos de u a ficheiros que possivelmente encontrar´ ao trabalhar com TEX. Note que esta a tabela n˜o pretende ser uma lista completa de extens˜es, mas se encontrar a o uma que falte e que lhe pare¸a importante, avise! c A .tex Ficheiros L TEX ou TEX. Podem ser compilados com o latex. A .sty Pacote de macros L TEX. Este ´ um ficheiro que pode carregar no seu e A documento L TEX utilizando o comando \usepackage.

.dtx TEX documentado. Este ´ o formato base para a distribui¸˜o de fie ca A cheiros de estilo L TEX. Se processar um destes ficheiros ficar´ com a documenta¸˜o do pacote contido no ficheiro .dtx. ca ´ .ins E o instalador para os ficheiros contidos nos ficheiros .dtx com o mesmo A nome. Se fizer download de um pacote L TEX da Internet, normalmente A ficar´ com um ficheiro .dtx e um .ins. Corra o L TEX no ficheiro .ins a para descompactar o ficheiro .dtx. .cls Ficheiros de classe que definem como o seu documento vai aparecer. Podem ser seleccionados com o comando \documentclass.
A .fd Ficheiros de descri¸˜o de tipos de letra que comunica ao L TEX novos ca tipos dispon´ ıveis. A Os ficheiros seguintes s˜o gerados quando corre o L TEX no seu documento: a

1.7 Ficheiros que provavelmente encontrar´ a

13

A Tabela 1.3: Alguns Pacotes Distribu´ ıdos com o L TEX.

A doc Permite a documenta¸˜o de programas L TEX. ca a e no The L T X Companion [3]. A Descrito em doc.dtx E

exscale Fornece vers˜es das letras do modo matem´tico regul´veis o a a em tamanho Descrito em ltexscale.dtx.
A fontenc Especifica que codifica¸˜o de caracteres o L TEX deve usar. ca Descrito em ltoutenc.dtx.

ifthen Fornece comandos da forma ‘if. . . then do. . . otherwise do. . . .’ A Descrito em ifthen.dtx e no The L TEX Companion [3].
A latexsym Permite aceder ao tipo de letra symbol do L TEX. DesA X Companion [3]. crito em latexsym.dtx e no The L TE

makeidx Fornece comandos para produzir ´ ındices. Descrito na A X Companion [3]. sec¸˜o 4.3 e no The L TE ca syntonly Processa um documento sem escrever o resultado do processamento. inputenc Permite a especifica¸˜o de uma codifica¸˜o como seja ca ca ASCII, ISO Latin-1, ISO Latin-2, p´ginas de c´digo 437/850 a o IBM, Apple Macintosh, Next, ANSI-Windows ou definido pelo utilizador. Descrito em inputenc.dtx.
Este ficheiro deve estar instalado no seu sistema, e deve conseguir convertˆe lo para um ficheiro dvi digitando latex doc.dtx em qualquer directoria em que tiver permiss˜es. Isto tamb´m ´ verdade para todos os outros ficheiros o e e mencionados nesta tabela.
a

14

Coisas Que Precisa de Saber .dvi Device Independent file. Este ´ o resultado principal da utiliza¸˜o do e ca A L TEX. Pode ver o seu conte´do com um programa de visualiza¸˜o de u ca DVI ou pode envi´-lo para a impressora com dvips ou uma aplica¸˜o a ca similar. .log Cont´m informa¸˜o detalhada sobre o que aconteceu da ultima vez e ca ´ A que correu o L TEX no seu documento. .toc Guarda todos os cabe¸alhos. Ser´ lido da pr´xima vez que correr o c a o A X para produzir a tabela de conte´ dos. L TE u .lof Idˆntico ao .toc mas para a lista de figuras. e .lot Mais uma vez o mesmo para a lista de tabelas.
A .aux Outro ficheiro que transporta informa¸˜o de uma utiliza¸˜o do L TEX ca ca at´ ` pr´xima. Entre outras coisas, o ficheiro .aux ´ utilizado para e a o e guardar informa¸˜o associada com referˆncias cruzadas. ca e A .idx Se o seu documento inclu´ um ´ ı ındice, o L TEX guarda todas as palavras que v˜o para o ´ a ındice neste ficheiro. Este ficheiro deve ser processado com o makeindex. Visite a sec¸˜o 4.3 na p´gina 72 para mais inca a forma¸˜o sobre indexa¸˜o. ca ca

´ .ind E o ficheiro processado do .idx, pronto para inclus˜o no seu documento a no pr´ximo ciclo de compila¸˜o. o ca .ilg Ficheiro com os resultados sobre o processamento do makeindex.

1.7.1

Estilo de P´ginas a

A O L TEX suporta trˆs combina¸˜es pr´-definidas de cabe¸alho/rodap´ — e co e c e chamados de estilo de p´ginas . O parˆmetro estilo pode ser um dos definidos a a pelo comando

\pagestyle{estilo}

A tabela 1.4 lista os estilos de p´ginas pr´-definidos. a e ´ poss´ alterar o estilo da p´gina actual com o comando E ıvel a
\thispagestyle{estilo}

Uma descri¸˜o sobre como criar os seus pr´prios cabe¸alhos e rodap´s ca o c e A X Companion [3] e na sec¸˜o 4.4 da p´gina 74. pode ser encontrado no The L TE ca a

1.8 Grandes Projectos

15

1.8

Grandes Projectos

Quando trabalha com documentos grandes, possivelmente gostava de sepaA rar os ficheiros de c´digo em v´rias partes. O L TEX tem dois comandos que o a ajudam a atingir este objectivo.
\include{nomedoficheiro}

pode usar este comando no corpo do seu documento para incluir o conte´do u A X iniciar´ de outro ficheiro chamado nomedoficheiro.tex. Note que o L TE a uma nova p´gina antes de processar o material deste ficheiro. a O segundo comando pode ser utilizado no preˆmbulo. Ele permite insa A X para incluir apenas alguns dos ficheiro inclu´ truir o L TE ıdos.
\includeonly{nomedoficheiro,nomedoficheiro,. . . }

Depois deste comando ser executado no preˆmbulo do documento, apea nas os comandos \include para os ficheiros listados no argumento deste comando ser˜o executados. Note que n˜o podem existir espa¸os entre os a a c nomes dos ficheiros e as v´ ırgulas. O comando \include inicia o texto, inclu´ numa nova p´gina. Isto ıdo a ´ util quando usa o \includeonly, porque as mudan¸as de p´gina n˜o se e ´ c a a mover˜o, mesmo quando alguns \include’s s˜o omitidos. Algumas vezes a a isto pode n˜o ser desej´vel. Neste caso, deve utilizar o comando a a
\input{nomedoficheiro}

que inclu´ simplesmente o ficheiro especificado, sem fatos brilhantes, nem ı cordas agarradas! A Para fazer o L TEX verificar rapidamente o seu documento pode utilizar A o pacote syntonly que faz com que o L TEX percorra o ficheiro verificando

A Tabela 1.4: Os Estilos de P´ginas Pr´-definidos no L TEX. a e

plain imprime o n´mero da p´gina no fundo da p´gina, no centro do u a a rodap´. Este ´ o estilo por omiss˜o. e e a headings imprime o nome do cap´ ıtulo actual e o n´mero da p´gina u a no cabe¸alho de cada p´gina, enquanto que o rodap´ se mant´m c a e e vazio. (Este ´ o estilo usado neste documento) e empty coloca quer o cabe¸alho quer o rodap´ vazios. c e

16

Coisas Que Precisa de Saber apenas a sintaxe e utiliza¸˜o de comandos, mas n˜o produz nenhum ficheiro. ca a A Como o L TEX corre mais depressa neste modo, pode poupar-lhe muito do seu precioso tempo. A sua utiliza¸˜o ´ muito simples: ca e \usepackage{syntonly} \syntaxonly Quando precisar de produzir p´ginas, adicione um coment´rio ` segunda a a a linha (adicionando um s´ ımbolo de percentagem).

Cap´ ıtulo 2

Escrever Texto
Depois de ler o cap´ ıtulo anterior, deve saber as partes b´sicas que constituem a A um documento LTEX 2ε . Este cap´ ıtulo preencher´ o resto da estrutura que a precisa de conhecer para produzir material autˆntico. e

2.1

A Estrutura de um Texto

By Hanspeter Schmid <hanspi@schmid-werren.ch>

Ao escrever um texto, o principal ponto (alguma literatura DAAC1 moderna exclu´ ıda), ´ apresentar ideias, informa¸˜o ou conhecimento ao leitor. e ca Este ir´ compreender melhor o texto se estas ideias estiverem bem estrutua radas, e ir´ ver e sentir melhor esta estrutura se a forma tipogr´fica reflectir a a a estrutura l´gica e semˆntica do conte´do. o a u A O L TEX ´ diferente de todos os outros sistemas de escrita apenas por ter e de indicar a estrutura l´gica e semˆntica do texto. Utilizando esta estrutura, o a deriva a forma tipogr´fica do texto de acordo com as “regras” dadas na classe a do documento e nos v´rios ficheiros de estilo. a A A unidade mais importante de texto em L TEX (e em tipografia) ´ o e par´grafo. Chamamos-lhe “unidade de texto” porque um par´grafo ´ a a a e forma tipogr´fica que deve reflectir um pensamento coerente, ou uma ideia. a Nas sec¸˜es seguintes aprender´ como for¸ar mudan¸as de linha, por exemplo co a c c com \\ e mudan¸as de par´grafo deixando uma linha em branco no c´digo. c a o Se come¸a a descrever um novo pensamento, deve iniciar um novo par´grafo; c a se n˜o, apenas mudan¸as de linha devem ser utilizadas. Em d´vida se a c u deve ou n˜o realizar quebras de par´grafos, pense no seu texto como um a a arm´rio de ideias e pensamentos. Se tem uma quebra de par´grafo, mas a a o pensamento anterior continua, deve ser removido. Se alguma linha de pensamento completamente nova ocorre no mesmo par´grafo, ent˜o deve a a ser quebrado.
Different At All Cost (diferente a todo o custo), uma tradu¸˜o da UVA Su´ca-Alem˜ ca ı¸ a (Um’s Verrecken Anders).
1

18

Escrever Texto A maior parte das pessoas esquece completamente a importˆncia de quea bras de par´grafos bem colocadas. Muitas pessoas nem sequer saber o siga A nificado duma quebra de par´grafo, e, especialmente em L TEX, introduzem a par´grafos sem saber. Este erro ´ especialmente f´cil de fazer se forem utia e a lizadas equa¸˜es no texto. Veja os exemplos seguintes, e descubra porque co algumas linhas em branco (quebras de par´grafos) s˜o utilizados antes e a a depois da equa¸˜o, e outras vezes n˜o. (Se ainda n˜o compreender todos os ca a a comandos o suficiente para compreender estes exemplos, continue a ler este e os cap´ ıtulos seguintes, e depois volte a ler esta sec¸˜o.) ca % Example 1 \ldots quando Einstein introduziu a sua f´rmula o \begin{equation} e = m \cdot c^2 \; , \end{equation} que ´ ao mesmo tempo a mais conhecida e a menos e compreendida f´rmula f´sica. o ı

% Example 2 \ldots de onde segue a lei actual de Kirchhoff: \begin{equation} \sum_{k=1}^{n} I_k = 0 \; . \end{equation} A lei de voltagem de Kirchhoff pode ser deduzida\ldots

% Example 3 \ldots que tem v´rias vantagens. a \begin{equation} I_D = I_F - I_R \end{equation} e ´ o centro de um modelo diferente de transistor.\ldots A unidade mais pequena de texto seguinte ´ a frase. Em textos ingleses2 , e existe um maior espa¸o depois de um ponto que acaba uma frase do que um c A que acaba uma abreviatura. O L TEX tenta adivinhar qual dos casos deve A X errar, deve dizer-lhe o que quer. Como fazer isto ´ utilizar. Se o L TE e explicado mais tarde neste cap´ ıtulo. A estrutura¸˜o do texto extende-se at´ `s partes de uma frase. Quase ca ea todas as l´ ınguas tˆm regras de pontua¸˜o muito complicadas, mas na sua e ca
2

NT: e tamb´m em portugueses e

2.2 Quebras de Linha e Quebras de P´gina a maioria (incluindo alem˜o e inglˆs3 ), ir´ obter quase todas as v´ a e a ırgulas correctas se se lembrar do que ela representa: uma pequena paragem no fluxo da l´ ıngua. Se n˜o tem a certeza onde colocar a v´ a ırgula, leia a frase em voz alta, e fa¸a uma pequena respira¸˜o em cada v´ c ca ırgula. Se fica mal em algum s´ ıtio, apague a v´ ırgula; se precisa de respirar (ou fazer uma pequena pausa) em algum outro ponto, insira uma v´ ırgula. Finalmente, os par´grafos de um texto devem tamb´m estar estruturados a e logicamente a um n´ superior, encaixando-os em cap´ ıvel ıtulos, sec¸˜es, subco sec¸˜es, e assim sucessivamente. No entanto, o efeito tipogr´fico de escrever, co a por exemplo, \section{A Estrutura e Linguagem do Texto} ´ t˜o obvio e a que ´ evidente quando estas estruturas de alto n´ devem ser utilizadas. e ıvel

19

2.2
2.2.1

Quebras de Linha e Quebras de P´gina a
Par´grafos Justificados a

´ E habitual que os livros sejam escritos de forma a que cada linha tenha A o mesmo comprimento. O L TEX insere as quebras de linha e espa¸os nec cess´rios entre palavras optimizando os conte´dos de um par´grafo, como a u a um todo. Se necess´rio, ele tamb´m hifeniza as palavras que n˜o cabem cona e a fortavelmente numa linha. Como os par´grafos s˜o impressos depende da a a classe do documento. Normalmente a primeira linha do par´grafo ´ indena e tada, e n˜o existe espa¸o adicional entre dois par´grafos. Veja a sec¸˜o 6.3.2 a c a ca para mais informa¸˜o. ca A Em casos especiais pode ser necess´rio ordenar ao L TEX para quebrar a a linha:
\\ ou \newline

iniciam uma nova linha sem iniciar um novo par´grafo. a
\\*

pro´ adicionalmente, uma quebra de p´gina ap´s a 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]

fazem o que o seu nome diz4 . Permitem que o autor influencie as suas
3 4

NT: e portuguˆs e NT: for¸ar quebra de linha, evitar quebra de linha, for¸ar nova p´gina e evitar nova c c a

20

Escrever Texto ac¸˜es com um argumento opcional n que pode variar desde zero at´ quatro. co e A Ao colocar n com um valor inferior a 4 permite que o L TEX ignore o seu comando se o resultado ficar muito feio. N˜o confunda estes comandos a “break” com os comandos “new”. Mesmo ao indicar um comando “break”, A o L TEX tenta ainda preencher as bordas do texto e o comprimento total da p´gina, como descrito na sec¸˜o seguinte. Se realmente quer come¸ar uma a ca c “nova linha”, ent˜o utilize o comando correspondente. Adivinhe qual! a A O L TEX tenta sempre produzir as melhores quebras de linha poss´ ıveis. Se n˜o encontra uma forma de quebrar a linha dum modo que esteja de acordo a com a sua qualidade, deixa uma linha sair um pouco da margem direita do A par´grafo. No entanto, o L TEX queixa-se (“overfull hbox”) ao processar o a A documento. Isto acontece mais frequentemente quando o L TEX n˜o encontra a 5 Existe a possibilidade de instruir um s´ correcto para hifenizar a palavra. ıtio A o L TEX a baixar a sua qualidade um pouco dando-lhe o comando \sloppy, que previne estas linhas demasiado compridas aumentando o espa¸o entre c palavras—mesmo que o resultado final n˜o seja ´ptimo. Neste caso, um aviso a o (“underfull hbox”) ´ dado. Na maior parte destes casos o resultado n˜o ´ e a e A X de volta ao seu comportamento o melhor. O comando \fussy traz o L TE habitual.

2.2.2

Hifeniza¸˜o ca

A O L TEX hifeniza as palavras sempre que precisa. Se o algoritmo de hifeniza¸˜o n˜o encontrar o ponto correcto, pode remediar a situa¸˜o utilizando ca a ca o seguinte comando, para indicar ao TEX a excep¸˜o. ca O comando

\hyphenation{lista de palavras}

causa as palavras listadas no argumento sejam hifenizadas apenas nos pontos marcados por “-”. O argumento do comando deve conter apenas palavras constitu´ ıdas de letras normais ou sinais considerados como letras normais A pelo L TEX. As sugest˜es de hifeniza¸˜o s˜o guardados para a l´ o ca a ıngua activa quando o comando de hifeniza¸˜o ocorre. Isto significa que se colocar um ca comando de hifeniza¸˜o no preˆmbulo do seu documento, influenciar´ a hifeca a a niza¸˜o da l´ ca ıngua inglesa. Se colocar o comando ap´s o \begin{document} o e est´ a usar algum pacote para suporte de outras l´ a ınguas como seja o pacote babel, ent˜o as sugest˜es de hifeniza¸˜o estar˜o activas na l´ a o ca a ıngua activada pelo babel.
p´gina, respectivamente a 5 A Apesar do L TEX avis´-lo quando isto acontece (Overfull hbox) e mostrar a linha a problem´tica, estas linhas nem sempre s˜o f´ceis de encontrar. Se utilizar a op¸˜o draft a a a ca no comando \documentclass, estas linhas ser˜o marcadas com uma linha preta na margem a direita.

2.3 Texto j´ Feito a O seguinte exemplo permitir´ que “hifeniza¸˜o” seja hifenizado t˜o bem a ca a como “Hifeniza¸˜o”, e previne de todo que “FORTRAN”, “Fortran” e “forca tran” sejam hifenizados. No argumento deste comando n˜o s˜o permitidos a a s´ ımbolos ou caracteres especiais. Exemplo: \hyphenation{FORTRAN Hi-fe-ni-za-¸~o} ca O comando \- insere um h´ ıfen descritivo numa palavra. Estes passam tamb´m a ser os unicos pontos de hifeniza¸˜o permitidos na palavra. Este e ´ ca comando ´ especialmente util para palavras que cont´m caracteres especiais e ´ e A (por exemplo, caracteres acentuados), porque o L TEX n˜o hifeniza automaa ticamente palavras que contenham esses caracteres.
Penso que isto ´: su\-per\-cal\-% e i\-frag\-i\-lis\-tic\-ex\-pi\-% al\-i\-do\-cious Penso que isto ´: supercalifragilisticexpialie docious

21

V´rias palavras podem ser mantidas juntas numa linha, utilizando o a comando
\mbox{texto}
A que obriga o L TEX a manter o seu argumento junto em todas as circunstˆncias. a

O meu n´mero de telefone ir´ mudar u a brevemente para \mbox{0116 291 2319}. O par^metro a \mbox{\emph{nomedoficheiro}} dever´ a conter o nome do ficheiro.

O meu n´mero de telefone ir´ mudar breveu a mente para 0116 291 2319. O parˆmetro nomedoficheiro dever´ conter o a a nome do ficheiro.

O comando \fbox ´ idˆntico ao \mbox, mas adiciona um rectˆngulo e e a desenhado ` volta do conte´do. a u

2.3

Texto j´ Feito a

Em alguns dos exemplos nas p´ginas anteriores dever´ ter visto alguns coa a A X muito simples para escrever texto especial: mandos L TE Comando \today \TeX \LaTeX \LaTeXe Exemplo 8 de Abril de 2004 TEX A L TEX A L TEX 2ε Descri¸˜o ca Data actual na l´ ıngua actual O nome do seu tip´grafo preferido o O Nome do Jogo A A incarna¸˜o actual do L TEX ca

22

Escrever Texto

2.4
2.4.1

S´ ımbolos e Caracteres Especiais
Aspas

N˜o deve utilizar o caracter " para desenhar aspas como o faria numa a m´quina de escrever. Existem duas marcas especiais para abrir e fechar a A aspas em tipografia. Em L TEX, use dois ‘ (acento agudo) para abrir aspas e dois ’ (ap´strofe) para fechar aspas. Para aspas simples use apenas um o de cada.
‘‘Por favor, pressione a tecla ‘x’.’’ “Por favor, pressione a tecla ‘x’.”

Sim, eu sei que a renderiza¸˜o n˜o ´ a ideal, mas na verdade ´ um acento ca a e e grave para abrir aspas, e um ap´strofe no para fechar. Ignore o que o tipo o de letra escolhido possa sugerir.

2.4.2

Tra¸os e H´ c ıfens

A O L TEX conhece quatro tipos diferentes de tra¸os. Pode aceder trˆs deles c e colocando um, dois ou trˆs - consecutivos. O quarto sinal n˜o ´ um tra¸o—´ e a e c e o sinal matem´tico menos: a

fim-de-semana, segunda-feira\\ p´ginas 13--67\\ a sim---ou n~o? \\ a $0$, $1$ e $-1$

fim-de-semana, segunda-feira p´ginas 13–67 a sim—ou n˜o? a 0, 1 e −1

Os nomes destes tra¸os s˜o: ‘-’ h´ c a ıfen, ‘–’ en-dash, ‘—’ em-dash e ‘−’ sinal de menos.

2.4.3

Til (∼)

Um caracter visto frequentemente em endere¸os de Internet ´ o til. Para c e A X pode usar \~ mas o resultado: ˜ n˜o ´ proprigerar este s´ ımbolo em L TE a e amente o que queria. Tente desta forma:

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

http://www.rich.edu/˜bush http://www.clever.edu/∼demo

2.4 S´ ımbolos e Caracteres Especiais

23

2.4.4

S´ ımbolo de Graus (◦)

A O seguinte exemplo mostra como imprimir um s´ ımbolo de graus em L TEX:

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

O pacote textcomp torna o s´ ımbolo de graus tamb´m dispon´ e ıvel como \textcelsius.

2.4.5

S´ ımbolo de Euro ( )

¿

Ultimamente, ao escrever sobre dinheiro vai precisar do s´ ımbolo do Euro. Muitos dos tipos de letra actuais contˆm o s´ e ımbolo do Euro. Depois de carregar o pacote textcomp no preˆmbulo do seu documento a
\usepackage{textcomp}

pode usar o comando
\texteuro

para o desenhar. Se o seu tipo de letra n˜o providenciar o seu pr´prio s´ a o ımbolo do Euro ou se n˜o gosta do s´ a ımbolo do Euro nos tipos de letra que possu´ ainda tem ı, duas hip´teses: o Em primeiro lugar, o pacote eurosym que cont´m o s´ e ımbolo oficial do Euro:
\usepackage[official ]{eurosym}

Se preferir um s´ ımbolo mais parecido com o seu tipo de letra, use a op¸˜o ca gen no lugar da op¸˜o official. ca Se tiver instalas as Adobe Eurofonts no seu sistema (est˜o dispon´ a ıveis gratuitamente em ftp://ftp.adobe.com/pub/adobe/type/win/all) poder´ usar o pacote europs e o comando \EUR (para um s´ a ımbolo de Euro de acordo com o tipo de letra actual) ou o pacote eurosans e o comando \euro (para o “Euro oficial”). O pacote marvosym tamb´m inclui muitos s´ e ımbolos diferentes, incluindo o Euro, sob o nome \EUR. A desvantagem ´ que n˜o providencia uma variante e a em negrito nem inclinada do s´ ımbolo do Euro.

24

Escrever Texto

Tabela 2.1: Um saco cheio de s´ ımbolos de Euro pacote eurosym [gen]eurosym europs marvosym comando \euro \euro \EUR \EUR romana

e ¤

e A C

sans-serif

c ¤

e A C

m´quina de escrever a

d ¤

e A C

2.4.6

Reticˆncias (. . . ) e

Numa m´quina de escrever, uma v´ a ırgula ou um ponto ocupam o mesmo espa¸o de qualquer outra letra. Ao imprimir livros, estes caracteres ocuc pam apenas um pequeno espa¸o e s˜o colocados muito pr´ximos ` letra c a o a precedente. Desta forma, n˜o pode introduzir reticˆncias simplesmente ina e troduzindo trˆs pontos, porque o espa¸amento estar´ errado. No entanto, e c a ´ chamado existe um comando especial para estes pontos. E
\ldots

N~o desta forma ... mas assim:\\ a N˜o desta forma ... mas assim: a Nova Iorque, T´quio, Budapeste, \ldots Nova Iorque, T´quio, Budapeste, . . . o o

2.4.7

Liga¸˜es co

Algumas combina¸˜es de letras s˜o escritas, n˜o colocando as diferentes co a a letras uma ap´s a outra, mas usando s´ o ımbolos especiais.

ff fi fl ffi. . .

em vez de

ff fi fl ffi . . .

Estas chamadas ‘liga¸˜es’ podem ser proibidas inserindo uma \mbox{} entre co as duas letras em quest˜o. Isto pode ser necess´rio com palavras constru´ a a ıdas de duas palavras.

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

Not shelfful but shelfful

2.5 Suporte de L´ ınguas Internacionais

25

2.4.8

Caracteres Especiais e Acentos

A O L TEX suporta o uso de acentos e caracteres especiais de muitas l´ ınguas. A tabela 2.2 mostra todos os tipos de acentos sendo aplicados ` letra o. a Naturalmente que outras letras tamb´m funcionam. e Para colocar um acento no topo de um i ou de um j, o ponto deve ser removido. Isto ´ conseguido escrevendo \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

Tabela 2.2: Caracteres especiais e Acentos. 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 de L´ ınguas Internacionais

Se precisa de escrever documentos noutras l´ ınguas que n˜o o inglˆs, ent˜o a e a A existem trˆs ´reas onde o L TEX pode ser configurado apropriadamente: e a 1. Todos os textos gerados automaticamente6 podem ser adaptados para a outra l´ ıngua. Para a maior parte das l´ ınguas, estas mudan¸as podem c ser conseguidas utilizando o pacote babel por Johannes Braams.
A 2. O L TEX precisa de saber as regras de hifeniza¸˜o para a nova l´ ca ıngua. A X ´ um pouco mais comConseguir as regras de hifeniza¸˜o no L TE e ca plicado. Obriga a reconstruir o ficheiro de formato activando padr˜es o de hifeniza¸˜o diferentes. O seu Local Guide [4] deve apresentar mais ca informa¸˜o na realiza¸˜o desta tarefa. ca ca
6

Tabela de Conte´dos, Lista de Figuras, . . . u

26

Escrever Texto 3. Regras tipogr´ficas espec´ a ıficas de algumas l´ ınguas. Em Francˆs, por e exemplo, existe um espa¸o obrigat´rio antes de cada caracter de dois c o pontos (:). Se o seu sistema j´ est´ configurado de forma apropriada, pode activar a a o pacote babel adicionando o comando
\usepackage[l´ ıngua]{babel}

depois do comando \documentclass. A lista das l´ ınguas que o seu sistema suporta ser˜o mostradas sempre que o seu compilador inicia. O Babel ir´ a a activar automaticamente as regras apropriadas de hifeniza¸˜o para a l´ ca ıngua A que escolher. Se o seu formato L TEX n˜o suporta hifeniza¸˜o na l´ a ca ıngua que escolheu, o babel continuar´ a funcionar mas ir´ desactivar a hifeniza¸˜o, o a a ca que ter´ um efeito bastante negativo na aparˆncia visual do documento. a e Se inicializar o babel com v´rias l´ a ınguas
\usepackage[l´ ınguaA,l´ ınguaB ]{babel}

ir´ precisar de usar o comando a
\selectlanguage{l´ ınguaA}

para definir a l´ ıngua actual. Quase todos os sistemas modernos permitem introduzir alguns caracteres especiais directamente pelo teclado. Para conseguir manusear uma variedade de s´ ımbolos usados nos diferentes grupos de l´ ınguas e/ou nas diA X usa o pacote inputenc: ferentes plataformas, o L TE
\usepackage[codifica¸˜o]{inputenc} ca

Ao utilizar este pacote, dever´ ter em aten¸˜o que outras pessoas podem a ca n˜o conseguir ler o c´digo do seu documento no seu computador, porque utia o lizam uma codifica¸˜o diferente. Por exemplo, o umlaut alem˜o ¨ em OS/2 ´ ca a a e codificado como 132, mas em alguns sistemas Unix utilizando ISO-LATIN 1 ´ codificado como 228, enquanto que em cir´ e ılico (cp1251 para Windows) esta letra n˜o existe de todo. Desta forma deve utilizar esta funcionalidade com a cuidado. As seguintes codifica¸˜es podem ser uteis, dependendo do tipo de co ´ sistema com que est´ a trabalhar:7 a
Para aprender mais sobre as codifica¸˜es suportadas para l´ co ınguas baseadas em Latin e Cir´ ılico, leia a documenta¸˜o para o inputenc.dtx e cyinpenc.dtx, respectivamente. A ca sec¸˜o 4.6 ensina a produzir a documenta¸˜o destes pacotes. ca ca
7

2.5 Suporte de L´ ınguas Internacionais Sistema operativo Mac Unix Windows DOS, OS/2 codifica¸˜es co latin cir´ ılico applemac macukr latin1 koi8-ru ansinew cp1251 cp850 cp866nav

27

Se estiver a usar um documento multilingue com conflitos de codifica¸˜o, ca pode desejar mudar para unicode com a ajuda do pacote ucs.
\usepackage{ucs} \usepackage[utf8]{inputenc}
A ir´ permitir que crie documentos L TEX em utf8, uma codifica¸˜o multi-byte a ca na qual cada caracter pode ser codificado no m´ ınimo como um byte e, no m´ximo, quatro bytes. a A codifica¸˜o de tipos de letra ´ uma mat´ria diferente. Esta, define em ca e e que posi¸˜es cada letra ´ guardada dentro da TEX-font. V´rias codifica¸˜es co e a co podem ser mapeadas numa codifica¸˜o, o que reduz o n´mero de conjuntos ca u de tipos de letras necess´rios. Estas codifica¸˜es s˜o manuseadas usando o a co a pacote fontenc:

\usepackage[codifica¸˜o]{fontenc} ca

´ onde codifica¸˜o ´ um tipo de codifica¸˜o de caracteres. E poss´ carregar ca e ca ıvel v´rias codifica¸˜es simultˆneamente. a co a A A codifica¸˜o habitual do L TEX ´ a OT1, a codifica¸˜o dos tipos de leca e ca tra originais do TEX: Computer Modern. Cont´m apenas 128 caracteres e do conjunto de caracteres ASCII de 7 bits. Quando os caracteres acentuados s˜o necess´rios, o TEX cria-os combinando um caracter normal com o a a acento. Embora o resultado pare¸a perfeito, este m´todo p´ra a hifeniza¸˜o c e a ca autom´tica para palavras que contenham caracteres acentuados. Al´m disso, a e algumas letras latinas n˜o podem ser criadas combinando um caracter nora mal com um acento, j´ para n˜o falar das letras de alfabetos n˜o latinos a a a como sejam o Grego ou Cir´ ılico. Para resolver estes problemas, v´rios tipos de letra do tipo CM de 8 a bits foram criados. Tipos de letra Extended Cork (EC) na codifica¸˜o T1 ca cont´m letras e caracteres de pontua¸˜o para a maioria das l´ e ca ınguas Europeias baseadas em latim. O conjunto de tipos de letra LH cont´m as letras e necess´rias para escrever documentos em l´ a ınguas cir´ ılicas. Devido ao grande n´mero de glifos cir´ u ılicos, estes foram divididos em quatro codifica¸˜es — co e ca T2A, T2B, T2C, e X2.8 O conjunto CB cont´m letras na codifica¸˜o LGR para
A lista de l´ ınguas suportadas por cada uma destas codifica¸˜es pode ser encontrada co no [10].
8

28

Escrever Texto a composi¸˜o de texto Grego. ca Ao usar estes tipos de letra pode melhorar/activar a hifeniza¸˜o de texca tos n˜o Ingleses. Outra vantagem ´ que estes tipos de letra providenciam as a e familias CM em todos os seus formatos, e tamanhos opticalmente aumentados.

2.5.1

Suporte para Alem˜o a

A Aqui v˜o algumas dicas para aqueles que estejam a criar documentos L TEX a em Alem˜o: pode carregar o suporte para l´ a ıngua alem˜ com o comando a

\usepackage[german]{babel}
A Isto far´ com que o L TEX passe a fazer hifeniza¸˜o para a l´ a ca ıngua Alem˜, a A se tiver o seu sistema L TEX bem configurado. Tamb´m ir´ alterar todo o e a texto autom´tico para alem˜o. Por exemplo, “Chapter” ir´ passar a “Kaa a a pitel.” Um conjunto de novos comandos ir˜o passar a estar dispon´ a ıveis, que lhe ir˜o permitir introduzir texto alem˜o de forma mais r´pida, mesmo que a a a n˜o use o pacote inputenc. Repare na tabela 2.3 para alguma inspira¸˜o. a ca Com o inputenc, tudo isto se torna desnecess´rio, mas o seu texto tamb´m a e ir´ ficar preso num mundo de codifica¸˜o particular. a ca

Tabela 2.3: Caracteres especiais alem˜es. a "a "‘ "< or \flqq \flq \dq a ¨ ” «
<

"s "’ "> or \frqq \frq

ß “ »
>

Em livros alem˜es ir´ encontrar aspas de estilo francˆs («guillemets»). a a e Os tip´grafos alem˜es usam-as de forma diferente. Uma frase entre aspas o a num livro alem˜o dever´ ser »assim«. Na parte da Su´ca que fala alem˜o, a a ı¸ a os tip´grafos usam «guillemets» da mesma forma que os Franceses. o Um grande problema surge do uso de comandos como \flq: se usar um tipo de letra OT1 (que ´ o tipo de letra por omiss˜o) as guillemets e a ir˜o parecer o s´ a ımbolo matem´tico “ ”, que ir´ revoltar um estˆmago de a a o tip´grafo. Os tipos de letra codificados em T1, por outro lado, n˜o contˆm o a e os s´ ımbolos necess´rios. Assim, se est´ a usar este tipo de aspas, tenha a a a certeza de que est´ com a codifica¸˜o T1. (\usepackage[T1]{fontenc}) a ca

2.5 Suporte de L´ ınguas Internacionais

29

2.5.2

Suporte para Portuguˆs e

By Alberto Sim˜es <albie@alfarrabio.di.uminho.pt> o

2.5.3

Texto Autom´tico a

Como acontece com outras l´ ınguas, o pacote babel suporta a l´ ıngua portuguˆsa. Isto significa que ao colocar no preˆmbulo do documento a linha e a \usepackage[portuges]{babel} todo o texto gerado ´ automaticamente traduzido para Portuguˆs. Por e e exemplo, “chapter” ir´ passar a “cap´ a ıtulo”, “table of contents” a “conte´do”. u Da mesma forma, o comando \date passar´ a apresentar a data actual em a Portuguˆs. e Caracteres Acentuados J´ se torna f´cil utilizar caracteres latin-1 directamente no c´digo fonte do a a o seu documento. Para saber como configurar o teclado para permitir inserir estes caracteres em Linux, visite http://gil.di.uminho.pt. Para que o A L TEX n˜o se queixe, active o pacote fontenc da seguinte forma: a \usepackage[T1]{fontenc}
A Depois, use o L TEX da forma habitual!

Hifeniza¸˜o ca
A Nas distribui¸˜es do L TEX em Linux utilizadas at´ agora, nunca encontrei co e uma com a hifeniza¸˜o autom´tica para portuguˆs activada quando se usa ca a e o pacote babel. No entanto, a sua activa¸˜o ´ extremamente simples se tem ca e acesso ` aplica¸˜o texconfig. Tente execut´-la (como administrador do a ca a sistema) e, caso n˜o a encontre, verifique se n˜o estar´ escondida algures, a a a como em /usr/share/texmf/bin/texconfig. Depois de executar a aplica¸˜o, e ap´s alguns segundos de processaca o mento, aparecer´ uma janela com v´rias op¸˜es. Escolha a op¸˜o de hifea a co ca niza¸˜o (HYPHEN - hyphenation). Na nova janela, escolha a op¸˜o latex, ca ca que abrir´ o editor vi com um ficheiro de configura¸˜o. a ca Agora deve procurar a palavra portuges neste ficheiro. Se n˜o est´ haa a bituado a usar este editor, tecle / seguido de portuges. O cursor aparecer´ a sobre uma linha da forma:

%portuges

pt8hyph.tex

30

Escrever Texto Repare no s´ ımbolo de coment´rio (s´ a ımbolo de percentagem). Se existe, significa que a hifeniza¸˜o portuguesa est´ desligada. Se seguiu as insca a truc¸˜es dadas, tecle x. Caso contr´rio, n˜o precisa de alterar nada. Esta co a a linha deve passar a: portuges pt8hyph.tex

Para terminar, escreva :wq. O sistema come¸ar´ a processar este ficheiro. c a Espere at´ que volte a aparecer a janela inicial e escolha a op¸˜o para sair e ca (Exit).

2.5.4

Suporte para Francˆs e

By Daniel Flipo <daniel.flipo@univ-lille1.fr>

Alguns conselhos para aqueles que desejem criar documentos em Francˆs e A usando o L TEX. Pode carregar o suporte para o Francˆs usando o comando: e
\usepackage[frenchb]{babel}

Note que, por raz˜es hist´ricas, o nome da op¸˜o do pacote babel para o o ca o Francˆs ´ frenchb ou francais mas nunca french. e e Esta op¸˜o inicia a hifeniza¸˜o Francesa, se tiver o seu LaTeX confica ca gurado de forma correcta. Tamb´m altera todo o texto autom´tico para e a francˆs: \chapter escreve “Chapitre”, \today escreve a data actual em e francˆs, e assim sucessivamente. Um grande conjunto de novos comandos e passam a existir, que lhe permitem escrever ficheiros em Francˆs de forma e ca mais simples. Dˆ uma olhadela ` tabela 2.4 para inspira¸˜o. e a Tabela 2.4: Comandos especiais para Francˆs. e \og guillemets \fg{} M\up{me}, D\up{r} 1\ier{}, 1\iere{}, 1\ieres{} 2\ieme{} 4\iemes{} \No 1, \no 2 20~\degres C, 45\degres \bsc{M. Durand} \nombre{1234,56789} « guillemets » Mme , Dr 1er , 1re , 1res 2e 4es No 1, no 2 20 ˚ 45 C, ˚ M. Durand 1 234,567 89

Tamb´m ir´ reparar que o formato das listas muda quando usa a l´ e a ıngua francesa. Para ficar a conhecer tudo o que a op¸˜o franchb do pacote babel ca

2.5 Suporte de L´ ınguas Internacionais
A faz e como pode alterar o seu funcionamento, execute o L TEX no ficheiro frenchb.dtx e leia o ficheiro produzido: frenchb.dvi.

31

2.5.5

Suporte para Coreano9

A Para usar o L TEX para escrever Coreano, precisamos de resolver trˆs proe blemas: A 1. Temos de ser capazes de editar ficheiros L TEX em coreano. Estes ficheiros devem ser em formato de texto puro, mas porque o Coreano usa os seus pr´prios caracteres fora do report´rio do US-ASCII, eles ir˜o o o a parecer bastante estranhos num editor ASCII comum. As duas codifica¸˜es mais usadas para textos em Coreano s˜o EUC-KR e a sua exco a tens˜o compat´ usada no MS-WIndows Coreano, CP949/Windowsa ıvel 949/UHC. Nestas codifica¸˜es, cada caracter US-ASCII representa co o seu caracter ASCII normal semelhante a outras codifica¸˜es comco pat´ ıveis como a ISO-8859-x, EUC-JP,Shift JIS, e Big5. Por outro lado, s´ ılabas Hangul, Hanjas (caracteres Chineses usados na Coreia), Hangul Jamos, Hirakanas, Katakanas, Grego e caracteres Cir´ ılicos e outros s´ ımbolos e letras desenhadas pelo KS X 1001 s˜o representaa dos por dois octetos consecutivos. O primeiro tem o seu conjunto MSB. At´ ao meio dos 1990’s, demorou uma quantidade de tempo e e trabalho consider´vel para criar um ambiente Coreano num sistema a operativo n˜o Coreano. Pode dar uma olhadela ao agora muito antigo a http://jshin.net/faq para ter uma ideia de como se usava Coreano num sistema operativo n˜o Coreano no meio dos 1990’s. Nestes dias, a os trˆs principais sistemas operativos (Mac OS, Unix, Windows) vˆem e e equipados com suporte multilingue bastante decente, e internacionaliza¸˜o de forma que editar um texto em Coreano j´ n˜o ´ tanto um ca a a e problema, mesmo em sistemas operativos n˜o coreanos. a A 2. O TEX e o L TEX foram originalmente escritos para l´ ınguas com menos de 256 caracteres no seu alfabeto. Para os fazer funcionar para l´ ınguas com consideravelmente mais caracteres como o Coreano 10 ou Chinˆs, e
9 A Considerando o n´mero de quest˜es que os utilizadores de L TEX Coreanos tˆm de ter u o e em conta, esta sec¸˜o foi escrita por Karnes KIM da equipa de gradu¸˜o do lshort para ca ca Coreano. Foi traduzida para Inglˆs por SHIN Jungshik e encolhida por Tobi Oetiker e 10 O Hangul Coreano ´ uma l´ e ıngua alfab´tica com 14 consoantes b´sicas e 10 voe a gais b´sicas (Jamos). De forma diferente das l´ a ınguas latinas ou cir´ ılicas, cada caracter individual tem de ser colocado em caixas rectangulares com um tamanho similar ao dos caracteres Chineses. Cada caixa representa uma s´ ılaba. Um n´mero ilimitado u de s´ ılabas pode ser formado deste conjunto finito de vogais e consoantes. Os standards modernos da ortografia Coreana (na Coreia do Sul e na Coreia do Norte), colocam algumas restri¸˜es na forma¸˜o destas caixas. Assim, apenas um conjunto fico ca nito de silabas ortograficamente correctas existem. A codifica¸˜o de caracteres coreca anos define um c´digo individual para cada uma destas s´ o ılabas (KS X 1001:1998 e

32

Escrever Texto um mecanismo de sub-tipos de letra foi desenvolvido. Divide uma letra CJK com centenas ou dezenas de centenas de glifos num conjunto de sub-tipos com 256 glifos cada. Para o Coreano, existem trˆs pacotes e A A bastante usados; HL TEX por UN Koaunghi, hL TEXp por CHA JaeA A choon e o pacote CJK por Werner Lemberg.11 HL TEX e hL TEXp s˜o a espec´ ıficos para o Coreano e disponibilizam o Coreano sobre o suporte de tipos de letras. Ambos conseguem processar texto Coreano codiA ficado em EUC-KR. HL TEX pode at´ processar ficheiros codificados e em CP949/Windows-949/UHC e UTF-8 quando usado com Λ ou Ω. O pacote CJK n˜o ´ espec´ a e ıfico para Coreano. Consegue processar ficheiros em UTF-8 assim como em v´rias codifica¸˜es CJK incluindo a co EUC-KR e CP949/Windows-949/UHC. Pode ser usado para escrever documentos com conte´do multi-lingue (especialmente Chinˆs, Jau e ponˆs e Coreano). O Pacote CJK n˜o tem localiza¸˜o em Coreano e a ca A como a oferecida pelo HL TEX e n˜o disponibiliza tantos tipos de letra a A X. Coreana como o HL TE
A 3. O ultimo objectivo de usar programas como o TEX e o L TEX ´ para ´ e obter documentos “esteticamente” satisfat´rios. Sem d´vida que o o u elemento mais importante ´ o tipo de letra bem desenhado. A distrie A bui¸˜o HL TEX inclui tipos de letra UHC PostScript de 10 fam´ ca ılias 12 de 5 fam´ diferentes e tipos Munhwabu ılias diferentes. O pacote CJK A funciona com um conjunto de tipos de vers˜es anteriores ao HL TEX e o tamb´m consegue usar tipos de letra Bitstream cyberbit TrueType. e A Para usar o pacote HL TEX para escrever o seu texto em Coreano, inclua a seguinte declara¸˜o no preˆmbulo do documento: ca a

\usepackage{hangul}

Este comando liga a localiza¸˜o para Coreano. Os cabe¸alhos de cap´ ca c ıtulos, sec¸˜es, sec¸˜es, ´ co co ındices de conte´dos ou figuras, todos eles ir˜o ser traduu a zidos para Coreano, e a formata¸˜o do documento ir´ seguir as conven¸˜es ca a co
KS X 1002:1992). O Hangul passa a ser tratado como nos sistemas de escrita do Chinˆs e ou do Japonˆs, com centenas de caracteres ideogr´ficos. O ISO 10646/Unicode oferece e a ambas as formas de representar Hangul usado para o Coreano moderno codificando Conjoining Hangul Jamos (alfabetos: http://www.unicode.org/charts/PDF/U1100.pdf) em adi¸˜o ` total codifica¸˜o das s´ ca a ca ılibas ortograficamente permitidas em Coreano moderno (http://www.unicode.org/charts/PDF/UAC00.pdf). Um dos maiores desafios na tipoA grafia Coreana com L TEX e sistemas similares ´ o suporte para Coreano mais antigo—e e poss´ ıvelmente Coreano do futuro—onde as s´ ılabas s´ podem ser representadas juntando o Jamos em Unicode. Espera-se que futuros motores do TEX como Ω e Λ ir˜o, eventuala mente, providenciar solu¸˜es de forma a que alguns linguistas e historidores Coreanos ir˜o co a desistir do MS Word que j´ tem um bom suporte para Coreano antigo. a 11 Podem ser obtidos em language/korean/HLaTeX/ language/korean/CJK/ e http://knot.kaist.ac.kr/htex/ 12 Minist´rio da Cultura Coreano e

2.5 Suporte de L´ ınguas Internacionais Coreanas. O pacote tamb´m contempla uma “selec¸˜o de part´ e ca ıculas” autom´tica. Em Coreano, existem pares de part´ a ıculas p´s-fixas gramaticao mente equivalentes mas diferentes em forma. Qual ´ correcto depende se a e ´ s´ ılaba precedente acaba em vogal ou consoante. (E um pouco mais complexo que isto, mas deve estar a ter uma boa ideia.) Coreanos nativos n˜o tˆm a e problemas a escolher a part´ ıcula correcta, mas o TEX n˜o pode determinar a que particula usar para referˆncias ou outro texto autom´tico que ir´ mue a a dar ao editar o documento. Esta selec¸˜o de part´ ca ıculas manual gera algum esfor¸o em colocar as part´ c ıculas cada vez que adiciona ou remove referˆncias e A ou simplesmente baralha alguma das partes do seu documento. HL TEX alivia os seus utilizadores deste processo aborrecido e delicado. No caso de n˜o precisar das caracter´ a ısticas de localiza¸˜o do Coreano, e ca quer apenas escrever em Coreano, pode usar a seguinte linha no preˆmbulo a do seu documento,
\usepackage{hfont}
A Para maior detalhe sobre o uso de Coreano com HL TEX, consultar o A HL TEX Guide. Veja tamb´m a p´gina do grupo Coreano de utilizadores de e a TEX (KTUG) em http://www.ktug.or.kr/. Tamb´m existe uma tradu¸˜o e ca Coreana deste manual.

33

2.5.6

Suporte para Cir´ ılico

By Maksym Polyakov <polyama@myrealbox.com>

A vers˜o 3.7h do babel inclu´ suporte para as codifica¸˜es T2* e para a ı co escrever texto Bulgaro, Russo e Ucraniano usando letras cir´ ılicas. A O suporte para o cir´ ılico ´ baseado nos mecanismos habituais do L TEX e atrav´s dos pacotes fontenc e inputenc. Mas, se for usar cir´ e ılico em modo matem´tico, ir´ precisar de carregar o pacote mathtext antes do fontenc:13 a a
\usepackage{mathtext} \usepackage[T1,T2A]{fontenc} \usepackage[koi8-ru]{inputenc} \usepackage[english,bulgarian,russian,ukranian]{babel}

Geralmente, o babel ir´ escolher automaticamente a codifica¸˜o por omiss˜o a ca a para as trˆs l´ e ınguas, ou seja, T2A. No entanto, os documentos n˜o est´o resa a tringidos a uma unica codifica¸˜o. Para um documento multi-lingue que ´ ca use l´ ınguas cir´ ılicas e l´ ınguas latinas faz sentido incluir a codifica¸˜o latina ca explicitamente. O babel ir´ tratar de mudar para a codifica¸˜o necess´ria a ca a sempre que uma l´ ıngua diferente ´ seleccionada dentro do documento. e
13 A Se usar os pacotes AMS-L TEX, carregue-os antes do fontenc e do babel.

34

Escrever Texto Al´m de activar as hifeniza¸˜es, traduzir automaticamente o texto gee co rado, e activar algumas regras tipogr´ficas espec´ a ıfcias da l´ ıngua (como o \frenchspacing), o babel providencia alguns comandos para permitir escrever de acordo com os standards das l´ ınguas Bulgara, Russa ou Ucraniana. Para estas trˆs l´ e ınguas, a pontua¸˜o espec´ ca ıfica ´ providenciada: um hie fen em cir´ ılico para o texto (´ ligeiramente diferente do latino, e separado e por pequenos espa¸os), hifen para discurso directo, aspas, e comandos para c facilitar a hifeniza¸˜o. Veja a tabela 2.5. ca Tabela 2.5: As defini¸˜es extra feitas pelas op¸˜es Bulgaro, Russa, e Ucraco co niana do babel "| desliga as ligaduras nesta posi¸˜o. ca "um hifen explicito, permitindo hifeniza¸˜o no resto da palavra ca "--- Cyrillic emdash em texto plano. "--~ Cyrillic emdash em nomes compostos. "--* Cyrillic emdash para representar discurso directo. "" como —-—, mas n˜o produz o s´ a ımbolo do hifen (para palvras compostas com hifen e.g. —x-y— ou outros s´ ımbolos como “activar/desactivar”). "~ para uma marca de palavra composta sem ponto de quebra. "= para uma marca de palavra composta com um ponto de quebra permitindo hifeniza¸˜o de palavras compostas. ca ", pequeno espa¸o para inciais com um ponto de quebra. c "‘ para as aspas duplas Alem˜s (esquerdas) (parece-se com ,,). a "’ para as aspas duplas Alem˜s (direitias) (parece-se com “). a "< para as aspas esquerdas Francesas (parece-se com < <). "> para as aspas direitas Francesas (parece-se com > >).

As op¸˜es para Russo e Ucraniano do babel definem o comando \Asbuk co e \asbuk, que funcionam como \Alph e \alph, mas produzem uma letra mai´scula e pequenas letras dos alfabetos Russo e Ucranianos (a que for a u l´ ıngua activa no documento). A op¸˜o para Bulgaro do babel providenciar ca o comando \enumBul e \enumLat (\enumEng), que fazem o \Alph e \alph produzir letras dos alfabetos Bulgaro ou Latinos. O comportamento por omiss˜o do \Alph e \alph para a l´ a ıngua Bulgara ´ produzir letras do alfabeto e Bulgaro.

2.6

O Espa¸o entre Palavras c

A Para obter no resultado uma margem direita alinhada, o L TEX insere v´rias a quantidades de espa¸o entre palavras. Insere um pouco mais de espa¸o no c c A fim das frases, visto que faz o texto ficar mais leg´ ıvel. O L TEX assume que

2.7 T´ ıtulos, Cap´ ıtulos e Sec¸˜es co as frases acabam com pontos finais, de interroga¸˜o ou de exclama¸˜o. Se ca ca o ponto final seguir uma letra mai´scula, esta n˜o ´ tomada como um fim u a e de frase, visto que pontos ap´s letras mai´sculas ocorrem, normalmente, em o u abreviaturas. Alguma excep¸˜o a estas regras deve ser especificada pelo autor do doca cumento. Um backslash antes de um espa¸o gera um espa¸o que n˜o ser´ c c a a alargado. Um til ‘~’ gera um espa¸o que n˜o pode ser alargado e que, adicic a onalmente, pro´ uma mudan¸a de linha na respectiva posi¸˜o. O comando ıbe c ca \@ antes de um ponto especifica que esse ponto termina uma frase, mesmo que se lhe siga uma letra mai´scula. u

35

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

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

O espa¸o adicional ap´s pontos pode ser desactivado com o comando c o
\frenchspacing
A que diz ao L TEX para n˜o inserir mais espa¸o depois de ponto do que em a c rela¸˜o a qualquer outro caracter. Isto ´ muito comum em l´ ca e ınguas n˜o a inglesas, excepto em bibliografias. Se usar \frenchspacing, o comando \@ n˜o ´ necess´rio. a e a

2.7

T´ ıtulos, Cap´ ıtulos e Sec¸˜es co

Para ajudar o leitor a encontrar a linha de leitura ao longo do documento, A deve dividi-lo em cap´ ıtulos, sec¸˜es e subsec¸˜es. O L TEX permite que se co co fa¸a isto com comandos especiais que tomam o t´ c ıtulo como seu argumento. Agora, ´ consigo que os use na ordem correcta. e Os comandos de divis˜o do texto que est˜o dispon´ a a ıveis para a classe article s˜o: a
\section{...} \subsection{...} \subsubsection{...} \paragraph{...} \subparagraph{...}

Quando precisa de dividir o seu documento em partes sem influenciar a

36 numera¸˜o de sec¸˜es ou cap´ ca co ıtulos pode usar
\part{...}

Escrever Texto

Se estiver a trabalhar com as classes report ou book, um comando adicional para seccionar ao n´ de topo, torna-se dispon´ ıvel ıvel
\chapter{...}

Como a classe article n˜o sabe nada acerca de cap´ a ıtulos, torna-se muito f´cil adicionar artigos como cap´ a ıtulos num livro. O espa¸amento c entre sec¸˜es, a numera¸˜o e o tamanho de letra dos t´ co ca ıtulos ser˜o colocados a A automaticamente pelo L TEX. Dois destes comandos s˜o ligeiramente especiais: a
ˆ ˆ

O comando \part n˜o influencia a numera¸˜o de sequˆncia dos cap´ a ca e ıtulos; O comando \appendix n˜o leva nenhum argumento. Apenas muda a a numera¸˜o de cap´ ca ıtulos para letras.14

A O L TEX cria um tabela de conte´dos pegando nos t´ u ıtulos de sec¸˜o e no ca n´mero de p´gina do ultimo ciclo de compila¸˜o do documento. O comando u a ´ ca

\tableofcontents

expande-se para uma tabela de conte´dos no s´ onde for invocado. Um u ıtio A Xado”) duas vezes para obter novo documento deve ser compilado (“L TE uma tabela de conte´dos correcta. Algumas vezes, pode ser necess´rio comu a A pilar o documento uma terceira vez. O L TEX avisar´ quando isto for nea cess´rio. a Todos os comandos listados acima tamb´m existem em vers˜es “estree o ladas”. Uma vers˜o “estrelada” do comando ´ constru´ adicionando uma a e ıda estrela * ap´s o nome do comando. Estas vers˜es geram t´ o o ıtulos que n˜o a aparecer˜o na tabela de conte´dos e que n˜o ser˜o numerados. O comando a u a a \section{Ajuda}, por exemplo, pode passar a \section*{Ajuda}. Normalmente, o t´ ıtulo da sec¸˜o aparecer´ na tabela de conte´dos exacca a u tamente como introduziu no texto. Algumas vezes isto n˜o ´ poss´ por o a e ıvel t´ ıtulo ser demasiado grande e a tabela de conte´dos n˜o ficar leg´ u a ıvel. Ent˜o, a a entrada que aparecer´ na tabela de conte´dos pode ser especificada como a u um argumento opcional antes do verdadeiro t´ ıtulo. \chapter[T´tulo pequeno para a tabela de conte´dos]{Um ı u t´tulo grande e especialmente aborrecido, que aparece ı na p´gina propriamente dita.} a
14

Para o estilo article, muda a numera¸˜o de sec¸˜es. ca co

2.8 Referˆncias Cruzadas e O t´ ıtulo do documento como um todo ´ gerado invocando o comando e
\maketitle

37

Os conte´dos do t´ u ıtulo tˆm de ser definidos pelos comandos e
\title{...}, \author{...} e opcionalmente \date{...}

antes de chamar o \maketitle. No argumento de \author, pode escrever v´rios nomes separados pelo comando \and. a Um exemplo de alguns dos comandos mencionados acima pode ser encontrado na figura 1.2 da p´gina 8. a A Para al´m destes comandos, o L TEX 2ε introduziu quatro comandos adie cionais para serem utilizados na classe book. S˜o uteis para dividir a pua ´ blica¸˜o. Estes, alteram os cabe¸alhos de cap´ ca c ıtulo e numera¸˜o de p´gina ca a para funcionar da forma esperada para a publica¸˜o de um livro: ca \frontmatter deve ser o primeiro comando ap´s \begin{document}. Ir´ o a mudar a numera¸˜o de p´gina para numerais romanos e as sec¸˜es ca a co n˜o ser˜o numeradas, tal como se usasse a vers˜o “estrelada” nos coa a a mandos de sec¸˜o (exemplo \chapter*{Pref´cio}) mas as sec¸˜es ca a co continuar˜o a aparecer no ´ a ındice de conte´dos. n˜o os numere. u a \mainmatter aparece exactamente antes do primeiro cap´ ıtulo do livro. Muda a numera¸˜o para numerais ´rabes e coloca o contador de p´gina a ca a a zero. \appendix marca o in´ de material adicional no seu livro. Depois deste ıcio comando os cap´ ıtulos ser˜o numerados com letras. a \backmatter deve ser inserido antes dos ultimos itens do seu livro como ´ sejam a bibliografia e o ´ ındice. Nas classes de documento padr˜o n˜o a a tem qualquer efeito visual.

2.8

Referˆncias Cruzadas e

Em livros, relat´rios e artigos, existem frequentemente referˆncias cruzadas o e A para figuras, tabelas e segmentos especiais de texto. O L TEX providencia os seguintes comandos para realizar referˆncias cruzadas: e
\label{marca}, \ref{marca} e \pageref{marca}
A onde marca ´ um identificador escolhido pelo utilizador. O L TEX substitu´ e ı \ref pelo n´mero da sec¸˜o, subsec¸˜o, figura, tabela ou teorema ap´s o u ca ca o respectivo comando \label foi invocado. O \pageref imprime o n´mero da u

38

Escrever Texto p´gina onde o comando \label ocorreu.15 Tal como os t´ a ıtulos de sec¸˜es, co os n´meros utilizados s˜o os da compila¸˜o anterior. u a ca

Uma refer^ncia para esta subsec¸~o e ca \label{sec:esta} aparece como: ‘‘ver sec¸~o~\ref{sec:esta} na ca p´gina~\pageref{sec:esta}.’’ a

Uma referˆncia para esta subsec¸˜o aparece e ca como: “ver sec¸˜o 23 na p´gina 38.” ca a

2.9

Notas de Rodap´ e

Com o comando
\footnote{texto na nota de rodap´ } e

´ impressa uma nota de rodap´ no fundo da p´gina actual. Estas notas e e a 16 ap´s a palavra ` qual a frase se refere. Notas de rodap´ devem ser postas o a e que se referem a frases ou partes delas, devem ser colocadas ap´s a v´ o ırgula ou ponto. 17
As notas de rodap´\footnote{Isto ´ e e uma nova de rodap´.} s~o muito e a usadas por utilizadores \LaTeX. As notas de rodap´a s˜o muito usadas por e a A utilizadores L TEX.
a

Isto ´ uma nova de rodap´. e e

2.10

Palavras Real¸adas c

Se um texto ´ escrito utilizando uma m´quina de escrever, palavras importantes e a s~o salientadas sublinhado-as. a
\underline{texto}

Em livros impressos, no entanto, as palavras s˜o real¸adas escrevendo-as a c A X tem o comando em it´lico. O L TE a
\emph{texto}

que salienta o texto. O que o comando faz, na verdade, depende do seu
Note que estes comandos n˜o sabem a que ´ que se referem. O \label apenas grava a e o ultimo n´mero gerado. ´ u 16 “postas” pode ser uma forma do verbo pˆr ou apenas bocados de peixe. o 17 Note que as notas de rodap´ s˜o distrac¸˜es para o leitor que o desviam do corpo e a co principal do seu documento. Afinal, toda a gente lˆ as notas de rodap´, somos uma esp´cie e e e curiosa. Portanto, porque n˜o integrar tudo o que quer dizer no corpo do documento?18 a 18 Uma carta n˜o vai necessariamente para onde est´ endere¸ada :-). a a c
15

2.11 Ambientes contexto:
\emph{Se utilizar este comando dentro de um bocado de texto real¸ado, ent~o o c a \LaTeX{} usa o tipo de letra \emph{normal} para salientar.}

39

Se utilizar este comando dentro de um bocado A de texto real¸ado, ent˜o o L TEX usa o tipo de c a letra normal para salientar.

A Note a diferen¸a entre dizer ao L TEX para salientar alguma coisa e c dizer-lhe para usar um tipo de letra diferente:

\textit{Pode tamb´m e \emph{salientar} texto se ele est´ em it´lico,} a a \textsf{num tipo de letra \emph{sans-serif},} \texttt{ou num estilo \emph{m´quina} de escrever.} a

Pode tamb´m salientar texto se ele est´ em e a it´lico, num tipo de letra sans-serif, ou num a estilo m´quina de escrever. a

2.11

Ambientes

\begin{ambiente} texto

\end{ambiente}

Onde ambiente ´ o nome do ambiente. Os ambientes podem ser chamados e v´rias vezes uns dentro dos outros desde que a ordem de chamada seja a mantida. \begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa} Nas sec¸˜es seguintes, todos os ambientes importantes ser˜o explicados. co a

2.11.1

Indicar, Enumerar, e Descrever

O ambiente itemize ´ util para listas simples, o enumerate para listas e ´ enumeradas e o description para descri¸˜es. co

40
\flushleft \begin{enumerate} \item Pode misturar ambientes de listas conforme o seu gosto: \begin{itemize} \item Mas pode come¸ar a parecer c muito pat´tico. e \item[-] Com um h´fen, ı \end{itemize} \item Portanto, lembre-se: algo\ldots \begin{description} \item[Est´pido] n~o se transformar´ u a a em algo inteligente ao ser listado. \item[Interessante] pode ser apresentado lindamente numa lista. \end{description} \end{enumerate}

Escrever Texto

1. Pode misturar ambientes de listas conforme o seu gosto:
ˆ Mas pode come¸ar a parecer c muito pat´tico. e

- Com um h´ ıfen, 2. Portanto, lembre-se: algo. . . Est´ pido n˜o se transformar´ em u a a algo inteligente ao ser listado. Interessante pode ser apresentado lindamente numa lista.

2.11.2

Esquerda, Direita e Centro

Dois ambientes, flushleft e flushright geram par´grafos que est˜o alia a nhados ` esquerda ou ` direita. O ambiente center gera texto centrado. a a A Se n˜o colocar \\ para indicar as quebras de linha, o L TEX ir´ determinar a a automaticamente onde elas devem ocorrer.
\begin{flushleft} Este texto est´\\ alinhado ` a a esquerda. O \LaTeX{} n~o est´ a a a tentar fazer cada linha do mesmo tamanho. \end{flushleft}

Este texto est´ a A alinhado ` esquerda. O L TEX n˜o est´ a a a a tentar fazer cada linha do mesmo tamanho.

\begin{flushright} Este ´ um texto alinhado\\ e a ` direita. O \LaTeX{} n~o est´ a a a tentar fazer cada linha do mesmo comprimento. \end{flushright}

Este ´ um texto alinhado e A a ` direita. O L TEX n˜o est´ a tentar fazer a a cada linha do mesmo comprimento.

\begin{center} No centro\\da terra \end{center}

No centro da terra

2.11 Ambientes

41

2.11.3

Cita¸˜es e Versos co

O ambiente quote ´ util para cita¸˜es, frases importantes e exemplos. e´ co
Uma regra tipogr´fica para a o comprimento de uma linha ´: e \begin{quote} Em m´dia, nenhuma linha dever´ e a exceder 66~caracteres. ´ por isto que as p´ginas \LaTeX{} E a t^m margens t~o grandes. e a \end{quote} Por isso ´ que a impress~o em e a v´rias colunas ´ utilizada em a e jornais.

Uma regra tipogr´fica para o comprimento de a uma linha ´: e Em m´dia, nenhuma linha dee ver´ exceder 66 caracteres. a ´ A E por isto que as p´ginas L TEX a tˆm margens t˜o grandes. e a Por isso ´ que a impress˜o em v´rias colunas e a a ´ utilizada em jornais. e

Existem dois ambientes muito semelhantes: o quotation e o verse. O primeiro ´ util para cita¸˜es longas que s˜o constitu´ e´ co a ıdas por v´rios par´grafos, a a porque os ir´ indentar. O ambiente verse ´ util para poemas onde as mua e´ dan¸as de linha s˜o importantes. As linhas s˜o separadas enviando um \\ c a a no fim de uma linha e uma linha em branco ap´s cada verso. o
S´ conhe¸o um poema em ingl^s. o c e ´ sobre Humpty Dumpty. 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} ´ S´ conhe¸o um poema em inglˆs. E sobre o c e Humpty Dumpty. 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.11.4

Resumo

Em publica¸˜es cient´ co ıficas ´ habitual iniciar com um resumo que d´ ao leitor e a A uma vis˜o r´pida do que o espera. O L TEX disp˜e do ambiente abstract a a o para esta finalidade. Normalmente este ambiente ´ usado em documentos e escritos com a classe “article” de documentos.
\begin{abstract} O resumo do resumo. \end{abstract} O resumo do resumo.

42

Escrever Texto

2.11.5

Tal & Qual

Os textos escritos entre \begin{verbatim} e \end{verbatim} ser˜o pasa sados directamente para o ficheiro de resultado, como se o tivesse escrito numa m´quina de escrever, com todas as quebras de linha e espa¸os, sem a c A que qualquer comando L TEX seja executado. Dentro de um par´grafo, um comportamento idˆntico pode ser consea e guido com
\verb+texto+

O sinal + ´ apenas um exemplo de um delimitador. Pode utilizar qualquer e A caracter excepto letras, *, ou um espa¸o. A maior parte dos exemplos L TEX c s˜o escritos com este comando. a
O comando \verb|\ldots| \ldots O comando \ldots . . . \begin{verbatim} 10 PRINT "HELLO WORLD "; 20 GOTO 10 \end{verbatim} 10 PRINT "HELLO WORLD "; 20 GOTO 10

\begin{verbatim*} A vers~o estrelada do a ambiente verbatim assinala os espa¸os c que aparecem no texto \end{verbatim*}

A vers~o estrelada do a ambiente verbatim assinala os espa¸os c que aparecem no texto

O comando \verb tamb´m pode ser estrelado: e
\verb*|desta forma :-) | desta forma :-)

O ambiente verbatim e o comando \verb n˜o devem ser utilizados dena tro de parˆmetros de outros comandos. a

2.11.6

Tabelas

O ambiente tabular pode ser utilizado para imprimir lindas tabelas com A linhas verticais e horizontais opcionais. O L TEX determina a largura das colunas automaticamente. O argumento espec tabela do comando
\begin{tabular}[pos]{espec tabela}

define o formato da tabela. Use um l para uma coluna de texto alinhado

2.11 Ambientes a ` esquerda, r para texto alinhado ` direita, e c para texto centrado; a p{largura } para uma coluna a conter texto com quebras de linha, e | para uma linha vertical. A Se o texto numa coluna ´ demasiado largo para a p´gina, o L TEX n˜o e a a o ir´ mudar de texto automaticamente. Usando p{largura } pode definir a um tipo de coluna que ir´ funcionar como um par´grafo normal. a a O argumento pos especifica a posi¸˜o vertical da tabela relativamente ` ca a linha base do texto envolvente. Use as letras t , b e c para especificar o alinhamento da tabela no topo, fundo ou ao centro. Dentro de um ambiente tabular, o & salta para a pr´xima coluna, \\ o inicia uma nova linha e \hline insere uma linha horizontal. Pode adicionar linhas parciais usando \cline{j -i }, onde j e i s˜o os n´meros das colunas a u de onde e para onde a linha se deve estender.
\begin{tabular}{|r|l|} \hline 7C0 & hexadecimal \\ 3700 & octal \\ \cline{2-2} 11111000000 & bin´rio \\ a \hline \hline 1984 & decimal \\ \hline \end{tabular}

43

7C0 3700 11111000000 1984

hexadecimal octal bin´rio a decimal

\begin{tabular}{|p{4.7cm}|} \hline Bem-vindo ao par´grafo do Boxy. a Esperamos sinceramente que se divirta com o espect´culo.\\ a \hline \end{tabular}

Bem-vindo ao par´grafo do a Boxy. Esperamos sinceramente que se divirta com o espect´culo. a

O separador de coluna pode ser especificado com o construtor @{...} . Este comando mata o espa¸o entre colunas e substitui-o com o que quer que c esteja entre as chavetas. Um uso comum para este comando ´ explicado e de seguida no problema de alinhamento de casas decimais. Outra aplica¸˜o ca poss´ ´ a supress˜o de espa¸os numa tabela com @{} . ıvel e a c
\begin{tabular}{@{} l @{}} \hline sem espa¸o inicial\\ c \hline \end{tabular}

sem espa¸o inicial c

44
\begin{tabular}{l} \hline espa¸o ` esquerda e ` direita\\ c a a \hline \end{tabular}

Escrever Texto

espa¸o ` esquerda e ` direita c a a

A Uma vez que n˜o existe uma forma definida pelo L TEX para alinhar a 19 pode fazer “batota” utilizando colunas numericamente pelo ponto decimal, duas colunas: uma alinhada ` direita com a parte inteira e uma alinhada ` a a esquerda com a parte decimal. O comando @{.} substitui o espa¸o normal c entre colunas com um “.”, apenas, dando a aparˆncia visual de uma unica e ´ tabela alinhada pelo ponto decimal. N˜o se esque¸a de substituir o ponto a c decimal nos n´meros com o separador de coluna (&)! Um t´ u ıtulo para o par de colunas pode ser colocado acima da nossa “coluna” num´rica usando o e comando \multicolumn.

\begin{tabular}{c r @{.} l} Express~o Pi a & \multicolumn{2}{c}{Valor} \\ \hline $\pi$ & 3&1416 \\ $\pi^{\pi}$ & 36&46 \\ $(\pi^{\pi})^{\pi}$ & 80662&7 \\ \end{tabular}

Express˜o Pi a π ππ (π π )π

Valor 3.1416 36.46 80662.7

\begin{tabular}{|c|c|} \hline \multicolumn{2}{|c|}{\textbf{Ene}} \\ \hline Mene & Muh! \\ \hline \end{tabular}

Ene Mene Muh!

Texto escrito no ambiente tabular fica sempre junto numa unica p´gina. ´ a Se quer escrever tabelas longas, possivelmente dever´ dar uma olhadela ao a pacote supertabular e ao longtabular.

2.12

Corpos Flutuantes

Hoje, a maior parte das publica¸˜es cont´m um grande n´mero de figuras e co e u tabelas. Estes elementos precisam de um tratamento especial, porque n˜o a podem ser partidos entre p´ginas. Uma maneira seria come¸ar uma nova a c p´gina sempre que uma figura ou uma tabela ´ demasiado grande para caber a e
Se tiver o pacote de pacotes ‘tools’ instalado no sistema, dˆ uma olhadela ao pacote e dcolumn.
19

2.12 Corpos Flutuantes na p´gina actual. Esta abordagem pode deixar p´ginas parcialmente vazias, a a o que fica muito mal. A solu¸˜o para este problema ´ fazer as figuras ou tabelas que n˜o cabem ca e a na p´gina actual “flutuar” para uma p´gina posterior, enquanto se preenche a a A a p´gina actual com o texto seguinte. O L TEX oferece dois ambientes para a corpos flutuantes; um para tabelas e um para figuras. Para ter todas as vantagens destes dois ambientes, ´ importante perceber de uma forma aproe A ximada como o L TEX maneja estas flutua¸˜es internamente. Doutro modo, co estes elementos podem vir a ser uma grande fonte de frustra¸˜o porque o ca A X nunca os colocar´ onde os deseja. L TE a
A Primeiro, vamos dar uma vista de olhos aos comandos que o L TEX apresenta para corpos flutuantes: Qualquer material incluso num ambiente figure ou table ser´ tratado a como uma mat´ria flutuante. Ambos os ambientes suportam parˆmetros e a adicionais

45

\begin{figure}[especifica¸˜o de coloca¸˜o] ca ca

\begin{table}[especifica¸˜o de coloca¸˜o] ca ca

chamados de especifica¸˜o de coloca¸˜o. Estes parˆmetros s˜o usados para ca ca a a A dizer ao L TEX a localiza¸˜o para a qual o corpo flutuante se pode mover. ca A especifica¸˜o de coloca¸˜o ´ constru´ por um conjunto de caracteres de ca ca e ıda permiss˜es de coloca¸˜o de corpos flutuantes. Veja a tabela 2.6. o ca Uma tabela pode ser iniciada com a seguinte linha \begin{table}[!hbp]

Tabela 2.6: Permiss˜es de Coloca¸˜o de Corpos Flutuantes. o ca Espec. h t b p !
a

Permiss˜o para colocar em. . . a here — aqui neste exacto local onde ocorreu no meio do ´ ´ texto. E util para pequenos objectos. no topo da p´gina a no fundo (bottom) da p´gina a numa p´gina especial apenas com corpos flutuantes.. a sem considerar a maior parte dos parˆmetros internosa que a podem fazer com que o corpo flutuante n˜o seja colocado. a

Como o n´mero m´ximo destes objectos permitidos por p´gina. u a a

46

Escrever Texto
A A especifica¸˜o de coloca¸˜o [!hbp] indica ao L TEX para colocar a tabela ca ca exactamente aqui (h) ou no fundo (b) de alguma p´gina ou em alguma a p´gina especial para corpos flutuantes (p), e tudo isto mesmo que n˜o fique a a muito bonito (!). Se nenhuma especifica¸˜o for dada, ´ assumida a [tbp]. ca e A O L TEX ir´ colocar cada corpo flutuante de acordo com a especifica¸˜o a ca de coloca¸˜o dada pelo autor. Se um destes n˜o pode ser colocado na p´gina ca a a actual, ser´ enviado para a fila de espera correspondente20 (para figuras ou a A tabelas). Quando uma nova p´gina ´ iniciada, o L TEX verifica primeiro se a e ´ poss´ preencher uma p´gina especial de ‘flutua¸˜es’ com os objectos da e ıvel a co lista de espera. Se isto n˜o ´ poss´ a e ıvel, o primeiro objecto de cada uma das filas de espera ´ tratado como se tivesse ocorrido naquele momento no texto: e A o L TEX tenta de novo colocar de acordo com a respectiva especifica¸˜o de ca coloca¸˜o (excepto o ‘h,’ que n˜o volta a ser v´lido). Qualquer objecto que ca a a A ocorra no texto ser´ enviado para a fila de espera. O L TEX mant´m estria e tamente a ordem original em que aparecem cada um dos tipos de objectos flutuantes. Esta ´ a raz˜o pela qual uma figura que n˜o pode ser colocada e a a empurra todas as outras figuras para o fim do documento. Portanto: A Se o L TEX n˜o est´ a colocar os objectos flutuantes como espea a rava ´ normal que seja apenas um deles numa das filas de espera e que esteja a empatar o servi¸o! c A Enquanto que ´ poss´ dar ao L TEX especificadores de coloca¸˜o unicos, e ıvel ca ´ isto causa problemas. Se o objecto n˜o cabe na localiza¸˜o pretendida, fica a ca preso, a bloquear os objectos seguintes. Em particular, nunca deve utilizar A apenas a op¸˜o [h]—esta ´ t˜o m´ que em vers˜es recentes do L TEX ´ ca e a a o e automaticamente substitu´ por [ht]. ıda

Depois de ter explicado a parte dif´ ıcil, aqui est˜o mais algumas coisas a a mencionar sobre os ambientes table e figure. Com o comando
\caption{legenda}

pode definir uma legenda para o objecto. Um n´mero ser´ automaticamente u a criado juntamente com o texto “Figure” ou “Table” e adicionado no in´ ıcio da legenda. Os dois comandos
\listoffigures e \listoftables

funcionam de forma an´loga ao comando \tableofcontents, imprimindo a uma lista de figuras ou tabelas, respectivamente. Nestas listas, a legenda completa ser´ repetida. Se tem tendˆncia a usar grandes legendas, deve a e
20

Estas filas s˜o FIFO—‘first in first out’, o primeiro a entrar ´ o primeiro a sair a e

2.12 Corpos Flutuantes definir uma vers˜o mais curta para as listas. Isto pode ser feito introduzindo a a vers˜o mais pequena entre parˆntesis rectos depois do comando \caption. a e \caption[Pequeno]{Looooooooooooooooooongoooooooooooo} Com \label e \ref, pode criar uma referˆncia para o corpo flutuante e no meio do texto. O seguinte exemplo desenha um quadrado e insere-o no documento. Pode usar isto se desejar reservar espa¸o para imagens que vai colar no documento c pronto. Figura~\ref{branco} ´ um exemplo de Arte-Pop. e \begin{figure}[!hbp] \makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} \caption{Cinco por Cinco em Cent´metros.\label{branco}} ı \end{figure}
A No exemplo anterior, o L TEX ir´ tentar mesmo (!) colocar a figura justaa 21 Se isto n˜o ´ poss´ mente aqui ( h ). a e ıvel, ent˜o tenta colocar a figura no a a ca a fundo ( b ) da p´gina. Se falhar a coloca¸˜o da figura na p´gina actual, determina se ´ poss´ criar uma p´gina de corpos flutuantes que contenha e ıvel a esta figura e possivelmente algumas tabelas da fila de espera respectiva. Se A n˜o existir material suficiente para esta p´gina especial, o L TEX inicia uma a a nova p´gina, e uma vez mais trata-a como se tivesse ocorrido nesse momento a no texto. Em algumas circunstˆncias, pode ser necess´rio usar o comando a a

47

\clearpage ou mesmo o \cleardoublepage
A que ordenam o L TEX a colocar imediatamente no documento todos os objectos restantes das filas de espera e depois iniciar uma nova p´gina. O a \cleardoublepage obriga a come¸ar a p´gina do lado direito. c a A Ir´ aprender a incluir desenhos PostScript no seu documento L TEX 2ε a mais tarde nesta introdu¸˜o. ca

21

assumindo que a fila de espera de figuras est´ vazia. a

48

Escrever Texto

2.13

Protegendo Comandos Fr´geis a

O texto dado como argumento de comandos como \caption ou \section pode aparecer mais do que uma vez no documento (exemplo, na tabela de conte´dos assim como no corpo do documento). Alguns comandos falham u quando usados no argumento de outros comandos do tipo \section. Estes s˜o chamados comandos fr´geis. Por exemplo, os comandos \footnote ou a a \phantom s˜o fr´geis. O que estes comandos precisam para funcionar ´ de a a e protec¸˜o (n˜o precisamos todos?). Pode protegˆ-los usando o comando ca a e \protect antes deles. O \protect apenas se refere ao comando que se lhe segue, nem sequer ao seu argumento. Em muitos casos, um \protect sup´rfluo n˜o magoar´ e a a ningu´m. e \section{Estou a considerar \protect\footnote{proteger a minha nota}}

Cap´ ıtulo 3

F´rmulas Matem´ticas o a
Agora est´ pronto! Neste cap´ a ıtulo, vamos atacar a for¸a principal do TEX: c escrita de matem´tica. Mas fique avisado: este cap´ a ıtulo s´ arranha este t´pico o o superficialmente. Enquanto que as coisas aqui explicadas s˜o suficientes para a muitas pessoas, n˜o desespere se n˜o conseguir encontrar uma solu¸˜o para a a a ca escrita da f´rmula que precisa. Mas, quase de certeza que o seu problema est´ o a A resolvido no AMS-LTEX1

3.1

Generalidades

A O L TEX tem um modo especial para escrever matem´tica. Esta pode ser a escrita directamente num par´grafo, ou o par´grafo pode ser quebrado para a a a desenhar ` parte. O texto matem´tico dentro de um par´grafo ´ introduzido a a a e entre \( e \), entre $ e $, ou entre \begin{math} e \end{math}.

Adicione $a$ ao quadrado e $b$ ao quadrado para obter $c$ ao quadrado. Ou, usando uma f´rmula matem´tica: o a $c^{2}=a^{2}+b^{2}$

Adicione a ao quadrado e b ao quadrado para obter c ao quadrado. Ou, usando uma f´rmula matem´tica: c2 = a2 + b2 o a

\TeX{} ´ pronunciado como e \(\tau\epsilon\chi\).\\[6pt] 100~m$^{3}$ de ´gua\\[6pt] a Isto vem do meu \begin{math}\heartsuit\end{math}

TEX ´ pronunciado como τ χ. e 100 m3 de ´gua a Isto vem do meu ♥

1 A Sociedade Americana de Matem´ticos - AMS produziu algumas extens˜es poderosas a o A do L TEX. Muitos dos exemplos deste cap´ ıtulo fazem uso dessas extens˜es. Este pacote o est´ dispon´ a ıvel em todas as distribui¸˜es recentes do TEX. Se na sua est´ a faltar, v´ a co a a macros/latex/required/amslatex.

50

F´rmulas Matem´ticas o a Quando quer as suas equa¸˜es matem´ticas maiores ou que sejam mosco a tradas ` parte do resto do par´grafo, ´ prefer´ mostr´-las, em vez de quea a e ıvel a brar manualmente o par´grafo. Para fazer isto, pode delimitar a f´rmula a o com \[ e \], ou entre \begin{displaymath} e \end{displaymath}.

Adicione $a$ ao quadrado e $b$ ao quadrado para obter $c$ ao quadrado. Ou, usando uma f´rmula matem´tica: o a \begin{displaymath} c^{2}=a^{2}+b^{2} \end{displaymath} ou pode escrever menos com: \[a+b=c\]

Adicione a ao quadrado e b ao quadrado para obter c ao quadrado. Ou, usando uma f´rmula matem´tica: o a c2 = a2 + b2 ou pode escrever menos com: a+b=c

A Se desejar que o L TEX numere as suas equa¸˜es, pode usar o ambiente co equation. Com este ambiente pode dar um nome (\label) ao n´mero de u uma equa¸˜o para mais tarde referir-se a ela, noutro s´ qualquer do texto, ca ıtio usando \ref ou \eqref:

\begin{equation} \label{eq:eps} \epsilon > 0 \end{equation} De (\ref{eq:eps}), descobrimos que \ldots{}De \eqref{eq:eps} podemos fazer o mesmo.

>0

(3.1)

De (3.1), descobrimos que . . . De (3.1) podemos fazer o mesmo.

Note a diferen¸a de estilo tipogr´fico entre equa¸˜es que s˜o inseridas no c a co a texto e as que s˜o “mostradas”: a
$\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$ limn→∞
n 1 k=1 k2

=

π2 6

\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 = k2 6

Existem diferen¸as entre o modo matem´tico e o modo de texto. Por c a exemplo, no modo matem´tico: a 1. A maior parte dos espa¸os e mudan¸as de linha n˜o tˆm qualquer signic c a e ficado, visto que todos os espa¸os ou s˜o determinados logicamente da c a express˜o matem´tica ou tˆm de ser especificados utilizando comandos a a e tais como \,, \quad ou \qquad.

3.2 Agrupar em Modo Matem´tico a 2. Linhas em branco n˜o s˜o permitidas. Apenas um par´grafo por a a a f´rmula. o 3. Cada letra ´ considerada como sendo o nome de uma vari´vel e ser´ e a a escrita como uma. Se quer escrever um texto normal dentro de uma f´rmula (texto verticalmente direito com espa¸amento normal) ent˜o o c a tem de introduzir o texto usando o comando \textrm{...} (veja tamb´m a sec¸˜o 3.7 na p´gina 59). e ca a
\begin{equation} \forall x \in \mathbf{R}: \qquad x^{2} \geq 0 \end{equation}

51

∀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)

Os matem´ticos podem ser muito esquisitos com os s´ a ımbolos que usam: convencionalmente usa-se ‘blackboard bold’, que s˜o obtidos usando \mathbb a do pacote amsfonts ou amssymb. O ultimo exemplo pode ser traduzido em ´
\begin{displaymath} x^{2} \geq 0\qquad \textrm{para todo }x\in\mathbb{R} \end{displaymath}

x2 ≥ 0

para todo x ∈ R

3.2

Agrupar em Modo Matem´tico a

A maior parte dos comandos de modo matem´tico funcionam apenas em a rela¸˜o ao caracter seguinte. Por isso, se quer que um comando afecte v´rios ca a caracteres, tem de os agrupar usando chavetas: {...}.
\begin{equation} a^x+y \neq a^{x+y} \end{equation}

ax + y = ax+y

(3.4)

3.3

Construindo Blocos de F´rmulas Matem´ticas o a

Nesta sec¸˜o ser˜o descritos os comandos mais importantes usados em imca a press˜es matem´ticas. Dˆ uma olhadela ` sec¸˜o 3.10 na p´gina 62 para o a e a ca a uma lista detalhada de comandos para escrever s´ ımbolos matem´ticos. a

52

F´rmulas Matem´ticas o a As letras gregas min´ sculas s˜o introduzidas como \alpha, \beta, u a \gamma, . . . , as mai´sculas, s˜o introduzidas como \Gamma, \Delta, . . . 2 u a

$\lambda,\xi,\pi,\mu,\Phi,\Omega$

λ, ξ, π, µ, Φ, Ω

Expoentes e ´ Indices podem ser especificados usando os caracteres ^ e _.
$a_{1}$ \qquad $x^{2}$ \qquad $e^{-\alpha t}$ \qquad $a^{3}_{ij}$\\ $e^{x^2} \neq {e^x}^2$ a1 x2 x2 x2 e =e e−αt a3 ij

A ra´ quadrada ´ introduzida como \sqrt; a ra´ de ´ ız e ız ındice n ´ gerada e com \sqrt[n]. O tamanho do sinal de ra´ ´ determinado automaticamente ız e A pelo L TEX. se apenas precisa do s´ ımbolo, deve utilizar \surd.
$\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 directamente por cima ou por baixo de uma express˜o. a
$\overline{m+n}$ m+n

Os comandos \overbrace e \underbrace criam chavetas horizontais longas por cima ou por baixo de uma express˜o. a
a + b + ··· + z
26

$\underbrace{ a+b+\cdots+z }_{26}$

Para adicionar acentos matem´ticos, tais como pequenas setas ou sinais a til a vari´veis, pode usar os comandos dados na tabela 3.1 na p´gina 62. a a Chap´us largos e tils a cobrir v´rios caracteres s˜o gerados com \widetilde e a a e \widehat. O s´ ımbolo ’ d´ um caracter de derivada. a
\begin{displaymath} y=x^{2}\qquad y’=2x\qquad y’’=2 \end{displaymath}
2

y = x2

y = 2x

y =2

A N˜o existe um Alpha definido em L TEX 2ε porque ´ idˆntico a um A normal. Logo a e e que a nova codifica¸˜o para a matem´tica esteja pronta, as coisas ir˜o mudar. ca a a

3.3 Construindo Blocos de F´rmulas Matem´ticas o a Vectores s˜o especificados frequentemente adicionando um s´ a ımbolo seta no topo das vari´veis. Isto ´ feito com o comando \vec. Os dois comandos a e \overrightarrow e \overleftarrow s˜o uteis para denotar os vectores de a ´ A para B.
\begin{displaymath} \vec a\quad\overrightarrow{AB} \end{displaymath} − − → a AB

53

Usualmente n˜o se escreve explicitamente o sinal ponto para indicar a a opera¸˜o de multiplica¸˜o. No entanto, ´ escrito para ajudar os olhos do ca ca e leitor a agrupar uma f´rmula. Deve usar \cdot nestes casos: o
\begin{displaymath} v = {\sigma}_1 \cdot {\sigma}_2 {\tau}_1 \cdot {\tau}_2 \end{displaymath}

v = σ 1 · σ 2 τ1 · τ2

Nomes de fun¸˜es do estilo logaritmo s˜o escritos frequentemente num co a tipo de letra vertical e n˜o em it´lico como as vari´veis. Desta forma o a a a A L TEX tem os seguintes comandos para escrever os nomes das fun¸˜es mais co importantes: \arccos \cos \csc \exp \ker \limsup \min \sinh \arcsin \cosh \deg \gcd \lg \ln \Pr \sup \arctan \cot \det \hom \lim \log \sec \tan \arg \coth \dim \inf \liminf \max \sin \tanh
\[\lim_{x \rightarrow 0} \frac{\sin x}{x}=1\] sin x =1 x

x→0

lim

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
$a\bmod b$\\ $x\equiv a \pmod{b}$ a mod b x ≡ a (mod b)

Uma frac¸˜o ´ escrita com o comando \frac{...}{...}. Frequenteca e mente a forma 1/2 ´ prefer´ e ıvel, porque fica melhor para pequenas por¸˜es co de “material fraccionado”.
$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

54

F´rmulas Matem´ticas o a Para escrever coeficientes binomiais ou estruturas similares, pode usar o comando \binom do pacote amsmath. \newcommand{\newatop}[2]{\genfrac{}{}{0pt}{1}{#1}{#2}}.)

\begin{displaymath} \binom{n}{k}\qquad\mathrm{C}_n^k \end{displaymath}

n k

Ck n

Para rela¸˜es bin´rias pode ser util colocar s´ co a ´ ımbolos uns por cima dos outros. O \stackrel coloca o s´ ımbolo dado no primeiro argumento no tamanho de expoente sobre o segundo, que ´ escrito na sua posi¸˜o usual. e ca
\begin{displaymath} \int f_N(x) \stackrel{!}{=} 1 \end{displaymath}

fN (x) = 1

!

O integral ´ gerado 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 tal como os sub-escritos e os super-escritos. 3
\begin{displaymath} \sum_{i=1}^{n} \qquad \int_{0}^{\frac{\pi}{2}} \qquad \prod_\epsilon \end{displaymath}

n 0

π 2

i=1

Para ter maior controlo sobre a coloca¸˜o de ´ ca ındices em express˜es como plexas, o pacote amsmath providencia duas ferramentas adicionais: o comando \substack e o ambiente subarray:
\begin{displaymath} \sum_{\substack{0<i<n \\ 1<j<m}} P(i,j) = \sum_{\begin{subarray}{l} i\in I\\ 1<j<m \end{subarray}} Q(i,j) \end{displaymath}

P (i, j) =
0<i<n 1<j<m i∈I 1<j<m

Q(i, j)

O TEX coloca ` disposi¸˜o todo o tipo de s´ a ca ımbolos para parˆntesis e e outros delimitadores (por exemplo [ ). Parˆntesis curvos e rectangue lares podem ser introduzidos nas teclas correspondentes e as chavetas com \{, mas todos os outros delimitadores s˜o gerados com comandos especia ais (por exemplo \updownarrow). Para uma lista de todos os delimitadores dispon´ ıveis, verifique a tabela 3.8 na p´gina 64. a
3 A AMS-L TEX tem super-/sub-escritos multi-linha

3.4 Espa¸amento Matem´tico c a
\begin{displaymath} {a,b,c}\neq\{a,b,c\} \end{displaymath}

55

a, b, c = {a, b, c}

Se colocar o comando \left antes do delimitador que abre ou um \right antes do delimitador que fecha, o TEX ir´ determinar automaticamente o a tamanho correcto do delimitador. Note que deve fechar cada um \left com um \right correspondente, e que o tamanho ´ determinado correctamente e se ambos forem escritos na mesma linha. Se n˜o quer um s´ a ımbolo ` direita, a use o delimitador invis´ ‘\right.’ ! ıvel
\begin{displaymath} 1 + \left( \frac{1}{ 1-x^{2} } \right) ^3 \end{displaymath}
3

1+

1 1 − x2

Em alguns casos ´ necess´rio especificar o tamanho correcto de um delie a mitador matem´tico ` m˜o, o que pode ser feito usando os comandos \big, a a a \Big, \bigg e \Bigg como prefixos para a maior partes dos delimitadores.4
$\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)

Existem v´rios comandos para introduzir trˆs pontos numa f´rmula. a e o \ldots escreve os pontos na linha base, \cdots p˜e-nos centrados. Al´m o e destes, existem os comandos \vdots para pontos verticais e \ddots para pontos diagonais. Pode encontrar outro exemplo na sec¸˜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 escolhidos pelo TEX para colocar nas f´rmulas n˜o s˜o satisc o a a fat´rios, podem ser ajustados inserindo comandos especiais. Existem alguns o 3 4 comandos para pequenos espa¸os: \, para 18 quad ( ), \: para 18 quad c 5 ( ) e \; para 18 quad ( ). Os caracteres \ geram um espa¸o de tamanho c
Estes comandos n˜o funcionam como esperado se um comando de mudan¸a de taa c manho foi usado ou a op¸˜o 11pt ou 12pt foi especificada. Utilize o pacote exscale ou ca amsmath para corrigir este comportamento.
4

56

F´rmulas Matem´ticas o a m´dio e \quad ( ) e \qquad ( e ) produzem espa¸os largos. O tamanho c de um \quad corresponde ` largura do caracter ‘M’ no tipo de letra actual. a 3 O comando \! produz um espa¸o negativo de − 18 quad ( ). c

\newcommand{\ud}{\mathrm{d}} \begin{displaymath} \int\!\!\!\int_{D} g(x,y) \, \ud x\, \ud y \end{displaymath} em vez de \begin{displaymath} \int\int_{D} g(x,y)\ud x \ud y \end{displaymath}

g(x, y) dx dy
D

em vez de g(x, y)dxdy
D

Note que ‘d’ no diferencial ´ convencionalmente escrito em tipo de letra e romana. A O AMS-L TEX tem outras formas de controlar precisamente o espa¸o c entre v´rios sinais de integral, nomeadamente os comando \iint, \iiint, a \iiiint, e \idotsint. Com o pacote amsmath carregado, o exemplo acima seria escrito desta forma:
\newcommand{\ud}{\mathrm{d}} \begin{displaymath} \iint_{D} \, \ud x \, \ud y \end{displaymath}

dx dy
D

Veja o documento electr´nico testmath.tex (distribu´ com o AMSo ıdo A A L TEX) ou o Cap´ ıtulo 8 do The L TEX Companion [3] para mais detalhes.

3.5

Material Alinhado Verticalmente

Para escrever matrizes, use o ambiente array. Funciona de uma forma 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 . . .

 ... ...   .. .

Este ambiente tamb´m pode ser usado para escrever express˜es que tˆm e o e um delimitador esquerdo grande, usando um “.” como delimitador invis´ ıvel a ` direita (\right):

3.5 Material Alinhado Verticalmente
\begin{displaymath} y = \left\{ \begin{array}{ll} a & \textrm{se $d>c$}\\ b+x & \textrm{na manh~}\\ a l & \textrm{no resto do dia} \end{array} \right. \end{displaymath}

57

 se d > c  a b + x na manh˜ a y=  l no resto do dia

Da mesma forma que dentro do ambiente tabular pode desenhar linhas, pode fazer o mesmo no ambiente array, por exemplo, 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 ocupam mais do que uma linha, ou para sistemas de o equa¸˜es, pode usar o ambiente eqnarray, e eqnarray* em vez de equation. co Com eqnarray cada linha fica com um n´mero de equa¸˜o. O eqnarray* u ca n˜o numera o que quer que seja. a Os ambientes eqnarray e eqnarray* funcionam como uma tabela de trˆs colunas da forma {rcl}, onde a coluna do meio pode ser utilizada para e o sinal de igual, o de diferente, ou qualquer outro que pare¸a adequado. O c 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 de cada lado do sinal de igual ´ bastante grande. Pode ser c e reduzido especificando \setlength\arraycolsep{2pt}, como no seguinte exemplo. Equa¸˜es longas n˜o ir˜o ser divididas automaticamente em pequenos co a a peda¸os. O autor tem de especificar onde as quebrar e o espa¸o que deve c c indentar. Os dois m´todos seguintes s˜o os mais comuns para obter este e a resultado.

58

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! 6 4 x x + − + ··· 4! 6!

(3.9)

A O comando \nonumber faz com que o L TEX n˜o gere um n´mero para a a u equa¸˜o actual. ca Pode tornar-se dif´ obter equa¸˜es verticalmente alinhadas a aparecer ıcil co de uma forma correcta com estes m´todos; o pacote amsmath tem um cone junto mais poderoso de alternativas. (veja os ambientes align, flalign, gather, multiline e split).

3.6

Fantasmas

N˜o conseguimos ver fantasmas, mas eles continuam a ocupar algum espa¸o a c A nas mentes de um grande n´mero de pessoas. O L TEX n˜o ´ diferente. u a e Podemos usar isto para alguns truques interessantes de espa¸amento. c A Quando se alinha texto verticalmente usando ^ e _, o L TEX ´, por vezes, e demasiado prest´vel. Usando o comando \phantom pode reservar espa¸o a c para caracteres que n˜o aparecem no resultado final. A forma mais f´cil de a a compreender ´ reparar nos sequintes exemplos: e
\begin{displaymath} {}^{12}_{\phantom{1}6}\textrm{C} \qquad \textrm{em oposi¸~o a} \qquad ca {}^{12}_{6}\textrm{C} \end{displaymath}

12 6C

em oposi¸˜o a ca

12 6 C

\begin{displaymath} \Gamma_{ij}^{\phantom{ij}k} \qquad \textrm{em oposi¸~o a} \qquad ca \Gamma_{ij}^{k} \end{displaymath}

Γij k

em oposi¸˜o a ca

Γk ij

3.7 Tamanho da Matem´tica a

59

3.7

Tamanho da Matem´tica a

No modo matem´tico, o TEX selecciona o tamanho de letra de acordo com o a contexto. Os expoentes, por exemplo, ficam escritos num tipo de letra mais pequeno. Se deseja escrever parte de uma equa¸˜o em letras tipo roman, n˜o ca a use o comando \textrm porque o mecanismo de mudan¸a de tamanho n˜o c a ir´ funcionar, visto que o \textrm muda temporariamente para o modo de a texto. Em vez disto, use \mathrm para manter o mecanismo de mudan¸a de c tamanho activo. Mas preste aten¸˜o, \mathrm ir´ funcionar apenas em peca a quenos textos. Os espa¸os ainda n˜o est˜o activos e os caracteres acentuados c a a n˜o funcionam.5 a
\begin{equation} 2^{\textrm{nd}} \quad 2^{\mathrm{nd}} \end{equation}

2nd

2nd

(3.10)

A Por vezes, precisa de dizer ao L TEX o tamanho correcto a utilizar. Em modo matem´tico, o tamanho ´ especificado com um dos quatro comandos: a e

\displaystyle (123), \textstyle (123), \scriptstyle (123) e \scriptscriptstyle (123). A mudan¸a de estilos tamb´m afecta a forma como os limites s˜o desec e a nhados.
\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 exemplo com parˆntesis maiores do que os \left[ \right] habie e tuais. Os comandos \biggl e \biggr s˜o usados para parˆntesis esquerdos a e e direitos, respectivamente.

3.8

Teoremas, Leis, . . .

Ao escrever documentos matem´ticos, provavelmente precisa de uma forma a de escrever “Lemas”, “Defini¸˜es”, “Axiomas” e estruturas similares. O co
A O pacote AMS-L TEX (amsmath) faz com que o comando \textrm funcione com mudan¸a de tamanho. c 5

60
A L TEX suporta isto com o comando

F´rmulas Matem´ticas o a

\newtheorem{nome}[contador ]{texto}[sec¸˜o] ca

O argumento nome ´ uma pequena palavra chave usada para identifie car o “teorema”. Com o argumento texto pode definir o nome actual do “teorema”, que ser´ impresso no documento final. a Os argumentos entre parˆntesis rectos s˜o opcionais. S˜o ambos usados e a a para especificar a numera¸˜o usada no “teorema”. Com o argumento contaca dor pode especificar o nome do ambiente “teorema”. O novo “teorema” ser´ a ent˜o numerado com a sua pr´pria sequˆncia. O argumento sec¸˜o permite a o e ca especificar a unidade de sec¸˜o com o qual queremos que o “teorema” seja ca numerado. Depois de executar o comando \newtheorem no preˆmbulo do docua mento, pode usar o seguinte comando durante o documento: \begin{nome}[texto] Este ´ o meu interessante teorema e \end{nome} Isto deve ser teoria suficiente. Os exemplos seguintes dever˜o remover a quaisquer d´vidas e mostrar que o ambiente \newtheorem ´ demasiado comu e plexo para se compreender.
% defini¸~es para o pre^mbulo co a % do documento \newtheorem{law}{Lei} \newtheorem{jury}[law]{J´ri} u %no documento \begin{law} \label{law:box} N~o te escondas na caixa. a \end{law} \begin{jury}[O d´cimo] e Podes ser tu! Portanto, cautela e v^ a lei~\ref{law:box}\end{jury} e \begin{law}N~o, N~o, N~o\end{law} a a a

Lei 1 N˜o te escondas na caixa. a J´ ri 2 (O d´cimo) Podes ser tu! u e tanto, cautela e vˆ a lei 1 e Lei 3 N˜o, N˜o, N˜o a a a Por-

O teorema “J´ri” usa o mesmo contador que o teorema “Lei”. Desta u forma, obt´m um n´mero que est´ em sequˆncia com a outra “Lei”. O e u a e argumento em parˆntesis rectos ´ usado para especificar um t´ e e ıtulo ou algo parecido para o teorema.

3.9 S´ ımbolos Gordos
\flushleft \newtheorem{mur}{Murphy}[section] \begin{mur} Se existirem duas ou mais maneiras de realizar algo, e uma delas puder resultar em cat´strofe, ent~o algu´m a a a e a ir´ executar.\end{mur} a

61

Murphy 3.8.1 Se existirem duas ou mais maneiras de realizar algo, e uma delas puder resultar em cat´strofe, ent˜o algu´m a a ir´ a a e a executar.

O teorema de “Murphy” fica com um n´mero que ´ ligado ao n´mero u e u da sec¸˜o actual. Tamb´m pode usar outra unidade como, por exemplo, ca e cap´ ıtulo ou subsec¸˜o. ca

3.9

S´ ımbolos Gordos

´ A E ligeiramente dif´ obter s´ ıcil ımbolos bold em L TEX; isto ´ possivelmente e intencional visto que tip´grafos amadores tendem a us´-los em demasia. O o a comando \mathbf muda as letras para bold, mas apenas as letras normais, enquanto que os s´ ımbolos matem´ticos s˜o normalmente it´licos. Existe a a a o comando \boldmath, mas s´ pode ser usado fora do modo matem´tico. o a Tamb´m funciona para s´ e ımbolos.
\begin{displaymath} \mu, M \qquad \mathbf{M} \qquad \mbox{\boldmath $\mu, M$} \end{displaymath}

µ, M

M

µ, M

Note que a v´ ırgula tamb´m est´ em bold o que pode n˜o ser o desejado. e a a O pacote amsbsy (inclu´ no amsmath) faz isto muito mais facilmente ıdo porque inclui o comando \boldsymbol.
\begin{displaymath} \mu, M \qquad \boldsymbol{\mu}, \boldsymbol{M} \end{displaymath}

µ, M

µ, M

62

F´rmulas Matem´ticas o a

3.10

Lista de S´ ımbolos Matem´ticos a

As tabelas seguintes demonstram todos os s´ ımbolos normalmente acess´ ıveis no modo matem´tico. a Para usar os s´ ımbolos listados nas tabelas 3.12–3.16, 6 o pacote amssymb deve ser carregado no preˆmbulo do documento e os tipos de letra AMS a devem estar instalados no sistema. Se o pacote e os tipos de letra n˜o est˜o a a instaladas no seu sistema, visite macros/latex/required/amslatex. Pode encontrar ainda outra lista de s´ ımbolos mais detalhada em info/symbols/comprehensive. Tabela 3.1: Acentos Matem´ticos. 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 s˜o derivadas do symbols.tex por David Carlisle e mudados extensivaa mente como sugerido por Josef Tkadlex.

6

3.10 Lista de S´ ımbolos Matem´ticos a

63

Tabela 3.4: Rela¸˜es Bin´rias. co a Pode negar cada um dos seguintes s´ ımbolos adicionando o comando \not como prefixo do s´ ımbolo em causa. < ≤ < \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 aceder a estes s´ ımbolos

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

64

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 or \gets \rightarrow or \to \leftrightarrow \Leftarrow \Rightarrow \Leftrightarrow \mapsto \hookleftarrow \leftharpoonup \leftharpoondown \rightleftharpoons
a

←− −→ ←→ ⇐= =⇒ ⇐⇒ −→ →

⇐⇒

\longleftarrow \longrightarrow \longleftrightarrow \Longleftarrow \Longrightarrow \Longleftrightarrow \longmapsto \hookrightarrow \rightharpoonup \rightharpoondown \iff (bigger spaces)

↑ ↓ ⇑ ⇓

Y

\uparrow \downarrow \updownarrow \Uparrow \Downarrow \Updownarrow \nearrow \searrow \swarrow \nwarrow \leadsto a

Use o pacote latexsym para aceder a estes s´ ımbolos

Tabela 3.8: Delimitadores. ( [ { ( [ or \lbrack \{ or \lbrace \langle \lfloor / ) ] } ) ] or \rbrack \} or \rbrace \rangle \rfloor \backslash ↑ ↓ | \uparrow \downarrow \updownarrow | or \vert \lceil . (dual. empty) ⇑ ⇓ \Uparrow \Downarrow \Updownarrow \| or \Vert \rceil

/

\

   

Tabela 3.9: Grandes Delimitadores.    \rgroup  \lmoustache \lgroup   \arrowvert \Arrowvert  \bracevert 

 

\rmoustache

3.10 Lista de S´ ımbolos Matem´ticos a

65

Tabela 3.10: S´ ımbolos Sortidos. ... \dots \hbar \Re \forall ’ \nabla \bot \diamondsuit \neg or \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 aceder a este s´ ımbolo

Tabela 3.11: S´ ımbolos n˜o Matem´ticos. a a Estes s´ ımbolos tamb´m podem ser usados em modo texto. e
„ …

\dag \ddag

§ ¶

\S \P

© £

\copyright \pounds

®

%

\textregistered \%

Tabela 3.12: Delimitadores AMS. \ulcorner \lvert \urcorner \rvert \llcorner \lVert \lrcorner \rVert

|

|

Tabela 3.13: Letras AMS gregas e hebraicas. \digamma κ \varkappa \beth \gimel \daleth

66

F´rmulas Matem´ticas o a

Tabela 3.14: Rela¸˜es Bin´rias AMS. co a \lessdot \leqslant \eqslantless \leqq \lll or \llless \lesssim \lessapprox \lessgtr \lesseqgtr \lesseqqgtr \preccurlyeq \curlyeqprec \precsim \precapprox \subseteqq \Subset \sqsubset \therefore \shortmid \smallsmile \vartriangleleft \trianglelefteq \gtrdot \geqslant \eqslantgtr \geqq \ggg or \gggtr \gtrsim \gtrapprox \gtrless \gtreqless \gtreqqless \succcurlyeq \curlyeqsucc \succsim \succapprox \supseteqq \Supset \sqsupset \because \shortparallel \smallfrown \vartriangleright \trianglerighteq \doteqdot or \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

67

Tabela 3.16: Rela¸˜es Bin´rias Negadas 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

68

F´rmulas Matem´ticas o a

Tabela 3.18: AMS Sortidos. \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: Alfabeto Matem´tico. a Exemplo ABCDEabcde1234 ABCDEabcde1234 ABCDEabcde ABCDE A BC DE ABCDEabcde1234 ABCDE Comando \mathrm{ABCDE abcde 1234} \mathit{ABCDE abcde 1234} \mathnormal{ABCDE abcde 1234} \mathcal{ABCDE abcde 1234} \mathscr{ABCDE abcde 1234} \mathfrak{ABCDE abcde 1234} \mathbb{ABCDE abcde 1234} Pacote Necess´rio a

mathrsfs amsfonts ou paiamssymb amsfonts or amssymb

Cap´ ıtulo 4

Especialidades
A Quando se prepara um grande documento, o LTEX ir´ ajud´-lo com algumas a a potencialidades, tais como a gera¸˜o de ´ ca ındices, manuseamento de bibliografia, e mais. Uma descri¸˜o muito mais completa das especialidades e melhoramentos ca A X podem ser encontradas no L T X Manual [1] e no The A poss´ ıveis com o LTE E A L TEX Companion [3].

4.1

Incluindo Gr´ficos Encapsulated PostScript a

A O L TEX providencia as facilidades b´sicas para trabalhar com corpos flutua antes como imagens ou gr´ficos, com os ambientes figure e table. a A Existem v´rias formas de gerar gr´ficos com L TEX b´sico ou com paa a a A X. Infelizmente, muitos utilizadores acham dif´ cotes de extens˜o ao L TE a ıcil de compreender. Por isso, n˜o ser´ explicado neste manual. Para mais ina a A A forma¸˜es sobre este assunto consulte o The L TEX Companion [3] e o L TEX co Manual [1]. Uma forma muito mais f´cil de colocar gr´ficos num documento ´ gerar a a e 1 e depois incluir os gr´ficos gea imagem com um programa especializado a A rados no documento. Uma vez mais, o L TEX tem pacotes que oferecem muitas formas diferentes de fazer isto mas, nesta introdu¸˜o, vamos apenas ca discutir sobre gr´ficos no formato Encapsulated PostScript (EPS), porque a s˜o bastante f´ceis de usar. Para usar imagens no formato EPS, tem de ter a a uma impressora PostScript 2 Um bom conjunto de comandos para inclus˜o de gr´ficos est´ dispon´ a a a ıvel no pacote graphicx por D. P. Carlisle. Este pacote faz parte de uma fam´ ılia 3. de pacotes chamada “graphics”

Como o XFig, CorelDraw!, Freehand, Gnuplot, . . . Outra possibilidade ´ utilizar o GhostScript para imprimir, que est´ dispon´ em e a ıvel support/ghostscript. Os utilizadores de Windows devem querer dar uma olhadela ao GSview. 3 macros/latex/required/graphics
2

1

70

Especialidades Assumindo que est´ a trabalhar com um sistema com uma impressora a PostScript e com o pacote graphicx instalado, pode usar o seguinte guia passo-a-passo para incluir uma imagem no seu documento: 1. Exportar a imagem do seu programa de edi¸˜o gr´fica para o formato ca a EPS. 4 2. Carregue o pacote graphicx no preˆmbulo do documento com a
\usepackage[driver ]{graphicx}

onde driver ´ o nome do seu programa de convers˜o de “dvi para e a postscript”. O programa deste tipo mais usado ´ chamado de dvips. e O nome deste programa ´ necess´rio, porque n˜o existe nenhum padr˜o e a a a para incluir gr´ficos em TEX. Sabendo o nome deste driver, o pacote a graphicx pode escolher o m´todo correcto para inserir informa¸˜o sobre e ca o gr´fico no ficheiro .dvi, de forma a que a impressora perceba e possa a incluir correctamente o ficheiro .eps. 3. Use o comando
\includegraphics[chave=valor, . . . ]{ficheiro}

para incluir o ficheiro no seu documento. O parˆmetro opcional aceita a uma lista separada por v´ ırgulas de chaves e valores associados. As chaves podem ser usadas para alterar a largura, altura e rota¸˜o do ca gr´fico inclu´ a ıdo. A tabela 4.1 mostra as chaves mais importantes.

Tabela 4.1: Nomes das Chaves para o Pacote graphicx. width height angle scale aumenta/diminu´ a imagem para a largura especificada ı aumenta/diminu´ a imagem para a altura especificada ı roda o gr´fico no sentido contr´rio ao dos ponteiros dos rel´gios a a o altera a escala da imagem

O seguinte exemplo clarificar´ as ideias: a
4 Se o seu programa n˜o conseguir exportar no formato EPS, pode tentar instalar um a driver de impressora (uma LaserWriter da Apple, por exemplo) e depois imprimir para um ficheiro utilizando este driver. Com alguma sorte este ficheiro ir´ estar em formato a EPS. Note que um EPS n˜o deve conter mais do que uma p´gina. Alguns drivers podem a a estar configurados explicitamente para produzir o formato EPS.

4.2 Bibliografia \begin{figure} \begin{center} \includegraphics[angle=90, width=0.5\textwidth]{test} \end{center} \caption{Uma legenda, a explicar que isto ´ um teste.} e \end{figure}

71

Este comando inclui o gr´fico guardado no ficheiro test.eps. O gr´fico ´ a a e rodado inicialmente por um ˆngulo de 90 graus e depois alterado de forma a a que a largura seja 0.5 vezes a largura de um par´grafo normal (textwidth). a A altura ´ calculada de forma a manter a rela¸˜o altura/largura. A largura e ca e altura tamb´m podem ser especificadas em dimens˜es absolutas. Veja a e o tabela 6.5 na p´gina 113 para mais informa¸˜o. Se quer saber mais sobre a ca este t´pico, leia [8] e [13]. o

4.2

Bibliografia

Pode produzir uma bibliografia com o ambiente thebibliography. Cada entrada come¸a com c

\bibitem[etiqueta]{marca}

A marca ´ para ser usada durante o documento para citar o livro ou e artigo descrito na entrada da bibliografia.

\cite{marca}

Se n˜o usar a op¸˜o etiqueta, as entradas ser˜o numeradas automaticaa ca a mente. O parˆmetro colocado ap´s o comando \begin{thebibliography} a o define quanto espa¸o deve ser reservado para o n´mero ou etiqueta. No c u A exemplo seguinte, {99} indica ao L TEX para considerar que nenhum dos n´meros dos ´ u ıtems da bibliografia v˜o ser maiores do que 99. a

72

Especialidades

Partl [1] propˆs que se . . . o

Partl~\cite{pa} prop^s o que se \ldots \begin{thebibliography}{99} \bibitem{pa} H.~Partl: \emph{German \TeX}, TUGboat Volume~9, Issue~1 (1988) \end{thebibliography}

Bibliografia
[1] H. Partl: German TEX, TUGboat Volume 9, Issue 1 (1988)

Para projectos maiores, querer´ usar o BibTEX. O BibTEX ´ inclu´ a e ıdo na maior parte das distribui¸˜o TEX. Permite manter uma base de dados ca bibliogr´fica e depois extrair as referˆncias relevantes para algo citado no a e documento. A apresenta¸˜o visual das bibliografias geradas pelo BibTEX ca ´ baseada num conceito de folhas de estilo que permite criar bibliografias e utilizando um grande conjunto de formatos pr´-definidos. e

4.3

Indexar

Uma caracter´ ıstica muito util de muitos livros ´ o seu ´ ´ e ındice remissivo. Com A ındice pode ser gerado de o L TEX e o programa de suporte makeindex,5 um ´ uma forma bastante simples. Esta introdu¸˜o s´ ir´ explicar os comandos ca o a b´sicos de gera¸˜o. Para uma explica¸˜o mais aprofundada, veja o The a ca ca A L TEX Companion [3]. A Para activar a indexa¸˜o do L TEX, deve incluir o pacote makeidx no ca preˆmbulo do documento com a
\usepackage{makeidx}

e os comandos especiais de indexa¸˜o devem ser activados colocando o coca mando
\makeindex

no preˆmbulo do documento. a
Em sistemas que n˜o suportam necessariamente nomes de ficheiros com mais de oito a caracteres, o programa pode ter o nome de makeidx.
5

4.3 Indexar

73

Tabela 4.2: Exemplos da Sintaxe das Chaves de Indexa¸˜o. ca Exemplo \index{ol´} a \index{ol´!Pedro} a \index{Sam@\textsl{Sam}} \index{Lin@\textbf{Lin}} \index{Jenny|textbf} \index{Joe|textit} \index{eolienne@\’eolienne} Entrada no ´ ındice ol´, 1 a Pedro, 3 Sam, 2 Lin, 7 Jenny, 3 Joe, 5 ´olienne, 4 e Coment´rio a Entrada normal Sub-entrada de ‘ol´’ a Entrada formatada O mesmo que a de cima N´mero de p´gina formatado u a O mesmo que a de cima Uso de acentua¸˜o ca

O conte´do do ´ u ındice ´ especificado com comandos e
\index{chave}

onde a chave ´ a entrada no ´ e ındice. Insere os comandos de indexa¸˜o nos ca pontos do texto para onde quer que o ´ ındice aponte. A tabela 4.2 explica a sintaxe do argumento chave, com v´rios exemplos. a A Quando o ficheiro de origem ´ processado com o L TEX, cada comando e \index escreve a entrada apropriada com o n´mero de p´gina actual para um u a ficheiro especial. O ficheiro tem o mesmo nome do documento original, mas com uma extens˜o diferente (.idx). Este ficheiro .idx deve ser processado a posteriormente com o comando makeindex.
makeindex nomedoficheiro

O programa makeindex gera um ´ ındice ordenado com o mesmo nome mas com a extens˜o .ind. Quando o documento for processado novamente a A com o L TEX, este ´ ındice ordenado ser´ inclu´ no documento no ponto a ıdo A X encontrar onde o L TE
\printindex
A O pacote showidx que vem com o L TEX 2ε imprime todas as entradas na margem esquerda do texto. Isto ´ muito util para reler um documento e e ´ verificar o ´ ındice. Note que o comando \index pode afectar o formato do documento se n˜o o usar com cuidado. a

A minha Palavra \index{palavra}. Em oposi¸~o a Palavra\index{palavra}. ca ` Repare na posi¸~o do ponto final. ca

A minha Palavra . Em oposi¸˜o ` Palavra. ca a Repare na posi¸˜o do ponto final. ca

74

Especialidades

4.4

Cabe¸alhos c

O pacote fancyhdr,6 escrito por Piet van Oostrum, fornece alguns comandos simples que permitem configurar o cabe¸alho e o rodap´ do seu documento. c e Se olhar para o topo desta p´gina, ir´ ver uma aplica¸˜o poss´ a a ca ıvel deste pacote. \documentclass{book} \usepackage{fancyhdr} \pagestyle{fancy} % com isto temos a certeza que os cabe¸alhos do c % cap´tulo e sec¸~o s~o em min´sculas. ı ca a u \renewcommand{\chaptermark}[1]{\markboth{#1}{}} \renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} \fancyhf{} % apagar as configura¸~es actuais co \fancyhead[LE,RO]{\bfseries\thepage} \fancyhead[LO]{\bfseries\rightmark} \fancyhead[RE]{\bfseries\leftmark} \renewcommand{\headrulewidth}{0.5pt} \renewcommand{\footrulewidth}{0pt} \addtolength{\headheight}{0.5pt} % fazer espa¸o para o risco c \fancypagestyle{plain}{% \fancyhead{} % Tirar cabe¸alhos de p´gina vazias c a \renewcommand{\headrulewidth}{0pt} % e o risco }

Figura 4.1: Exemplo de configura¸˜o do fancyhdr. ca O maior problema ao configurar cabe¸alhos e rodap´s ´ fazer coisas tais c e e A como colocar nomes de sec¸˜es e cap´ co ıtulos a´ O L TEX faz isto numa abordaı. gem de dois n´ ıveis. Na defini¸˜o da cabe¸alho e do rodap´, usa os comandos ca c e \rightmark e \leftmark para representar a cap´ ıtulo e a sec¸˜o actual, resca pectivamente. Os valores destes dois comandos s˜o reescritos sempre que a um comando de cap´ ıtulo ou sec¸˜o ´ processado. ca e Para maior flexibilidade, o comando \chapter e os seus amigos n˜o rea definem, eles mesmos, o \rightmark e \leftmark, mas chamam outros comandos (\chaptermark, \sectionmark ou \subsectionmark) que s˜o resa pons´veis por redefinir \rightmark e \leftmark. a Assim, se quer mudar o aspecto do nome de cap´ ıtulo na linha de cabec ¸alho, deve redefinir, simplesmente, o comando \chaptermark. A figura 4.1 mostra uma configura¸˜o poss´ ca ıvel para o pacote fancyhdr que faz cabe¸alhos idˆnticos aos deste livro. De qualquer maneira, a minha c e
6

Dispon´ em macros/latex/contrib/supported/fancyhdr. ıvel

4.5 O Pacote Verbatim sugest˜o ´ que copie a documenta¸˜o deste pacote a partir do endere¸o a e ca c mencionado na nota de p´gina. a

75

4.5

O Pacote Verbatim

Anteriormente neste livro, foi explicado o ambiente verbatim. Nesta sec¸˜o, ca vai aprender sobre o pacote verbatim. O pacote verbatim ´ basicamente uma e re-implementa¸˜o do ambiente \verbatim que contorna as limita¸˜es do amca co biente original. Isto, por si s´, n˜o ´ espectacular, mas com a implementa¸˜o o a e ca do pacote verbatim, existem novas funcionalidades e por essa raz˜o menciono a este pacote aqui. O pacote verbatim providencia o comando
\verbatiminput{nomedoficheiro}

que permite incluir texto ASCII puro no documento como se estivesse dentro do ambiente verbatim. Como o pacote verbatim ´ parte do conjunto ‘tools’, deve encontr´-lo e a instalado em quase todos os sistemas. Se quer saber mais sobre este pacote, leia [9].

4.6

A Instalando Pacotes LTEX

A maior parte das instala¸˜es L TEX vˆm com um grande conjunto de pacotes co A e j´ instalados, mas existem muitos mais dispon´ a ıveis na Internet. O principal A X ´ o CTAN (http://www.ctan.org/). s´ para procurar por pacotes L TE e ıtio Pacotes como o geometry ou o hyphenat, e muitos outros, s˜o tipicaa mente constitu´ ıdos de dois ficheiros: um com a extens˜o .ins e outro com a a extens˜o .dtx. Muitas vezes ir´ existir um readme.txt com uma breve a a descri¸˜o do pacote. Deve, certamente, ler este ficheiro antes de qualquer ca outra coisa. Em qualquer caso, uma vez copiados os ficheiros do pacote para a sua m´quina, continua a precisar de os processar de forma a que (a) a sua a distribui¸˜o TEX saiba alguma coisa sobre os novos pacotes e (b) obtenha a ca documenta¸˜o. Aqui est´ como fazer a primeira parte: ca a
A 1. Corra o L TEX no ficheiro .ins. Isto vai extrair um ficheiro .sty.

2. Mova o ficheiro .sty para um s´ onde a sua distribui¸˜o o consiga ıtio ca encontrar. Normalmente, isto ´ na sua .../localtexmf /tex/latex e subdirectoria (Utilizadores Windows devem sentir-se livres de mudar a direc¸˜o das barras). ca 3. Actualizar a base de dados da sua distribui¸˜o. O comando depende ca A X que usa: teTeX, fpTeX – texhash; web2c – da distribui¸˜o de L TE ca

76

Especialidades maktexlsr; MikTeX – initexmf -update-fndb ou use um interface gr´fico. a Agora pode extrair a documenta¸˜o do ficheiro .dtx: ca
A 1. Corra o L TEX no ficheiro .dtx. Isto ir´ gerar um ficheiro .dvi. Note a A X v´rias vezes antes de obter as refeque deve precisar de usar o L TE a rencias cruzadas correctamente; A 2. Verifique se o L TEX produziu um ficheiro .idx no meio dos outros v´rios ficheiros que tem. Se n˜o encontra este ficheiro, ent˜o avance a a a para o passo 5.

3. Para gerar o ´ ındice, escreve o seguinte: makeindex -s gind.ist nome (onde nome ´ o nome do ficheiro principal sem a extens˜o). e a
A 4. Corra de novo o L TEX no ficheiro .dtx.

5. Por fim, fa¸a um ficheiro .ps ou .pdf para aumentar o seu prazer de c leitura. Um perigo final: muito raramente, pode encontrar um ficheiro .glo (gloss´rio). Este ´ processado depois do passo 4 e antes do 5: a e makeindex -s gglo.ist -o nome.gls nome.glo
A Tenha a certeza de passar o L TEX no ficheiro .dtx uma ultima vez antes de ´ mover para o passo 5.

4.7

A Usar o pdfLTEX

By Daniel Flipo <Daniel.Flipo@univ-lille1.fr>

O PDF ´ um formato de documentos de hipertexto. Como uma p´gina da e a Internet, algumas palavras no documento s˜o marcadas como hiper-liga¸˜es. a co Estas, ligam para outros s´ ıtios no documento ou mesmo para outros documentos. Se clicar numa destas liga¸˜es ser´ transportado para o destino da co a A mesma liga¸˜o. No contexto do L TEX, isto significa que todas as ocorrˆncias ca e de \ref e \pageref passar˜o a hyper-liga¸˜es. Adicionalmente, a tabela de a co conte´dos, o ´ u ındice remissivo e todas as estruturas deste g´nero passar˜o a e a hiper-liga¸˜es. co A maior parte das p´ginas de Internet que se encontram nos dias que cora rem est˜o escritas em HTML (HyperText Markup Language). Este formato a tem duas desvantagens ao escrever documentos cient´ ıficos:

A 4.7 Usar o pdfL TEX

77

1. Incluir f´rmulas matem´ticas em documentos HTML n˜o ´, geralo a a e mente, poss´ ıvel. Embora exista um standard para isso, a maior parte dos navegadores de hoje n˜o o suportam, ou tˆm falta de tipos de a e letra. 2. Imprimir documentos HTML ´ poss´ mas o seu resultado varia de e ıvel forma incontrol´vel entre plataformas e navegadores. Os resultados a est˜o a milhas da qualidade que esperamos quando estamos habituados a A ao mundo L TEX.
A Existem muitas tentativas de criar tradutores de L TEX para HTML. Algumas tiveram bastante sucesso no que respeita a serem capazes de produzir A p´ginas de Internet leg´ a ıveis a partir dum ficheiro L TEX comum. Mas todos eles cortam caminho para terem o trabalho feito. Assim que come¸ar a usar c A caracter´ ısticas complexas do L TEX e pacotes externos, as coisas come¸ar˜o c a a deixar de funcionar. Autores que querem preservar a qualidade tipogr´fica a unica dos seus documentos ao public´-los na Internet, transformam-os em ´ a PDF (Portable Document Format—Formato de documentos port´vel), que a preserva o formato do documento e que permite navega¸˜o de hipertexto. ca Quase todos os navegadores modernos disp˜em de plugins que permitem ver o correctamente documentos PDF. Apesar de existirem visualizadores de DVI e PS para quase todas as plataformas, ir´ descobrir que o acrobat reader e xpdf para visualizar documena tos PDF est˜o muito melhor distribu´ a ıdos. Portanto, providenciar vers˜es o PDF dos seus documentos ir´ torn´-los mais acess´ a a ıveis aos seus leitores.

4.7.1

Documentos PDF para a Internet

A A cria¸˜o de ficheiros PDF a partir do L TEX ´ muito simples, gra¸as ao ca e c programa pdfTEX desenvolvido por H`n Th´ˆ Th`nh. O pdfTEX produz um a e a A ficheiro PDF onde o normal TEX produz DVI. Tamb´m existe um pdfL TEX, e A X. que produz PDF directamente do L TE A Quer o pdfTEX quer o pdfL TEX s˜o instalados automaticamente pela a maior parte das distribui¸˜es modernas do TEX, como a teTEX, fpTEX, co MikTEX, TEXLive e CMacTEX. Para produzir um PDF em vez do DVI, ´ suficiente substituir o comando e A latex file.tex por pdflatex file.tex. Em sistemas em que o L TEX n˜o a ´ chamado da linha de comando, dever´ ser necess´rio encontrar um bot˜o e a a a especial no TEXControlCenter. Pode definir o tamanho do papel com um argumento opcional na defini¸˜o da classe do documento. Os valores tradicionais s˜o a4paper ou ca a A X, o pdfT X precisa letterpaper. Embora tamb´m funcione em pdfL TE e E de saber o tamanho f´ ısico do papel para determinar o tamanho f´ ısico das p´ginas no ficheiro pdf. Se usar o pacote hyperref (veja a p´gina 80), o a a tamanho do papel ir´ ser ajustado automaticamente. De outra forma, ter´ a a

78

Especialidades de o regular manualmente, colocando as seguintes linhas no preˆmbulo do a documento: \pdfpagewidth=\paperwidth \pdfpageheight=\paperheight A sec¸˜o seguinte ir´ aprofundar em maior detalhe as diferen¸as entre ca a c A X. As maiores diferen¸as dizem respeito a trˆs o c e EX normal e o pdfL TE a ´reas: os tipos de letra a usar, o formato das imagens a incluir, e a configura¸˜o manual das hiper-liga¸˜es. ca co
A LT

4.7.2

Os tipos de letra

A pdfL TEX pode funcionar com todos os tipos de letras (PK bitmaps, TruA eType, PostScript type 1. . . ) mas o formato normal do L TEX, os tipos de letra bitmap PK, produzem resultados muito feios quando o documento ´ e ´ mostrado com o Acrobat Reader. E prefer´ usar os tipos de letra PostSıvel cript Type 1 exclusivamente para produzir documentos que sejam bem vis´ ıveis. As instala¸˜es modernas do TEX ir˜o tratar de configurar estes co a detalhes de forma a que isto aconte¸a automaticamente. O melhor ´ expec e rimentar. Se funciona para si, salte o resto desta sec¸˜o. ca A implementa¸˜o dos tipos PostScript Type 1 das Computer Modern ca e AMSFonts foram produzidos pelo Blue Sky Research e Y&Y, Inc., que transferiram os direitos de c´pia para a Sociedade Matem´tica Americana. o a Estes tipos de letra foram tornados dispon´ ıveis por volta de 1997 e de momento encontram-se em quase todas as distribui¸˜es TEX. co A X para criar documentos em l´ No entanto, se estiver a usar o L TE ınguas que n˜o o Inglˆs, poder´ querer usar os tipos de letra EC, LH ou CB (leia a e a a discuss˜o sobre tipos de letra OT1 na p´gina 27). Vladimir Volovich a a criou um conjunto de tipos de letra denominado cm-super que cobre por completo o conjunto de tipos de letra EC/TC, EC Concrete, EC Bright e LH. Este pacote est´ dispon´ em CTAN:/fonts/ps-type1/cm-super e a ıvel est´ inclu´ no TEXLive7 e MikTEX. Tipos de letra semelhantes type 1 a ıdo CB Greek foram criados pelos Ap´stolos Syropoulos e est˜o dispon´ o a ıveis em CTAN:/tex-archive/fonts/greek/cb. Infelizmente, estes conjuntos n˜o a s˜o da mesma qualidade tipogr´fica dos tipos de letra Type1 CM do Blue a a Sly/Y&Y. S˜o automaticamente escolhidas de forma a que no ´cran tenha a e bastante qualidade mas a sua impress˜o seja semelhante aos tipos de letra a originais EC/LH/CB. Se estiver a criar um documento numa l´ ıngua baseada em Latim, tem v´rias outras op¸˜es. a co
ˆ

Pode desejar usar o pacote aeguill, tamb´m conhecido como Almost e European Computer Modern with Guillemets. Para tal basta colocar a linha \usepackage{aeguill} no preˆmbulo do documento, para a activar os tipos de letra virtuais AE em vez dos tipos de letra EC.

A 4.7 Usar o pdfL TEX

79

ˆ

Alternativamente, pode usar o pacote \usepackage{mltex}, mas este s´ funciona quando o seu pdfTEX foi compilado com a op¸˜o mltex. o ca

O conjunto de tipos de letra AE, tal como o sistema MlTEX, faz com que o TEX acredite que tem um conjunto completo de 256 caracteres ` sua a disposi¸˜o criando a maior parte dos tipos de letra que faltem, rearranjandoca as na ordem EX, o que permite que se use os excelentes tipos de letra CM type 1 existentes na maior parte dos sistemas. Como o tipo de letra ir´ estar a na codifica¸˜o T1, a hifeniza¸˜o ir´ funcionar correctamente nas l´ ca ca a ınguas Europeias baseadas em Latin. A unica desvantagem ´ que os caracteres ´ e artificiais AE n˜o funcionam na fun¸˜o Find do Acrobat Reader, pelo que a ca n˜o poder´ procurar palavras com caracteres acentuados no seu documento a a final PDF. Para a l´ ıngua Russa, uma solu¸˜o parecida ´ usar os tipos de letra virtuca e ais C1 dispon´ ıveis em ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts. Estes tipos de letra combinam os tipos habituais CM type 1 com a colec¸˜o ca Bluesky e tipos de letra CMCYR type 1 da colec¸˜o Paradissa e BaKoMa, ca todas dispon´ ıveis no CTAN. Visto que os tipos de letra Paradissa cont´m e apenas letras Russas, os tipos de letra C1 n˜o cont´m alguns glifos cir´ a e ılicos. Outra solu¸˜o ´ mudar para outro tipo de letra PostScript type 1. ca e Actualmente, algumas s˜o inclu´ a ıdas com todas as c´pias do Acrobat Reader. o Como estes tipos de letra tˆm tamanhos diferentes, o formato do texto nas e suas p´ginas ir´ mudar. Normalmente, estes tipos de letra ir˜o usar mais a a a espa¸o do que os tipos de letra CM, que s˜o muito eficientes em rela¸˜o a c a ca espa¸o ocupado. A coerˆncia visual do documento tamb´m ir´ sofrer porque c e e a os tipos de letra Times, Helvetica e Courier (os candidatos principais para o trabalho de substitui¸˜o) n˜o foram desenhados para trabalhar em harmonia ca a num unico documento. ´ Dois conjuntos de tipos prontos a usar est˜o dispon´ a ıveis para este fim: pxfonts, que ´ baseado nas Palatino, como tipo para o texto do corpo, e o e pacote txfonts, que ´ baseado no Times. Para os usar ´ suficiente colocar as e e seguintes linhas no preˆmbulo do seu documento: a \usepackage[T1]{fontenc} \usepackage{pxfonts} Nota: ir´ encontrar linhas como a Warning: pdftex (file eurmo10): Font eurmo10 at ... not found no ficheiro .log depois de compilar o seu ficheiro. Significam que algum tipo de letra usado no documento n˜o foi encontrado. Tem realmente de a resolver estes problemas, ou o PDF resultante pode n˜o mostrar as p´ginas a a com os caracteres em falta. Todo este neg´cio de tipos de letra, especialmente a falta de um bom o conjunto de tipos de letra EC de qualidade equivalente `s CM no formato a

80

Especialidades type 1, est´ a ocupar as mentes de muita gente, e portanto, novas solu¸˜es a co est˜o a aparecer a todo o momento. a

4.7.3

Uso de Gr´ficos a

Incluir gr´ficos num documento funciona melhor com o pacote graphicx (ver a p´gina 69). Ao usar a op¸˜o especial pdftex como driver, o pacote ir´ a ca a A funcionar com o pdfL TEX de forma simples: \usepackage[pdftex]{color,graphicx} No exemplo acima, tamb´m inclu´ a op¸˜o color, visto que o uso de cores e ı ca em documentos mostrados na Internet ´ bastante natural. e Chega de boas not´ ıcias. As m´s ´ que imagens em Encapsulated PostSa e A cript n˜o funcionam com o PdfL TEX. Se n˜o definir uma extens˜o no nome a a a do ficheiro do comando \includegraphics, o pacote graphicx ir´ procurar a um ficheiro que lhe seja adequado, dependendo das op¸˜es do driver. Para co pdftex ir´ procurar os formatos .png, .pdf, .jpg, .mps (METAPOST), e a .tif—mas n˜o .eps. a A forma simples de resolver este problema ´ simplesmente converter e os seus ficheiros EPS para o formato PDF usando a utilidade epstopdf existente em tantos sistemas. Para gr´ficos vectoriais (desenhos) esta ´ uma a e grande solu¸˜o. Para mapas de bits (fotografias) isto pode n˜o ser ideal, ca a porque o formato PDF suporta nativamente a inclus˜o de imagens PNG a e JPEG. PNG ´ bom para imagens de aplica¸˜es e outras imagens com e co poucas cores. O JPEG ´ bom para fotografias, visto ser eficiente em rela¸˜o e ca ao espa¸o ocupado em disco. c At´ pode ser desej´vel n˜o desenhar algumas figuras geom´tricas mas e a a e descrevˆ-las com uma linguagem especializada, como o METAPOST, que e pode ser encontrada em quase todas as distribui¸˜es do TEX, e vem com o co seu pr´prio manual extensivo. o

4.7.4

Liga¸˜es de Hipertexto co

O pacote hyperref ir´ ter o cuidado de transformar todas as referˆncias ina e ternas do seu documento em hiper-liga¸˜es. Para que isto funcione devidaco mente, alguma magia ´ necess´rio, e portanto, tem de colocar \usepackage[pdftex]{hyperref} e a como ultimo comando do preˆmbulo do seu documento. ´ a Muitas op¸˜es est˜o dispon´ co a ıveis para configurar o comportamento do pacote hyperref:
ˆ

como uma lista separada por v´ ırgulas depois da op¸˜o pdftex ca \usepackage[pdftex]{hyperref} ou em linhas individuais com o comando \hypersetup{op¸˜es}. co

ˆ

A 4.7 Usar o pdfL TEX

81

A unica op¸˜o necess´ria ´ pdftex; as outras s˜o opcionais e permitem ´ ca a e a alterar o comportamento por omiss˜o do hyperref.7 Na lista seguinte, os a valores por omiss˜o est˜o escritos num tipo de letra vertical (portanto, n˜o a a a it´lico). a bookmarks (=true,false) mostra (true) ou esconde a barra de bookmarks ao visualizar o documento; unicode (=false,true) permite usar caracteres unicode nas bookmarks do Acrobat; pdftoolbar (=true,false) mostra ou esconde a barra de ferramentas do Acrobat; pdfmenubar (=true,false) mostra ou esconde o menu do Acrobat; pdffitwindow (=true,false) ajusta, ou n˜o, automaticamente o tamanho a inicial do texto quando visualizado; pdftitle (={texto}) define o t´ ıtulo que ser´ mostrado na janela Document a Info do Acrobat; pdfauthor (={texto}) o nome do autor do PDF; pdfnewwindow (=true,false) define se uma nova janela deve ser aberta quando uma liga¸˜o envia para fora do documento actual; ca colorlinks (=false,true) delimita as liga¸˜es por uma caixa de cor (false) co ou pinta o texto das liga¸˜es (true). As cores destas liga¸˜es podem co co ser configuradas com as seguintes op¸˜es: co linkcolor (=red) cor de liga¸˜es internas (sec¸˜es, p´ginas, etc), co co a citecolor (=green) cor de cita¸˜es (bibliografia), co filecolor (=magenta) cor de liga¸˜es para ficheiros; co urlcolor (=cyan) cor de liga¸˜es de URL (mail, web). co

Se estiver contente com os valores por omiss˜o, use a \usepackage[pdftex]{hyperref} Para ter a lista de bookmarks aberta e liga¸˜es em cor: (os valores =true co s˜o opcionais): a
7´ E de notar que o pacote hyperref n˜o est´ limitado ao uso com o pdfTEX. Tamb´m a a e pode ser configurado para embeber informa¸˜o espec´ ca ıfica do PDF no ficheiro DVI, resulA tado normal do L TEX, que depois ir´ colocar no ficheiro PS com o dvips e que, finalmente, a ser´ usado pelo Adobe Distiller quando se tentar converter de PS para PDF. a

82

Especialidades \usepackage[pdftex,bookmarks,colorlinks]{hyperref} Ao criar PDFs destinados a serem impressos, as liga¸˜es coloridas n˜o s˜o co a a boa ideia uma vez que ir˜o acabar cinzentas no resultado final, tornando-se a dif´ ıceis de ler. Pode usar caixas de cor, que n˜o ser˜o impressas: a a \usepackage{hyperref} \hypersetup{colorlinks=false} ou colocar as liga¸˜es a preto: co \usepackage{hyperref} \hypersetup{colorlinks,% citecolor=black,% filecolor=black,% linkcolor=black,% urlcolor=black,% pdftex} Quando quer apenas providenciar informa¸˜o para a sec¸˜o de informa¸˜o ca ca ca sobre o documento PDF: \usepackage[pdfauthor={Pierre Desproges}% pdftitle={Des femmes qui tombent},% pdftex]{hyperref} Al´m das hiper-liga¸˜es autom´ticas para referˆncias cruzadas, ´ poss´ e co a e e ıvel embeber explicitamente liga¸˜es usando co
\href{url }{texto}

O c´digo o O endere¸o do \href{http://www.ctan.org}{CTAN}. c produz o resultado “CTAN”; um clique na palavra “CTAN” ir´ lev´-lo ` a a a p´gina de Internet do CTAN. a Se o destino da liga¸˜o n˜o ´ um URL mas um ficheiro local, pode usar ca a e o comando \href da seguinte forma: O documento completo est´ \href{manual.pdf}{aqui} a Que produz o texto “O documento completo est´ aqui”. Ao clicar na palavra a “aqui” ir´ abrir o ficheiro manual.pdf. (O nome do ficheiro ´ relativo ` a e a localiza¸˜o actual do documento actual). ca O autor de um artigo pode desejar que os seus leitores enviem-lhe mensagens de correio electr´nico usando o comando \href dentro do comando o \author na p´gina principal do documento: a

A 4.7 Usar o pdfL TEX

83

\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% {mary@oetiker.ch}$>$ Note que coloquei a liga¸˜o de forma a que o meu endere¸o apare¸a n˜o ca c c a s´ na liga¸˜o mas tamb´m na p´gina. Isso ´ importante porque a liga¸˜o o ca e a e ca \href{mailto:mary@oetiker.ch}{Mary Oetiker} ir´ funcionar bem dentro do Acrobat, mas assim que a p´gina seja impressa a a o endere¸o nunca mais seria vis´ c ıvel.

4.7.5

Problemas com Liga¸˜es co

Mensagens como a seguinte: ! pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored aparecem quando um contador ´ reinicializado, por exemplo, ao usar o coe mando \mainmatter providenciado pela classe de documento book. Este reinicializa o contador do n´mero de p´gina a 1 antes do primeiro cap´ u a ıtulo do livro. Mas como o pref´cio do livro tamb´m tem como n´mero de p´gina a e u a o 1, todas as liga¸˜es ` “p´gina 1” deixar˜o de ser unicas, e da´ que apare¸a co a a a ´ ı c o aviso de que o duplicado tenha sido ignorado. A contra-medida consiste em colocar plainpages=false nas op¸˜es do co hyperref. Isto, infelizmente, ajuda apenas com o contador de p´ginas. Uma a solu¸˜o ainda mais radical ´ o uso da op¸˜o hypertexnames=false, mas que ca e ca ir´ causar as liga¸˜es de p´ginas deixar de funcionar. a co a

4.7.6

Problemas com Bookmarks

O texto mostrado nas bookmarks n˜o aparece sempre como esperava que a aparecessem. Porque as bookmarks s˜o “apenas texto,” muito menos caa A racteres est˜o dispon´ a ıveis do que para texto normal L TEX. Hyperref ir´ a detectar esses problemas e avisar: Package hyperref Warning: Token not allowed in a PDFDocEncoded string: Depois, pode contornar o problema providenciando um texto para a bookmark, que ir´ substituir o texto em causa: a
\texorpdfstring{Texto TEX }{Texto da Bookmark }

As express˜es matem´ticas s˜o candidatas especiais para este tipo de o a a problema: \section{\texorpdfstring{$E=mc^2$}% {E\ =\ mc\texttwosuperior}}

84

Especialidades o que torna \section{$E=mc^2$} em “E=mc2” para a ´rea de bookmark. a Mudan¸as de cor tamb´m n˜o viajam para as bookmarks: c e a \section{\textcolor{red}{Red !}} produz “redRed!”. O comando \textcolor ser´ ignorado mas o seu argua mento (red) ser´ impresso. a Se usar \section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}} o resultado ir´ ser muito mais leg´ a ıvel.
A A Compatibilidade entre L TEX e pdfL TEX A Idealmente o seu documento deveria compilar igualmente bem com o L TEX A quer com o pdfL TEX. O principal problema a este respeito ´ a inclus˜o a e a gr´ficos. A solu¸˜o simples ´ para deixar cair sistematicamente a extens˜o a ca e a do comando \includegraphics. Um formato adequado ser´ automaticaa mente procurado na directoria actual. Tudo o que tem de fazer ´ criar e A X ir´ procurar por fivers˜es apropriadas dos ficheiros de imagens. O L TE o a A cheiros .eps, e pdfL TEX ir´ tentar incluir um ficheiro com extens˜o .png, a a .pdf, .jpg, .mps ou .tif (por esta ordem). Para os casos em que deseja usar c´digo diferente para a vers˜o PDF do o a seu documento, pode adicionar:

\newif\ifPDF \ifx\pdfoutput\undefined\PDFfalse \else\ifnum\pdfoutput > 0\PDFtrue \else\PDFfalse \fi \fi nas primeiras linhas do seu documento, que define um comando especial que ir´ permitir escrever de forma simples c´digo condicional: a o \ifPDF \usepackage[T1]{fontenc} \usepackage{aeguill} \usepackage[pdftex]{graphicx,color} \usepackage[pdftex]{hyperref} \else \usepackage[T1]{fontenc} \usepackage[dvips]{graphicx} \usepackage[dvips]{hyperref} \fi

4.8 Criar Apresenta¸˜es com pdfscreen co No exemplo, inclu´ o pacote hyperref mesmo na vers˜o n˜o PDF. Isto faz ı a a com que o comando \href funcione em todos os casos, o que me poupa de alterar cada uma das suas ocorrˆncias numa instru¸˜o condicional. e ca Note que em distribui¸˜es recentes do TEX (TEXLive, por exemplo), co a escolha entre pdftex e dvips ao chamar o pacote graphicx e color ir´ a acontecer automaticamente de acordo com as preferˆncias escolhidas nos e ficheiros de configura¸˜o graphics.cfg e color.cfg. ca

85

4.8

Criar Apresenta¸˜es com pdfscreen co

By Daniel Flipo <Daniel.Flipo@univ-lille1.fr>

Pode apresentar os resultados do seu trabalho cient´ ıfico num quadro preto, com transparˆncias, ou directamente do seu port´til usando algum e a programa de apresenta¸˜es. co A O pdfL TEX combinado com o pacote pdfscreen permite criar apresenta¸˜es co em PDF, igualmente coloridas e vivas como as do PowerPoint, mas muito mais port´veis porque o Acrobat Reader existe em muitos mais sistemas. a A classe pdfscreen usa graphicx, color e hyperref com op¸˜es adaptadas a co apresenta¸˜es em ´cran. co e Para criar este tipo de documentos ir´ trabalhar normalmente na classe a article. A figura 4.2 mostra um exemplo de um ficheiro para o pdfscreen. Primeiro h´ que carregar o pacote pdfscreen juntamente com as op¸˜es aproa co priadas: screen para apresenta¸˜o em ´cran. Use print para criar vers˜es imca e o prim´ ıveis. panelright coloca um painel de navega¸˜o do lado direito do ´cran. Se ca e desejar o painel do lado esquerdo, use panelleft. Se n˜o quer o a painel, de todo, use nopanel. french ou qualquer outra l´ ıngua suportada, ir´ mostrar o texto dos bot˜es a o de navega¸˜o de forma apropriada. Esta op¸˜o ´ independente das ca ca e op¸˜es colocadas no pacote babel. Se a sua l´ co ıngua n˜o ´ suportada pelo a e pdfscreen, ainda poder´ mudar o texto dos bot˜es do painel usando o a o ficheiro pdfscreen.cfg. Veja pdfscreen.cfg..specimen para um exemplo. chocolate esquema de cor para o painel de navega¸˜o. Outras escolhas ca podem ser gray, orange, palegreen, bluelace e blue, que ´ a por e omiss˜o. a Depois configura o formato do ´cran. Como a escala da apresenta¸˜o ir´ e ca a sempre mudar de acordo com o tamanho real do ´cran, isto pode ser usado e para configurar na generalidade o tamanho das letras:

86

Especialidades

\documentclass[pdftex,12pt]{article} %%% algumas extens~es %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% o \usepackage[latin1]{inputenc} \usepackage[english]{babel} \usepackage[T1]{fontenc} \usepackage{aeguill} %%% pdfscreen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \usepackage[screen,panelleft,chocolate]{pdfscreen} % Formato do ´cran e \panelwidth=25mm %% altura largura \screensize{150mm}{200mm} %% esquerda direita topo fundo \marginsize{42mm}{8mm}{10mm}{10mm} % Cor ou imagem para o fundo \overlayempty \definecolor{mybg}{rgb}{1,0.9,0.7} \backgroundcolor{mybg} % Logotipo \emblema{MyLogo} %%% Para o PPower4 (p´s-processador) %%%%%%%%%%%%%%%%%%%% o \usepackage{pause} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \begin{slide} \begin{itemize} \item Boas not´cias\dots \pause ı \item M´s not´cias a ı \end{itemize} \end{slide} \end{document} Figura 4.2: Exemplo dum ficheiro para o pdfscreen

4.8 Criar Apresenta¸˜es com pdfscreen co \panelwidth define a largura do painel de navega¸˜o; ca \screensize{largura}{altura} define a largura e a altura do ´cran, ine cluindo o painel de navega¸˜o; ca \marginsize{esquerda }{direita }{topo }{fundo } define as margens do documento. No exemplo o documento n˜o est´ centrado porque os a a n´meros de sec¸˜o s˜o mantidos na margem esquerda. u ca a ´ E poss´ ıvel usar uma imagem de fundo, em qualquer um dos formatos suportados pelo pdfTEX usando o comando
\overlay{imagem}

87

ou se preferir um fundo plano, pode definir a cor usando
\background{cor }

Finalmente, se deseja colocar um logotipo da sua organiza¸˜o no painel ca de navega¸˜o use o comando ca
\emblema{logotipo}

Se acredita no poder de uma apresenta¸˜o com exposi¸˜o sucessiva de ca ca pontos de uma lista, pode desejar usar o pacote pause. Este, providencia o comando \pause que pode ser colocado directamente ap´s o seu texto, o exactamente onde quer que o Acrobat fa¸a uma pausa ao mostrar o docuc mento. Este pacote faz parte do sistema ppower4 (P 4 : Pdf Presentation Post-Processor ), que p´s-processa o documento pdf resultante do pdfTEX o e o faz dan¸ar, cantar e pedir por comida. Na linha de comando, faria c qualquer coisa como:
ppower4 xy.pdf xyz.pdf

Para controlar o que aparece em cada slide, pode usar o ambiente \begin{slide} . . . \end{slide}. O conte´do de cada um ir´ ser mostrado centrado vertiu a calmente na sua p´gina. a Ao compilar o exemplo anterior ir´ obter uma mensagem de erro: a ! pdfTeX warning (dest): name{contents} has been referenced but does not exist, replaced by a fixed one Isto acontece porque existe um bot˜o no painel de navega¸˜o que quer apona ca tar para a tabela de conte´dos e, como este exemplo n˜o cont´m o comando u a e \tableofcontents a resolu¸˜o da liga¸˜o falha. ca ca

88

Especialidades Se quer que a tabela de conte´dos seja mostrada directamente dentro u do painel de navega¸˜o, pode usar a op¸˜o paneltoc ao chamar o pacote ca ca pdfscreen. Isto produzir´ resultados agrad´veis apenas se a sua apresenta¸˜o a a ca tiver poucas e curtas entradas na tabela de conte´dos. Poder´, tamb´m, u a e providenciar pequenos t´ ıtulos para as sec¸˜es, tal como o faz num documento co normal. Esta pequena introdu¸˜o s´ arranha a superf´ do que ´ poss´ com ca o ıcie e ıvel o pacote pdfscreen e o sistema PPower4. Ambos contˆm os seus pr´prios e o manuais.

Cap´ ıtulo 5

Produ¸˜o de Gr´ficos ca a Matem´ticos a
A A maior parte das pessoas usam o LTEX para dactilografar os seus textos. Al´m e A de permitir e incentivar a estrutura¸˜o dos textos, o LTEX tamb´m oferece posca e sibilidades, ligeiramente restritas, para produ¸˜o de resultados gr´ficos usando ca a descri¸˜es textuais. Recentemente, um grande n´mero de extens˜es LTEX tˆm co u o A e vindo a ser criadas para ultrapassar estes problemas. Nesta sec¸˜o, ir´ aprender ca a a usar algumas delas.

5.1

Introdu¸˜o ca

O ambiente picture permite a programa¸˜o de imagens directamente em ca A A L TEX Uma descri¸˜o detalhada pode ser encontrada no L TEX Manual [1]. ca Por um lado, existem um conjunto de restri¸˜es severas, como os tipos de co segmentos ou raios de c´ ırculos que est˜o estritos a um pequeno conjunto a A de valores. Por outro, o ambiente picture do L TEX 2ε cont´m o comando e \qbezier, onde o “q” significa “quadr´tica”. A maior parte das curvas usaa das como c´ ırculos, elipses e outras podem ser aproximadas de forma satisfat´ria usando curvas de B´zier quadr´ticas, mesmo que obriguem a alguns o e a c´lculos matem´ticos. Por outro lado, se uma linguagem de programa¸˜o a a ca A como o Java for usada para gerar blocos \qbezier para documentos L TEX, o ambiente picture torna-se bastante poderoso. A Apesar da programa¸˜o de imagens directamente em L TEX seja bastante ca restrita, e normalmente bastante cansativa, existem boas raz˜es para o fao zer. Os documentos produzidos desta forma s˜o “pequenos” em rela¸˜o ao a ca tamanho ocupado, e n˜o s˜o necess´rios ficheiros extra. a a a A Pacotes como o epic e eepic (descritos, por exemplo, no The L TEX Comco panion [3]), ou pstricks ajudam a eliminar estas restri¸˜es substituindo o ambiente original picture, e melhorando significativamente o poder gr´fico a A X. do L TE

90

Produ¸˜o de Gr´ficos Matem´ticos ca a a Enquanto que os dois pacotes anteriores simplesmente melhoram o ambiente picture, o pstricks tem o seu pr´prio ambiente de desenho: pspicture. o O poder do pstricks vem do facto de que este pacote faz uso extensivo das potencialidades do PostScript. Outros pacotes tˆm vindo a ser escritos e para fins espec´ ıficos. Um destes ´ o X -pic, descrito no final deste cap´ e ıtulo. Y A Uma grande variedade destes pacotes ´ descrito em detalhe no The L TEX e A Graphics Companion [12] (n˜o confundir com o The L TEX Companion [3]). a A Porventura, a ferramenta mais poderosa para gr´ficos em L TEX ´ o a e MetaPost, o g´meo do METAFONT de Donald E. Knuth. O MetaPost inclu´ a e ı poderosa e sofisticada linguagem de programa¸˜o do METAFONT. No entanto, ca enquanto que o METAFONT gera mapas de bits (bitmaps), o MetaPost gera A ficheiros Encapsulated PostScript, que podem ser importadas no L TEX. Para uma introdu¸˜o leia o A User’s Manual for MetaPost [15], ou o tutorial ca em [17]. A Uma discuss˜o mais aprofundada das estrat´gias do L TEX e TEX para a e gr´ficos (e tipos de letra) pode ser encontrada em TEX Unbound [16]. a

5.2

O ambiente picture

By Urs Oswald <osurs@bluewin.ch>

5.2.1

Comandos B´sicos a

O ambiente picture1 ´ criado com um dos seguintes comandos e
\begin{picture}(x, y). . . \end{picture}

ou
\begin{picture}(x, y)(x0 , y0 ). . . \end{picture}

Os n´meros x, y, x0 , y0 referem-se ao \unitlength (comprimento da u unidade de desenho), que pode ser mudada em qualquer altura (fora dos ambientes picture com um comando semelhante a
\setlength{\unitlength}{1.2cm}

O valor por omiss˜o de \unitlength ´ 1pt. O primeiro par, (x, y), a e obriga a que se reserve, dentro do documento, do espa¸o rectangular para a c imagem. O segundo par (opcional), (x0 , y0 ), atribu´ coordenadas arbitr´rias ı a ao canto inferior esquerdo do rectˆngulo reservado. a
A Acredite ou n˜o, o ambiente picture funciona directamente, em L TEX 2ε standard, a sem necessitar de carregar qualquer pacote. 1

5.2 O ambiente picture Quase todos os comandos de desenho tˆm uma de duas formas e
\put(x, y){objecto}

91

ou
\multiput(x, y)(∆x, ∆y){n}{objecto}

As curvas de B´zier n˜o s˜o uma excep¸˜o. S˜o desenhadas com o coe a a ca a mando
\qbezier(x1 , y1 )(x2 , y2 )(x3 , y3 )

5.2.2

Segmentos de Recta

\setlength{\unitlength}{5cm} \begin{picture}(1,1) \put(0,0){\line(0,1){1}} \put(0,0){\line(1,0){1}} \put(0,0){\line(1,1){1}} \put(0,0){\line(1,2){.5}} \put(0,0){\line(1,3){.3333}} \put(0,0){\line(1,4){.25}} \put(0,0){\line(1,5){.2}} \put(0,0){\line(1,6){.1667}} \put(0,0){\line(2,1){1}} \put(0,0){\line(2,3){.6667}} \put(0,0){\line(2,5){.4}} \put(0,0){\line(3,1){1}} \put(0,0){\line(3,2){1}} \put(0,0){\line(3,4){.75}} \put(0,0){\line(3,5){.6}} \put(0,0){\line(4,1){1}} \put(0,0){\line(4,3){1}} \put(0,0){\line(4,5){.8}} \put(0,0){\line(5,1){1}} \put(0,0){\line(5,2){1}} \put(0,0){\line(5,3){1}} \put(0,0){\line(5,4){1}} \put(0,0){\line(5,6){.8333}} \put(0,0){\line(6,1){1}} \put(0,0){\line(6,5){1}} \end{picture} 

(   ¢  ¡ 7  (7   ¥¥ ¤¤ ££ ¢  ¡ 7   ¥ ¤ £ ¢  ¡  ( D ( ¥¤ £ ¢  ¡  7   D 5 ( D5 ¥ ¤ £ ¢  ¡   7   5& & D  ( ¥ ¤ £ ¢  ¡  7   5& D ( 5 ¥ ¤ £ ¢  ¡ 7  D&&4 4 5 ( ¥ ¤ £ ¢  ¡ 7  D&4¨ 544¨ ¨ ( D 7 ¥ ¤ £ ¢  ¡   5& 3 7 D  5&4 ¥¤ £ ¢ ¡ (  &4¨¨33 7 D  544 3 3  ¥¤£ ¢¡ ( &¨¨¨3 D $ 3  4 ( 5 ¥¤£¢¡7 &¨3$$$ 2 2 D 5 ( &433 7 4  ¨3¨$$222@@ @ ¥¤£¢¡ ¨$$$22@ D 5 &3 $22@@@ 4$$2@@ 7   @  3 ¥¤£¢¡( ¨22@   D 5 &  4 2 ( & $ 3 7 5 4 @ D 2    ¨$@  ¤¥¨$@ £  2 ¢ @ ¡ 3

92

Produ¸˜o de Gr´ficos Matem´ticos ca a a Os segmentos de recta s˜o desenhados com o comando a
\put(x, y){\line(x1 , y1 ){comprimento}}

O comando \line tem dois argumentos: 1. um vector direc¸˜o de direc¸˜o, ca ca 2. um comprimento. Os componentes do vector de direc¸˜o s˜o restritos aos inteiros ca a −6, −5, . . . , 5, 6, e tˆm de ser primos entre si (nenhum divisor comum excepto o 1). A figura e ilustra todas as 25 possibilidades de inclina¸˜o no primeiro quadrante. O ca comprimento ´ relativo ` unidade \unitlength. Este argumento ´ a coore a e denada vertical no caso de um segmento de recta vertical, e a coordenada horizontal em todos os outros casos.

5.2.3

Setas

\setlength{\unitlength}{1mm} \begin{picture}(60,40) \put(30,20){\vector(1,0){30}} \put(30,20){\vector(4,1){20}} \put(30,20){\vector(3,1){25}} \put(30,20){\vector(2,1){30}} \put(30,20){\vector(1,2){10}} \thicklines \put(30,20){\vector(-4,1){30}} \put(30,20){\vector(-1,4){5}} \thinlines \put(30,20){\vector(-1,-1){5}} \put(30,20){\vector(-1,-4){5}} \end{picture}

B ¨ ¨ ¡ ¨¨ I  g ¡ ¨ y ˆ ˆ ˆ ˆ X  $ ˆˆˆ g ¡¨¨¨ $$  ˆˆ$$$ g ¨ ¡ E   £ ©   £ £ £ £  £ g

y g g

! ¡ ¡

As setas s˜o desenhadas com o comando a
\put(x, y){\vector(x1 , y1 ){comprimento}}

Para setas, as componentes do vector de direc¸˜o s˜o ainda mais restritos ca a do que para segmentos de recta, nomeadamente aos inteiros −4, −3, . . . , 3, 4. Os componentes tamb´m tˆm de ser primos entre si. Note no efeito do e e comando \thicklines nas duas setas que apontam para o topo esquerdo.

5.2 O ambiente picture

93

5.2.4

C´ ırculos

\setlength{\unitlength}{1mm} \begin{picture}(60, 40) \put(20,30){\circle{1}} \put(20,30){\circle{2}} \put(20,30){\circle{4}} \put(20,30){\circle{8}} \put(20,30){\circle{16}} \put(20,30){\circle{32}} \put(40,30){\circle{1}} \put(40,30){\circle{2}} \put(40,30){\circle{3}} \put(40,30){\circle{4}} \put(40,30){\circle{5}} \put(40,30){\circle{6}} \put(40,30){\circle{7}} \put(40,30){\circle{8}} \put(40,30){\circle{9}} \put(40,30){\circle{10}} \put(40,30){\circle{11}} \put(40,30){\circle{12}} \put(40,30){\circle{13}} \put(40,30){\circle{14}} \put(15,10){\circle*{1}} \put(20,10){\circle*{2}} \put(25,10){\circle*{3}} \put(30,10){\circle*{4}} \put(35,10){\circle*{5}} \end{picture}

96 96 52 1( '$ # #   j e ˜ m j h e ˜   "! 0) "! &% 43 87 87 r u x z}

O comando
\put(x, y){\circle{diametro}}

desenha um c´ ırculo com centro em (x, y) e diˆmetro (n˜o o raio) diametro. a a O ambiente picture s´ admite diˆmetros at´ aproximadamente 14 mm, e o a e mesmo abaixo desse diˆmetro nem todos s˜o poss´ a a ıveis. O comando \circle* produz discos (c´ ırculos cheios). Como no caso dos segmentos de recta, poder´ ter de recorrer a outros a pacotes como eepic ou pstricks. Para uma descri¸˜o detalhada destes pacotes ca A consulte o The L TEX Graphics Companion [12]. Tamb´m existe a possibilidade de as fazer dentro de um ambiente picture e desde que n˜o tenha medo de fazer os c´lculos necess´rios (ou obrigar um a a a programa a fazˆ-los), usando curvas quadr´ticas de B´zier. Veja Graphics e a e A X 2ε [17] para exemplos de programas Java. in L TE

94

Produ¸˜o de Gr´ficos Matem´ticos ca a a

5.2.5

Textos e Formulas

\setlength{\unitlength}{1cm} \begin{picture}(6,5) \thicklines \put(1,0.5){\line(2,1){3}} \put(4,2){\line(-2,1){2}} \put(2,3){\line(-2,-5){1}} \put(0.7,0.3){$A$} \put(4.05,1.9){$B$} \put(1.7,2.95){$C$} \put(3.1,2.5){$a$} \put(1.3,1.7){$b$} \put(2.5,1.05){$c$} \put(0.3,4){$F= \sqrt{s(s-a)(s-b)(s-c)}$} \put(3.5,0.4){$\displaystyle s:=\frac{a+b+c}{2}$} \end{picture}

F =

s(s − a)(s − b)(s − c)

Cr  rr a r  rr  ¨ ¨ B b ¨  ¨¨  ¨¨ c a+b+c  ¨ ¨ s := A 2

Como este exemplo mostra, texto e f´rmulas podem ser escritas num o ambiente picture usando o comando \put da forma usual.

5.2.6

Os comandos \multiput e \linethickness

\setlength{\unitlength}{2mm} \begin{picture}(30,20) \linethickness{0.075mm} \multiput(0,0)(1,0){31}% {\line(0,1){20}} \multiput(0,0)(0,1){21}% {\line(1,0){30}} \linethickness{0.15mm} \multiput(0,0)(5,0){7}% {\line(0,1){20}} \multiput(0,0)(0,5){5}% {\line(1,0){30}} \linethickness{0.3mm} \multiput(5,0)(10,0){3}% {\line(0,1){20}} \multiput(0,5)(0,10){2}% {\line(1,0){30}} \end{picture}

O comando
\multiput(x, y)(∆x, ∆y){n}{objecto}

tem 4 argumentos: o ponto inicial, o vector de transla¸˜o de um objecto ca

5.2 O ambiente picture para o pr´ximo, o n´mero de objectos, e o objecto a ser desenhado. O o u comando \linethickness aplica-se a segmentos horizontais e verticais mas nunca a segmentos de recta obl´ ıquos ou c´ ırculos. No entanto, ´ aplicado a e curvas quadr´ticas de B´zier. a e

95

5.2.7

Ovais. Os comandos \thinlines e \thicklines

\setlength{\unitlength}{1cm} \begin{picture}(6,4) \linethickness{0.075mm} \multiput(0,0)(1,0){7}% {\line(0,1){4}} \multiput(0,0)(0,1){5}% {\line(1,0){6}} \thicklines \put(2,3){\oval(3,1.8)} \thinlines \put(3,2){\oval(3,1.8)} \thicklines \put(2,1){\oval(3,1.8)[tl]} \put(4,1){\oval(3,1.8)[b]} \put(4,3){\oval(3,1.8)[r]} \put(3,1.5){\oval(1.8,0.4)} \end{picture}

9 9 8 9 § ¦ 8

6

6

6 7 7 ¤ ¥ 7 7

8

O comando
\put(x, y){\oval(w, h)}

ou
\put(x, y){\oval(w, h)[posi¸˜o]} ca

produzem uma oval centrada em (x, y) com largura w e altura h. O argumento opcional posi¸˜o que pode ser um entre b, t, l, r, referem-se a “top” ca (topo), “bottom” (fundo), “left” (esquerda), “right” (direita), e podem ser combinados como o exemplo ilustra. A grossura das linhas pode ser controlada com dois tipos de comandos: \linethickness{comprimento} por um lado, \thinlines e \thicklines por outro. Enquanto que \linethickness{comprimento} s´ se aplica a o linhas verticais e horizontais (e curvas quadr´ticas de B´zier), \thinlines e a e \thicklines aplicam-se tamb´m a segmentos obl´ e ıquos assim como a c´ ırculos e ovais.

96

Produ¸˜o de Gr´ficos Matem´ticos ca a a

5.2.8

M´ ltiplos usos de caixas de imagem pr´-definidas u e

\setlength{\unitlength}{0.5mm} \begin{picture}(120,168) \newsavebox{\foldera}% declara¸~o ca \savebox{\foldera} (40,32)[bl]{% defini¸~o ca \multiput(0,0)(0,28){2} {\line(1,0){40}} \multiput(0,0)(40,0){2} {\line(0,1){28}} \put(1,28){\oval(2,2)[tl]} \put(1,29){\line(1,0){5}} \put(9,29){\oval(6,6)[tl]} \put(9,32){\line(1,0){8}} \put(17,29){\oval(6,6)[tr]} \put(20,29){\line(1,0){19}} \put(39,28){\oval(2,2)[tr]} } \newsavebox{\folderb}% declara¸~o ca \savebox{\folderb} (40,32)[l]{% defini¸~o ca \put(0,14){\line(1,0){8}} \put(8,0){\usebox{\foldera}} } \put(34,26){\line(0,1){102}} \put(14,128){\usebox{\foldera}} \multiput(34,86)(0,-37){3} {\usebox{\folderb}} \end{picture}

£ §

¤

 

£ §

¤

 

£ §

¤

 

£ §

¤

 

Uma caixa de imagem pode ser declarada pelo comando
\newsavebox{nome}

e posteriormente definida por
\savebox{nome}(largura,altura)[posi¸˜o]{conte´do} ca u

e finalmente, desenhada arbitrariamente usando
\put(x, y)\usebox{nome}

O argumento opcional posi¸˜o tem o efeito de definir o ponto de ˆncora ca a da caixa a guardar. No exemplo, ´ colocado com o valor bl que coloca a e a ˆncora no canto inferior esquerdo da caixa. Os outros especificadores de localiza¸˜o s˜o top (topo) e right (direita). ca a

5.2 O ambiente picture O argumento nome refere-se a um nome a guardar numa das caixas do A L TEX e portante ´ de natureza semelhante a um comando (o que obrigou `s e a barras invertidas do exemplo). As caixas com imagem podem ser aninhadas: neste exemplo, o \foldera ´ usado dentro da defini¸˜o do \folderb. e ca O comando \oval n˜o ir´ funcionar se o comprimento do segmento ´ a a e menor que cerca de 3 mm.

97

5.2.9

Curvas de B´zier Quadr´ticas e a

\setlength{\unitlength}{1cm} \begin{picture}(6,4) \linethickness{0.075mm} \multiput(0,0)(1,0){7} {\line(0,1){4}} \multiput(0,0)(0,1){5} {\line(1,0){6}} \thicklines \put(0.5,0.5){\line(1,5){0.5}} \put(1,3){\line(4,1){2}} \qbezier(0.5,0.5)(1,3)(3,3.5) \thinlines \put(2.5,2){\line(2,-1){3}} \put(5.5,0.5){\line(-1,5){0.5}} \linethickness{1mm} \qbezier(2.5,2)(5.5,0.5)(5,3) \thinlines \qbezier(4,2)(4,3)(3,3) \qbezier(3,3)(2,3)(2,2) \qbezier(2,2)(2,1)(3,1) \qbezier(3,1)(4,1)(4,2) \end{picture}

$ $$$ $$ h ¤ ¤ h ¤ h rr ¤ h r rr ¤ h r ¤ rr h r ¤ h

Como este exemplo ilustra, dividir um c´ ırculo em 4 curvas quadr´ticas a de B´zier n˜o ´ satisfat´rio. Pelo menos s˜o precisas 8. A figura mostra e a e o a o efeito do comando \linethickness em linhas horizontais ou verticais, e o efeito dos comandos \thinlines e \thicklines em segmentos de recta obl´ ıquos. Tamb´m mostra que ambos os tipos de comando afectam as curvas e quadr´ticas de B´zier, cada comando substituindo todos os anteriores. a e Se P1 = (x1 , y1 ), P2 = (x2 , y2 ) representarem os extremos, e m1 , m2 as respectiva curvatura de uma curva quadr´tica de B´zier, o ponto interm´dio a e e de controlo S = (x, y) ´ dado pelas equa¸˜es e co  m2 x2 − m1 x1 − (y2 − y1 )  x = , (5.1) m2 − m1  y = y + m (x − x ) (i = 1, 2).
i i i A Veja o Graphics in L TEX 2ε [17] para um programa em Java que gera os comandos \qbezier necess´rios. a

98

Produ¸˜o de Gr´ficos Matem´ticos ca a a

5.2.10

“Par´bolas” a

\setlength{\unitlength}{1.3cm} \begin{picture}(4.3,3.6)(-2.5,-0.25) \put(-2,0){\vector(1,0){4.4}} \put(2.45,-.05){$x$} \put(0,0){\vector(0,1){3.2}} \put(0,3.35){\makebox(0,0){$y$}} \qbezier(0.0,0.0)(1.2384,0.0) (2.0,2.7622) \qbezier(0.0,0.0)(-1.2384,0.0) (-2.0,2.7622) \linethickness{.075mm} \multiput(-2,0)(1,0){5} {\line(0,1){3}} \multiput(-2,0)(0,1){4} {\line(1,0){4}} \linethickness{.2mm} \put( .3,.12763){\line(1,0){.4}} \put(.5,-.07237){\line(0,1){.4}} \put(-.7,.12763){\line(1,0){.4}} \put(-.5,-.07237){\line(0,1){.4}} \put(.8,.54308){\line(1,0){.4}} \put(1,.34308){\line(0,1){.4}} \put(-1.2,.54308){\line(1,0){.4}} \put(-1,.34308){\line(0,1){.4}} \put(1.3,1.35241){\line(1,0){.4}} \put(1.5,1.15241){\line(0,1){.4}} \put(-1.7,1.35241){\line(1,0){.4}} \put(-1.5,1.15241){\line(0,1){.4}} \put(-2.5,-0.25){\circle*{0.2}} \end{picture}

y T

v

Ex

Nesta figura, cada metade sim´trica da “par´bola” y = cosh x − 1 ´ e a e aproximada por uma curva quadr´tica de B´zier. A metade do lado dia e reito da curva termina no ponto (2, 2.7622), com a inclina¸˜o com valor ca m = 3.6269. Usando de novo a equa¸˜o (5.1), podemos calcular os pontos ca interm´dios de controlo: (1.2384, 0) e (−1.2384, 0). As cruzes indicam pone tos da “par´bola” real. O erro quase que passa despercebido, sendo menor a do que um por cento. Este exemplo mostra o uso do argumento opcional do comando \begin{picture}. A figura ´ definida em coordenadas matem´ticas, pelo que o comando e a
\begin{picture}(4.3,3.6)(-2.5,-0.25)

faz com que o seu canto inferior esquerdo (marcado pelo disco preto) esteja nas coordenadas (−2.5, −0.25).

5.3 X -pic Y

99

5.2.11

Rapidamente a teoria da Relatividade

\setlength{\unitlength}{1cm} \begin{picture}(6,4)(-3,-2) \put(-2.5,0){\vector(1,0){5}} \put(2.7,-0.1){$\chi$} \put(0,-1.5){\vector(0,1){3}} \multiput(-2.5,1)(0.4,0){13} {\line(1,0){0.2}} \multiput(-2.5,-1)(0.4,0){13} {\line(1,0){0.2}} \put(0.2,1.4) {$\beta=v/c=\tanh\chi$} \qbezier(0,0)(0.8853,0.8853) (2,0.9640) \qbezier(0,0)(-0.8853,-0.8853) (-2,-0.9640) \put(-3,-2){\circle*{0.2}} \end{picture}

β = v/c = tanh χ T

E χ

u

Os pontos de controlo das duas curvas de B´zier s˜o calculadas com e a f´rmulas (5.1). O ramo positivo ´ determinado por P1 = (0, 0), m1 = 1 e o e P2 = (2, tanh 2), m2 = 1/ cosh2 2. De novo, a figura ´ definida em coordee nadas matem´ticas convenientes, e o canto inferior esquerdo ´ colocado nas a e coordenadas (−3, −2) (disco preto).

5.3

X -pic Y

By Alberto Manuel Brand˜o Sim˜es <albie@alfarrabio.di.uminho.pt> a o

xy ´ um pacote especial para desenhar diagramas. Para o usar, adicione e a seguinte linha ao preˆmbulo do seu documento: a
\usepackage[op¸˜es]{xy} co

onde op¸˜es ´ a lista de fun¸˜es do X -pic que quer usar. Estas op¸˜es co e co co Y s˜o especialmente uteis para encontrar erros no pacote. Pessoalmente, rea ´ A comendo a op¸˜o all que indica ao L TEX para carregar todos os comandos ca dispon´ ıveis no X . Y Os diagramas X -pic s˜o desenhados numa tela orientada ` matriz, onde a a Y cada elemento do diagrama ´ colocado numa das posi¸˜es da matriz: e co

\begin{displaymath} \xymatrix{A & B \\ C & D } \end{displaymath}

A

B

C

D

100

Produ¸˜o de Gr´ficos Matem´ticos ca a a O comando \xymatrix deve ser usado sempre em modo matem´tico. a Aqui, especificamos duas linhas e duas colunas. Para converter esta matriz num diagrama podemos adicionar algumas linhas direccionais usando o comando \ar.

\begin{displaymath} \xymatrix{ A \ar[r] & B \ar[d] \\ D \ar[u] & C \ar[l] } \end{displaymath}

A O Do

/B  C

O comando para desenhar a seta ´ colocado na c´lula de origem da seta. e e O argumento ´ a direc¸˜o para a qual a seta deve apontar: esquerda (left), e ca direita (right), cima (up) ou para baixo (down).
\begin{displaymath} \xymatrix{ A \ar[d] \ar[dr] \ar[r] & B \\ D & C } \end{displaymath} /B A@ @@ @@ @@  D C

Para criar diagonais, junte mais do que uma direc¸˜o. De facto, at´ pode ca e repetir direc¸˜es para criar setas mais compridas. co
\begin{displaymath} \xymatrix{ A \ar[d] \ar[dr] \ar[drr] & & \\ B & C & D } \end{displaymath} P A @PP @@ PPP @@ PPP @@ PPP PP'   B C D

Podemos desenhar diagramas ainda mais interessantes adicionando etiquetas `s setas. Para isto, usamos os operadores habituais para expoentes a e´ ındices.
\begin{displaymath} \xymatrix{ A \ar[r]^f \ar[d]_g & B \ar[d]^{g’} \\ D \ar[r]_{f’} & C } \end{displaymath}
f

A
g

/B  /C
g 

D

f

Como mostrado, usa estes operadores como em modo matem´tico. A a unica diferen¸a ´ que o expoente significa “em cima da seta,” e ´ ´ c e ındice significa “por baixo da seta.” Existe ainda um terceiro operador, a barra vertical: | que coloca o texto dentro da seta.

5.3 X -pic Y
\begin{displaymath} \xymatrix{ A \ar[r]|f \ar[d]|g & B \ar[d]|{g’} \\ D \ar[r]|{f’} & C } \end{displaymath}

101

A
g

f

/B  /C
g 

D

f

Para desenhar uma seta com um buraco, use \ar[...]|\hole. Em algumas situa¸˜es, ´ importante distinguir entre diferentes tipos co e de setas. Isto pode ser feito colocando-lhe etiquetas, ou mudando a sua aparˆncia: e
/• o•

• \shorthandoff{"} \begin{displaymath} \xymatrix{ \bullet\ar@{->}[rr] && \bullet\\ \bullet\ar@{.<}[rr] && \bullet\\ \bullet\ar@{~)}[rr] && \bullet\\ \bullet\ar@{=(}[rr] && \bullet\\ \bullet\ar@{~/}[rr] && \bullet\\ \bullet\ar@{^{(}->}[rr] && \bullet\\ \bullet\ar@2{->}[rr] && \bullet\\ \bullet\ar@3{->}[rr] && \bullet\\ \bullet\ar@{=+}[rr] && \bullet } \end{displaymath} \shorthandon{"}

• /o /o /o /o /o /o /o ? _ • •  •

• /o /o /o /o /o /o /o  • •  /• +3 • _*4 •  _•

Note a diferen¸a entre os seguintes dois diagramas: c
\begin{displaymath} \xymatrix{ \bullet \ar[r] \ar@{.>}[r] & \bullet } \end{displaymath}

/•

102
\begin{displaymath} \xymatrix{ \bullet \ar@/^/[r] \ar@/_/@{.>}[r] & \bullet } \end{displaymath}

Produ¸˜o de Gr´ficos Matem´ticos ca a a

(

6•

Os modificadores entre as barras define a forma como as curvas s˜o a desenhadas. O X -pic oferece muitas mais formas de influenciar o desenho Y das curvas; para mais informa¸˜o, veja a documenta¸˜o e o tutorial de X ca ca Y pic.

Cap´ ıtulo 6 A Configurar o L TEX
Os documentos produzidos usando os comandos apresentados at´ aqui parecer˜o e a aceit´veis a uma grande audiˆncia. N˜o seguem um estilo muito trabalhado, a e a mas obedecem `s regras estabelecidas como correctas para um bom documento, a e que far˜o o documento agrad´vel e agrad´vel de ler. a a a A No entanto, existem situa¸˜es onde o LTEX n˜o disp˜e de comandos ou co a o ambientes que satisfa¸am as suas necessidades, ou o resultado produzido por c um comando j´ existente n˜o est´ de acordo com os seus requisitos. a a a Este cap´ ıtulo tentar´ dar algumas ideias sobre como ensinar novos truques a A ao LTEX e como fazˆ-lo produzir resultados que s˜o diferentes aos dispon´ e a ıveis de ra´ ız.

6.1

Novos Comandos, Ambientes e Pacotes

Deve ter reparado que todos os comandos que introduzi neste livro s˜o aprea sentados numa caixa, e que aparecem no ´ ındice no fim do livro. Em vez de A usar directamente os comandos L TEX necess´rios para obter este resultado, a criei um pacote no qual defini novos comandos e ambientes para este fim. Agora, escrevo simplesmente:
\begin{lscommand} \ci{dum} \end{lscommand}

\dum

Neste exemplo estou a utilizar quer um novo ambiente chamado lscommand, que ´ respons´vel por desenhar a caixa ` volta do comando, e um novo coe a a mando denominado \ci que escreve o nome do comando e tamb´m coloca e a entrada correspondente no ´ ındice. Pode verificar isto olhando para o comando \dum no ´ ındice no fim deste livro, onde aparecer´ uma entrada para a \dum, apontando cada uma das p´ginas onde mencionei o comando \dum. a

104

A Configurar o L TEX

Se decidir que j´ n˜o gosto que os comandos sejam escritos numa caixa, a a posso alterar simplesmente a defini¸˜o do ambiente lscommand para criar ca uma nova aparˆncia. Isto ´ muito mais f´cil do que andar por todo o doe e a cumento ` ca¸a de todos os lugares onde usei alguns comandos gen´ricos a c e A X para desenhar uma caixa ` volta de algumas palavras. L TE a

6.1.1

Novos Comandos

Para adicionar os seus pr´prios comandos, use o comando o
\newcommand{nome}[num]{defini¸˜o} ca

Basicamente, o comando necessita de dois argumentos: o nome do comando que quer criar, e a defini¸˜o do comando. O argumento num em parˆntesis ca e rectos ´ opcional e especifica o n´mero de argumentos que o novo comando e u recebe (s˜o poss´ a ıveis at´ 9). Se n˜o especificar, o valor utilizado ´ 0, ou seja, e a e nenhum argumento ´ permitido. e Os dois exemplos seguintes devem ajudar a apanhar a ideia. O primeiro exemplo define um novo comando chamado \npil. Este ´ um atalho para e A “A N˜o T˜o Pequena Introdu¸˜o ao L TEX 2ε .” Um comando deste g´nero a a ca e pode tornar-se util se precisa de escrever o t´ ´ ıtulo deste livro muitas e muitas vezes.
\newcommand{\npil}{A N~o a T~o Pequena Introdu¸~o ao a ca \LaTeXe} Esta ´ a ‘‘\npil’’ \ldots{} e ‘‘\npil’’ Esta ´ a “A N˜o T˜o Pequena Introdu¸˜o e a a ca A ao L TEX 2ε ” . . . “A N˜o T˜o Pequena Ina a A trodu¸ao ao L TEX 2ε ” c˜

O pr´ximo exemplo ilustra a defini¸˜o de um novo comando que reo ca cebe um argumento. A etiqueta #1 vai ser substitu´ pelo argumento que ıda especificar. Se quiser usar mais do que um argumento, use #2 e assim sucessivamente.
\newcommand{\txsit}[1] {Esta ´ a \emph{#1} Pequena e Introdu¸~o ao \LaTeXe} ca % no corpo do documento: \begin{itemize} \item \txsit{N~o T~o} a a \item \txsit{Muito} \end{itemize}

ˆ Esta ´ a N˜o T˜o Pequena Introdu¸˜o e a a ca A ao L TEX 2ε ˆ Esta ´ a Muito Pequena Introdu¸˜o ao e ca A L TEX 2ε

A L TEX n˜o permite que crie um novo comando que substitua um j´ exisa a tente. Mas, existe um comando especial no caso de querer fazer isto. Nesse caso, use explicitamente o comando \renewcommand que funciona da mesma forma que o comando \newcommand.

6.1 Novos Comandos, Ambientes e Pacotes Em alguns casos, pode querer usar o comando \providecommand que A funciona como o \newcommand, mas se o comando j´ existir, o L TEX ir´ a a ignora-lo silenciosamente. Existem alguns pontos a tomar em conta quando existem espa¸os ap´s c o A X. Veja a p´gina 5 para mais informa¸˜o. comandos L TE a ca

105

6.1.2

Novos Ambientes

Tal como com o comando \newcommand, existe tamb´m um comando para e criar os seus pr´prios ambientes. O comando \newenvironment usa a seo guinte sintaxe:
\newenvironment{nome}[num]{antes}{depois}

De novo, o comando \newcommand pode usar \newenvironment com um argumento opcional. O material especificado no argumento antes, ´ procese sado antes do texto incluso no ambiente seja processado. O conte´do do u argumento depois ´ processado quando o comando \end{nome} ´ encone e trado. O seguinte exemplo ilustra a utiliza¸˜o do comando \newenvironment. ca
\newenvironment{king} {\rule{1ex}{1ex}% \hspace{\stretch{1}}} {\hspace{\stretch{1}}% \rule{1ex}{1ex}} \begin{king} Os meus pensamentos \ldots \end{king}

Os meus pensamentos . . .

O argumento num ´ usado da mesma forma que o do \newcommand. e O e a a EX tamb´m n˜o permite que defina um ambiente que j´ exista. Se por alguma raz˜o quiser mudar um ambiente j´ existente, pode fazˆ-lo a a e com o comando \renewenvironment que usa a mesma sintaxe do comando \newenvironment. O comando usado neste exemplo ir´ ser explicado mais tarde: Para o a comando \rule veja a p´gina 119, para \stretch v´ ` p´gina 113, e mais a aa a informa¸˜o sobre \hspace pode ser encontrada na p´gina 112. ca a
A LT

6.1.3

Expa¸o Extra c

Ao criar um novo ambiente poder´ vir a ser mordido por espa¸os extra, que a c o ir˜o fazer tremer, e que potencialmente ter˜o efeitos mort´ a a ıferos. Por exemplo, quando desejar criar um ambiente de t´ ıtulo que remove a sua pr´pria o indenta¸˜o assim como a do pr´ximo par´grafo. O comando \ignorespaces ca o a

106

A Configurar o L TEX

no bloco de in´ ıcio da defini¸˜o do ambiente ir´ ignorar qualquer espa¸o ca a c ap´s a sua execu¸˜o. O bloco final da defini¸˜o ´ ligeiramente mais complio ca ca e cado, visto que algum processamento especial ocorre no final do ambiente. A Com o comando \ignorespacesafterend o L TEX ir´ colocar o comando a \ignorespaces depois do processamento especial de final de ambiente ter ocorrido.
\newenvironment{simples}% {\noindent}% {\par\noindent} \begin{simples} Ver o espa¸o\\` esquerda. c a \end{simples} O mesmo\\aqui.

Ver o espa¸o c a ` esquerda. O mesmo aqui.

\newenvironment{correcto}% {\noindent\ignorespaces}% {\par\noindent\ignorespacesafterend} \begin{correcto} Sem espa¸os\\` esquerda. c a \end{correcto} O mesmo\\aqui.

Sem espa¸os c a ` esquerda. O mesmo aqui.

6.1.4

A A linha de comando do L TEX

Se trabalhar num sistema operativo tipo Unix, poder´ usar Makefiles para a A construir os seus projectos L TEX. Nesta liga¸˜o poder´ ser interessante ca a A produzir vers˜es diferentes do mesmo documento chamando o L TEX com o parˆmetros diferentes de linha de comando. Se adicionar a seguinte estrutura a ao seu documento: \usepackage{ifthen} \ifthenelse{\equal{\blackandwhite}{true}}{ % Modo "preto e branco"; fazer qualquer coisa... }{ % Modo "a cores"; fazer qualquer coisa diferente... }
A Agora se invocar o L TEX desta forma:

latex ’\newcommand{\blackandwhite}{true}\input{test.tex}’ Primeiro, o comando \blackandwhite ser´ definido, e depois, o ficheiro a A ser´ lido Desta forma, ao definir o \blackandwhite estar´ a indicar ao L TEX a a que vai querer produzir a vers˜o a cores do documento. a

6.2 Letras e Tamanhos

107

6.1.5

O Seu Pr´prio Pacote o

Se definir um grande n´mero de novos comandos e ambientes, o preˆmbulo u a do seu documento ficar´ bastante longo. Nesta situa¸˜o, ´ a boa ideia criar a ca e A um pacote L TEX contendo todas as suas defini¸˜es de comandos e ambienco tes. Depois pode usar o comando \usapackage para tornar as defini¸˜es co dispon´ ıveis no seu documento. % Pacote de Demonstra¸~o por Tobias Oetiker ca \ProvidesPackage{demopack} \newcommand{\npil}{A n~o t~o Pequena Introdu¸~o ao \LaTeXe} a a ca \newcommand{\txsit}[1]{A \emph{#1} T~o a Introdu¸~o ao \LaTeXe} ca \newenvironment{king}{\begin{quote}}{\end{quote}}

Figura 6.1: Pacote de Exemplo. Escrever um pacote consiste basicamente em copiar o conte´do do preˆmbulo u a do seu documento para um ficheiro separado com um nome com a extens˜o a .sty. Existe um comando especial
\ProvidesPackage{nome do pacote}

para usar no topo do seu pacote. O comando \ProvidesPackage indica A ao L TEX o nome do pacote e ir´ permitir que apresente mensagens de erro a quando tentar incluir mais do que uma vez um pacote. A figura 6.1 mostra um pequeno exemplo de um pacote que cont´m os comandos definidos nos e exemplos anteriores.

6.2
6.2.1

Letras e Tamanhos
Tipos de letra

A O L TEX escolhe os tipos de letra e respectivos tamanhos apropriados baseandose na estrutura l´gica do documento (sec¸˜es, notas de rodap´, . . . ). Em o co e alguns casos, pode desejar mudar os tipos ou tamanho de letras ` m˜o. Para a a fazer isto, pode usar os comandos listados nas tabelas 6.1 e 6.2. O tamanho de cada tipo de letra ´ uma defini¸˜o que depende na classe de documento e ca e nas suas op¸˜es. A tabela 6.3 mostra o tamanho absoluto em pontos para co estes comandos como implementados nas classes standard.

{\small Os pequenos e \textbf{gordos} Romanos mandaram} {\Large em toda a grande \textit{It´lia}.} a

Os pequenos e gordos Romanos mandaram

em toda a grande It´lia. a

108

A Configurar o L TEX

A Uma propriedade importante do L TEX 2ε ´ que os atributos de letras s˜o e a independentes. Isto significa que pode mandar alterar o tipo ou tamanho de letra e, no entanto, manter os atributos de bold ou it´lico que tinha feito a anteriormente. Em modo matem´tico pode usar os comandos de mudan¸a de letra para a c sair temporariamente do modo matem´tico e entrar em texto normal. Se a precisar de mudar para outro tipo de letra para escrever matem´tica, existe a outro conjunto de comandos especiais: consulte a tabela 6.4. Em liga¸˜o com os comandos de mudan¸a de tamanho, as chavetas tˆm ca c e um papel bastante importante. S˜o usados para construir grupos. Os grupos a A limitam a zona de quase todos os comandos L TEX.

Ele gosta de letras {\LARGE grandes e {\small pequenas}}.

Ele gosta de letras

grandes e pequenas.

Os comandos de mudan¸a de tamanho de letra tamb´m mudam o espa¸amento c e c entre linhas, mas apenas se o par´grafo acaba dentro do alcance do comando a de mudan¸a de tamanho. A chaveta a fechar } n˜o deve, portanto, aparecer c a cedo demais. Note a posi¸˜o do comando \par nos dois exemplos seguintes. ca

Tabela 6.1: Letras. \textrm{...} \texttt{...} \textmd{...} \textup{...} \textsl{...} \emph{...} romano a ` maquina m´dio e em p´ e para a frente salientado \textsf{...} \textbf{...} \textit{...} \textsc{...} \textnormal{...} sans serif tipo gordo it´lico a ´ pequenas maiusculas texto normal

Tabela 6.2: Tamanho de Letra. \tiny \scriptsize \footnotesize \small \normalsize \large
letra min´ scula u

\Large \LARGE \huge \Huge

letras maiores

letra muito pequena

letra bastante pequena

letras muito grandes

letra pequena

tamanho normal

letras enormes

letras largas

as maiores

6.2 Letras e Tamanhos

109

Tabela 6.3: Tamanhos Absolutos nas Classes Padr˜o. a tamanho \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge 10pt (omiss˜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 6.4: Letras Matem´ticas. a \mathrm{...} \mathbf{...} \mathsf{...} \mathtt{...} \mathit{...} \mathcal{...} \mathnormal{...} Tipo Romano Tipo Negrito Tipo Sans Serif Tipo dactilografo Tipo Italico TIPO CALIGRAFICO T ipo N ormal

110
1

A Configurar o L TEX

{\Large N~o leia isto! Isto n~o ´ a a e verdade. Tem de acreditar em mim!\par}

N˜o leia isto! Isto n˜o ´ vera a e dade. Tem de acreditar em mim!

{\Large Isto tamb´m n~o ´ verdade. e a e Mas lembre-se que sou um mentiroso.}\par

Isto tamb´m n˜o ´ verdade. e a e Mas lembre-se que sou um mentiroso.

Se quer activar o comando de mudan¸a de tamanho de letra para um c par´grafo inteiro de texto ou mesmo mais, deve usar a sintaxe de ambiente a para estes comandos.
\begin{Large} Isto n~o ´ verdade. a e Mas mais uma vez, o que s~o a estes dias \ldots \end{Large}

Isto n˜o ´ verdade. Mas mais a e uma vez, o que s˜o estes dias . . . a

Isto ir´ facilitar a contagem das muitas chavetas. a

6.2.2

Perigo, Will Robinson, Perigo

Como foi referido no in´ deste cap´ ıcio ıtulo, ´ perigoso infestar os seus docue mentos com comandos expl´ ıcitos como estes, porque funcionam em oposi¸˜o ca A a ` ideia b´sica do L TEX, que ´ separar a estrutura l´gica e visual dos docua e o mentos. Isto significa que se usar o mesmo comando de mudan¸a de letra c em v´rios s´ a ıtios de forma a desenhar um tipo especial de informa¸˜o, deve ca usar o \newcommand para definir um “comando l´gico” para o comando de o mudan¸a de letras. c
\newcommand{\oops}[1]{\textbf{#1}} N~o \oops{entre} neste quarto, a est´ ocupado por uma \oops{m´quina} a a de origem e objectivos desconhecidos. N˜o entre neste quarto, est´ ocupado por a a uma m´quina de origem e objectivos descoa nhecidos.

Esta abordagem tem a vantagem de que pode decidir mais tarde se quer utilizar uma outra representa¸˜o visual do perigo sem ser o \textbf sem ter ca de alterar todo o seu documento, identificando as ocorrˆncias de \textbf e e descobrindo, para cada uma, de ´ ou n˜o um dos casos em que est´ a e a a apontar perigo, ou se foi usado por qualquer outra raz˜o. a
1

\par ´ equivalente a uma linha em branco e

6.3 Espa¸amento c

111

6.2.3

Aviso

Para concluir esta jornada na terra das letras, aqui est´ uma pequena palavra a de aviso: Lembre-se

! QUANTOS MA IS tipos de letra vocˆ e
o mais leg´ ıvel e bonito ele ficara

usar

num documento,

!

6.3
6.3.1

Espa¸amento c
Espa¸o entre linhas c

Se quer usar um espa¸o maior entre linhas num documento, pode alterar o c seu valor colocando o comando
\linespread{factor }

no preˆmbulo do seu documento. Use \linespread{1.3} para um espa¸amento a c de “um e meio”, e \linespread{1.6} para um espa¸amento “duplo”. Norc malmente as linhas n˜o est˜o espalhadas, pelo que o factor por omiss˜o a a a ´ 1. e Note que o efeito do comando \linespread ´ demasiado dr´stico e n˜o e a a ´ apropriado para trabalho publicado. Se tem uma boa raz˜o para mudar o e a espa¸amento entre linhas poder´ preferir o comando: c a
\setlength{\baselineskip}{1.5\baselineskip}

{\setlength{\baselineskip}% {1.5\baselineskip} Este par´grafo est´ escrito com a a um intervalo de 1.5 vezes maior do que o valor anterior. Repare no comando ’par’ no final do par´grafo.\par} a Este par´grafo tem um objectivo a claro: mostra que depois de fechar a chaveta tudo voltou ao normal.

Este par´grafo est´ escrito com um intera a valo de 1.5 vezes maior do que o valor anterior. Repare no comando ’par’ no final do par´grafo. a Este par´grafo tem um objectivo claro: mosa tra que depois de fechar a chaveta tudo voltou ao normal.

6.3.2

Formata¸˜o de Par´grafos ca a

A No L TEX, existem dois parˆmetros que influenciam o formato dos par´grafos. a a Ao colocar uma defini¸˜o como ca

112

A Configurar o L TEX

\setlength{\parindent}{0pt} \setlength{\parskip}{1ex plus 0.5ex minus 0.2ex} no preˆmbulo do seu documento, pode alterar o formado dos par´grafos. a a Estes dois comandos aumentam o espa¸o entre dois par´grafos colocando a c a indenta¸˜o a zero. ca As partes plus e minus do comprimento acima instrui o TEX de que pode comprimir e expandir o espa¸amento entre par´grafos pela quantidade c a especificada se for necess´rio para colocar os par´grafos de forma correcta a a na p´gina. a Na Europa continental, os par´grafos s˜o, normalmente, separados por a a algum espa¸o a mais e n˜o indentados. Mas, cuidado, isto tamb´m afecta a c a e tabela de conte´dos. As suas linhas ir˜o aparecer mais espa¸adas. Para isto u a c n˜o acontecer, pode mover os dois comandos do preˆmbulo at´ a um ponto a a e do seu documento ap´s o \tableofcontents ou, simplesmente, n˜o os usar o a de todo, porque ir´ reparar que a maior parte dos livros profissionais usam a indenta¸˜o e n˜o espa¸o para separar os par´grafos. ca a c a Se quer indentar um par´grafo que n˜o o est´, pode usar o comando a a a
\indent

no in´ do par´grafo.2 Obviamente, isto ir´ apenas afectar o texto quando ıcio a a o \parindent n˜o est´ a zero. a a Para criar um par´grafo n˜o indentado, pode usar a a
\noindent

como o primeiro comando do par´grafo. Isto pode ser util quando come¸a a ´ c um documento com texto e n˜o com um comando que seccione o documento. a

6.3.3

Espa¸o Horizontal c

A O L TEX determina os espa¸os entre palavras e frases automaticamente. Para c adicionar espa¸o adicional, use: c

\hspace{comprimento}

Se um destes espa¸os deve ser mantido mesmo que atinja o fim ou in´ c ıcio duma linha, use \hspace* em vez de \hspace. O comprimento ´, no e caso mais simples, apenas um n´mero e uma unidade. As unidades mais u importantes est˜o listadas na tabela 6.5. a
Para indentar o primeiro par´grafo ap´s cada t´ a o ıtulo de sec¸˜o, use o pacote indentfirstq ca que vem no conjunto de pacotes ‘tools’
2

6.3 Espa¸amento c

113

Tabela 6.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 polegada ≈ 1 mm 3 aprox largura de um ‘M’ no tipo de letra actual aprox altura de um ‘x’ no tipo de letra actual

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 especial. Ele estica at´ que todo o espa¸o restante na linha c e c fique completo. Se dois comandos \hspace{\stretch{n}} forem invocados na mesma linha, ir˜o crescer de acordo com o factor indicado. a
x\hspace{\stretch{1}} x\hspace{\stretch{3}}x x x x

Quando se usa espa¸o horizontal juntamente com texto, pode fazer senc tido obrigar o espa¸o a ajustar-se relativamente ao tamanho actual do tipo c de letra. Pode fazer isto usando unidades relativas ao texto: em e ex.
{\Large{}gran\hspace{1em}de}\\ {\tiny{}peque\hspace{1em}no}

gran de
peque no

6.3.4

Espa¸o Vertical c

O espa¸o entre par´grafos, sec¸˜es, subsec¸˜es, . . . ´ determinado automatic a co co e A camente pelo L TEX. Se necess´rio, pode adicionar espa¸o vertical adicional a c entre dois par´grafos com o comando: a
\vspace{comprimento}

Este comando deve ser normalmente usado entre duas linhas vazias. Se o espa¸o deve ser preservado no inicio ou no fim de uma p´gina, utilize a c a vers˜o estrelada do comando: \vspace* em vez de \vspace. a

114

A Configurar o L TEX

O comando \stretch em conex˜o com o comando \pagebreak pode ser a usado para imprimir texto na ultima linha de uma p´gina, ou para centrar ´ a texto verticalmente numa p´gina. a Algum texto \ldots \vspace{\stretch{1}} Isto aparece 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
\\[comprimento]

Com \bigskip e \smallskip pode saltar uma quantidade pr´ definida e de espa¸o vertical sem ter de se preocupar com os n´meros exactos. c u

6.4

Formato da P´gina a

A O L TEX 2ε permite especificar o tamanho do papel no comando \documentclass. Depois, automaticamente selecciona as margens de texto correctas. Mas, por vezes, pode n˜o estar contente com os valores pr´-definidos. Naturalmente, a e pode os alterar. A figura 6.2 mostra todos os parˆmetros que podem ser a alterados. A figura foi produzida com o pacote layout do conjunto ‘tools’.3 ESPERE! . . . antes de se lan¸ar freneticamente a “Toca a fazer as c p´ginas estreitas um pouco mais largas”, tire alguns segundos para pena sar. Como na maioria dos casos, existe uma boa raz˜o para que o formato a da p´gina seja o que ´. a e Claro, comparado com a sua p´gina tirada do MS Word, parece muito a mais estreita. Mas dˆ uma olhadela ao seu livro favorito4 e conte o n´mero e u de caracteres numa linha de texto normal. Ir´ notar que n˜o existem mais a a do que 66 caracteres em cada linha. Agora, fa¸a o mesmo nas p´ginas do c a A seu documento L TEX. A experiˆncia mostra que a leitura se torna dif´ e ıcil assim que existem mais caracteres numa unica linha. Isto ´ porque ´ dif´ ´ e e ıcil aos olhos mover do fim de uma linha para o inicio da pr´xima. Esta tamb´m o e ´ a raz˜o pela qual os jornais s˜o escritos em m´ltiplas colunas. e a a u Ent˜o, se aumentar a largura do texto do seu livro, lembre-se que est´ a a a tornar a vida mais dif´ aos seus leitores. Mas chega de avisos, prometi ıcil que dizia como se faz isso . . . A O L TEX disp˜e de dois comandos para mudar estes parˆmetros. S˜o o a a usados normalmente no preˆmbulo do documento. a
3 4

macros/latex/required/tools Quero dizer, um livro realmente produzido por uma editora de reputa¸˜o. ca

6.4 Formato da P´gina a

115

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 T i 11

8

i c

E

Footer

1 3 5 7 9 11

one inch + \hoffset \oddsidemargin = 22pt or \evensidemargin \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 6.2: Parˆmetros do Formato de P´gina. a a

116

A Configurar o L TEX

O primeiro comando atribu´ um valor fixo a qualquer um dos parˆmetros: ı a

\setlength{parˆmetro}{comprimento} a

O segundo comando adiciona um valor a qualquer um dos parˆmetros: a

\addtolength{parˆmetro}{comprimento} a

Este segundo comando ´, normalmente, mais util que o \setlength e ´ porque pode funcionar de uma forma relativa aos valores j´ existentes. Para a adicionar um cent´ ımetro para a largura normal do texto, utilize o comando seguinte no preˆmbulo do seu documento: a

\addtolength{\hoffset}{-0.5cm} \addtolength{\textwidth}{1cm} Neste contexto, pode querer olhar para o pacote calc, que permite usar opera¸˜es aritm´ticas no argumento de este e de outros comandos onde co e deveria introduzir valores.

6.5

Mais divertimento com comprimentos

Sempre que poss´ ıvel, tento n˜o usar comprimentos absolutos em documena A tos L TEX. Prefiro tentar basear as coisas na largura ou altura de outros elementos das p´ginas. Para a largura de uma figura, podia relacionar com a \textwidth de forma a que ela coubesse numa p´gina. a Os seguintes 3 comandos permitem determinar a largura, altura e profundidade de um texto.

\settoheight{vari´vel }{texto} a \settodepth{vari´vel }{texto} a \settowidth{vari´vel }{texto} a

O seguinte exemplo mostra uma poss´ aplica¸˜o para estes comandos. ıvel ca

6.6 Caixas
\flushleft \newenvironment{vardesc}[1]{% \settowidth{\parindent}{#1:\ } \makebox[0pt][r]{#1:\ }}{} \begin{displaymath} a^2+b^2=c^2 \end{displaymath} \begin{vardesc}{Onde}$a$, $b$ -- s~o adjuntos do ^ngulo a a recto de um tri^ngulo rect^ngulo. a a $c$ -- ´ a hipotenusa do e tri^ngulo e sente-se sozinha. a $d$ -- finalmente, nem sequer aparece. N~o ´ curioso? a e \end{vardesc} a2 + b2 = c2

117

Onde: a, b – s˜o adjuntos do ˆngulo recto de a a um triˆngulo rectˆngulo. a a c – ´ a hipotenusa do triˆngulo e e a sente-se sozinha. d – finalmente, nem sequer aparece. N˜o ´ curioso? a e

6.6

Caixas

A O L TEX constr´i as suas p´ginas movendo caixas. A principio, cada letra ´ o a e uma pequena caixa, que ´ depois colada a outras letras para formar palavras. e Estas s˜o de novo coladas a outras palavras, mas com cola especial, que ´ a e el´stica e portanto uma s´rie de palavras pode ser encolhida ou esticada a e para preencher exactamente uma linha de texto na p´gina. a

Admito, esta ´ uma vers˜o muito simplicista do que realmente acontece, e a mas na verdade, o TEX opera com cola e caixas. N˜o s´ uma letra que pode a o ser uma caixa. Pode colocar virtualmente tudo numa caixa, incluindo outras A caixas. Cada caixa ir´ depois ser manuseada pelo L TEX como se fosse uma a simples letra. Nos cap´ ıtulos anteriores, j´ encontrou algumas caixas, no entanto, n˜o a a lhe disse. O ambiente tabular e o \includegraphics, por exemplo, produzem ambos uma caixa. Isto significa que pode colocar facilmente duas tabelas ou imagens lado a lado. S´ tem de ter a certeza que a sua largura o n˜o ´ mais larga que a largura do texto. a e Tamb´m pode empacotar um par´grafo da sua escolha numa caixa com e a

118 o comando

A Configurar o L TEX

\parbox[pos]{largura}{texto}

ou com o ambiente

\begin{minipage}[pos]{largura} texto \end{minipage}

O parˆmetro pos pode tomar uma das letras c, t ou b para controlar o alia nhamento vertical da caixa, relativamente ` linha base do texto circundante. a A largura toma um valor que especifica a largura da caixa. A principal diferen¸a entre minipage e \parbox ´ que n˜o pode usar todos os comandos c e a e ambientes dentro de uma parbox enquanto quase tudo ´ poss´ e ıvel numa minipage. Enquanto \parbox empacota um par´grafo fazendo quebras de linha a e tudo o mais, existe tamb´m uma classe de comandos para caixotes que e operam apenas em material alinhado horizontalmente. J´ conhecemos um a ´ deles. E chamado \mbox, e empacota simplesmente uma s´rie de caixas dene tro de uma outra, e pode ser usado para prevenir a hifeniza¸˜o de palavras. ca Como pode colocar caixas dentro de qualquer caixa, estes empacotadores horizontais d˜o-lhe uma flexibilidade ilimitada. a

\makebox[largura][pos]{texto}

A largura define a largura da caixa resultante vista do lado de fora.5 Al´m do comprimento das express˜es, pode tamb´m usar \width, \height, e o e \depth e \totalheight no parˆmetro de largura. Todos eles s˜o valores a a obtidos medindo o texto escrito. O parˆmetro pos toma um valor de entre a as letras: centro, ` esquerda (left), ` direita (right) ou s que espalha o texto a a dentro da caixa para a preencher. O comando \framebox funciona exactamente da mesma forma que \makebox, mas desenha uma caixa ` volta do texto. a O seguinte exemplo mostra algumas coisas que pode fazer com os comandos \makebox e \framebox.
Isto significa que pode ser mais pequena do que o material l´ dentro. Pode at´ colocar a e a largura a 0pt de forma a que o texto dentro da caixa ir´ ser escrita sem influenciar as a caixas circundantes.
5

6.7 R´guas e Estruturas e
\makebox[\textwidth]{% c e n t r a d o}\par \makebox[\textwidth][s]{% e s p a l h a d o}\par \framebox[1.1\width]{Agora estou encaixilhado!} \par \framebox[0.8\width][r]{Bolas, estou t~o largo} \par a \framebox[1cm][l]{esquece, Eu sou assim} Consegue ler isto?

119

centrado e s p a l h a d o

Agora estou encaixilhado! Bolas, estou t˜o largo a Consegue ler isto? esquece, Eu sou assim

Agora que controlamos a horizontal, o pr´ximo passo obvio ´ ir para o o e 6 Sem problemas para o L T X. O comando A vertical. E
\raisebox{i¸ar }[acima-da-linha-base][abaixo-da-linha-base]{texto} c

permite definir as propriedades verticais de uma caixa. Pode usar o \width, \height, \depth e \totalheight nos primeiros trˆs parˆmetros, de forma e a a actual de acordo com o tamanho da caixa dentro do argumento texto.
\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 sequer o mais pr´ximo notou que alguma coisa o terr´vel lhe tinha acontecido. ı

Aaaaaaa ele gritou mas nem serog quer o mais pr´ximo notou que alguma coisa terr´ lhe tinha h ıvel acontecido.

6.7

R´guas e Estruturas e

Algumas p´ginas atr´s deve ter reparado no comando a a
\rule[i¸ar ]{largura}{altura} c

Normalmente ele produz uma simples caixa preta.

6

O controlo total ´ obtido apenas controlando a horizontal t˜o bem como a vertical.... . . e a

120
\rule{3mm}{.1pt}% \rule[-1mm]{5mm}{1cm}% \rule{3mm}{.1pt}% \rule[1mm]{1cm}{5mm}% \rule{3mm}{.1pt}

A Configurar o L TEX

Isto ´ util para desenhar linhas horizontais e verticais. A linha na p´gina de e´ a t´ ıtulo, por exemplo, foi criada com um comando \rule. Um caso especial ´ uma r´gua sem largura mas alguma altura. Em e e ´ tipografia, isto ´ chamado de estrutura. E usada para garantir que um e elemento numa p´gina tem uma determinada altura m´ a ınima. Pode usar num ambiente tabular para ter a certeza 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

FIM.

Bibliografia
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 [4] Cada instala¸˜o L TEX deve providenciar um L TEX Local Guide que ca A explica os pormenores que s˜o especiais nesse sistema em particular. a Deve estar contido num ficheiro denominado local.tex. Infelizmente, muitos operadores de sistema pregui¸osos n˜o providenciam este docuc a A mento. Neste caso, v´ e pe¸a ajuda ao seu mestre de L TEX. a c A A [5] L TEX3 Project Team. L TEX 2ε for authors. Vem com a distribui¸˜o ca A L TEX 2ε como usrguide.tex. A A [6] L TEX3 Project Team. L TEX 2ε for Class and Package writers. Vem A com a distribui¸˜o do L TEX 2ε como clsguide.tex. ca A A [7] L TEX3 Project Team. L TEX 2ε Font selection. Vem com a distribui¸˜o ca A do L TEX 2ε como fntguide.tex.

[8] D. P. Carlisle. Packages in the ‘graphics’ bundle. Vem com o conjunto de ferramentas ‘graphics’ como grfguide.tex, dispon´ ıvel da mesma A origem da sua distribui¸˜o de L TEX. ca [9] Rainer Sch¨pf, Bernd Raichle, Chris Rowley. A New Implementao A tion of L TEX’s verbatim Environments. Vem com o conjunto ‘tools’ como verbatim.dtx, dispon´ da mesma origem da sua distribui¸˜o ıvel ca A X. de L TE

122

BIBLIOGRAFIA
A [10] Vladimir Volovich, Werner Lemberg and L TEX3 Project Team. CyrilA A lic languages support in L TEX. Vem nas distribui¸˜es L TEX 2ε como co cyrguide.tex.

[11] Graham Williams. The TeX Catalogue ´ uma listagem bastante come A pleta de muitos pacotes relacionados com o TEX e o L TEX. Dispon´ ıvel na Internet desde CTAN:/tex-archive/help/Catalogue/catalogue. html
A [12] Michel Goossens, Sebastian Rahtz and Frank Mittelbach. The L TEX Graphics Companion. Addison-Wesley, Reading, Massachusetts, 1997, ISBN 0-201-85469-4. A [13] Keith Reckdahl. Using EPS Graphics in L TEX 2ε Documents que explica tudo e muito mais do que alguma vez quis saber sobre ficheiros A EPS e o seu uso em documento L TEX. Dispon´ ıvel na Internet desde CTAN:/tex-archive/info/epslatex.ps

[14] Kristoffer H. Rose. X -pic User’s Guide. Dispon´ ıvel no CTAN juntaY mente com a distribui¸˜o do X -pic. ca Y [15] John D. Hobby. A User’s Manual for MetaPost. Downloadable from http://cm.bell-labs.com/who/hobby/ [16] Alan Hoenig. TEX Unbound. Oxford University Press, 1998, ISBN 0-19-509685-1; 0-19-509686-X (pbk.)
A [17] Urs Oswald. Graphics in L TEX 2ε , containing some Java source files for generating arbitrary circles and ellipses within the picture environment, and MetaPost - A Tutorial. Both downloadable from http://www.ursoswald.ch

´ Indice
\!, 56 ", 22 "’, 34 "-, 34 "---, 34 "<, 34 "=, 34 ">, 34 "‘, 34 $, 49 \(, 49 \), 49 \,, 50, 55 -, 22 −, 22 \-, 21 –, 22 —, 22 ., espa¸o ap´s, 35 c o . . . , 24 \:, 55 \;, 55 \@, 35 \[, 50 ´ ındice, 52 ´ ındice remissivo, 72 \\, 19, 40, 41, 43, 114 \\*, 19 ıe sem pontos, 25 \], 50 ~, 35 A4, 11 A5, 11 ˚ 25 a, abstract, 41 acento, 25 acrobat reader, 77 \addtolength, 116 æ, 25 aeguill, 78 agrupar, 108 agudo, 25 Alem˜o, 28 a alinhamento decimal, 44 \Alph, 34 \alph, 34 ambientes abstract, 41 array, 56, 57 center, 40 comment, 6 description, 39 displaymath, 50 enumerate, 39 eqnarray, 57 equation, 50 figure, 45, 46 flushleft, 40 flushright, 40 itemize, 39 lscommand, 103 math, 49 minipage, 118 parbox, 118 picture, 89, 90, 93, 94 pspicture, 90 quotation, 41 quote, 41 subarray, 54 table, 45, 46

124 tabular, 42, 117 thebibliography, 71 verbatim, 42, 75 verse, 41 amsbsy, 61 amsfonts, 51, 68 amsmath, 54–56, 58, 59, 61 amssymb, 51, 62 \and, 37 ansinew, 27 \appendix, 36, 37 applemac, 27 \ar, 100 \arccos, 53 \arcsin, 53 \arctan, 53 \arg, 53 array, 56, 57 article, classe, 10 \Asbuk, 34 \asbuk, 34 aspas, 22 \author, 37, 82 babel, 20, 25, 26, 29, 33, 34 \background, 87 \backmatter, 37 backslash, 5 \backslash, 5 \begin, 39, 90, 98 \bibitem, 71 bibliografia, 71 \Big, 55 \big, 55 \Bigg, 55 \bigg, 55 \biggl, 59 \biggr, 59 \bigskip, 114 \binom, 54 blackboard bold, 51 \bmod, 53 \boldmath, 61 \boldsymbol, 61 book, 10 classe, 10 brancos, 4

´ INDICE

cabe¸alho, 14 c calc, 116 \caption, 46, 48 caracteres especiais, 25 caracteres reservados, 5 \cdot, 53 \cdots, 55 center, 40 \chapter, 36 \chaptermark, 74 chavetas, 6, 108 \ci, 103 \circle, 93 \circle*, 93 \cite, 71 CJK, 32 \cleardoublepage, 47 \clearpage, 47 \cline, 43 codifica¸˜o de caracteres, 13 ca color, 85 comandos, 5 \!, 56 \(, 49 \), 49 \,, 50, 55 \-, 21 \:, 55 \;, 55 \@, 35 \[, 50 \\, 19, 40, 41, 43, 114 \\*, 19 \], 50 \addtolength, 116 \Alph, 34 \alph, 34 \and, 37 \appendix, 36, 37 \ar, 100

´ INDICE \arccos, 53 \arcsin, 53 \arctan, 53 \arg, 53 \Asbuk, 34 \asbuk, 34 \author, 37, 82 \background, 87 \backmatter, 37 \backslash, 5 \begin, 39, 90, 98 \bibitem, 71 \Big, 55 \big, 55 \Bigg, 55 \bigg, 55 \biggl, 59 \biggr, 59 \bigskip, 114 \binom, 54 \bmod, 53 \boldmath, 61 \boldsymbol, 61 \caption, 46, 48 \cdot, 53 \cdots, 55 \chapter, 36 \chaptermark, 74 \ci, 103 \circle, 93 \circle*, 93 \cite, 71 \cleardoublepage, 47 \clearpage, 47 \cline, 43 \cos, 53 \cosh, 53 \cot, 53 \coth, 53 \csc, 53 \date, 37 \ddots, 55 \deg, 53 \depth, 118, 119 \det, 53 \dim, 53 \displaystyle, 59 \documentclass, 10, 12, 20 \dq, 28 \dum, 103 \emblema, 87 \emph, 38, 108 \end, 39, 90 \enumBul, 34 \enumEng, 34 \enumLat, 34 \eqref, 50 \EUR, 23 \euro, 23 \exp, 53 \fbox, 21 \flq, 28 \flqq, 28 \foldera, 97 \folderb, 97 \footnote, 38, 48 \footskip, 114 \frac, 53 \framebox, 118 \frenchspacing, 34, 35 \frontmatter, 37 \frq, 28 \frqq, 28 \fussy, 20 \gcd, 53 \headheight, 114 \headsep, 114 \height, 118, 119 \hline, 43 \hom, 53 \href, 82, 85 \hspace, 105, 112 \hyphenation, 20 \idotsint, 56 \ignorespaces, 105, 106 \ignorespacesafterend, 106 \iiiint, 56 \iiint, 56

125

126 \iint, 56 \include, 15 \includegraphics, 70, 80, 84, 117 \includeonly, 15 \indent, 112 \index, 73 \inf, 53 \input, 15 \int, 54 \item, 39 \ker, 53 \label, 37, 38, 50 \LaTeX, 21 \LaTeXe, 21 \ldots, 24, 55 \left, 55 \leftmark, 74 \lg, 53 \lim, 53 \liminf, 53 \limsup, 53 \line, 92 \linebreak, 19 \linespread, 111 \linethickness, 94, 95, 97 \listoffigures, 46 \listoftables, 46 \ln, 53 \log, 53 \mainmatter, 37, 83 \makebox, 118 \makeindex, 72 \maketitle, 37 \marginparpush, 114 \marginparsep, 114 \marginparwidth, 114 \marginsize, 87 \mathbb, 51 \mathrm, 59 \max, 53 \mbox, 21, 24, 118 \min, 53 \multicolumn, 44

´ INDICE \multiput, 91, 94 \newcommand, 104, 105 \newenvironment, 105 \newline, 19 \newpage, 19 \newsavebox, 96 \newtheorem, 60 \noindent, 112 \nolinebreak, 19 \nonumber, 58 \nopagebreak, 19 \not, 63 \npil, 104 \oddsidemargin, 114 \oval, 95, 97 \overbrace, 52 \overlay, 87 \overleftarrow, 53 \overline, 52 \overrightarrow, 53 \pagebreak, 19 \pageref, 37, 76 \pagestyle, 14 \panelwidth, 87 \paperheight, 114 \paperwidth, 114 \par, 108 \paragraph, 35 \parbox, 118 \parindent, 112 \parskip, 112 \part, 36 \pause, 87 \phantom, 48, 58 \pmod, 53 \Pr, 53 \printindex, 73 \prod, 54 \protect, 48 \providecommand, 105 \ProvidesPackage, 107 \put, 91–96 \qbezier, 89, 91, 97 \qquad, 50, 56

´ INDICE \quad, 50, 56 \raisebox, 119 \ref, 37, 50, 76 \renewcommand, 104 \renewenvironment, 105 \right, 55, 56 \right., 55 \rightmark, 74 \rule, 105, 119, 120 \savebox, 96 \screensize, 87 \scriptscriptstyle, 59 \scriptstyle, 59 \sec, 53 \section, 35, 48 \sectionmark, 74 \selectlanguage, 26 \setlength, 90, 112, 116 \settodepth, 116 \settoheight, 116 \settowidth, 116 \sin, 53 \sinh, 53 \sloppy, 20 \smallskip, 114 \sqrt, 52 \stackrel, 54 \stretch, 105, 113 \subparagraph, 35 \subsection, 35 \subsectionmark, 74 \substack, 54 \subsubsection, 35 \sum, 54 \sup, 53 \tableofcontents, 36, 87 \tan, 53 \tanh, 53 \TeX, 21 \texorpdfstring, 83 \textcelsius, 23 \texteuro, 23 \textheight, 114 \textrm, 59 \textstyle, 59 \textwidth, 114 \thicklines, 92, 95, 97 \thinlines, 95, 97 \thispagestyle, 14 \title, 37 \today, 21 \topmargin, 114 \totalheight, 118, 119 \underbrace, 52 \underline, 38, 52 \unitlength, 90, 92 \usapackage, 107 \usebox, 96 \usepackage, 12, 23, 26, 27 \vdots, 55 \vec, 53 \vector, 92 \verb, 42 \verbatim, 75 \verbatiminput, 75 \vspace, 113 \widehat, 52 \widetilde, 52 \width, 118, 119 \xymatrix, 100 comandos fr´geis, 48 a coment´rios, 6 a comment, 6 Coreano, 31 corpos flutuantes, 45 \cos, 53 \cosh, 53 \cot, 53 \coth, 53 cp1251, 27 cp850, 27 cp866nav, 27 \csc, 53 \date, 37 dcolumn, 44 \ddots, 55 \deg, 53

127

128 delimitadores, 54 \depth, 118, 119 derivada, 52 description, 39 \det, 53 Deutsch, 28 \dim, 53 dimens˜es, 112 o displaymath, 50 \displaystyle, 59 doc, 13 \documentclass, 10, 12, 20 \dq, 28 duas coluna, 11 \dum, 103 eepic, 89, 93 em p´, 108 e em-dash, 22 \emblema, 87 \emph, 38, 108 empty, 14 en-dash, 22 Encapsulated PostScript, 69, 80 encodings font LGR, 27 OT1, 27 T1, 27, 33 T2*, 33 T2A, 27, 33 T2B, 27 T2C, 27 X2, 27 input ansinew, 27 applemac, 27 cp1251, 27 cp850, 27 cp866nav, 27 koi8-ru, 27, 33 latin1, 27 macukr, 27 utf8, 27

´ INDICE \end, 39, 90 \enumBul, 34 \enumEng, 34 enumerate, 39 \enumLat, 34 environments abstract, 41 array, 56, 57 center, 40 comment, 6 description, 39 displaymath, 50 enumerate, 39 eqnarray, 57 equation, 50 figure, 45, 46 flushleft, 40 flushright, 40 itemize, 39 lscommand, 103 math, 49 minipage, 118 parbox, 118 picture, 89, 90, 93, 94 pspicture, 90 quotation, 41 quote, 41 subarray, 54 table, 45, 46 tabular, 42, 117 thebibliography, 71 verbatim, 42, 75 verse, 41 epic, 89 eqnarray, 57 \eqref, 50 equa¸˜es longas, 57 co equation, 50 espa¸amento de linhas, 111 c espa¸amento duplo, 111 c espa¸amento matem´tico, 55 c a espa¸o c depois de comandos, 5 no in´ de uma linha, 4 ıcio

´ INDICE espa¸o vertical, 113 c espa¸os, 4 c especifica¸˜o de coloca¸˜o, 46 ca ca estilo de p´ginas, 14 a empty, 14 headings, 14 plain, 14 estrutura, 7, 120 \EUR, 23 \euro, 23 europs, 23 eurosans, 23 eurosym, 23 \exp, 53 expoente, 52 exscale, 13, 55 extens˜es, 12 o extension .aux, 14 .cls, 12 .dtx, 12 .dvi, 14, 70 .eps, 70 .fd, 12 .idx, 14, 73 .ilg, 14 .ind, 14, 73 .ins, 12 .lof, 14 .log, 14 .lot, 14 .sty, 12, 75 .tex, 9, 12 .toc, 14 f´rmulas, 49 o fancyhdr, 74 \fbox, 21 figure, 45, 46 \flq, 28 \flqq, 28 flushleft, 40 flushright, 40 foiltex, 10 \foldera, 97 \folderb, 97 font \footnotesize, 108 \Huge, 108 \huge, 108 \LARGE, 108 \Large, 108 \large, 108 \mathbf, 109 \mathcal, 109 \mathit, 109 \mathnormal, 109 \mathrm, 109 \mathsf, 109 \mathtt, 109 \normalsize, 108 \scriptsize, 108 \small, 108 \textbf, 108 \textit, 108 \textmd, 108 \textnormal, 108 \textrm, 108 \textsc, 108 \textsf, 108 \textsl, 108 \texttt, 108 \textup, 108 \tiny, 108 font encoding, 13 font encodings, 27 LGR, 27 OT1, 27 T1, 27, 33 T2*, 33 T2A, 27, 33 T2B, 27 T2C, 27 X2, 27 fontenc, 13, 27, 29, 33 \footnote, 38, 48 \footnotesize, 108 \footskip, 114

129

130 formato da p´gina, 114 a \frac, 53 frac¸˜o, 53 ca \framebox, 118 Francˆs, 30 e \frenchspacing, 34, 35 \frontmatter, 37 \frq, 28 \frqq, 28 fun¸˜o m´dulo, 53 ca o \fussy, 20 \gcd, 53 geometry, 75 German, 28 gr´ficos, 12, 69 a graphicx, 69, 80, 85 graus, 23 grave, 25 h´ ıfen, 22 A HL TEX, 32 A hL TEXp, 32 \headheight, 114 textttheadings, 14 \headsep, 114 \height, 118, 119 hipertexto, 76 \hline, 43 \hom, 53 horizontal chaveta, 52 espa¸o, 112 c line, 52 pontos, 55 \href, 82, 85 \hspace, 105, 112 \Huge, 108 \huge, 108 hyperref, 77, 80, 81, 85 hyphenat, 75 \hyphenation, 20 \idotsint, 56 ifthen, 13

´ INDICE \ignorespaces, 105, 106 \ignorespacesafterend, 106 \iiiint, 56 \iiint, 56 \iint, 56 \include, 15 \includegraphics, 70, 80, 84, 117 \includeonly, 15 \indent, 112 indentfirst, 112 \index, 73 \inf, 53 \input, 15 input encodings ansinew, 27 applemac, 27 cp1251, 27 cp850, 27 cp866nav, 27 koi8-ru, 27, 33 latin1, 27 macukr, 27 utf8, 27 inputenc, 13, 26, 33 \int, 54 integral, 54 internacionaliza¸˜o, 25 ca it´lico, 108 a \item, 39 itemize, 39 \ker, 53 Knuth, Donald E., 1 koi8-ru, 27, 33 l´ ıngua, 25 \label, 37, 38, 50 Lamport, Leslie, 1 \LARGE, 108 \Large, 108 \large, 108 \LaTeX, 21 A L TEX3, 4 \LaTeXe, 21

´ INDICE latexsym, 13 latin1, 27 layout, 114 \ldots, 24, 55 \left, 55 \leftmark, 74 letras, 107 letras escandinavas, 25 letras gregas, 52 \lg, 53 LGR, 27 liga¸˜es, 24 co \lim, 53 \liminf, 53 \limsup, 53 \line, 92 \linebreak, 19 \linespread, 111 \linethickness, 94, 95, 97 \listoffigures, 46 \listoftables, 46 \ln, 53 \log, 53 longtabular, 44 lscommand, 103 macukr, 27 \mainmatter, 37, 83 \makebox, 118 makeidx, 72 makeidx, 13, 72 makeindex, 72 \makeindex, 72 \maketitle, 37 margens, 114 \marginparpush, 114 \marginparsep, 114 \marginparwidth, 114 \marginsize, 87 marvosym, 23 matem´tica, 49 a menos, 22 matem´tico a acentos, 52 delimitador, 55 fun¸˜es, 53 co math, 49 \mathbb, 51 \mathbf, 109 \mathcal, 109 \mathit, 109 \mathnormal, 109 \mathrm, 59, 109 mathrsfs, 68 \mathsf, 109 mathtext, 33 \mathtt, 109 \max, 53 \mbox, 21, 24, 118 METAPOST, 80 \min, 53 minipage, 118 Mittelbach, Frank, 2 mltex, 79 \multicolumn, 44 \multiput, 91, 94 \newcommand, 104, 105 \newenvironment, 105 \newline, 19 \newpage, 19 \newsavebox, 96 \newtheorem, 60 \noindent, 112 \nolinebreak, 19 \nonumber, 58 \nopagebreak, 19 \normalsize, 108 \not, 63 \npil, 104 \oddsidemargin, 114 œ, 25 op¸˜es, 10 co OT1, 27 \oval, 95, 97 \overbrace, 52 overfull hbox, 20

131

132 \overlay, 87 \overleftarrow, 53 \overline, 52 \overrightarrow, 53 package, 10 pacote, 7, 10, 103 pacotes aeguill, 78 amsbsy, 61 amsfonts, 51, 68 amsmath, 54–56, 58, 59, 61 amssymb, 51, 62 babel, 20, 25, 26, 29, 33, 34 calc, 116 color, 85 dcolumn, 44 doc, 13 eepic, 89, 93 epic, 89 europs, 23 eurosans, 23 eurosym, 23 exscale, 13, 55 fancyhdr, 74 fontenc, 13, 27, 29, 33 geometry, 75 graphicx, 69, 80, 85 hyperref, 77, 80, 81, 85 hyphenat, 75 ifthen, 13 indentfirst, 112 inputenc, 13, 26, 33 latexsym, 13 layout, 114 longtabular, 44 makeidx, 13, 72 marvosym, 23 mathrsfs, 68 mathtext, 33 pause, 87 pdfscreen, 85, 88 pstricks, 89, 90, 93 pxfonts, 79

´ INDICE showidx, 73 supertabular, 44 syntonly, 13, 15 textcomp, 23 txfonts, 79 ucs, 27 verbatim, 6, 75 xy, 99 page style, 14 \pagebreak, 19 \pageref, 37, 76 \pagestyle, 14 palavra, 73 \panelwidth, 87 papel A4, 11 A5, 11 B5, 11 executivo, 11 letter, 11 paper size, 77 \paperheight, 114 \paperwidth, 114 \par, 108 par´grafo, 17 a parˆmetro, 6 a parˆmetros opcionais, 6 a parˆntesis, 54 e parˆntesis rectos, 6 e para a frente, 108 \paragraph, 35 \parbox, 118 parbox, 118 \parindent, 112 \parskip, 112 \part, 36 pause, 87 \pause, 87 PDF, 76 A pdfL TEX, 78, 85 pdfscreen, 85, 88 A pdfL TEX, 77 pdfTEX, 77 pequenas mai´sculas, 108 u

´ INDICE \phantom, 48, 58 picture, 89, 90, 93, 94 plain, 14 \pmod, 53 ponto, 24 pontos horizontais, 55 pontos verticais, 55 PostScript, 3, 9, 32, 47, 69, 70, 78, 79, 90 Encapsulated, 69, 80 \Pr, 53 preˆmbulo, 7 a \printindex, 73 \prod, 54 produt´rio, 54 o \protect, 48 \providecommand, 105 \ProvidesPackage, 107 pspicture, 90 pstricks, 89, 90, 93 \put, 91–96 pxfonts, 79 \qbezier, 89, 91, 97 \qquad, 50, 56 \quad, 50, 56 quebras de linha, 19 quotation, 41 quote, 41 ra´ quadrada, 52 ız \raisebox, 119 \ref, 37, 50, 76 referˆncias cruzadas, 37 e \renewcommand, 104 \renewenvironment, 105 report, 10 classe, 10 reticˆncias, 24 e \right, 55, 56 \right., 55 \rightmark, 74 rodap´, 14 e romano, 108 \rule, 105, 119, 120 s´ ımbolo seta, 53 s´ ımbolos gordos, 51, 61 sans serif, 108 \savebox, 96 \screensize, 87 \scriptscriptstyle, 59 \scriptsize, 108 \scriptstyle, 59 \sec, 53 \section, 35, 48 \sectionmark, 74 \selectlanguage, 26 \setlength, 90, 112, 116 \settodepth, 116 \settoheight, 116 \settowidth, 116 showidx, 73 \sin, 53 sinal de menos, 22 \sinh, 53 sistemas de equa¸˜es, 57 co slides, 10 classe, 10 \sloppy, 20 \small, 108 \smallskip, 114 somat´rio, 54 o \sqrt, 52 \stackrel, 54 \stretch, 105, 113 sub-escrito, 54 subarray, 54 \subparagraph, 35 \subsection, 35 \subsectionmark, 74 \substack, 54 \subsubsection, 35 \sum, 54 \sup, 53 super-escrito, 54 supertabular, 44 syntonly, 13, 15

133

134 T1, 27, 33 T2*, 33 T2A, 27, 33 T2B, 27 T2C, 27 t´ ıtulo, 11, 37 t´ ıtulo do documento, 11 tabela, 42 tabela de conte´dos, 36 u table, 45, 46 \tableofcontents, 36, 87 tabular, 42, 117 tamanho de letra, 11, 108 tamanho de matem´tica, 59 a tamanho do papel, 11, 114 tamanho letras, 107 \tan, 53 \tanh, 53 \TeX, 21 \texorpdfstring, 83 \textbf, 108 \textcelsius, 23 textcomp, 23 \texteuro, 23 \textheight, 114 \textit, 108 \textmd, 108 \textnormal, 108 texto colorido, 12 \textrm, 59, 108 \textsc, 108 \textsf, 108 \textsl, 108 \textstyle, 59 \texttt, 108 \textup, 108 \textwidth, 114 thebibliography, 71 \thicklines, 92, 95, 97 \thinlines, 95, 97 \thispagestyle, 14 til, 22, 52 til ( ~), 35 \tiny, 108 tipo gordo, 108 tipos de ficheiros, 12 \title, 37 \today, 21 \topmargin, 114 \totalheight, 118, 119 trˆs pontos, 55 e tra¸o, 22 c txfonts, 79

´ INDICE

ucs, 27 umlaut, 25 \underbrace, 52 underfull hbox, 20 \underline, 38, 52 unidades, 112, 113 \unitlength, 90, 92 URL, 22 \usapackage, 107 \usebox, 96 \usepackage, 12, 23, 26, 27 utf8, 27 v´ ırgula, 24 A vantagens do L TEX, 3 \vdots, 55 \vec, 53 \vector, 92 vectores, 53 \verb, 42 verbatim, 6, 75 \verbatim, 75 verbatim, 42, 75 \verbatiminput, 75 verse, 41 vertical pontos, 55 \vspace, 113 \widehat, 52 \widetilde, 52 \width, 118, 119 www, 22 WYSIWYG, 2, 3

´ INDICE X2, 27 xpdf, 77 xy, 99 \xymatrix, 100

135

136

´ INDICE