You are on page 1of 155

Uma no to pequena

introduo ao L
A
T
E
X2

Ou L
A
T
E
X2

em 137 minutos
por Tobias Oetiker
Hubert Partl, Irene Hyna e Elisabeth Schlegl
Traduo portuguesa por Alberto Simes
Verso 4.20.1, 18 de Setembro de 2007
ii
Direitos de Cpia 1995-2006 por Tobias Oetiker e Colaboradores do LShort.
Todos os direitos reservados.
Este documento gratuito; pode redistribui-lo e/ou modic-lo dentro dos ter-
mos da Licena Pblica e Genrica GNU, tal como publicada pela Fundao do
Software Livre, verso 2 da licena, ou (na sua opinio) qualquer verso mais re-
cente.
Este documento distribudo na esperana de que seja til mas SEM QUAL-
QUER GARANTIA, nem mesmo a garantia implcita de ENQUADRAMENTO
PARA UM FIM PARTICULAR. Veja a Licena Pblica e Genrica GNU para
mais detalhes.
Deve ter recebido uma cpia da Licena Pblica e Genrica GNU juntamente
com este documento; caso contrrio, escreva para Free Software Foundation, Inc.,
675 Mass Ave, Cambridge, MA 02139, USA.
Obrigado!
Muito do material utilizado nesta introduo provm de uma introduo
austraca ao L
A
T
E
X 2.09 escrita em alemo por:
Hubert Partl <partl@mail.boku.ac.at>
Zentraler Informatikdienst der Universitt fr Bodenkultur Wien
Irene Hyna <Irene.Hyna@bmwf.ac.at>
Bundesministerium fr Wissenschaft und Forschung Wien
Elisabeth Schlegl <noemail>
in Graz
Se est interessado no documento alemo, pode encontrar a verso ac-
tualizada para L
A
T
E
X2

por Jrg Knappen a partir de


CTAN:/tex-archive/info/lshort/german
iv Obrigado!
As seguintes pessoas ajudaram com correces, sugestes e material para
melhorar este documento. Colocaram grande empenho para me ajudar a
colocar este documento na sua presente forma. Gostaria de agradecer sin-
ceramente a todos eles. Naturalmente, todos os erros que encontrar neste
livro so meus. Se encontrar alguma palavra que esteja escrita correcta-
mente, deve ter sido uma das pessoas abaixo que me enviou essa linha.
Rosemary Bailey, Marc Bevand, Friedemann Brauer, Jan Busa,
Markus Brhwiler, Pietro Braione, David Carlisle, Jos Carlos Santos,
Neil Carter, Mike Chapman, Pierre Chardaire, Christopher Chin, Carl Cerecke,
Chris McCormack, Wim van Dam, Jan Dittberner, Michael John Downes,
Matthias Dreier, David Dureisseix, Elliot, Hans Ehrbar, Daniel Flipo, David Frey,
Hans Fugal, Robin Fairbairns, Jrg Fischer, Frank Fischli, Erik Frisk,
Mic Milic Frederickx, Frank, Kasper B. Graversen, Arlo Griths,
Alexandre Guimond, Cyril Goutte, Greg Gamble, Andy Goth, Neil Hammond,
Rasmus Borup Hansen, Joseph Hilferty, Morten Hgholm, Bjrn Hvittfeldt,
Martien Hulsen, Werner Icking, Jakob, Eric Jacoboni, Alan Jerey, Byron Jones,
David Jones, Johannes-Maria Kaltenbach, Michael Koundouros, Andrzej Kawalec,
Alain Kessi, Christian Kern, Tobias Klauser, Sander de Kievit, Kjetil Kjernsmo,
Jrg Knappen, Flori Lambrechts, Axel Liljencrantz, Maik Lehradt, Rmi Letot,
Johan Lundberg, Alexander Mai, Martin Maechler, Hendrik Maryns,
Aleksandar S Milosevic, Henrik Mitsch, Claus Malten, Kevin Van Maren,
Philipp Nagele, Richard Nagy, Lenimar Nunes de Andrade, Manuel Oetiker,
Urs Oswald, Martin Pster, Demerson Andre Polli, Hubert Partl,
Maksym Polyakov, Nikos Pothitos, John Reing, 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, Georey Swindale, Laszlo Szathmary,
Boris Tobotras, Josef Tkadlec, Scott Veirs, Didier Verna, Fabian Wernli,
Carl-Gustav Werner, David Woodhouse, Chris York, Fritz Zaucker, Rick Zaccone,
e Mikhail Zotov.
Adicionalmente, o tradutor agradece o contributo das seguintes pessoas:
Jos Alves Castro, Rold Jnior, Jos Pedro Oliveira, Marcos Marado Torres, Paulo Ro-
cha.
Prefcio
O L
A
T
E
X [1] um sistema tipogrco, bastante adequado para produzir
documentos cientcos e matemticos de grande qualidade tipogrca. O
sistema igualmente adequado para produzir todo o tipo de outros docu-
mentos, desde simples cartas at livros completos. O L
A
T
E
X usa o T
E
X [2]
como sistema de formatao.
Esta pequena introduo descreve o L
A
T
E
X2

, e deve ser suciente para


um grande nmero das aplicaes do L
A
T
E
X. Consulte [1, 3] para uma des-
crio completa do sistema L
A
T
E
X.
O L
A
T
E
X est disponvel para quase todos os computadores, desde o PC e
Mac at grandes sistemas UNIX e VMS. Em muitas redes de computadores
de universitrios, ir descobrir que uma instalao do L
A
T
E
X est disponvel e
pronta a ser utilizada. Informaes sobre como aceder sua instalao local
do L
A
T
E
X deve estar includa no Local Guide [4]. Se tiver problemas quando
comear a trabalhar, pergunte pessoa que lhe deu este livro. O mbito
deste documento no explicar como instalar e preparar o L
A
T
E
X, mas en-
sinar a escrever os seus documentos de forma a que possam ser processados
pelo L
A
T
E
X.
Esta introduo est dividida em 6 captulos:
O Captulo 1 indica a estrutura bsica de um documento L
A
T
E
X2

. Apren-
der tambm um pouco da histria do L
A
T
E
X. Aps a leitura deste
captulo, dever ter uma ideia bsica do funcionamento do L
A
T
E
X.
O Captulo 2 apresenta com algum detalhe como escrever um documento.
Explica igualmente a maior parte dos comandos e ambientes essenciais
do L
A
T
E
X. Aps a leitura deste captulo, estar pronto a escrever o seu
primeiro documento.
O Captulo 3 explica como escrever frmulas com o L
A
T
E
X. Mais uma vez,
numerosos exemplos ajudaro a perceber como usar uma das maiores
potencialidades do L
A
T
E
X. No nal deste captulo, encontrar tabelas
com listas de todos os smbolos matemticos disponveis em L
A
T
E
X.
O Captulo 4 explica a gerao de ndices e bibliograas, incluso de gr-
cos EPS, e algumas outras extenses teis.
vi Prefcio
O Captulo 5 mostra como usar o L
A
T
E
X para criar grcos. Em vez de
desenhar uma imagem usando um qualquer programa grco, gravar o
desenho e incluir o cheiro no L
A
T
E
X, pode descrever a gura de forma
a que o L
A
T
E
X a desenhe.
O Captulo 6 contm alguma informao potencialmente perigosa sobre
como fazer alteraes aos formatos standard produzidos pelo L
A
T
E
X.
Mostrar como modicar coisas de modo que o belo resultado do L
A
T
E
X
comece a car bastante mau.
importante ler os captulos sequencialmenteanal o livro no assim
to grande. Leia cuidadosamente os exemplos, porque grande parte da in-
formao est contida nos vrios exemplos que vai encontrar ao longo do
livro.
Se precisar de mais algum material relacionado com o L
A
T
E
X visite o arquivo
ftp ftp://www.ctan.org e os seus mirrors ociais volta do mundo.
Encontrar outras referncias ao CTAN ao longo deste livro. Especial-
mente, apontadores para software e documentos que poder querer copiar
para o seu computador. Em vez de escrever endereos completos, escrevere-
mos apenas CTAN: seguido da localizao que deve visitar dentro da rvore
do CTAN.
Se deseja instalar o L
A
T
E
X para utilizao no seu computador, visite
CTAN:/tex-archive/systems.
Se tiver ideias sobre alguma coisa que deva ser adicionada, alterada ou remo-
vida deste documento, por favor, avise-me. Estou interessado especialmente
em respostas dos que esto a aprender L
A
T
E
X sobre quais as partes desta in-
troduo fceis de compreender e quais as que devem ser explicadas melhor.
Tobias Oetiker <oetiker@ee.ethz.ch>
Departamento de Tecnologia da Informao e
Engenharia Electrotcnica,
Instituto de Tecnologia Federal da Sua
A verso actual e original deste documento est disponvel em
CTAN:/tex-archive/info/lshort A verso portuguesa est disponvel em
http://alfarrabio.di.uminho.pt/~albie/lshort. Traduo por
Alberto Simes (albie@alfarrabio.di.uminho.pt)
Departamento de Informtica da Universidade do Minho
Contedo
Obrigado! iii
Prefcio v
1 Coisas Que Precisa de Saber 1
1.1 O Nome do Jogo . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Autor, Paginadores e Tipgrafo . . . . . . . . . . . . . 2
1.2.2 Desenho do Formato . . . . . . . . . . . . . . . . . . . 3
1.2.3 Vantagens e Desvantagens . . . . . . . . . . . . . . . . 3
1.3 Ficheiros L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Espaos . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Caracteres Especiais . . . . . . . . . . . . . . . . . . . 5
1.3.3 Comandos L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . 5
1.3.4 Comentrios . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Estrutura do Ficheiro . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Uma Sesso de Edio Tpica . . . . . . . . . . . . . . . . . . 9
1.6 O Formato do Documento . . . . . . . . . . . . . . . . . . . . 10
1.6.1 Classes de Documentos . . . . . . . . . . . . . . . . . 10
1.6.2 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 Ficheiros que provavelmente encontrar . . . . . . . . . . . . 12
1.7.1 Estilo de Pginas . . . . . . . . . . . . . . . . . . . . . 14
1.8 Grandes Projectos . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Escrever Texto 17
2.1 A Estrutura de um Texto . . . . . . . . . . . . . . . . . . . . 17
2.2 Quebras de Linha e Quebras de Pgina . . . . . . . . . . . . . 19
2.2.1 Pargrafos Justicados . . . . . . . . . . . . . . . . . . 19
2.2.2 Hifenizao . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Texto j Feito . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4 Smbolos e Caracteres Especiais . . . . . . . . . . . . . . . . . 22
viii CONTEDO
2.4.1 Aspas . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Traos e Hfens . . . . . . . . . . . . . . . . . . . . . . 22
2.4.3 Til () . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.4 Smbolo de Graus () . . . . . . . . . . . . . . . . . . 23
2.4.5 Smbolo de Euro (e) . . . . . . . . . . . . . . . . . . . 23
2.4.6 Reticncias (. . . ) . . . . . . . . . . . . . . . . . . . . . 24
2.4.7 Ligaes . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.8 Caracteres Especiais e Acentos . . . . . . . . . . . . . 25
2.5 Suporte de Lnguas Internacionais . . . . . . . . . . . . . . . 25
2.5.1 Suporte para Alemo . . . . . . . . . . . . . . . . . . 28
2.5.2 Suporte para Portugus . . . . . . . . . . . . . . . . . 29
2.5.3 Suporte para Francs . . . . . . . . . . . . . . . . . . 30
2.5.4 Suporte para Coreano . . . . . . . . . . . . . . . . . . 31
2.5.5 Suporte para Grego . . . . . . . . . . . . . . . . . . . 33
2.5.6 Suporte para Cirlico . . . . . . . . . . . . . . . . . . . 34
2.6 O Espao entre Palavras . . . . . . . . . . . . . . . . . . . . . 35
2.7 Ttulos, Captulos e Seces . . . . . . . . . . . . . . . . . . . 36
2.8 Referncias Cruzadas . . . . . . . . . . . . . . . . . . . . . . . 38
2.9 Notas de Rodap . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.10 Palavras Realadas . . . . . . . . . . . . . . . . . . . . . . . . 39
2.11 Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.11.1 Indicar, Enumerar, e Descrever . . . . . . . . . . . . . 40
2.11.2 Esquerda, Direita e Centro . . . . . . . . . . . . . . . 41
2.11.3 Citaes e Versos . . . . . . . . . . . . . . . . . . . . . 41
2.11.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11.5 Tal & Qual . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11.6 Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.12 Corpos Flutuantes . . . . . . . . . . . . . . . . . . . . . . . . 45
2.13 Protegendo Comandos Frgeis . . . . . . . . . . . . . . . . . . 48
3 Frmulas Matemticas 49
3.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Agrupar em Modo Matemtico . . . . . . . . . . . . . . . . . 51
3.3 Construindo Blocos de Frmulas Matemticas . . . . . . . . . 51
3.4 Espaamento Matemtico . . . . . . . . . . . . . . . . . . . . 56
3.5 Material Alinhado Verticalmente . . . . . . . . . . . . . . . . 56
3.6 Fantasmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.7 Tamanho da Matemtica . . . . . . . . . . . . . . . . . . . . 59
3.8 Teoremas, Leis, . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.9 Smbolos Gordos . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.10 Lista de Smbolos Matemticos . . . . . . . . . . . . . . . . . 63
CONTEDO ix
4 Especialidades 71
4.1 Incluindo Grcos Encapsulated PostScript . . . . . . . . . 71
4.2 Bibliograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3 Indexar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4 Cabealhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.5 O Pacote Verbatim . . . . . . . . . . . . . . . . . . . . . . . . 77
4.6 Instalando Pacotes ExtraL
A
T
E
X . . . . . . . . . . . . . . . . . 77
4.7 Usar o pdfL
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.7.1 Documentos PDF para a Internet . . . . . . . . . . . . 79
4.7.2 Os tipos de letra . . . . . . . . . . . . . . . . . . . . . 80
4.7.3 Uso de Grcos . . . . . . . . . . . . . . . . . . . . . . 82
4.7.4 Ligaes de Hipertexto . . . . . . . . . . . . . . . . . . 83
4.7.5 Problemas com Ligaes . . . . . . . . . . . . . . . . . 85
4.7.6 Problemas com Bookmarks . . . . . . . . . . . . . . . 86
4.8 Criar Apresentaes . . . . . . . . . . . . . . . . . . . . . . . 88
5 Produo de Grcos Matemticos 91
5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2 O ambiente picture . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.1 Comandos Bsicos . . . . . . . . . . . . . . . . . . . . 92
5.2.2 Segmentos de Recta . . . . . . . . . . . . . . . . . . . 93
5.2.3 Setas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.4 Crculos . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.2.5 Textos e Formulas . . . . . . . . . . . . . . . . . . . . 96
5.2.6 \multiput e \linethickness . . . . . . . . . . . . . . 96
5.2.7 Ovais . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2.8 Mltiplos usos de caixas de imagem pr-denidas . . . 98
5.2.9 Curvas de Bzier Quadrticas . . . . . . . . . . . . . . 99
5.2.10 Parbolas . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2.11 Rapidamente a teoria da Relatividade . . . . . . . . . 101
5.3 X
Y
-pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6 Congurar o L
A
T
E
X 105
6.1 Novos Comandos, Ambientes e Pacotes . . . . . . . . . . . . . 105
6.1.1 Novos Comandos . . . . . . . . . . . . . . . . . . . . . 106
6.1.2 Novos Ambientes . . . . . . . . . . . . . . . . . . . . . 107
6.1.3 Expao Extra . . . . . . . . . . . . . . . . . . . . . . . 107
6.1.4 A linha de comando do L
A
T
E
X . . . . . . . . . . . . . . 108
6.1.5 O Seu Prprio Pacote . . . . . . . . . . . . . . . . . . 109
6.2 Letras e Tamanhos . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.1 Tipos de letra . . . . . . . . . . . . . . . . . . . . . . . 109
6.2.2 Perigo, Will Robinson, Perigo . . . . . . . . . . . . . . 112
6.2.3 Aviso . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.3 Espaamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
x CONTEDO
6.3.1 Espao entre linhas . . . . . . . . . . . . . . . . . . . . 113
6.3.2 Formatao de Pargrafos . . . . . . . . . . . . . . . . 114
6.3.3 Espao Horizontal . . . . . . . . . . . . . . . . . . . . 114
6.3.4 Espao Vertical . . . . . . . . . . . . . . . . . . . . . . 115
6.4 Formato da Pgina . . . . . . . . . . . . . . . . . . . . . . . . 116
6.5 Mais divertimento com comprimentos . . . . . . . . . . . . . 118
6.6 Caixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.7 Rguas e Estruturas . . . . . . . . . . . . . . . . . . . . . . . 121
Bibliograa 123
ndice 125
Lista de Figuras
1.1 Um cheiro L
A
T
E
X mnimo. . . . . . . . . . . . . . . . . . . . 8
1.2 Exemplo de um Artigo Real. . . . . . . . . . . . . . . . . . . 8
4.1 Exemplo de congurao do fancyhdr. . . . . . . . . . . . . . 76
4.2 Exemplo de cdigo para a classe beamer. . . . . . . . . . . . . 89
6.1 Pacote de Exemplo. . . . . . . . . . . . . . . . . . . . . . . . 109
6.2 Parmetros do Formato de Pgina. . . . . . . . . . . . . . . . 117
Lista de Tabelas
1.1 Classes de Documentos. . . . . . . . . . . . . . . . . . . . . . 10
1.2 Opes das Classes de Documentos. . . . . . . . . . . . . . . 11
1.3 Alguns Pacotes Distribudos com o L
A
T
E
X. . . . . . . . . . . . 13
1.4 Os Estilos de Pginas Pr-denidos no L
A
T
E
X. . . . . . . . . . 15
2.1 Um saco cheio de smbolos de Euro . . . . . . . . . . . . . . . 24
2.2 Caracteres especiais e Acentos. . . . . . . . . . . . . . . . . . 25
2.3 Caracteres especiais alemes. . . . . . . . . . . . . . . . . . . 28
2.4 Comandos especiais para Francs. . . . . . . . . . . . . . . . . 30
2.5 Prembulo para documentos em Grego. . . . . . . . . . . . . 33
2.6 Caracteres Especiais Gregos. . . . . . . . . . . . . . . . . . . 34
2.7 Bulgaro, Russo, e Ucraniano . . . . . . . . . . . . . . . . . . . 35
2.8 Permisses de Colocao de Corpos Flutuantes. . . . . . . . . 46
3.1 Acentos Matemticos. . . . . . . . . . . . . . . . . . . . . . . 63
3.2 Letras Gregas. . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.3 Relaes Binrias. . . . . . . . . . . . . . . . . . . . . . . . . 64
3.4 Operadores Binrios. . . . . . . . . . . . . . . . . . . . . . . . 64
3.5 Operadores GRANDES. . . . . . . . . . . . . . . . . . . . . . 65
3.6 Setas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.7 Delimitadores. . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.8 Grandes Delimitadores. . . . . . . . . . . . . . . . . . . . . . 66
3.9 Smbolos Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . 66
3.10 Smbolos no Matemticos. . . . . . . . . . . . . . . . . . . . 66
3.11 Delimitadores AMS. . . . . . . . . . . . . . . . . . . . . . . . 66
3.12 Letras AMS gregas e hebraicas. . . . . . . . . . . . . . . . . . 66
3.13 Relaes Binrias AMS. . . . . . . . . . . . . . . . . . . . . . 67
3.14 Setas AMS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.15 Relaes Binrias Negadas e Setas AMS. . . . . . . . . . . . . 69
3.16 Operadores Binrios AMS. . . . . . . . . . . . . . . . . . . . 69
3.17 AMS Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.18 Alfabeto Matemtico. . . . . . . . . . . . . . . . . . . . . . . 70
4.1 Nomes das Chaves para o Pacote graphicx. . . . . . . . . . . . 72
xiv LISTA DE TABELAS
4.2 Exemplos da Sintaxe das Chaves de Indexao. . . . . . . . . 75
6.1 Letras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.2 Tamanho de Letra. . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3 Tamanhos Absolutos nas Classes Padro. . . . . . . . . . . . 111
6.4 Letras Matemticas. . . . . . . . . . . . . . . . . . . . . . . . 111
6.5 Unidades do T
E
X. . . . . . . . . . . . . . . . . . . . . . . . . 116
Captulo 1
Coisas Que Precisa de Saber
Na primeira parte deste captulo, ser apresentada uma viso geral sobre a
losoa e histria do L
A
T
E
X2

. A segunda parte foca as estruturas bsicas de


um documento L
A
T
E
X. Depois de ler este captulo, ter uma ideia geral de como
o L
A
T
E
X funciona. O seu principal objectivo ajudar a integrar toda a informao
que dada nos captulos seguintes.
1.1 O Nome do Jogo
1.1.1 T
E
X
O T
E
X um programa de computador criado por Donald E. Knuth [2].
devoto tipograa de texto e frmulas matemticas. O motor tipogrco
comeou a ser escrito em 1977 para explorar os potenciais de equipamento
digital de impresso que estava a inltrar na indstria de publicao naquele
tempo, especialmente na esperana de poder alterar o rumo da deteriora-
o de qualidade tipogrca que ele viu a afectar os seus prprios livros e
artigos. Tal como o usamos hoje, o T
E
X foi disponibilizado em 1982 com pe-
quenos melhoramentos adicionados em 1989 para suportar da melhor forma
os caracteres de 8-bits, e mltiplas linguagens. Tem recebido muitos elogios
por ser extremamente estvel, funcionar em muitos tipos diferentes de com-
putadores, e virtualmente no ter qualquer bug. A verso do T
E
X est a
convergir para e de momento 3.141592.
Pronunciamos T
E
X como Tech, com um ch idntico palavra alem
Ach
1
ou escocesa Loch. O ch teve origem no alfabeto grego onde o
X a letra ch ou chi. T
E
X tambm a primeira slaba da palavra grega
1
Em alemo existem na verdade duas formas de pronunciar ch e devemos assumir
que a forma mais macia como se usa para Pech a mais apropriada. Depois de algum
perguntar ao Knuth sobre isto, ele escreveu na Wikipedia alem: Eu no co zangado
quando as pessoas pronunciam T
E
X da sua forma favorita. . . e em alemo muitos usam
uma forma leve de ch porque o X segue a vogal e, e no a forma bruca que segue a vogal
a. Na Russia, tex uma palavra muito comum, pronunciada tyekh. Mas acredito que a
2 Coisas Que Precisa de Saber
texnologia (tecnologia). Em ambientes ASCII, T
E
X deve ser escrito como
TeX.
1.1.2 L
A
T
E
X
O L
A
T
E
X um pacote de comandos (macros que permitem que formatos pre-
denidos, de grandssima qualidade tipogrca, sejam impressos por qual-
quer autor. Foi escrito originalmente por Leslie Lamport [1]. Na verdade,
no mais do que um conjunto de comandos simplicados sobre o T
E
X
original. Ultimamente, o L
A
T
E
X mantido por Frank Mittelbach.
L
A
T
E
X pronunciado Lay-tech ou Lah-tech. Se se referir ao L
A
T
E
X
num ambiente ASCII, deve escrever LaTeX. L
A
T
E
X2

pronunciado Lay-
tech two e e escrito LaTeX2e.
1.2 Bases
1.2.1 Autor, Paginadores e Tipgrafo
Para publicar alguma coisa, os autores do um manuscrito dactilografado
companhia de publicao. Um dos seus paginadores decide o formato do
documento (largura da coluna, tipos de letra, espaos antes e aps os cabe-
alhos, . . . ). Este escreve as suas instrues no manuscrito, que entregue
ao tipgrafo que imprime o livro de acordo com estas instrues.
Um paginador humano tenta imaginar o que o autor tinha em mente
enquanto escrevia o manuscrito. Tem de decidir os cabealhos de captulos,
exemplos, frmulas, etc. baseado nos seus conhecimentos prossionais e no
contedo do manuscrito.
Num ambiente L
A
T
E
X, o paginador o L
A
T
E
X, que usa o T
E
X como seu
tipgrafo. Mas o L
A
T
E
X apenas um programa e portanto precisa de algum
apoio. O autor tem de dar informao adicional descrevendo a estrutura
lgica do seu trabalho. Esta informao escrita no texto como comandos
L
A
T
E
X.
Esta uma grande diferena da abordagem WYSIWYG
2
que a maior
parte dos processadores de texto modernos, tais como o MS Word ou Corel
WordPerfect, usam. Com estas aplicaes, os autores especicam o formato
do documento de uma forma interactiva enquanto vo escrevendo o texto no
computador. Durante esse processo, podem ver no cran como o resultado
nal vai aparecer quando impresso.
Ao usar o L
A
T
E
X, normalmente no possvel ver o resultado nal en-
quanto se digita o texto. No entanto, o resultado nal pode ser pr-visualizado
forma mais correcta de pronunciar ouvida na Grcia, onde existe a forma mais spera
de ch como ach e Loch.
2
What you see is what you get O que vs o que recebes.
1.2 Bases 3
no cran depois de processar o cheiro com o L
A
T
E
X. Ento, podem ser feitas
correces para enviar posteriormente o documento para a impressora.
1.2.2 Desenho do Formato
O desenho relacionado com a tipograa bastante trabalhoso. Autores no
qualicados cometem frequentemente erros srios de formatao assumindo
que o desenho de livros , na sua maior parte, uma questo esttica Se um
documento artisticamente bonito, ento est bem desenhado. Mas, como
um documento tem de ler lido e no pendurado numa galeria de pinturas,
a leitura e compreenso de muito maior importncia do que a sua forma.
Exemplos:
O tamanho e a numerao dos cabealhos devem ser escolhidos para
fazer a estrutura de captulos e seces clara ao leitor.
O comprimento das linhas tem de ser sucientemente curto para no
fazer o leitor trocar os olhos, mas sucientemente longo para preencher
uma pgina de uma forma esteticamente bela.
Com sistemas WYSIWYG, os autores criam documentos esteticamente
agradveis sem estrutura, ou em que esta se apresenta de uma forma incon-
sistente. O L
A
T
E
X previne este tipo de erros de formatao ao obrigar os
autores a declarar a estrutura lgica do seu documento, escolhendo depois
o formato mais adequado.
1.2.3 Vantagens e Desvantagens
Quando as pessoas do mundo WYSIWYG conhecem pessoas que usam
L
A
T
E
X, frequentemente discutem as vantagens do L
A
T
E
X em relao a um
processador de texto normal ou o contrrio. A melhor coisa que se pode
fazer quando uma discusso inicia manter a calma, porque este tipo de dis-
cusses saem facilmente dos limites. Mas por vezes no se pode escapar. . .
Ento, aqui esto algumas munies. As principais vantagens do L
A
T
E
X
sobre um processador de texto normal so as seguintes:
Formatos criados prossionalmente esto disponveis, que fazem com
que um documento parea realmente impresso numa tipograa;
A escrita de frmulas matemticas suportada de uma forma conve-
niente;
O utilizador apenas precisa de aprender uma dzia de comandos facil-
mente compreensveis que especicam a estrutura lgica de um docu-
mento. Quase nunca se precisa de atormentar com o formato real do
documento;
4 Coisas Que Precisa de Saber
At estruturas complexas, tais como notas de rodap, referncias, ta-
belas de contedos e bibliograas podem ser facilmente geradas;
Pacotes gratuitos podem ser aplicados a tarefas tipogrcas no su-
portadas pelo L
A
T
E
X bsico. Por exemplo, existem pacotes para in-
cluir grcos PostScript e para imprimir bibliograas conforme os
standards. Muitos destes pacotes esto descritos no The L
A
T
E
X Com-
panion [3];
O L
A
T
E
X encoraja os autores a escrever textos bem estruturados porque
assim que o L
A
T
E
X funciona especicando a estrutura;
T
E
X, o motor de formatao do L
A
T
E
X2

, extremamente portvel e
livre. Desta forma, o sistema funciona em quase todas as plataformas
de hardware existentes.
O L
A
T
E
X tambm tem algumas desvantagens, e penso que um pouco dif-
cil para mim encontrar alguma, mas parece-me que outras pessoas podem
indicar centenas ;-)
L
A
T
E
X no funciona bem para pessoas que tenham vendido a sua
alma. . .
Apesar de alguns parmetros poderem ser ajustados num formato pr-
denido, o desenho de todo um novo formato difcil e demora muito
tempo
3
difcil de escrever documentos mal estruturados e desorganizados;
Embora o seu hamster demonstre alguma dedicao durante os pri-
meiros passos, nunca conseguir digerir completamente o conceito de
marcao lgica.
1.3 Ficheiros L
A
T
E
X
Os cheiros L
A
T
E
X so cheiros de texto ASCII planos. Pode cri-los em
qualquer editor de texto; o cheiro contm o texto do documento assim
como os comandos que dizem ao L
A
T
E
X como formatar o texto.
1.3.1 Espaos
Caracteres brancos como espaos ou caracteres de tabulao (tabs) so
tratados uniformemente como espaos pelo L
A
T
E
X. Caracteres brancos
consecutivos so tratados como um espao. Os espaos no incio de uma
3
Rumores dizem que este um dos pontos chave a ser abordado na verso 3 do L
A
T
E
X.
1.3 Ficheiros L
A
T
E
X 5
linha so geralmente ignorados, e uma simples mudana de linha tratada
da mesma forma que um espao.
Uma linha em branco entre duas linhas de texto dene o m de um
pargrafo. Vrias linhas vazias so tratadas da mesma forma que uma linha
vazia. O texto que se segue um exemplo. Do lado esquerdo apresenta-
se o texto do cheiro a escrever, e do lado direito o resultado depois de
processado.
No interessa se introduz apenas
um ou vrios espaos depois
de uma palavra.
Uma linha em branco inicia um novo
pargrafo.
No interessa se introduz apenas um ou
vrios espaos depois de uma palavra.
Uma linha em branco inicia um novo pa-
rgrafo.
1.3.2 Caracteres Especiais
Os smbolos que se seguem so caracteres reservados que ou tm um signi-
cado especial para o L
A
T
E
X ou no esto disponveis em todos os tipos de
letras. Se os introduzir directamente no seu texto, no sero impressos, mas
causaro o L
A
T
E
X a fazer coisas que no deseja.
# $ % ^ & _ { } ~ \
Como ir ver, estes caracteres podem ser utilizados nos seus documentos
todos da mesma forma, adicionando uma barra invertida como prexo:
\$ \& \% \# \_ \{ \} $ & % # _ { }
Outros smbolos e muitos mais podem ser impressos com comandos es-
peciais em frmulas matemticas ou como acentos. O caracter de barra
invertida () no deve ser introduzido adicionando uma outra barra antes
(\\), porque esta sequncia utilizada para quebrar linhas de texto.
4
1.3.3 Comandos L
A
T
E
X
Os comandos L
A
T
E
X so sensveis s maisculas/minsculas, e tm um de
dois formatos:
Comeam com um backslash
5
(\) e tm um nome que consiste ape-
nas de letras. Os nomes de comandos terminam com um espao, um
nmero ou qualquer outro smbolo no-letra.
4
Tente o comando $\backslash$ em vez da dupla barra, que produz um \.
5
NT: a partir de agora utilizaremos o termo ingls em vez de barra invertida
6 Coisas Que Precisa de Saber
Consistem num backslash e exactamente um caracter no letra.
O L
A
T
E
X ignora espaos em branco aps os comandos. Se deseja um
espao depois de um comando, deve colocar {} e um caracter especial, ou
um comando de espaamento especial depois do nome do comando. O {} faz
com que o L
A
T
E
X pare de comer todos os espaos aps o nome do comando.
Li que o Knuth divide as
pessoas que trabalham com o \TeX{}
em \TeX{}nicos e \TeX pertos.\\
Hoje \today.
Li que o Knuth divide as pessoas que
trabalham com o T
E
X em T
E
Xnicos e
T
E
Xpertos.
Hoje 28 de Abril de 2008.
Alguns comandos precisam de um parmetro que deve ser introduzido
entre chavetas ({}) depois do nome do comando. Outros suportam par-
metros opcionais que so adicionados depois do nome do comando entre
parntesis rectos ([]). Os exemplos seguintes utilizam alguns comandos
L
A
T
E
X. No se preocupe com eles, pois sero explicados mais tarde.
Pode \textsl{apoiar-se} em mim! Pode apoiar-se em mim!
Por favor, comece uma nova linha
exactamente aqui!\newline
Obrigado!
Por favor, comece uma nova linha exacta-
mente aqui!
Obrigado!
1.3.4 Comentrios
Quando o L
A
T
E
X encontra um caracter % ao processar o cheiro, ignora todo
o resto dessa linha, a mudana de linha e todos os espaos no incio da linha
seguinte.
Pode ser utilizado para escrever notas nos cheiros de cdigo, que no
aparecero nas verses impressas.
Este um % estpido
% Melhor: instrutivo <----
exemplo: Supercal%
ifragilist%
icexpialidocious
Este um exemplo: Supercalifragilisticex-
pialidocious
O caracter % tambm pode ser utilizado para quebrar linhas longas onde
no so permitidos espaos nem mudanas de linha.
1.4 Estrutura do Ficheiro 7
Para comentrios mais longos, pode utilizar o ambiente comment dispo-
nibilizado pelo pacote verbatim. Isto signica que, para usar o ambiente
comment tem de adicionar o comando \usepackage{verbatim} ao prem-
bulo do seu documento.
Este outro
\begin{comment}
bastante estpido,
mas instrutivo
\end{comment}
exemplo de como embeber
comentrios nos seus documentos.
Este outro exemplo de como embeber
comentrios nos seus documentos.
Note que isto no funciona dentro de ambientes complexos tal como o
matemtico.
1.4 Estrutura do Ficheiro
Quando o L
A
T
E
X2

processa um cheiro, espera que ele respeite uma certa


estrutura. Desta forma, todos os cheiros devem comear com o comando
\documentclass{...}
Isto especica o tipo de documento que tenciona escrever. Em seguida,
pode incluir comandos que inuenciam o estilo de todo o documento, ou
pode incluir pacotes que adicionaro novas propriedades ao sistema L
A
T
E
X.
Para incluir este tipo de pacote, utilize o comando
\usepackage{...}
Quando todo o trabalho de congurao estiver feito,
6
inicie o corpo do
texto com o comando
\begin{document}
Agora introduza o texto misturado com comandos L
A
T
E
X teis. No m
do documento adicione o comando
\end{document}
que indica ao L
A
T
E
X o m do seu servio. Tudo o que siga este comando ser
ignorado pelo L
A
T
E
X.
A gura 1.1 mostra o contedo de um cheiro L
A
T
E
X2

mnimo. Um
cheiro um pouco mais complexo mostrado na gura 1.2.
6
A rea entre \documentclass e \begin{document} chamado de prembulo.
8 Coisas Que Precisa de Saber
\documentclass{article}
% esta linha especfica para
% o Portugus e outras lnguas
% com caracteres acentuados.
\usepackage[latin1]{inputenc}
\begin{document}
Pequeno belo.
\end{document}
Figura 1.1: Um cheiro L
A
T
E
X mnimo.
\documentclass[a4paper,11pt]{article}
% Esta linha necessria para
% documentos em lnguas que incluam
% caracteres acentuados.
\usepackage[latin1]{inputenc}
% Define o autor e ttulo
\author{H.~Partl}
\title{Minimalista}
\begin{document}
% Gera o ttulo
\maketitle
% Insere a tabela de contedos
\tableofcontents
\section{Algumas Palavras Interessantes}
Bem, e aqui est o inicio do meu adorado artigo.
\section{Adeus, Mundo!}
\ldots{} e aqui ele acaba.
\end{document}
Figura 1.2: Exemplo de um artigo de jornal real. Note que os comandos que
v neste exemplo sero explicados mais tarde, nesta introduo.
1.5 Uma Sesso de Edio Tpica 9
1.5 Uma Sesso de Edio Tpica
Aposto que deve estar a morrer por poder testar o pequeno exemplo de L
A
T
E
X
mostrado na pgina 8. Aqui est alguma ajuda: o L
A
T
E
X, por si s, no
contm um interface grco, ou botes para clicar. apenas um programa
que mastiga o seu documento. Algumas instalaes do L
A
T
E
X providenciam
um programa grco para interagir com o L
A
T
E
X clicando em certos menus.
Outros sistemas podem exigir um pouco mais de dactilograa, portanto
aqui apresentamos como obrigar o L
A
T
E
X a compilar o seu documento num
sistema baseado em texto. Note que esta descrio assume que existe uma
instalao L
A
T
E
X a funcionar no seu computador.
7
1. Edite/Crie o seu documento L
A
T
E
X. Este cheiro deve ser texto ASCII
sem qualquer tipo de formatao. Em Unix, todos os editores vo
fazer o que deseja. Em Windows, deve ter a certeza que vai gravar o
cheiro em ASCII ou em formato texto. Ao escolher um nome para o
seu cheiro, tenha a certeza de lhe colocar a extenso .tex.
2. Execute o L
A
T
E
X sobre o seu cheiro. Se correr tudo bem, ir acabar
com um cheiro .dvi. Poder ser necessrio correr o L
A
T
E
X vrias
vezes para obter um ndice de contedos e todas as referncias internas
correctamente. Sempre que o seu cheiro tenha um erro o L
A
T
E
X ir
dizer-lhe que erro cometeu e ir parar o seu processamento. Pressione
ctrl-D para voltar linha de comandos.
latex foo.tex
3. Agora pode ver o cheiro DVI. Existem vrias formas de o fazer. Pode
mostrar o cheiro no cran com
xdvi foo.dvi &
Isto funciona apenas em Unix com X11. Se est em Windows, poder
tentar usar o yap (ainda outro pr-visualizadoryet another previ-
ewer). Tambm pode converter o cheiro dvi em PostScript para
imprimir ou ver com o Ghostscript.
dvips -Pcmz foo.dvi -o foo.ps
Se tiver sorte, o seu sistema L
A
T
E
X at trs a ferramenta dvipdf, que
7
Este o caso de qualquer sistema Unix, e . . . Homens a srio usam Unix
10 Coisas Que Precisa de Saber
lhe permite converter o seu cheiro .dvi directamente em pdf.
dvipdf foo.dvi
1.6 O Formato do Documento
1.6.1 Classes de Documentos
A primeira informao que o L
A
T
E
X precisa de saber quando processa um
cheiro o tipo de documento que o autor quer criar. Este tipo especicado
pelo comando \documentclass.
\documentclass[opes]{classe}
Aqui, classe especica o tipo do documento a ser criado. A tabela 1.1
lista as classes de documento explicadas nesta introduo. A distribuio
do L
A
T
E
X2

permite classes adicionais para outros documentos, incluindo


cartas e slides. O parmetro opes caracteriza o comportamento da classe
do documento. As opes devem ser separadas por vrgulas. As opes mais
comuns para os documentos padro esto listadas na tabela 1.2.
Exemplo: Um cheiro para um documento L
A
T
E
X pode comear com a
linha
Tabela 1.1: Classes de Documentos.
article para artigos em jornais cientcos, pequenos relatrios, documen-
tao de programas, convites, . . .
report para relatrios mais longos contendo vrios captulos, pequenos li-
vros, teses de doutoramento, . . .
book para livros verdadeiros
slides para slides. Esta classe usa letras grandes do tipo sans serif. Deve
considerar utilizar o pacote FoilT
E
X
a
em vez do slides.
proc para actas (proceedings) baseadas na classe artigo.
minimal a classe mais pequena que pode obter. S dene um tamanho
de papel, e um tamanho de letra base. usado especialmente para
deteco de problemas.
a
macros/latex/contrib/supported/foiltex
1.6 O Formato do Documento 11
Tabela 1.2: Opes das Classes de Documentos.
10pt, 11pt, 12pt Dene o tamanho principal das letras do documento.
Caso no especique uma delas, assumido 10pt.
a4paper, letterpaper, . . . Dene o tamanho do papel. Por omisso,
utilizado o letterpaper. Alm destes, existem a5paper, b5paper,
executivepaper, e legalpaper.
fleqn Alinha as frmulas esquerda em vez de as centrar.
leqno Coloca a numerao nas frmulas do lado esquerdo em vez do
lado direito.
titlepage, notitlepage Especica se se deve criar uma nova pgina
depois do ttulo do documento ou no. A classe article no inicia
uma nova pgina por omisso, enquanto que o report e o book o
fazem.
twocolumn Instrui o L
A
T
E
X a escrever o documento em duas colunas.
twoside, oneside Indica se deve ser gerado resultado para impresso
dos dois lados. As classes article e report so impressas apenas de
um lado e a classe book impressa dos dois lados por omisso. Note
que esta opo muda apenas o estilo do documento. A opo
twoside no diz impressora que deve fazer a impresso de ambos
os lados.
openright, openany Faz os captulos comear apenas nas pginas do
lado direito ou na prxima disponvel. Esta opo no funciona com
a classe article uma vez que ela no sabe o que so captulos. A
classe report inicia por omisso os captulos na primeira pgina
disponvel e a classe book inicia nas pginas do lado direito.
landscape Muda o formato do documento para ser impresso numa folha
deitada.
12 Coisas Que Precisa de Saber
\documentclass[11pt,twoside,a4paper]{article}
que instrui o L
A
T
E
X 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 impresso de ambos os lados (twoside) em papel A4
(a4paper).
1.6.2 Pacotes
Ao escrever o seu documento, provavelmente encontrar algumas reas onde
o L
A
T
E
X bsico no conseguir resolver os seus problemas. Se deseja incluir
grcos, texto colorido ou cdigo fonte de um cheiro no seu documento, ir
precisar de melhorar as capacidades do L
A
T
E
X. Este tipo de melhoramentos
so chamados pacotes (packages), e so activados com o comando
\usepackage[opes]{pacote}
onde pacote o nome do pacote e opes uma lista de palavras chave que
activam (ou desactivam) propriedades especiais no pacote. Alguns pacotes
vm com a distribuio base do L
A
T
E
X2

(Veja a tabela 1.3), outros so


distribuidos separadamente. Poder encontrar mais informao sobre os
pacotes instalados no Local Guide [4]. A primeira fonte de informao sobre
os pacotes L
A
T
E
X o The L
A
T
E
X Companion [3], que contm descries de
centenas de pacotes juntamente com informao sobre como escrever as suas
prprias extenses para o L
A
T
E
X2

.
As distribuies de T
E
X modernas incluem um grande nmero de pacotes
j instalados. Se est a trabalhar num sistema Unix, use o comando texdoc
para aceder documentao existente.
1.7 Ficheiros que provavelmente encontrar
Quando trabalhar com o L
A
T
E
X, rapidamente se encontrar num labirinto de
cheiros com vrias extenses e provavelmente sem pista alguma sobre o seu
contedo. Em seguida apresentamos uma lista indicando os vrios tipos de
cheiros que possivelmente encontrar ao trabalhar com T
E
X. Note que esta
tabela no pretende ser uma lista completa de extenses, mas se encontrar
uma que falte e que lhe parea importante, avise!
.tex Ficheiros L
A
T
E
X ou T
E
X. Podem ser compilados com o latex.
.sty Pacote de macros L
A
T
E
X. Este um cheiro que pode carregar no seu
documento L
A
T
E
X utilizando o comando \usepackage.
.dtx T
E
X documentado. Este o formato base para a distribuio de -
cheiros de estilo L
A
T
E
X. Se processar um destes cheiros car com
documentao do pacote contido no cheiro .dtx.
1.7 Ficheiros que provavelmente encontrar 13
Tabela 1.3: Alguns Pacotes Distribudos com o L
A
T
E
X.
doc Permite a documentao de programas L
A
T
E
X.
Descrito em doc.dtx
a
e no The L
A
T
E
X Companion [3].
exscale Fornece verses das letras do modo matemtico regulveis em tama-
nho
Descrito em ltexscale.dtx.
fontenc Especica que codicao de caracteres o L
A
T
E
X deve usar.
Descrito em ltoutenc.dtx.
ifthen Fornece comandos da forma
if. . . then do. . . otherwise do. . . .
Descrito em ifthen.dtx e no The L
A
T
E
X Companion [3].
latexsym Permite aceder ao tipo de letra symbol do L
A
T
E
X. Descrito em
latexsym.dtx e no The L
A
T
E
X Companion [3].
makeidx Fornece comandos para produzir ndices. Descrito na seco 4.3 e
no The L
A
T
E
X Companion [3].
syntonly Processa um documento sem escrever o resultado do processa-
mento.
inputenc Permite a especicao de uma codicao como seja ASCII, ISO
Latin-1, ISO Latin-2, pginas de cdigo 437/850 IBM, Apple Macin-
tosh, Next, ANSI-Windows ou denido pelo utilizador. Descrito em
inputenc.dtx.
a
Este cheiro deve estar instalado no seu sistema, e deve conseguir convert-lo para
um cheiro dvi digitando latex doc.dtx em qualquer directoria em que tiver permisses.
Isto tambm verdade para todos os outros cheiros mencionados nesta tabela.
14 Coisas Que Precisa de Saber
.ins o instalador para os cheiros contidos nos cheiros .dtx com o mesmo
nome. Se zer download de um pacote L
A
T
E
X da Internet, normalmente
car com um cheiro .dtx e um .ins. Corra o L
A
T
E
X no cheiro .ins
para descompactar o cheiro .dtx.
.cls Ficheiros de classe que denem como o seu documento vai aparecer.
Podem ser seleccionados com o comando \documentclass.
.fd Ficheiros de descrio de tipos de letra que comunica ao L
A
T
E
X novos
tipos disponveis.
Os cheiros seguintes so gerados quando corre o L
A
T
E
X no seu documento:
.dvi Device Independent le. Este o resultado principal da utilizao do
L
A
T
E
X. Pode ver o seu contedo com um programa de visualizao de
DVI ou pode envi-lo para a impressora com dvips ou uma aplicao
similar.
.log Contm informao detalhada sobre o que aconteceu da ltima vez
que correu o L
A
T
E
X no seu documento.
.toc Guarda todos os cabealhos. Ser lido da prxima vez que correr o
L
A
T
E
X para produzir a tabela de contedos.
.lof Idntico ao .toc mas para a lista de guras.
.lot Mais uma vez o mesmo para a lista de tabelas.
.aux Outro cheiro que transporta informao de uma utilizao do L
A
T
E
X
at prxima. Entre outras coisas, o cheiro .aux utilizado para
guardar informao associada com referncias cruzadas.
.idx Se o seu documento inclu um ndice, o L
A
T
E
X guarda todas as palavras
que vo para o ndice neste cheiro. Este cheiro deve ser processado
com o makeindex. Visite a seco 4.3 na pgina 74 para mais infor-
mao sobre indexao.
.ind o cheiro processado do .idx, pronto para incluso no seu documento
no prximo ciclo de compilao.
.ilg Ficheiro com os resultados sobre o processamento do makeindex.
1.7.1 Estilo de Pginas
O L
A
T
E
X suporta trs combinaes pr-denidas de cabealho/rodap
chamados de estilo de pginas . O parmetro estilo pode ser um dos denidos
1.8 Grandes Projectos 15
pelo comando
\pagestyle{estilo}
A tabela 1.4 lista os estilos de pginas pr-denidos.
Tabela 1.4: Os Estilos de Pginas Pr-denidos no L
A
T
E
X.
plain imprime o nmero da pgina no fundo da pgina, no centro do ro-
dap. Este o estilo por omisso.
headings imprime o nome do captulo actual e o nmero da pgina no
cabealho de cada pgina, enquanto que o rodap se mantm vazio.
(Este o estilo usado neste documento)
empty coloca quer o cabealho quer o rodap vazios.
possvel alterar o estilo da pgina actual com o comando
\thispagestyle{estilo}
Uma descrio sobre como criar os seus prprios cabealhos e rodaps
pode ser encontrado no The L
A
T
E
X Companion [3] e na seco 4.4 da p-
gina 76.
1.8 Grandes Projectos
Quando trabalha com documentos grandes, possivelmente gostava de sepa-
rar os cheiros de cdigo em vrias partes. O L
A
T
E
X tem dois comandos que
ajudam a atingir este objectivo.
\include{nomedocheiro}
este comando usado no corpo de um documento para incluir o contedo de
outro cheiro (chamado nomedocheiro.tex). O L
A
T
E
X ir iniciar uma nova
pgina antes de processar o contedo deste cheiro.
O segundo comando pode ser utilizado no prembulo. Ele permite in-
dicar ao L
A
T
E
X que apenas os cheiros especicados podem ser includos:
\includeonly{nomedocheiro,nomedocheiro,. . . }
Depois deste comando ser executado no prembulo do documento, ape-
16 Coisas Que Precisa de Saber
nas os comandos \include para os cheiros listados no argumento do co-
mando \includeonly sero realmente includos. Note que no podem existir
espaos entre os nomes dos cheiros e as vrgulas.
O comando \include inicia o texto, includo numa nova pgina. Isto
til quando usa o \includeonly, porque as mudanas de pgina no se
movero, mesmo quando alguns \includes so omitidos. Algumas vezes
isto pode no ser desejvel. Neste caso, deve utilizar o comando
\input{nomedocheiro}
que inclu simplesmente o cheiro especicado, sem fatos brilhantes, nem
cordas agarradas!
Para fazer o L
A
T
E
X vericar rapidamente o seu documento pode utilizar
o pacote syntonly que faz com que o L
A
T
E
X percorra o cheiro vericando
apenas a sintaxe e utilizao de comandos, mas no produz nenhum cheiro.
Como o L
A
T
E
X corre mais depressa neste modo, pode poupar-lhe muito do
seu precioso tempo. A sua utilizao muito simples:
\usepackage{syntonly}
\syntaxonly
Quando precisar de produzir pginas, adicione um comentrio segunda
linha (adicionando um smbolo de percentagem).
Captulo 2
Escrever Texto
Depois de ler o captulo anterior, deve saber as partes bsicas que constituem
um documento L
A
T
E
X2

. Este captulo preencher o resto da estrutura que


precisa de conhecer para produzir material autntico.
2.1 A Estrutura de um Texto
By Hanspeter Schmid <hanspi@schmid-werren.ch>
Ao escrever um texto, o principal ponto (alguma literatura DAAC
1
mo-
derna excluda), apresentar ideias, informao ou conhecimento ao leitor.
Este ir compreender melhor o texto se estas ideias estiverem bem estrutu-
radas, e ir ver e sentir melhor esta estrutura se a forma tipogrca reectir
a estrutura lgica e semntica do contedo.
O L
A
T
E
X diferente de todos os outros sistemas de escrita apenas por ter
de indicar a estrutura lgica e semntica do texto. Utilizando esta estrutura,
deriva a forma tipogrca do texto de acordo com as regras dadas na classe
do documento e nos vrios cheiros de estilo.
A unidade mais importante de texto em L
A
T
E
X (e em tipograa) o
pargrafo. Chamamos-lhe unidade de texto porque um pargrafo a
forma tipogrca que deve reectir um pensamento coerente, ou uma ideia.
Nas seces seguintes aprender como forar mudanas de linha, por exemplo
com \\ e mudanas de pargrafo deixando uma linha em branco no cdigo.
Se comea a descrever um novo pensamento, deve iniciar um novo pargrafo;
se no, apenas mudanas de linha devem ser utilizadas. Em dvida se
deve ou no realizar quebras de pargrafos, pense no seu texto como um
armrio de ideias e pensamentos. Se tem uma quebra de pargrafo, mas
o pensamento anterior continua, deve ser removido. Se alguma linha de
pensamento completamente nova ocorre no mesmo pargrafo, ento deve
ser quebrado.
1
Dierent At All Cost (diferente a todo o custo), uma traduo da UVA Sua-Alem
(Ums Verrecken Anders).
18 Escrever Texto
A maior parte das pessoas esquece completamente a importncia de que-
bras de pargrafos bem colocadas. Muitas pessoas nem sequer saber o sig-
nicado duma quebra de pargrafo, e, especialmente em L
A
T
E
X, introduzem
pargrafos sem saber. Este erro especialmente fcil de fazer se forem uti-
lizadas equaes no texto. Veja os exemplos seguintes, e descubra porque
algumas linhas em branco (quebras de pargrafos) so utilizados antes e
depois da equao, e outras vezes no. (Se ainda no compreender todos os
comandos o suciente para compreender estes exemplos, continue a ler este
e os captulos seguintes, e depois volte a ler esta seco.)
% Example 1
\ldots quando Einstein introduziu a sua frmula
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
que ao mesmo tempo a mais conhecida e a menos
compreendida frmula fsica.
% Example 2
\ldots de onde segue a lei actual de Kirchhoff:
\begin{equation}
\sum_{k=1}^{n} I_k = 0 \; .
\end{equation}
A lei de voltagem de Kirchhoff pode ser deduzida\ldots
% Example 3
\ldots que tem vrias vantagens.
\begin{equation}
I_D = I_F - I_R
\end{equation}
o centro de um modelo diferente de transistor.\ldots
A unidade mais pequena de texto seguinte a frase. Em textos ingleses
2
,
existe um maior espao depois de um ponto que acaba uma frase do que um
que acaba uma abreviatura. O L
A
T
E
X tenta adivinhar qual dos casos deve
utilizar. Se o L
A
T
E
X errar, deve dizer-lhe o que quer. Como fazer isto
explicado mais tarde neste captulo.
A estruturao do texto extende-se at s partes de uma frase. Quase
todas as lnguas tm regras de pontuao muito complicadas, mas na sua
2
NT: e tambm em portugueses
2.2 Quebras de Linha e Quebras de Pgina 19
maioria (incluindo alemo e ingls
3
), ir obter quase todas as vrgulas cor-
rectas se se lembrar do que ela representa: uma pequena paragem no uxo
da lngua. Se no tem a certeza onde colocar a vrgula, leia a frase em voz
alta, e faa uma pequena respirao em cada vrgula. Se ca mal em algum
stio, apague a vrgula; se precisa de respirar (ou fazer uma pequena pausa)
em algum outro ponto, insira uma vrgula.
Finalmente, os pargrafos de um texto devem tambm estar estruturados
logicamente a um nvel superior, encaixando-os em captulos, seces, sub-
seces, e assim sucessivamente. No entanto, o efeito tipogrco de escrever,
por exemplo, \section{A Estrutura e Linguagem do Texto} to obvio
que evidente quando estas estruturas de alto nvel devem ser utilizadas.
2.2 Quebras de Linha e Quebras de Pgina
2.2.1 Pargrafos Justicados
habitual que os livros sejam escritos de forma a que cada linha tenha o
mesmo comprimento. O L
A
T
E
X insere as quebras de linha e espaos neces-
srios entre palavras optimizando os contedos de um pargrafo, como um
todo. Se necessrio, ele tambm hifeniza as palavras que no cabem con-
fortavelmente numa linha. Como os pargrafos so impressos depende da
classe do documento. Normalmente a primeira linha do pargrafo inden-
tada, e no existe espao adicional entre dois pargrafos. Veja a seco 6.3.2
para mais informao.
Em casos especiais pode ser necessrio ordenar ao L
A
T
E
X para quebrar a
linha:
\\ ou \newline
iniciam uma nova linha sem iniciar um novo pargrafo.
\\*
probe, adicionalmente, uma quebra de pgina aps a quebra de linha for-
3
NT: e portugus
20 Escrever Texto
ada.
\newpage
inicia uma nova pgina.
\linebreak[n], \nolinebreak[n], \pagebreak[n], \nopagebreak[n]
fazem o que o seu nome diz
4
. Permitem que o autor inuencie as suas
aces com um argumento opcional n que pode variar desde zero at quatro.
Ao colocar n com um valor inferior a 4 permite que o L
A
T
E
X ignore o seu
comando se o resultado car muito feio. No confunda estes comandos
break com os comandos new. Mesmo ao indicar um comando break,
o L
A
T
E
X tenta ainda preencher as bordas do texto e o comprimento total da
pgina, como descrito na seco seguinte. Se realmente quer comear uma
nova linha, ento utilize o comando correspondente. Adivinhe qual!
O L
A
T
E
X tenta sempre produzir as melhores quebras de linha possveis. Se
no encontra uma forma de quebrar a linha dum modo que esteja de acordo
com a sua qualidade, deixa uma linha sair um pouco da margem direita do
pargrafo. No entanto, o L
A
T
E
X queixa-se (overfull hbox) ao processar o
documento. Isto acontece mais frequentemente quando o L
A
T
E
X no encontra
um stio correcto para hifenizar a palavra.
5
Existe a possibilidade de instruir
o L
A
T
E
X a baixar a sua qualidade um pouco dando-lhe o comando \sloppy,
que previne estas linhas demasiado compridas aumentando o espao entre
palavrasmesmo que o resultado nal no seja ptimo. Neste caso, um aviso
(underfull hbox) dado. Na maior parte destes casos o resultado no
o melhor. O comando \fussy traz o L
A
T
E
X de volta ao seu comportamento
habitual.
2.2.2 Hifenizao
O L
A
T
E
X hifeniza as palavras sempre que precisa. Se o algoritmo de hifeni-
zao no encontrar o ponto correcto, pode remediar a situao utilizando
o seguinte comando, para indicar ao T
E
X a excepo.
O comando
\hyphenation{lista de palavras}
causa as palavras listadas no argumento sejam hifenizadas apenas nos pontos
4
NT: forar quebra de linha, evitar quebra de linha, forar nova pgina e evitar nova
pgina, respectivamente
5
Apesar do L
A
T
E
X avis-lo quando isto acontece (Overfull hbox) e mostrar a linha
problemtica, estas linhas nem sempre so fceis de encontrar. Se utilizar a opo draft
no comando \documentclass, estas linhas sero marcadas com uma linha preta na margem
direita.
2.2 Quebras de Linha e Quebras de Pgina 21
marcados por -. O argumento do comando deve conter apenas palavras
constitudas de letras normais ou sinais considerados como letras normais
pelo L
A
T
E
X. As sugestes de hifenizao so guardados para a lngua activa
quando o comando de hifenizao ocorre. Isto signica que se colocar um
comando de hifenizao no prembulo do seu documento, inuenciar a hife-
nizao da lngua inglesa. Se colocar o comando aps o \begin{document}
e est a usar algum pacote para suporte de outras lnguas como seja o pacote
babel, ento as sugestes de hifenizao estaro activas na lngua activada
pelo babel.
O seguinte exemplo permitir que hifenizao seja hifenizado to bem
como Hifenizao, e previne de todo que FORTRAN, Fortran e for-
tran sejam hifenizados. No argumento deste comando no so permitidos
smbolos ou caracteres especiais.
Exemplo:
\hyphenation{FORTRAN Hi-fe-ni-za-o}
O comando \- insere um hfen descritivo numa palavra. Estes passam
tambm a ser os nicos pontos de hifenizao permitidos na palavra. Este
comando especialmente til para palavras que contm caracteres especiais
(por exemplo, caracteres acentuados), porque o L
A
T
E
X no hifeniza automa-
ticamente palavras que contenham esses caracteres.
Penso que isto : su\-per\-cal\-%
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-i\-do\-cious
Penso que isto : supercalifragilisticexpi-
alidocious
Vrias palavras podem ser mantidas juntas numa linha, utilizando o
comando
\mbox{texto}
que obriga o L
A
T
E
X a manter o seu argumento junto em todas as circunstn-
cias.
O meu nmero de telefone ir mudar
brevemente para \mbox{0116 291 2319}.
O parmetro
\mbox{\emph{nomedoficheiro}} dever
conter o nome do ficheiro.
O meu nmero de telefone ir mudar bre-
vemente para 0116 291 2319.
O parmetro nomedocheiro dever con-
ter o nome do cheiro.
O comando \fbox idntico ao \mbox, mas adiciona um rectngulo
desenhado volta do contedo.
22 Escrever Texto
2.3 Texto j Feito
Em alguns dos exemplos nas pginas anteriores dever ter visto alguns co-
mandos L
A
T
E
X muito simples para escrever texto especial:
Comando Exemplo Descrio
\today 28 de Abril de 2008 Data actual na lngua actual
\TeX T
E
X O nome do seu tipgrafo preferido
\LaTeX L
A
T
E
X O Nome do Jogo
\LaTeXe L
A
T
E
X2

A incarnao actual do L
A
T
E
X
2.4 Smbolos e Caracteres Especiais
2.4.1 Aspas
No deve utilizar o caracter " para desenhar aspas como o faria numa m-
quina de escrever. Existem duas marcas especiais para abrir e fechar aspas
em tipograa. Em L
A
T
E
X, use dois (acento grave) para abrir aspas e
dois (apstrofe) para fechar aspas. Para aspas simples use apenas um de
cada.
Por favor, pressione a tecla x.Por favor, pressione a tecla x.
Sim, eu sei que a renderizao no a ideal, mas na verdade um acento
grave () para abrir aspas, e um apstrofe () para fechar. Ignore o que o
tipo de letra escolhido possa sugerir.
2.4.2 Traos e Hfens
O L
A
T
E
X conhece quatro tipos diferentes de traos. Pode aceder trs deles
colocando um, dois ou trs - consecutivos. O quarto sinal no um trao
o sinal matemtico menos:
fim-de-semana, segunda-feira\\
pginas 13--67\\
sim---ou no? \\
$0$, $1$ e $-1$
m-de-semana, segunda-feira
pginas 1367
simou no?
0, 1 e 1
Os nomes destes traos so: - hfen, en-dash, em-dash e sinal
de menos.
2.4 Smbolos e Caracteres Especiais 23
2.4.3 Til ()
Um caracter visto frequentemente em endereos de Internet o til. Para
gerar este smbolo em L
A
T
E
X pode usar \~ mas o resultado: no propri-
amente o que queria. Tente desta forma:
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
http://www.rich.edu/bush
http://www.clever.edu/demo
2.4.4 Smbolo de Graus ()
O seguinte exemplo mostra como imprimir um smbolo de graus em L
A
T
E
X:
Temperatura: $-30\,^{\circ}\mathrm{C}$,
Daqui a pouco estou a congelar.
Temperatura: 30

C, Daqui a pouco es-


tou a congelar.
O pacote textcomp torna o smbolo de graus tambm disponvel como
\textcelsius.
2.4.5 Smbolo de Euro (e)
Ultimamente, ao escrever sobre dinheiro vai precisar do smbolo do Euro.
Muitos dos tipos de letra actuais contm o smbolo do Euro. Depois de
carregar o pacote textcomp no prembulo do seu documento
\usepackage{textcomp}
pode usar o comando
\texteuro
para o desenhar.
Se o seu tipo de letra no providenciar o seu prprio smbolo do Euro ou
se no gosta do smbolo do Euro nos tipos de letra que possu, ainda tem
duas hipteses:
Em primeiro lugar, o pacote eurosym que contm o smbolo ocial do
Euro:
\usepackage[ocial ]{eurosym}
Se preferir um smbolo mais parecido com o seu tipo de letra, use a opo
gen no lugar da opo official.
24 Escrever Texto
O pacote marvosym tambm inclui muitos smbolos diferentes, incluindo
o Euro, sob o nome \EURtm. A desvantagem que no providencia uma
variante em negrito nem inclinada do smbolo do Euro.
Tabela 2.1: Um saco cheio de smbolos de Euro
LM+textcomp \texteuro
eurosym \euro e e e
[gen]eurosym \euro AC AC AC
marvosym \EURtm 01 01 01
2.4.6 Reticncias (. . . )
Numa mquina de escrever, uma vrgula ou um ponto ocupam o mesmo
espao de qualquer outra letra. Ao imprimir livros, estes caracteres ocu-
pam apenas um pequeno espao e so colocados muito prximos letra
precedente. Desta forma, no pode introduzir reticncias simplesmente in-
troduzindo trs pontos, porque o espaamento estar errado. No entanto,
existe um comando especial para estes pontos. chamado
\ldots
No desta forma ... mas assim:\\
Nova Iorque, Tquio, Budapeste, \ldots
No desta forma ... mas assim:
Nova Iorque, Tquio, Budapeste, . . .
2.4.7 Ligaes
Algumas combinaes de letras so escritas, no colocando as diferentes
letras uma aps a outra, mas usando smbolos especiais.
. . . em vez de ff fi fl ffi . . .
Estas chamadas ligaes podem ser proibidas inserindo uma \mbox{} entre
as duas letras em questo. Isto pode ser necessrio com palavras construdas
de duas palavras.
\Large Not shelfful\\
but shelf\mbox{}ful
Not shelul
but shelfful
2.5 Suporte de Lnguas Internacionais 25
2.4.8 Caracteres Especiais e Acentos
O L
A
T
E
X suporta o uso de acentos e caracteres especiais de muitas lnguas.
A tabela 2.2 mostra todos os tipos de acentos sendo aplicados letra o.
Naturalmente que outras letras tambm funcionam.
Para colocar um acento no topo de um i ou de um j, o ponto deve ser
removido. Isto conseguido escrevendo \i e \j.
H\^otel, na\"\i ve, \el\eve,\\
sm\o rrebr\o d, !Se\~norita!,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e
Htel, nave, lve,
smrrebrd, Seorita!,
Schnbrunner Schlo Strae
Tabela 2.2: Caracteres especiais e Acentos.
\o \o \^o \~o
o \=o o \.o \"o \c c
o \u o o \v o \H o o \c o
o
.
\d o o

\b o oo \t oo
\oe \OE \ae \AE
\aa \AA
\o \O \l \L
\i \j ! ?
2.5 Suporte de Lnguas Internacionais
Se precisa de escrever documentos noutras lnguas que no o ingls, ento
existem trs reas onde o L
A
T
E
X pode ser congurado apropriadamente:
1. Todos os textos gerados automaticamente
6
podem ser adaptados para
a outra lngua. Para a maior parte das lnguas, estas mudanas podem
ser conseguidas utilizando o pacote babel por Johannes Braams.
2. O L
A
T
E
X precisa de saber as regras de hifenizao para a nova lngua.
Conseguir as regras de hifenizao no L
A
T
E
X um pouco mais com-
plicado. Obriga a reconstruir o cheiro de formato activando padres
de hifenizao diferentes. O seu Local Guide [4] deve apresentar mais
informao na realizao desta tarefa.
6
Tabela de Contedos, Lista de Figuras, . . .
26 Escrever Texto
3. Regras tipogrcas especcas de algumas lnguas. Em Francs, por
exemplo, existe um espao obrigatrio antes de cada caracter de dois
pontos (:).
Se o seu sistema j est congurado de forma apropriada, pode activar
o pacote babel adicionando o comando
\usepackage[lngua]{babel}
depois do comando \documentclass. A lista das lnguas que o seu sistema
suporta sero mostradas sempre que o seu compilador inicia. O Babel ir
activar automaticamente as regras apropriadas de hifenizao para a lngua
que escolher. Se o seu formato L
A
T
E
X no suporta hifenizao na lngua que
escolheu, o babel continuar a funcionar mas ir desactivar a hifenizao, o
que ter um efeito bastante negativo na aparncia visual do documento.
Se inicializar o babel com vrias lnguas
\usepackage[lnguaA,lnguaB]{babel}
a ltima lngua que deniu car activa, mas pode usar o comando
\selectlanguage{lnguaA}
para alterar a lngua actual.
Quase todos os sistemas modernos permitem introduzir alguns carac-
teres especiais directamente pelo teclado. Para conseguir manusear uma
variedade de smbolos usados nos diferentes grupos de lnguas e/ou nas di-
ferentes plataformas, o L
A
T
E
X usa o pacote inputenc:
\usepackage[codicao]{inputenc}
Ao utilizar este pacote, dever ter em ateno que outras pessoas podem
no conseguir ler o cdigo do seu documento no seu computador, porque
utilizam uma codicao diferente. Por exemplo, o umlaut alemo em
OS/2 codicado como 132, mas em alguns sistemas Unix utilizando ISO-
LATIN 1 codicado como 228, enquanto que em Cirlico (cp1251 para
Windows) esta letra no existe de todo. Desta forma deve utilizar esta
funcionalidade com cuidado. As seguintes codicaes podem ser teis,
dependendo do tipo de sistema com que est a trabalhar:
7
7
Para aprender mais sobre as codicaes suportadas para lnguas baseadas em Latin
e Cirlico, leia a documentao para o inputenc.dtx e cyinpenc.dtx, respectivamente. A
seco 4.6 ensina a produzir a documentao destes pacotes.
2.5 Suporte de Lnguas Internacionais 27
Sistema codicaes
operativo Latim Cirlico
Mac applemac macukr
Unix latin1 koi8-ru
Windows ansinew cp1251
DOS, OS/2 cp850 cp866nav
Se estiver a usar um documento multilingue com conitos de codicao,
pode desejar mudar para unicode com a ajuda do pacote ucs.
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
ir permitir que crie documentos L
A
T
E
X em utf8x, uma codicao multi-
byte na qual cada caracter pode ser codicado no mnimo como um byte e,
no mximo, quatro bytes.
A codicao de tipos de letra uma matria diferente. Esta, dene em
que posies cada letra guardada dentro da T
E
X-font. Vrias codicaes
podem ser mapeadas numa codicao, o que reduz o nmero de conjuntos
de tipos de letras necessrios. Estas codicaes so manuseadas usando o
pacote fontenc:
\usepackage[codicao]{fontenc}
onde codicao um tipo de codicao de caracteres. possvel carregar
vrias codicaes simultneamente.
A codicao habitual do L
A
T
E
X a OT1, a codicao dos tipos de le-
tra originais do T
E
X: Computer Modern. Contm apenas 128 caracteres
do conjunto de caracteres ASCII de 7 bits. Quando os caracteres acentua-
dos so necessrios, o T
E
X cria-os combinando um caracter normal com o
acento. Embora o resultado parea perfeito, este mtodo pra a hifeniza-
o automtica para palavras que contenham caracteres acentuados. Alm
disso, algumas letras latinas no podem ser criadas combinando um caracter
normal com um acento, j para no falar das letras de alfabetos no latinos
como sejam o Grego ou Cirlico.
Para resolver estes problemas, vrios tipos de letra do tipo CM de 8
bits foram criados. Tipos de letra Extended Cork (EC) na codicao T1
contm letras e caracteres de pontuao para a maioria das lnguas Europeias
baseadas em Latim. O conjunto de tipos de letra LH contm as letras
necessrias para escrever documentos em lnguas cirlicas. Devido ao grande
nmero de glifos cirlicos, estes foram divididos em quatro codicaes
T2A, T2B, T2C, e X2.
8
O conjunto CB contm letras na codicao LGR para
8
A lista de lnguas suportadas por cada uma destas codicaes pode ser encontrada
no [10].
28 Escrever Texto
a composio de texto Grego.
Ao usar estes tipos de letra pode melhorar/activar a hifenizao de tex-
tos no Ingleses. Outra vantagem que estes tipos de letra providenciam as
familias CM em todos os seus formatos, e tamanhos opticalmente aumenta-
dos.
2.5.1 Suporte para Alemo
Aqui vo algumas dicas para aqueles que estejam a criar documentos L
A
T
E
X
em Alemo: pode carregar o suporte para lngua alem com o comando
\usepackage[german]{babel}
Isto far com que o L
A
T
E
X passe a fazer hifenizao para a lngua Alem,
se tiver o seu sistema L
A
T
E
X bem congurado. Tambm ir alterar todo o
texto automtico para alemo. Por exemplo, Chapter ir passar a Ka-
pitel. Um conjunto de novos comandos iro passar a estar disponveis, que
lhe iro permitir introduzir texto alemo de forma mais rpida, mesmo que
no use o pacote inputenc. Repare na tabela 2.3 para alguma inspirao.
Com o inputenc, tudo isto se torna desnecessrio, mas o seu texto tambm
ir car preso num mundo de codicao particular.
Tabela 2.3: Caracteres especiais alemes.
"a "s
" "
"< or \flqq "> or \frqq
\flq \frq
\dq "
Em livros alemes ir encontrar aspas de estilo francs (guillemets).
Os tipgrafos alemes usam-as de forma diferente. Uma frase entre aspas
num livro alemo dever ser assim. Na parte da Sua que fala alemo,
os tipgrafos usam guillemets da mesma forma que os Franceses.
Um grande problema surge do uso de comandos como \flq: se usar
um tipo de letra OT1 (que o tipo de letra por omisso) as guillemets
iro parecer o smbolo matemtico , que ir revoltar um estmago de
tipgrafo. Os tipos de letra codicados em T1, por outro lado, no contm
os smbolos necessrios. Assim, se est a usar este tipo de aspas, tenha a
certeza de que est com a codicao T1. (\usepackage[T1]{fontenc})
2.5 Suporte de Lnguas Internacionais 29
2.5.2 Suporte para Portugus
By Alberto Simes <albie@alfarrabio.di.uminho.pt>
Texto Automtico
Como acontece com outras lnguas, o pacote babel suporta a lngua portu-
gusa. Isto signica que ao colocar no prembulo do documento a linha
\usepackage[portuges]{babel}
todo o texto gerado automaticamente traduzido para Portugus. Por
exemplo, chapter ir passar a captulo, table of contents a contedo.
Da mesma forma, o comando \date passar a apresentar a data actual em
Portugus.
Caracteres Acentuados
J se torna fcil utilizar caracteres latin-1 directamente no cdigo fonte do
seu documento. Para saber como congurar o teclado para permitir inserir
estes caracteres em Linux, visite http://gil.di.uminho.pt. Para que o
L
A
T
E
X no se queixe, active o pacote fontenc da seguinte forma:
\usepackage[T1]{fontenc}
Depois, use o L
A
T
E
X da forma habitual!
Hifenizao
Nas distribuies do L
A
T
E
X em Linux utilizadas at agora, nunca encontrei
uma com a hifenizao automtica para portugus activada quando se usa
o pacote babel. No entanto, a sua activao extremamente simples se tem
acesso aplicao texconfig. Tente execut-la (como administrador do
sistema) e, caso no a encontre, verique se no estar escondida algures,
como em /usr/share/texmf/bin/texconfig.
Depois de executar a aplicao, e aps alguns segundos de processa-
mento, aparecer uma janela com vrias opes. Escolha a opo de hifeni-
zao (HYPHEN - hyphenation). Na nova janela, escolha a opo latex, que
abrir o editor vi com um cheiro de congurao.
Agora deve procurar a palavra portuges neste cheiro. Se no est ha-
bituado a usar este editor, tecle / seguido de portuges. O cursor aparecer
sobre uma linha da forma:
%portuges pt8hyph.tex
30 Escrever Texto
Repare no smbolo de comentrio (smbolo de percentagem). Se existe,
signica que a hifenizao portuguesa est desligada. Se seguiu as instruc-
es dadas, tecle x. Caso contrrio, no precisa de alterar nada. Esta linha
deve passar a:
portuges pt8hyph.tex
Para terminar, escreva :wq. O sistema comear a processar este cheiro.
Espere at que volte a aparecer a janela inicial e escolha a opo para sair
(Exit).
2.5.3 Suporte para Francs
By Daniel Flipo <daniel.flipo@univ-lille1.fr>
Alguns conselhos para aqueles que desejem criar documentos em Francs
usando o L
A
T
E
X. Pode carregar o suporte para o Francs usando o comando:
\usepackage[frenchb]{babel}
Note que, por razes histricas, o nome da opo do pacote babel para
o Francs frenchb ou francais mas nunca french.
Esta opo inicia a hifenizao Francesa, se tiver o seu LaTeX con-
gurado de forma correcta. Tambm altera todo o texto automtico para
francs: \chapter escreve Chapitre, \today escreve a data actual em
francs, e assim sucessivamente. Um grande conjunto de novos comandos
passam a existir, que lhe permitem escrever cheiros em Francs de forma
mais simples. D uma olhadela tabela 2.4 para inspirao.
Tabela 2.4: Comandos especiais para Francs.
\og guillemets \fg{} guillemets
M\up{me}, D\up{r} M
me
, D
r
1\ier{}, 1\iere{}, 1\ieres{} 1
er
, 1
re
, 1
res
2\ieme{} 4\iemes{} 2
e
4
es
\No 1, \no 2 N
o
1, n
o
2
20~\degres C, 45\degres 20 C, 45
\bsc{M. Durand} M. Durand
\nombre{1234,56789} 1 234,567 89
Tambm ir reparar que o formato das listas muda quando usa a lngua
francesa. Para car a conhecer tudo o que a opo franchb do pacote babel
2.5 Suporte de Lnguas Internacionais 31
faz e como pode alterar o seu funcionamento, execute o L
A
T
E
X no cheiro
frenchb.dtx e leia o cheiro produzido: frenchb.dvi.
2.5.4 Suporte para Coreano
9
Para usar o L
A
T
E
X para escrever Coreano, precisamos de resolver trs pro-
blemas:
1. Temos de ser capazes de editar cheiros L
A
T
E
X em coreano. Estes -
cheiros devem ser em formato de texto puro, mas porque o Coreano usa
os seus prprios caracteres fora do reportrio do US-ASCII, eles iro
parecer bastante estranhos num editor ASCII comum. As duas codi-
caes mais usadas para textos em Coreano so EUC-KR e a sua ex-
tenso compatvel usada no MS-WIndows Coreano, CP949/Windows-
949/UHC. Nestas codicaes, cada caracter US-ASCII representa o
seu caracter ASCII normal semelhante a outras codicaes compat-
veis como a ISO-8859-x, EUC-JP, Big5 ou Shift_JIS. Por outro lado,
slabas Hangul, Hanjas (caracteres Chineses usados na Coreia), Han-
gul Jamos, Hiraganas, Katakanas, Grego e caracteres Cirlicos e ou-
tros smbolos e letras desenhadas pelo KS X 1001 so representados
por dois octetos consecutivos. O primeiro tem o seu conjunto MSB.
At ao meio dos 1990s, demorou uma quantidade de tempo e traba-
lho considervel para criar um ambiente Coreano num sistema ope-
rativo no Coreano. Pode dar uma olhadela ao agora muito antigo
http://jshin.net/faq para ter uma ideia de como se usava Coreano
num sistema operativo no Coreano no meio dos 1990s. Nestes dias,
os trs principais sistemas operativos (Mac OS, Unix, Windows) vem
equipados com suporte multilingue bastante decente, e internaciona-
lizao de forma que editar um texto em Coreano j no tanto um
problema, mesmo em sistemas operativos no coreanos.
2. O T
E
X e o L
A
T
E
X foram originalmente escritos para lnguas com menos
de 256 caracteres no seu alfabeto. Para os fazer funcionar para lnguas
com consideravelmente mais caracteres como o Coreano
10
ou Chins,
9
Considerando o nmero de questes que os utilizadores de L
A
T
E
X Coreanos tm de ter
em conta, esta seco foi escrita por Karnes KIM da equipa de graduo do lshort para
Coreano. Foi traduzida para Ingls por SHIN Jungshik e encolhida por Tobi Oetiker.
10
O Hangul Coreano uma lngua alfabtica com 14 consoantes bsicas e 10 vogais
bsicas (Jamos). De forma diferente das lnguas latinas ou cirlicas, cada caracter in-
dividual tem de ser colocado em caixas rectangulares com um tamanho similar ao dos
caracteres Chineses. Cada caixa representa uma slaba. Um nmero ilimitado de sla-
bas pode ser formado deste conjunto nito de vogais e consoantes. Os standards mo-
dernos da ortograa Coreana (na Coreia do Sul e na Coreia do Norte), colocam algu-
mas restries na formao destas caixas. Assim, apenas um conjunto nito de sila-
bas ortogracamente correctas existem. A codicao de caracteres coreanos dene um
cdigo individual para cada uma destas slabas (KS X 1001:1998 e KS X 1002:1992).
32 Escrever Texto
um mecanismo de sub-tipos de letra foi desenvolvido. Divide uma letra
CJK com centenas ou dezenas de centenas de glifos num conjunto de
sub-tipos com 256 glifos cada. Para o Coreano, existem trs pacotes
bastante usados; HL
A
T
E
X por UN Koaunghi, hL
A
T
E
Xp por CHA Jae-
choon e o pacote CJK por Werner Lemberg.
11
HL
A
T
E
X e hL
A
T
E
Xp so
especcos para o Coreano e disponibilizam o Coreano sobre o suporte
de tipos de letras. Ambos conseguem processar texto Coreano codi-
cado em EUC-KR. HL
A
T
E
X pode at processar cheiros codicados
em CP949/Windows-949/UHC e UTF-8 quando usado com ou .
O pacote CJK no especco para Coreano. Consegue processar -
cheiros em UTF-8 assim como em vrias codicaes CJK incluindo
EUC-KR e CP949/Windows-949/UHC. Pode ser usado para escrever
documentos com contedo multi-lingue (especialmente Chins, Japo-
ns e Coreano). O Pacote CJK no tem localizao em Coreano como
a oferecida pelo HL
A
T
E
X e no disponibiliza tantos tipos de letra Co-
reana como o HL
A
T
E
X.
3. O ltimo objectivo de usar programas como o T
E
X e o L
A
T
E
X para
obter documentos esteticamente satisfatrios. Sem dvida que o
elemento mais importante o tipo de letra bem desenhado. A distri-
buio HL
A
T
E
X inclui tipos de letra UHC PostScript de 10 famlias
diferentes e tipos Munhwabu
12
de 5 famlias diferentes. O pacote CJK
funciona com um conjunto de tipos de verses anteriores ao HL
A
T
E
X e
tambm consegue usar tipos de letra Bitstream cyberbit TrueType.
Para usar o pacote HL
A
T
E
X para escrever o seu texto em Coreano, inclua
a seguinte declarao no prembulo do documento:
\usepackage{hangul}
Este comando liga a localizao para Coreano. Os cabealhos de cap-
tulos, seces, seces, ndices de contedos ou guras, todos eles iro ser
O Hangul passa a ser tratado como nos sistemas de escrita do Chins ou do Japo-
ns, com centenas de caracteres ideogrcos. O ISO 10646/Unicode oferece ambas as
formas de representar Hangul usado para o Coreano moderno codicando Conjoining
Hangul Jamos (alfabetos: http://www.unicode.org/charts/PDF/U1100.pdf) em adi-
o total codicao das slibas ortogracamente permitidas em Coreano moderno
(http://www.unicode.org/charts/PDF/UAC00.pdf). Um dos maiores desaos na tipo-
graa Coreana com L
A
T
E
X e sistemas similares o suporte para Coreano mais antigoe
possvelmente Coreano do futuroonde as slabas s podem ser representadas juntando
Jamos em Unicode. Espera-se que futuros motores do T
E
X como e iro, eventual-
mente, providenciar solues de forma a que alguns linguistas e historidores Coreanos iro
desistir do MS Word que j tem um bom suporte para Coreano antigo.
11
Podem ser obtidos em language/korean/HLaTeX/
language/korean/CJK/ e http://knot.kaist.ac.kr/htex/
12
Ministrio da Cultura Coreano.
2.5 Suporte de Lnguas Internacionais 33
Tabela 2.5: Prembulo para documentos em Grego.
\usepackage[english,greek]{babel}
\usepackage[iso-8859-7]{inputenc}
traduzidos para Coreano, e a formatao do documento ir seguir as conven-
es Coreanas. O pacote tambm contempla uma seleco de partculas
automtica. Em Coreano, existem pares de partculas ps-xas gramatica-
mente equivalentes mas diferentes em forma. Qual correcto depende se a
slaba precedente acaba em vogal ou consoante. ( um pouco mais complexo
que isto, mas deve estar a ter uma boa ideia.) Coreanos nativos no tm
problemas a escolher a partcula correcta, mas o T
E
X no pode determinar
que particula usar para referncias ou outro texto automtico que ir mu-
dar ao editar o documento. Esta seleco de partculas manual gera algum
esforo em colocar as partculas cada vez que adiciona ou remove refern-
cias ou simplesmente baralha alguma das partes do seu documento. HL
A
T
E
X
alivia os seus utilizadores deste processo aborrecido e delicado.
No caso de no precisar das caractersticas de localizao do Coreano, e
quer apenas escrever em Coreano, pode usar a seguinte linha no prembulo
do seu documento,
\usepackage{hfont}
Para maior detalhe sobre o uso de Coreano com HL
A
T
E
X, consultar o
HL
A
T
E
X Guide. Veja tambm a pgina do grupo Coreano de utilizadores de
T
E
X (KTUG) em http://www.ktug.or.kr/. Tambm existe uma traduo
Coreana deste manual.
2.5.5 Suporte para Grego
By Nikolaos Pothitos <pothitos@di.uoa.gr>
Veja a tabela 2.5 para o prembulo que precisa para escrever na lngua
grega. Este prembulo activa a hifenizao e altera todo o texto automtico
para Grego.
13
Um conjunto de novos comandos cam disponveis, que lhe permite es-
crever em Grego de forma facilitada. Para alternar temporariamente entre
Grego e Portugus, e vice-versa, pode usar os comandos \textlatin{texto
em caracteres latinos} e \textgreek{texto grego}. Ambos recebem um ar-
gumento que colocado no documento nal com a codicao correcta. Para
13
Se seleccionar a opo utf8x para o pacote inputenc pode digitar directamente ca-
racteres unicode Gregos e politnicos Gregos.
34 Escrever Texto
zonas de maior dimenso pode usar o comando \selectlanguage{...} des-
crito numa seco anterior. Veja a tabela 2.6 para alguma pontuao Grega.
Para o smbolo do Euro use \euro.
Tabela 2.6: Caracteres Especiais Gregos.
; ? ;
(( ))

2.5.6 Suporte para Cirlico
By Maksym Polyakov <polyama@myrealbox.com>
A verso 3.7h do babel inclu suporte para as codicaes T2* e para
escrever texto Bulgaro, Russo e Ucraniano usando letras cirlicas.
O suporte para o cirlico baseado nos mecanismos habituais do L
A
T
E
X
atravs dos pacotes fontenc e inputenc. Mas, se for usar cirlico em modo
matemtico, ir precisar de carregar o pacote mathtext antes do fontenc:
14
\usepackage{mathtext}
\usepackage[T1,T2A]{fontenc}
\usepackage[koi8-ru]{inputenc}
\usepackage[english,bulgarian,russian,ukranian]{babel}
Geralmente, o babel ir escolher automaticamente a codicao por omis-
so para as trs lnguas, ou seja, T2A. No entanto, os documentos no esto
restringidos a uma nica codicao. Para um documento multi-lingue que
use lnguas cirlicas e lnguas latinas faz sentido incluir a codicao latina
explicitamente. O babel ir tratar de mudar para a codicao necessria
sempre que uma lngua diferente seleccionada dentro do documento.
Alm de activar as hifenizaes, traduzir automaticamente o texto ge-
rado, e activar algumas regras tipogrcas especfcias da lngua (como o
\frenchspacing), o babel providencia alguns comandos para permitir es-
crever de acordo com os standards das lnguas Bulgara, Russa ou Ucraniana.
Para estas trs lnguas, a pontuao especca providenciada: um hi-
fen em cirlico para o texto ( ligeiramente diferente do latino, e separado
por pequenos espaos), hifen para discurso directo, aspas, e comandos para
facilitar a hifenizao. Veja a tabela 2.7.
As opes para Russo e Ucraniano do babel denem o comando \Asbuk
e \asbuk, que funcionam como \Alph e \alph, mas produzem uma letra
14
Se usar os pacotes A
M
S-L
A
T
E
X, carregue-os antes do fontenc e do babel.
2.6 O Espao entre Palavras 35
Tabela 2.7: As denies extra feitas pelas opes Bulgaro, Russa, e Ucra-
niana do babel
"| desliga as ligaduras nesta posio.
"- um hifen explicito, permitindo hifenizao no resto da palavra
"--- Cyrillic emdash em texto plano.
"--~ Cyrillic emdash em nomes compostos.
"--* Cyrillic emdash para representar discurso directo.
"" como "-, mas no produz o smbolo do hifen (para palvras compostas
com hifen e.g.x-""y ou outros smbolos como activar/desactivar).
"~ para uma marca de palavra composta sem ponto de quebra.
"= para uma marca de palavra composta com um ponto de quebra per-
mitindo hifenizao de palavras compostas.
", pequeno espao para inciais com um ponto de quebra.
" para as aspas duplas Alems (esquerdas) (parece-se com ,,).
" para as aspas duplas Alems (direitias) (parece-se com ).
"< para as aspas esquerdas Francesas (parece-se com <<).
"> para as aspas direitas Francesas (parece-se com ).
maiscula e pequenas letras dos alfabetos Russo e Ucranianos (a que for a
lngua activa no documento). A opo para Bulgaro do babel providenciar
o comando \enumBul e \enumLat (\enumEng), que fazem o \Alph e \alph
produzir letras dos alfabetos Bulgaro ou Latinos. O comportamento por
omisso do \Alph e \alph para a lngua Bulgara produzir letras do alfabeto
Bulgaro.
2.6 O Espao entre Palavras
Para obter no resultado uma margem direita alinhada, o L
A
T
E
X insere vrias
quantidades de espao entre palavras. Insere um pouco mais de espao no
m das frases, visto que faz o texto car mais legvel. O L
A
T
E
X assume que
as frases acabam com pontos nais, de interrogao ou de exclamao. Se
o ponto nal seguir uma letra maiscula, esta no tomada como um m
de frase, visto que pontos aps letras maisculas ocorrem, normalmente, em
abreviaturas.
Alguma excepo a estas regras deve ser especicada pelo autor do do-
cumento. Um backslash antes de um espao gera um espao que no ser
alargado. Um til ~ gera um espao que no pode ser alargado e que, adici-
onalmente, probe uma mudana de linha na respectiva posio. O comando
\@ antes de um ponto especica que esse ponto termina uma frase, mesmo
que se lhe siga uma letra maiscula.
36 Escrever Texto
O Sr~Smith estava contente de a ver\\
conforma a fig.~5\\
Eu gosto de BASIC\@. E tu?
O Sr Smith estava contente de a ver
conforma a g. 5
Eu gosto de BASIC. E tu?
O espao adicional aps pontos pode ser desactivado com o comando
\frenchspacing
que diz ao L
A
T
E
X para no inserir mais espao depois de ponto do que em
relao a qualquer outro caracter. Isto muito comum em lnguas no
inglesas, excepto em bibliograas. Se usar \frenchspacing, o comando \@
no necessrio.
2.7 Ttulos, Captulos e Seces
Para ajudar o leitor a encontrar a linha de leitura ao longo do documento,
deve dividi-lo em captulos, seces e subseces. O L
A
T
E
X permite que se
faa isto com comandos especiais que tomam o ttulo como seu argumento.
Agora, consigo que os use na ordem correcta.
Os comandos de diviso do texto que esto disponveis para a classe
article so:
\section{...}
\subsection{...}
\subsubsection{...}
\paragraph{...}
\subparagraph{...}
Quando precisa de dividir o seu documento em partes sem inuenciar a
numerao de seces ou captulos pode usar
\part{...}
Se estiver a trabalhar com as classes report ou book, um comando
adicional para seccionar ao nvel de topo, torna-se disponvel
\chapter{...}
Como a classe article no sabe nada acerca de captulos, torna-se muito
fcil adicionar artigos como captulos num livro. O espaamento entre sec-
es, a numerao e o tamanho de letra dos ttulos sero colocados automa-
ticamente pelo L
A
T
E
X.
2.7 Ttulos, Captulos e Seces 37
Dois destes comandos so ligeiramente especiais:
O comando \part no inuencia a numerao de sequncia dos cap-
tulos;
O comando \appendix no leva nenhum argumento. Apenas muda a
numerao de captulos para letras.
15
O L
A
T
E
X cria um tabela de contedos pegando nos ttulos de seco e no
nmero de pgina do ltimo ciclo de compilao do documento. O comando
\tableofcontents
expande-se para uma tabela de contedos no stio onde for invocado. Um
novo documento deve ser compilado (L
A
T
E
Xado) duas vezes para obter uma
tabela de contedos correcta. Algumas vezes, pode ser necessrio compilar
o documento uma terceira vez. O L
A
T
E
X avisar quando isto for necessrio.
Todos os comandos listados acima tambm existem em verses estre-
ladas. Uma verso estrelada do comando construda adicionando uma
estrela * aps o nome do comando. Estas verses geram ttulos que no
aparecero na tabela de contedos e que no sero numerados. O comando
\section{Ajuda}, por exemplo, pode passar a \section*{Ajuda}.
Normalmente, o ttulo da seco aparecer na tabela de contedos exac-
tamente como introduziu no texto. Algumas vezes isto no possvel por o
ttulo ser demasiado grande e a tabela de contedos no car legvel. Ento,
a entrada que aparecer na tabela de contedos pode ser especicada como
um argumento opcional antes do verdadeiro ttulo.
\chapter[Ttulo pequeno para a tabela de contedos]{Um
ttulo grande e especialmente aborrecido, que aparece
na pgina propriamente dita.}
O ttulo do documento como um todo gerado invocando o comando
\maketitle
Os contedos do ttulo tm de ser denidos pelos comandos
\title{...}, \author{...} e opcionalmente \date{...}
antes de chamar o \maketitle. No argumento de \author, pode escrever
vrios nomes separados pelo comando \and.
15
Para o estilo article, muda a numerao de seces.
38 Escrever Texto
Um exemplo de alguns dos comandos mencionados acima pode ser en-
contrado na gura 1.2 da pgina 8.
Para alm destes comandos, o L
A
T
E
X2

introduziu quatro comandos adi-


cionais para serem utilizados na classe book. So teis para dividir a pu-
blicao. Estes, alteram os cabealhos de captulo e numerao de pgina
para funcionar da forma esperada para a publicao de um livro:
\frontmatter deve ser o primeiro comando aps o incio do corpo do docu-
mento (\begin{document}). Ir mudar a numerao de pgina para
numerais romanos e as seces no sero numeradas, tal como se usasse
a verso estrelada nos comandos de seco (exemplo \chapter*{Prefcio})
mas as seces continuaro a aparecer no ndice de contedos. no os
numere.
\mainmatter aparece exactamente antes do primeiro captulo do livro. Muda
a numerao para numerais rabes e coloca o contador de pgina a
zero.
\appendix marca o incio de material adicional no seu livro. Depois deste
comando os captulos sero numerados com letras.
\backmatter deve ser inserido antes dos ltimos itens do seu livro como
sejam a bibliograa e o ndice. Nas classes de documento padro no
tem qualquer efeito visual.
2.8 Referncias Cruzadas
Em livros, relatrios e artigos, existem frequentemente referncias cruzadas
para guras, tabelas e segmentos especiais de texto. O L
A
T
E
X providencia
os seguintes comandos para realizar referncias cruzadas:
\label{marca}, \ref{marca} e \pageref{marca}
onde marca um identicador escolhido pelo utilizador. O L
A
T
E
X substitu
\ref pelo nmero da seco, subseco, gura, tabela ou teorema aps o
respectivo comando \label foi invocado. O \pageref imprime o nmero da
pgina onde o comando \label ocorreu.
16
Tal como os ttulos de seces,
os nmeros utilizados so os da compilao anterior.
Uma referncia para esta subseco
\label{sec:esta} aparece como:
ver seco~\ref{sec:esta} na
pgina~\pageref{sec:esta}.
Uma referncia para esta subseco apa-
rece como: ver seco 2.8 na pgina 38.
16
Note que estes comandos no sabem a que que se referem. O \label apenas grava
o ltimo nmero gerado.
2.9 Notas de Rodap 39
2.9 Notas de Rodap
Com o comando
\footnote{texto na nota de rodap}
impressa uma nota de rodap no fundo da pgina actual. Estas notas
devem ser postas
17
aps a palavra qual a frase se refere. Notas de rodap
que se referem a frases ou partes delas, devem ser colocadas aps a vrgula
ou ponto.
18
As notas de rodap\footnote{Isto
uma nova de rodap.} so muito
usadas por utilizadores \LaTeX.
As notas de rodap
a
so muito usadas por
utilizadores L
A
T
E
X.
a
Isto uma nova de rodap.
2.10 Palavras Realadas
Se um texto escrito utilizando uma mquina de escrever, as palavras im-
portantes so salientadas sublinhado-as.
\underline{texto}
Em livros impressos, no entanto, as palavras so realadas escrevendo-as
em itlico. O L
A
T
E
X tem o comando
\emph{texto}
que salienta o texto. O que o comando faz, na verdade, depende do seu
contexto:
\emph{Se utilizar este
comando dentro de um bocado
de texto realado, ento o
\LaTeX{} usa o tipo de letra
\emph{normal} para salientar.}
Se utilizar este comando dentro de um bo-
cado de texto realado, ento o L
A
T
E
X usa
o tipo de letra normal para salientar.
Note a diferena entre dizer ao L
A
T
E
X para salientar alguma coisa e
dizer-lhe para usar um tipo de letra diferente:
17
postas pode ser uma forma do verbo pr ou apenas bocados de peixe.
18
Note que as notas de rodap so distraces para o leitor que o desviam do corpo
principal do seu documento. Anal, toda a gente l as notas de rodap, somos uma espcie
curiosa. Portanto, porque no integrar tudo o que quer dizer no corpo do documento?
19
19
Uma carta no vai necessariamente para onde est endereada :-).
40 Escrever Texto
\textit{Pode tambm
\emph{salientar} texto se
ele est em itlico,}
\textsf{num tipo de letra
\emph{sans-serif},}
\texttt{ou num estilo
\emph{mquina} de escrever.}
Pode tambm salientar texto se ele est em
itlico, num tipo de letra sans-serif, ou num
estilo mquina de escrever.
2.11 Ambientes
\begin{ambiente} texto \end{ambiente}
Onde ambiente o nome do ambiente. Os ambientes podem ser chamados
vrias vezes uns dentro dos outros desde que a ordem de chamada seja
mantida.
\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}
Nas seces seguintes, todos os ambientes importantes sero explicados.
2.11.1 Indicar, Enumerar, e Descrever
O ambiente itemize til para listas simples, o enumerate para listas
enumeradas e o description para descries.
\flushleft
\begin{enumerate}
\item Pode misturar ambientes
de listas conforme o seu gosto:
\begin{itemize}
\item Mas pode comear a parecer
muito pattico.
\item[-] Com um hfen,
\end{itemize}
\item Portanto, lembre-se: algo\ldots
\begin{description}
\item[Estpido] no se transformar
em algo inteligente ao ser listado.
\item[Interessante] pode ser
apresentado lindamente numa lista.
\end{description}
\end{enumerate}
1. Pode misturar ambientes de listas
conforme o seu gosto:
Mas pode comear a parecer
muito pattico.
- Com um hfen,
2. Portanto, lembre-se: algo. . .
Estpido no se transformar em
algo inteligente ao ser listado.
Interessante pode ser
apresentado lindamente
numa lista.
2.11 Ambientes 41
2.11.2 Esquerda, Direita e Centro
Dois ambientes, flushleft e flushright geram pargrafos que esto ali-
nhados esquerda ou direita. O ambiente center gera texto centrado.
Se no colocar \\ para indicar as quebras de linha, o L
A
T
E
X ir determinar
automaticamente onde elas devem ocorrer.
\begin{flushleft}
Este texto est\\ alinhado
esquerda. O \LaTeX{} no est
a tentar fazer cada linha do
mesmo tamanho.
\end{flushleft}
Este texto est
alinhado esquerda. O L
A
T
E
X no est a
tentar fazer cada linha do mesmo
tamanho.
\begin{flushright}
Este um texto alinhado\\
direita. O \LaTeX{} no est a
tentar fazer cada linha do mesmo
comprimento.
\end{flushright}
Este um texto alinhado
direita. O L
A
T
E
X no est a tentar fazer
cada linha do mesmo comprimento.
\begin{center}
No centro\\da terra
\end{center}
No centro
da terra
2.11.3 Citaes e Versos
O ambiente quote til para citaes, frases importantes e exemplos.
Uma regra tipogrfica para
o comprimento de uma linha :
\begin{quote}
Em mdia, nenhuma linha dever
exceder 66~caracteres.
por isto que as pginas \LaTeX{}
tm margens to grandes.
\end{quote}
Por isso que a impresso em
vrias colunas utilizada em
jornais.
Uma regra tipogrca para o compri-
mento de uma linha :
Em mdia, nenhuma linha
dever exceder 66 caracteres.
por isto que as pginas
L
A
T
E
X tm margens to gran-
des.
Por isso que a impresso em vrias colu-
nas utilizada em jornais.
Existem dois ambientes muito semelhantes: o quotation e o verse. O
primeiro til para citaes longas que so constitudas por vrios pargra-
fos, porque os ir indentar. O ambiente verse til para poemas onde as
42 Escrever Texto
mudanas de linha so importantes. As linhas so separadas enviando um
\\ no m de uma linha e uma linha em branco aps cada verso.
S conheo um poema em ingls.
sobre Humpty Dumpty.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the Kings horses and all
the Kings men\\
Couldnt put Humpty together
again.
\end{verse}
\end{flushleft}
S conheo um poema em ingls. sobre
Humpty Dumpty.
Humpty Dumpty sat on a
wall:
Humpty Dumpty had a
great fall.
All the Kings horses and all
the Kings men
Couldnt put Humpty
together again.
2.11.4 Resumo
Em publicaes cientcas habitual iniciar com um resumo que d ao leitor
uma viso rpida do que o espera. O L
A
T
E
X dispe do ambiente abstract
para esta nalidade. Normalmente este ambiente usado em documentos
escritos com a classe article de documentos.
\begin{abstract}
O resumo do resumo.
\end{abstract}
O resumo do resumo.
2.11.5 Tal & Qual
Os textos escritos entre \begin{verbatim} e \end{verbatim} sero pas-
sados directamente para o cheiro de resultado, como se o tivesse escrito
numa mquina de escrever, com todas as quebras de linha e espaos, sem
que qualquer comando L
A
T
E
X seja executado.
Dentro de um pargrafo, um comportamento idntico pode ser conse-
guido com
\verb+texto+
O sinal + apenas um exemplo de um delimitador. Pode utilizar qualquer
caracter excepto letras, *, ou um espao. A maior parte dos exemplos L
A
T
E
X
so escritos com este comando.
2.11 Ambientes 43
O comando \verb|\ldots| \ldots
\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}
O comando \ldots . . .
10 PRINT "HELLO WORLD ";
20 GOTO 10
\begin{verbatim*}
A verso estrelada do
ambiente verbatim
assinala os espaos
que aparecem no texto
\end{verbatim*}
Aversoestreladado
ambienteverbatim
assinalaosespaos
queaparecemnotexto
O comando \verb tambm pode ser estrelado:
\verb*|desta forma :-) | destaforma:-)
O ambiente verbatim e o comando \verb no devem ser utilizados den-
tro de parmetros de outros comandos.
2.11.6 Tabelas
O ambiente tabular pode ser utilizado para imprimir lindas tabelas com
linhas verticais e horizontais opcionais. O L
A
T
E
X determina a largura das
colunas automaticamente.
O argumento espec tabela do comando
\begin{tabular}[pos]{espec tabela}
dene o formato da tabela. Use um l para uma coluna de texto alinhado
esquerda, r para texto alinhado direita, e c para texto centrado;
p{largura} para uma coluna a conter texto com quebras de linha, e |
para uma linha vertical.
Se o texto numa coluna demasiado largo para a pgina, o L
A
T
E
X no
o ir mudar de texto automaticamente. Usando p{largura} pode denir
um tipo de coluna que ir funcionar como um pargrafo normal.
O argumento pos especica a posio vertical da tabela relativamente
linha base do texto envolvente. Use as letras t , b e c para especicar o
alinhamento da tabela no topo, fundo ou ao centro.
Dentro de um ambiente tabular, o & salta para a prxima coluna, \\
inicia uma nova linha e \hline insere uma linha horizontal. Pode adicionar
linhas parciais usando \cline{j-i}, onde j e i so os nmeros das colunas
de onde e para onde a linha se deve estender.
44 Escrever Texto
\begin{tabular}{|r|l|}
\hline
7C0 & hexadecimal \\
3700 & octal \\ \cline{2-2}
11111000000 & binrio \\
\hline \hline
1984 & decimal \\
\hline
\end{tabular}
7C0 hexadecimal
3700 octal
11111000000 binrio
1984 decimal
\begin{tabular}{|p{4.7cm}|}
\hline
Bem-vindo ao pargrafo do Boxy.
Esperamos sinceramente que
se divirta com o espectculo.\\
\hline
\end{tabular}
Bem-vindo ao pargrafo do
Boxy. Esperamos sincera-
mente que se divirta com o es-
pectculo.
O separador de coluna pode ser especicado com o construtor @{...} .
Este comando mata o espao entre colunas e substitui-o com o que quer que
esteja entre as chavetas. Um uso comum para este comando explicado
de seguida no problema de alinhamento de casas decimais. Outra aplicao
possvel a supresso de espaos numa tabela com @{} .
\begin{tabular}{@{} l @{}}
\hline
sem espao inicial\\
\hline
\end{tabular}
sem espao inicial
\begin{tabular}{l}
\hline
espao esquerda e direita\\
\hline
\end{tabular}
espao esquerda e direita
Uma vez que no existe uma forma denida pelo L
A
T
E
X para alinhar
colunas numericamente pelo ponto decimal,
20
pode fazer batota utilizando
duas colunas: uma alinhada direita com a parte inteira e uma alinhada
esquerda com a parte decimal. O comando @{.} substitui o espao normal
entre colunas com um ., apenas, dando a aparncia visual de uma nica
tabela alinhada pelo ponto decimal. No se esquea de substituir o ponto
decimal nos nmeros com o separador de coluna (&)! Um ttulo para o par
20
Se tiver o pacote de pacotes tools instalado no sistema, d uma olhadela ao pacote
dcolumn.
2.12 Corpos Flutuantes 45
de colunas pode ser colocado acima da nossa coluna numrica usando o
comando \multicolumn.
\begin{tabular}{c r @{.} l}
Expresso Pi &
\multicolumn{2}{c}{Valor} \\
\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
Expresso Pi 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 ca sempre junto numa nica pgina.
Se quer escrever tabelas longas, possivelmente dever dar uma olhadela ao
pacote supertabular e ao longtabular.
2.12 Corpos Flutuantes
Hoje, a maior parte das publicaes contm um grande nmero de guras e
tabelas. Estes elementos precisam de um tratamento especial, porque no
podem ser partidos entre pginas. Uma maneira seria comear uma nova
pgina sempre que uma gura ou uma tabela demasiado grande para caber
na pgina actual. Esta abordagem pode deixar pginas parcialmente vazias,
o que ca muito mal.
A soluo para este problema fazer as guras ou tabelas que no cabem
na pgina actual utuar para uma pgina posterior, enquanto se preenche
a pgina actual com o texto seguinte. O L
A
T
E
X oferece dois ambientes para
corpos utuantes; um para tabelas e um para guras. Para ter todas as
vantagens destes dois ambientes, importante perceber de uma forma apro-
ximada como o L
A
T
E
X maneja estas utuaes internamente. Doutro modo,
estes elementos podem vir a ser uma grande fonte de frustrao porque o
L
A
T
E
X nunca os colocar onde os deseja.
Primeiro, vamos dar uma vista de olhos aos comandos que o L
A
T
E
X a-
presenta para corpos utuantes:
46 Escrever Texto
Qualquer material incluso num ambiente figure ou table ser tratado
como uma matria utuante. Ambos os ambientes suportam parmetros
adicionais
\begin{figure}[especicao de colocao] \begin{table}[. . . |]|
chamados de especicao de colocao. Estes parmetros so usados para
dizer ao L
A
T
E
X a localizao para a qual o corpo utuante se pode mover.
A especicao de colocao construda por um conjunto de caracteres de
permisses de colocao de corpos utuantes. Veja a tabela 2.8.
Uma tabela pode ser iniciada com a seguinte linha
\begin{table}[!hbp]
A especicao de colocao [!hbp] indica ao L
A
T
E
X para colocar a tabela
exactamente aqui (h) ou no fundo (b) de alguma pgina ou em alguma
pgina especial para corpos utuantes (p), e tudo isto mesmo que no que
muito bonito (!). Se nenhuma especicao for dada, assumida a [tbp].
O L
A
T
E
X ir colocar cada corpo utuante de acordo com a especicao
de colocao dada pelo autor. Se um destes no pode ser colocado na pgina
actual, ser enviado para a la de espera correspondente
21
(para guras ou
tabelas). Quando uma nova pgina iniciada, o L
A
T
E
X verica primeiro se
possvel preencher uma pgina especial de utuaes com os objectos da
lista de espera. Se isto no possvel, o primeiro objecto de cada uma das
las de espera tratado como se tivesse ocorrido naquele momento no texto:
o L
A
T
E
X tenta de novo colocar de acordo com a respectiva especicao de
colocao (excepto o h, que no volta a ser vlido). Qualquer objecto que
21
Estas las so FIFOrst in rst out, o primeiro a entrar o primeiro a sair
Tabela 2.8: Permisses de Colocao de Corpos Flutuantes.
Espec. Permisso para colocar em. . .
h here aqui neste exacto local onde ocorreu no
meio do texto. til para pequenos objectos.
t no topo da pgina
b no fundo (bottom) da pgina
p numa pgina especial apenas com corpos
utuantes..
! sem considerar a maior parte dos parmetros in-
ternos
a
que podem fazer com que o corpo utu-
ante no seja colocado.
a
Como o nmero mximo destes objectos permitidos por pgina.
2.12 Corpos Flutuantes 47
ocorra no texto ser enviado para a la de espera. O L
A
T
E
X mantm estri-
tamente a ordem original em que aparecem cada um dos tipos de objectos
utuantes. Esta a razo pela qual uma gura que no pode ser colocada
empurra todas as outras guras para o m do documento. Portanto:
Se o L
A
T
E
X no est a colocar os objectos utuantes como espe-
rava normal que seja apenas um deles numa das las de espera
que esteja a empatar o servio!
Enquanto que possvel dar ao L
A
T
E
X especicadores de colocao ni-
cos, isto causa problemas. Se o objecto no cabe na localizao pretendida,
ca preso, a bloquear os objectos seguintes. Em particular, nunca deve uti-
lizar apenas a opo [h]esta to m que em verses recentes do L
A
T
E
X
automaticamente substituda por [ht].
Depois de ter explicado a parte difcil, aqui esto mais algumas coisas a
mencionar sobre os ambientes table e figure. Com o comando
\caption{legenda}
pode denir uma legenda para o objecto. Um nmero ser automaticamente
criado juntamente com o texto Figure ou Table e adicionado no incio
da legenda.
Os dois comandos
\listoffigures e \listoftables
funcionam de forma anloga ao comando \tableofcontents, imprimindo
uma lista de guras ou tabelas, respectivamente. Nestas listas, a legenda
completa ser repetida. Se tem tendncia a usar grandes legendas, deve
denir uma verso mais curta para as listas. Isto pode ser feito introduzindo
a verso mais pequena entre parntesis rectos depois do comando \caption.
\caption[Pequeno]{Looooooooooooooooooongoooooooooooo}
Com \label e \ref, pode criar uma referncia para o corpo utuante
no meio do texto.
O seguinte exemplo desenha um quadrado e insere-o no documento. Pode
usar isto se desejar reservar espao para imagens que vai colar no documento
pronto.
Figura~\ref{branco} um exemplo de Arte-Pop.
\begin{figure}[!hbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{Cinco por Cinco em Centmetros.\label{branco}}
\end{figure}
48 Escrever Texto
No exemplo anterior, o L
A
T
E
X ir tentar mesmo (!) colocar a gura jus-
tamente aqui ( h ).
22
Se isto no possvel, ento tenta colocar a gura
no fundo ( b ) da pgina. Se falhar a colocao da gura na pgina actual,
determina se possvel criar uma pgina de corpos utuantes que contenha
esta gura e possivelmente algumas tabelas da la de espera respectiva. Se
no existir material suciente para esta pgina especial, o L
A
T
E
X inicia uma
nova pgina, e uma vez mais trata-a como se tivesse ocorrido nesse momento
no texto.
Em algumas circunstncias, pode ser necessrio usar o comando
\clearpage ou mesmo o \cleardoublepage
que ordenam o L
A
T
E
X a colocar imediatamente no documento todos os obje-
ctos restantes das las de espera e depois iniciar uma nova pgina. O
\cleardoublepage obriga a comear a pgina do lado direito.
Ir aprender a incluir desenhos PostScript no seu documento L
A
T
E
X2

mais tarde nesta introduo.


2.13 Protegendo Comandos Frgeis
O texto dado como argumento de comandos como \caption ou \section
pode aparecer mais do que uma vez no documento (exemplo, na tabela de
contedos assim como no corpo do documento). Alguns comandos falham
quando usados no argumento de outros comandos do tipo \section. A
compilao do seu documento ir falhar. Estes so chamados comandos
frgeis. Por exemplo, os comandos \footnote ou \phantom so frgeis. O
que estes comandos precisam para funcionar de proteco (no precisamos
todos?). Pode proteg-los usando o comando \protect antes deles.
O \protect apenas se refere ao comando que se lhe segue, nem sequer
ao seu argumento. Em muitos casos, um \protect supruo no magoar
ningum.
\section{Estou a considerar
\protect\footnote{proteger a minha nota}}
22
assumindo que a la de espera de guras est vazia.
Captulo 3
Frmulas Matemticas
Agora est pronto! Neste captulo, vamos atacar a fora principal do T
E
X:
escrita de matemtica. Mas que avisado: este captulo s arranha este tpico
supercialmente. Enquanto que as coisas aqui explicadas so sucientes para
muitas pessoas, no desespere se no conseguir encontrar uma soluo para a
escrita da frmula que precisa. Mas, quase de certeza que o seu problema est
resolvido no A
M
S-L
A
T
E
X
1
3.1 Generalidades
O L
A
T
E
X tem um modo especial para escrever matemtica. Esta pode ser
escrita directamente num pargrafo, ou o pargrafo pode ser quebrado para a
desenhar parte. O texto matemtico dentro de um pargrafo introduzido
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
frmula matemtica:
$c^{2}=a^{2}+b^{2}$
Adicione o ao quadrado e / ao quadrado
para obter c ao quadrado. Ou, usando
uma frmula matemtica: c
2
= o
2
+ /
2
\TeX{} pronunciado como
\(\tau\epsilon\chi\).\\[6pt]
100~m$^{3}$ de gua\\[6pt]
Isto vem do meu
\begin{math}\heartsuit\end{math}
T
E
X pronunciado como c.
100 m
3
de gua
Isto vem do meu
1
A Sociedade Americana de Matemticos - AMS produziu algumas extenses poderosas
do L
A
T
E
X. Muitos dos exemplos deste captulo fazem uso dessas extenses. Este pacote
est disponvel em todas as distribuies recentes do T
E
X. Se na sua est a faltar, v a
macros/latex/required/amslatex.
50 Frmulas Matemticas
Quando quer as suas equaes matemticas maiores ou que sejam mos-
tradas parte do resto do pargrafo, prefervel mostr-las, em vez de que-
brar manualmente o pargrafo. Para fazer isto, pode delimitar a frmula
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
frmula matemtica:
\begin{displaymath}
c^{2}=a^{2}+b^{2}
\end{displaymath}
ou pode escrever menos com:
\[a+b=c\]
Adicione o ao quadrado e / ao quadrado
para obter c ao quadrado. Ou, usando
uma frmula matemtica:
c
2
= o
2
+ /
2
ou pode escrever menos com:
o + / = c
Se desejar que o L
A
T
E
X numere as suas equaes, pode usar o ambiente
equation. Com este ambiente pode dar um nome (\label) ao nmero de
uma equao para mais tarde referir-se a ela, noutro stio qualquer do texto,
usando \ref ou o comando \eqref do pacote amsmath:
\begin{equation} \label{eq:eps}
\epsilon > 0
\end{equation}
De (\ref{eq:eps}), descobrimos que
\ldots{}De \eqref{eq:eps} podemos
fazer o mesmo.
c 0 (3.1)
De (3.1), descobrimos que . . . De (3.1) po-
demos fazer o mesmo.
Note a diferena de estilo tipogrco entre equaes que so inseridas no
texto e as que so mostradas:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$
lim
n

n
k=1
1
k
2
=

2
6
\begin{displaymath}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{displaymath}
lim
n
n

k=1
1
/
2
=

2
6
Existem diferenas entre o modo matemtico e o modo de texto. Por
exemplo, no modo matemtico:
1. A maior parte dos espaos e mudanas de linha no tm qualquer signi-
cado, visto que todos os espaos ou so determinados logicamente da
expresso matemtica ou tm de ser especicados utilizando comandos
tais como \,, \quad ou \qquad.
3.2 Agrupar em Modo Matemtico 51
2. Linhas em branco no so permitidas. Apenas um pargrafo por fr-
mula.
3. Cada letra considerada como sendo o nome de uma varivel e ser
escrita como uma. Se quer escrever um texto normal dentro de uma
frmula (texto verticalmente direito com espaamento normal) ento
tem de introduzir o texto usando o comando \textrm{...} (veja tam-
bm a seco 3.7 na pgina 59).
\begin{equation}
\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0
\end{equation}
r R : r
2
0 (3.2)
\begin{equation}
x^{2} \geq 0\qquad
\textrm{para todo }x\in\mathbf{R}
\end{equation}
r
2
0 para todo r R (3.3)
Os matemticos podem ser muito esquisitos com os smbolos que usam:
convencionalmente usa-se blackboard bold, que so obtidos usando \mathbb
do pacote amsfonts ou amssymb. O ltimo exemplo pode ser traduzido em
\begin{displaymath}
x^{2} \geq 0\qquad
\textrm{para todo }x\in\mathbb{R}
\end{displaymath}
r
2
0 para todo r 1
3.2 Agrupar em Modo Matemtico
A maior parte dos comandos de modo matemtico funcionam apenas em
relao ao caracter seguinte. Por isso, se quer que um comando afecte vrios
caracteres, tem de os agrupar usando chavetas: {...}.
\begin{equation}
a^x+y \neq a^{x+y}
\end{equation}
o
x
+ j ,= o
x+y
(3.4)
3.3 Construindo Blocos de Frmulas
Matemticas
Nesta seco sero descritos os comandos mais importantes usados em im-
presses matemticas. D uma olhadela seco 3.10 na pgina 63 para
uma lista detalhada de comandos para escrever smbolos matemticos.
52 Frmulas Matemticas
As letras gregas minsculas so introduzidas como \alpha, \beta,
\gamma, . . . , as maisculas, so introduzidas como \Gamma, \Delta, . . .
2
$\lambda,\xi,\pi,\mu,\Phi,\Omega$ , , , j, ,
Expoentes e ndices podem ser especicados usando os caracteres ^
e _.
$a_{1}$ \qquad $x^{2}$ \qquad
$e^{-\alpha t}$ \qquad
$a^{3}_{ij}$\\
$e^{x^2} \neq {e^x}^2$
o
1
r
2
c
t
o
3
ij
c
x
2
,= c
x2
A raz quadrada introduzida como \sqrt; a raz de ndice n gerada
com \sqrt[n]. O tamanho do sinal de raz determinado automaticamente
pelo L
A
T
E
X. se apenas precisa do smbolo, deve utilizar \surd.
$\sqrt{x}$ \qquad
$\sqrt{ x^{2}+\sqrt{y} }$
\qquad $\sqrt[3]{2}$\\[3pt]
$\surd[x^2 + y^2]$

r
_
r
2
+

j
3

[r
2
+ j
2
]
Os comandos \overline e \underline criam linhas horizontais di-
rectamente por cima ou por baixo de uma expresso.
$\overline{m+n}$ : + n
Os comandos \overbrace e \underbrace criam chavetas horizontais
longas por cima ou por baixo de uma expresso.
$\underbrace{a+b+\cdots+z}_{26}$
o + / + + .
. .
26
Para adicionar acentos matemticos, tais como pequenas setas ou sinais
til a variveis, pode usar os comandos dados na tabela 3.1 na pgina 63.
Chapus largos e tils a cobrir vrios caracteres so gerados com \widetilde
e \widehat. O smbolo d um caracter de derivada.
\begin{displaymath}
y=x^{2}\qquad y=2x\qquad y=2
\end{displaymath}
j = r
2
j

= 2r j

= 2
2
No existe um Alpha denido em L
A
T
E
X2

porque idntico a um A normal. Logo


que a nova codicao para a matemtica esteja pronta, as coisas iro mudar.
3.3 Construindo Blocos de Frmulas Matemticas 53
Vectores so especicados frequentemente adicionando um smbolo seta
no topo das variveis. Isto feito com o comando \vec. Os dois comandos
\overrightarrow e \overleftarrow so teis para denotar os vectores de
para 1.
\begin{displaymath}
\vec a\quad\overrightarrow{AB}
\end{displaymath}
o

1
Usualmente no se escreve explicitamente o sinal ponto para indicar a
operao de multiplicao. No entanto, escrito para ajudar os olhos do
leitor a agrupar uma frmula. Deve usar \cdot nestes casos:
\begin{displaymath}
v = {\sigma}_1 \cdot {\sigma}_2
{\tau}_1 \cdot {\tau}_2
\end{displaymath}
=
1

2

1

2
Nomes de funes do estilo logaritmo so escritos frequentemente num
tipo de letra vertical e no em itlico como as variveis. Desta forma o
L
A
T
E
X tem os seguintes comandos para escrever os nomes das funes mais
importantes:
\arccos \cos \csc \exp \ker \limsup
\arcsin \cosh \deg \gcd \lg \ln
\arctan \cot \det \hom \lim \log
\arg \coth \dim \inf \liminf \max
\sinh \sup \tan \tanh \min \Pr
\sec \sin
\[\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1\]
lim
x0
sin r
r
= 1
Para a funo mdulo, existem dois comandos: \bmod para o operador
binrio o mod / e \pmod para expresses como r o (mod /).
$a\bmod b$\\
$x\equiv a \pmod{b}$
o mod /
r o (mod /)
Uma fraco escrita com o comando \frac{...}{...}. Frequente-
mente a forma 1,2 prefervel, porque ca melhor para pequenas pores
de material fraccionado.
54 Frmulas Matemticas
$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
2
horas
r
2
/ + 1
r
2
k+1
r
1/2
Para escrever coecientes 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
/
_
C
k
n
Para relaes binrias pode ser til colocar smbolos uns por cima dos
outros. O \stackrel coloca o smbolo dado no primeiro argumento no
tamanho de expoente sobre o segundo, que escrito na sua posio usual.
\begin{displaymath}
\int f_N(x) \stackrel{!}{=} 1
\end{displaymath}
_
)
N
(r)
!
= 1
O integral gerado com \int, o somatrio com \sum e o produtrio
com \prod. Os limites superiores e inferiores so especicados com ^ e _,
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

i=1
_
2
0

Para ter maior controlo sobre a colocao de ndices em expresses com-


plexas, o pacote amsmath providencia duas ferramentas adicionais: o co-
mando \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}

0<i<n
1<j<m
1(i, ,) =

iI
1<j<m
Q(i, ,)
3
A
M
S-L
A
T
E
X tem super-/sub-escritos multi-linha.
3.3 Construindo Blocos de Frmulas Matemticas 55
O T
E
X coloca disposio todo o tipo de smbolos para parntesis e
outros delimitadores (por exemplo [ | ). Parntesis curvos e rectangu-
lares podem ser introduzidos nas teclas correspondentes e as chavetas com
\{, mas todos os outros delimitadores so gerados com comandos especi-
ais (por exemplo \updownarrow). Para uma lista de todos os delimitadores
disponveis, verique a tabela 3.7 na pgina 65.
\begin{displaymath}
{a,b,c}\neq\{a,b,c\}
\end{displaymath}
o, /, c ,= o, /, c
Se colocar o comando \left antes do delimitador que abre ou um \right
antes do delimitador que fecha, o T
E
X ir determinar automaticamente o
tamanho correcto do delimitador. Note que deve fechar cada um \left com
um \right correspondente, e que o tamanho determinado correctamente
se ambos forem escritos na mesma linha. Se no quer um smbolo direita,
use o delimitador invisvel \right.!
\begin{displaymath}
1 + \left( \frac{1}{ 1-x^{2} }
\right) ^3
\end{displaymath}
1 +
_
1
1 r
2
_
3
Em alguns casos necessrio especicar o tamanho correcto de um deli-
mitador matemtico mo, o que pode ser feito usando os comandos \big,
\Big, \bigg e \Bigg como prexos 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\|$
_
(r + 1)(r 1)
_
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Existem vrios comandos para introduzir trs pontos numa frmula.
\ldots escreve os pontos na linha base, \cdots pe-nos centrados. Alm
destes, existem os comandos \vdots para pontos verticais e \ddots para
pontos diagonais. Pode encontrar outro exemplo na seco 3.5.
\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n}
\end{displaymath}
r
1
, . . . , r
n
r
1
+ + r
n
4
Estes comandos no funcionam como esperado se um comando de mudana de ta-
manho foi usado ou a opo 11pt ou 12pt foi especicada. Utilize o pacote exscale ou
amsmath para corrigir este comportamento.
56 Frmulas Matemticas
3.4 Espaamento Matemtico
Se os espaos escolhidos pelo T
E
X para colocar nas frmulas no so satisfa-
trios, podem ser ajustados inserindo comandos especiais. Existem alguns
comandos para pequenos espaos: \, para
3
18
quad ( ), \: para
4
18
quad
( ) e \; para
5
18
quad ( ). Os caracteres \ geram um espao de tamanho
mdio e \quad ( ) e \qquad ( ) produzem espaos largos. O tamanho
de um \quad corresponde largura do caracter M no tipo de letra actual.
O comando \! produz um espao negativo de
3
18
quad ( ).
\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}
__
D
p(r, j) drdj
em vez de
_ _
D
p(r, j)drdj
Note que d no diferencial convencionalmente escrito em tipo de letra
romana.
O A
M
S-L
A
T
E
X tem outras formas de controlar precisamente o espao
entre vrios sinais de integral, nomeadamente os comando \iint, \iiint,
\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}
__
D
drdj
Veja o documento electrnico testmath.tex (distribudo com o A
M
S-
L
A
T
E
X) ou o Captulo 8 do The L
A
T
E
X 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.
\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}
X =
_
_
_
r
11
r
12
. . .
r
21
r
22
. . .
.
.
.
.
.
.
.
.
.
_
_
_
3.5 Material Alinhado Verticalmente 57
Este ambiente tambm pode ser usado para escrever expresses que tm
um delimitador esquerdo grande, usando um . como delimitador invisvel
direita (\right):
\begin{displaymath}
y = \left\{ \begin{array}{ll}
a & \textrm{se $d>c$}\\
b+x & \textrm{na manh}\\
l & \textrm{no resto do dia}
\end{array} \right.
\end{displaymath}
j =
_
_
_
o se d c
/ + r na manh
| 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 frmulas que ocupam mais do que uma linha, ou para sistemas de
equaes, pode usar o ambiente eqnarray, e eqnarray* em vez de equation.
Com eqnarray cada linha ca com um nmero de equao. O eqnarray*
no numera o que quer que seja.
Os ambientes eqnarray e eqnarray* funcionam como uma tabela de
trs colunas da forma {rcl}, onde a coluna do meio pode ser utilizada para
o sinal de igual, o de diferente, ou qualquer outro que parea adequado. O
comando \\ quebra as linhas.
\begin{eqnarray}
f(x) & = & \cos x \\
f(x) & = & -\sin x \\
\int_{0}^{x} f(y)dy &
= & \sin x
\end{eqnarray}
)(r) = cos r (3.5)
)

(r) = sin r (3.6)


_
x
0
)(j)dj = sin r (3.7)
Note que o espao de cada lado do sinal de igual bastante grande. Pode ser
reduzido especicando \setlength\arraycolsep{2pt}, como no seguinte
exemplo.
Equaes longas no iro ser divididas automaticamente em pequenos
pedaos. O autor tem de especicar onde as quebrar e o espao que deve
58 Frmulas Matemticas
indentar. Os dois mtodos seguintes so os mais comuns para obter este
resultado.
{\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 r = r
r
3
3!
+
r
5
5!

r
7
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 r = 1
r
2
2!
+
+
r
4
4!

r
6
6!
+ (3.9)
O comando \nonumber faz com que o L
A
T
E
X no gere um nmero para a
equao actual.
Pode tornar-se difcil obter equaes verticalmente alinhadas a aparecer
de uma forma correcta com estes mtodos; o pacote amsmath tem um con-
junto mais poderoso de alternativas. (veja os ambientes align, flalign,
gather, multiline e split).
3.6 Fantasmas
No conseguimos ver fantasmas, mas eles continuam a ocupar algum espao
nas mentes de um grande nmero de pessoas. O L
A
T
E
X no diferente.
Podemos usar isto para alguns truques interessantes de espaamento.
Quando se alinha texto verticalmente usando ^ e _, o L
A
T
E
X , por vezes,
demasiado prestvel. Usando o comando \phantom pode reservar espao
para caracteres que no aparecem no resultado nal. A forma mais fcil de
compreender reparar nos sequintes exemplos:
\begin{displaymath}
{}^{12}_{\phantom{1}6}\textrm{C}
\qquad \textrm{em oposio a} \qquad
{}^{12}_{6}\textrm{C}
\end{displaymath}
12
6
C em oposio a
12
6
C
3.7 Tamanho da Matemtica 59
\begin{displaymath}
\Gamma_{ij}^{\phantom{ij}k}
\qquad \textrm{em oposio a} \qquad
\Gamma_{ij}^{k}
\end{displaymath}

k
ij
em oposio a
k
ij
3.7 Tamanho da Matemtica
No modo matemtico, o T
E
X selecciona o tamanho de letra de acordo com o
contexto. Os expoentes, por exemplo, cam escritos num tipo de letra mais
pequeno. Se deseja escrever parte de uma equao em letras tipo roman, no
use o comando \textrm porque o mecanismo de mudana de tamanho no
ir funcionar, visto que o \textrm muda temporariamente para o modo de
texto. Em vez disto, use \mathrm para manter o mecanismo de mudana de
tamanho activo. Mas preste ateno, \mathrm ir funcionar apenas em pe-
quenos textos. Os espaos ainda no esto activos e os caracteres acentuados
no funcionam.
5
\begin{equation}
2^{\textrm{nd}} \quad
2^{\mathrm{nd}}
\end{equation}
2
nd
2
nd
(3.10)
Por vezes, precisa de dizer ao L
A
T
E
X o tamanho correcto a utilizar. Em
modo matemtico, o tamanho especicado com um dos quatro comandos:
\displaystyle (123), \textstyle (123), \scriptstyle (123) e
\scriptscriptstyle (123).
A mudana de estilos tambm afecta a forma como os limites so dese-
nhados.
\begin{displaymath}
\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

i=1
(r
i
r)(j
i
j)
_
n

i=1
(r
i
r)
2
n

i=1
(j
i
j)
2
_
1/2
Este um exemplo com parntesis maiores do que os \left[ \right] habi-
tuais. Os comandos \biggl e \biggr so usados para parntesis esquerdos
e direitos, respectivamente.
5
O pacote A
M
S-L
A
T
E
X (amsmath) faz com que o comando \textrm funcione com mu-
dana de tamanho.
60 Frmulas Matemticas
3.8 Teoremas, Leis, . . .
Ao escrever documentos matemticos, provavelmente precisa de uma forma
de escrever Lemas, Denies, Axiomas e estruturas similares. O
L
A
T
E
X suporta isto com o comando
\newtheorem{nome}[contador]{texto}[seco]
O argumento nome uma pequena palavra chave usada para identicar o
teorema. Com o argumento texto pode denir o nome actual do teorema,
que ser impresso no documento nal.
Os argumentos entre parntesis rectos so opcionais. So ambos usados
para especicar a numerao usada no teorema. Com o argumento conta-
dor pode especicar o nome do ambiente teorema. O novo teorema ser
ento numerado com a sua prpria sequncia. O argumento seco permite
especicar a unidade de seco com o qual queremos que o teorema seja
numerado.
Depois de executar o comando \newtheorem no prembulo do docu-
mento, pode usar o seguinte comando durante o documento:
\begin{nome}[texto]
Este o meu interessante teorema
\end{nome}
O pacote amsthm providencia o comando \newtheoremstyle{estilo} que
permite denir como o teorema ir functionar, podendo-se escolher um de
trs estilos pre-denidos: definition (ttulo gordo, corpo em tipo de letra
roman), plain (ttulo gordo, corpo em itlico) ou remark (ttulo em itlico,
corpo em tipo de letra roman).
Isto deve ser teoria suciente. Os exemplos seguintes devero remover
quaisquer dvidas e mostrar que o ambiente \newtheorem demasiado com-
plexo para se compreender.
Primeiro denem-se os teoremas:
\theoremstyle{definition} \newtheorem{law}{Law}
\theoremstyle{plain} \newtheorem{jury}[law]{Jury}
\theoremstyle{remark} \newtheorem*{marg}{Margaret}
\begin{law} \label{law:box}
No te escondas na caixa.
\end{law}
\begin{jury}[O dcimo]
Podes ser tu! Portanto, cautela
e v a lei~\ref{law:box}\end{jury}
\begin{marg}No, No, No\end{marg}
Law 1. No te escondas na caixa.
Jury 2 (O dcimo). Podes ser tu! Por-
tanto, cautela e v a lei 1
Margaret. No, No, No
3.9 Smbolos Gordos 61
O teorema Jri usa o mesmo contador que o teorema Lei. Desta
forma, obtm um nmero que est em sequncia com a outra Lei. O
argumento em parntesis rectos usado para especicar um ttulo ou algo
parecido para o teorema.
\flushleft
\newtheorem{mur}{Murphy}[section]
\begin{mur}
Se existirem duas ou mais
maneiras de realizar algo, e
uma delas puder resultar em
catstrofe, ento algum a
a ir executar.\end{mur}
Murphy 3.8.1. Se existirem duas ou mais
maneiras de realizar algo, e uma delas
puder resultar em catstrofe, ento
algum a a ir executar.
O teorema de Murphy ca com um nmero que ligado ao nmero
da seco actual. Tambm pode usar outra unidade como, por exemplo,
captulo ou subseco.
O pacote amsthm tambm disponibiliza o ambiente proof.
\begin{proof}
trivial, use
\[E=mc^2\]
\end{proof}
Demonstrao. trivial, use
1 = :c
2
Com o comando \qedhere pode mover o smbolo de nal de prova de
stio em casos em que ele iria aparecer por si s numa linha.
\begin{proof}
trivial, use
\[E=mc^2 \qedhere\]
\end{proof}
Demonstrao. trivial, use
1 = :c
2
3.9 Smbolos Gordos
ligeiramente difcil obter smbolos bold em L
A
T
E
X; isto possivelmente
intencional visto que tipgrafos amadores tendem a us-los em demasia. O
comando \mathbf muda as letras para bold, mas apenas as letras normais,
enquanto que os smbolos matemticos so normalmente itlicos. Existe
o comando \boldmath, mas s pode ser usado fora do modo matemtico.
Tambm funciona para smbolos.
\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}
j, ` M , M
62 Frmulas Matemticas
Note que a vrgula tambm est em bold o que pode no ser o desejado.
O pacote amsbsy (includo no amsmath) faz isto muito mais facilmente
porque inclui o comando \boldsymbol.
\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}
\end{displaymath}
j, ` , M
3.10 Lista de Smbolos Matemticos 63
3.10 Lista de Smbolos Matemticos
As tabelas seguintes demonstram todos os smbolos normalmente acessveis
no modo matemtico.
Para usar os smbolos listados nas tabelas 3.113.15,
6
o pacote amssymb
deve ser carregado no prembulo do documento e os tipos de letra AMS
devem estar instalados no sistema. Se o pacote e os tipos de letra no esto
instaladas no seu sistema, visite
macros/latex/required/amslatex. Pode encontrar ainda outra lista de
smbolos mais detalhada em info/symbols/comprehensive.
Tabela 3.1: Acentos Matemticos.
o \hat{a} o \check{a} o \tilde{a}
` o \grave{a} o \dot{a} o \ddot{a}
o \bar{a} o \vec{a}

\widehat{A}
o \acute{a} o \breve{a}

\widetilde{A}
Tabela 3.2: Letras Gregas.
\alpha \theta o o \upsilon
\beta \vartheta \pi \phi
\gamma \iota c \varpi \varphi
\delta \kappa \rho \chi
c \epsilon \lambda \varrho \psi
\varepsilon j \mu \sigma \omega
\zeta \nu \varsigma
\eta \xi \tau
\Gamma \Lambda \Sigma \Psi
\Delta \Xi \Upsilon \Omega
\Theta \Pi \Phi
6
Estas tabelas so derivadas do symbols.tex por David Carlisle e mudados extensiva-
mente como sugerido por Josef Tkadlex.
64 Frmulas Matemticas
Tabela 3.3: Relaes Binrias.
Pode negar cada um dos seguintes smbolos adicionando o comando \not
como prexo do smbolo em causa.
< < > = =
\leq or \le \geq or \ge \equiv
\ll \gg
.
= \doteq
\prec ~ \succ \sim
_ \preceq _ \succeq \simeq
\subset \supset \approx
\subseteq \supseteq

= \cong
\sqsubset
a
\sqsupset
a
I \Join
a
_ \sqsubseteq _ \sqsupseteq > \bowtie
\in \ni , \owns \propto
\vdash \dashv [= \models
[ \mid | \parallel \perp
\smile \frown \asymp
: : , \notin ,= \neq or \ne
a
Use o pacote latexsym para aceder a estes smbolos
Tabela 3.4: Operadores Binrios.
+ + -
\pm \mp \triangleleft
\cdot \div > \triangleright
\times \setminus \star
\cup \cap \ast
. \sqcup \sqcap \circ
\vee , \lor \wedge , \land \bullet
\oplus \ominus \diamond
\odot \oslash \uplus
\otimes _ \bigcirc H \amalg
\bigtriangleup _ \bigtriangledown \dagger
\lhd
a
\rhd
a
\ddagger
\unlhd
a
\unrhd
a
/ \wr
3.10 Lista de Smbolos Matemticos 65
Tabela 3.5: Operadores GRANDES.

\sum

\bigcup
_
\bigvee

\prod

\bigcap
_
\bigwedge

\coprod

\bigsqcup

\biguplus
_
\int
_
\oint

\bigodot

\bigoplus

\bigotimes
Tabela 3.6: Setas.
\leftarrow or \gets \longleftarrow
\rightarrow or \to \longrightarrow
\leftrightarrow \longleftrightarrow
\Leftarrow = \Longleftarrow
\Rightarrow = \Longrightarrow
\Leftrightarrow \Longleftrightarrow
\mapsto \longmapsto
\hookleftarrow \hookrightarrow
\leftharpoonup \rightharpoonup
\leftharpoondown \rightharpoondown
= \rightleftharpoons \iff (bigger spaces)
\uparrow \downarrow
\updownarrow \Uparrow
\Downarrow \Updownarrow
\nearrow \searrow
\swarrow \nwarrow
Y \leadsto
a
a
Use o pacote latexsym para aceder a estes smbolos
Tabela 3.7: Delimitadores.
( ( ) ) \uparrow
[ [ or \lbrack ] ] or \rbrack \downarrow
\{ or \lbrace \} or \rbrace \updownarrow
\langle ) \rangle [ | or \vert
\lfloor | \rfloor \lceil
, / \backslash \Updownarrow
\Uparrow \Downarrow | \| or \Vert
| \rceil
66 Frmulas Matemticas
Tabela 3.8: Grandes Delimitadores.
_
_
\lgroup
_
_
\rgroup
_
_
\lmoustache

\arrowvert
_
_
\Arrowvert

\bracevert
_
_
\rmoustache
Tabela 3.9: Smbolos Sortidos.
. . . \dots \cdots
.
.
. \vdots
.
.
.
\ddots
/ \hbar \imath , \jmath / \ell
' \Re \Im \aleph \wp
\forall \exists G \mho
a
\partial

/ \prime \emptyset \infty


\nabla \triangle P \Box
a
Q \Diamond
a
\bot \top \angle

\surd
\diamondsuit \heartsuit \clubsuit \spadesuit
\neg or \lnot . \flat ; \natural ; \sharp
a
Use o pacote latexsym para aceder a este smbolo
Tabela 3.10: Smbolos no Matemticos.
Estes smbolos tambm podem ser usados em modo texto.
\dag \S \copyright \textregistered
\ddag \P \pounds % \%
Tabela 3.11: Delimitadores AMS.
' \ulcorner \urcorner , \llcorner \lrcorner
[ \lvert [ \rvert | \lVert | \rVert
Tabela 3.12: Letras AMS gregas e hebraicas.
} \digamma \varkappa Q \beth \gimel \daleth
3.10 Lista de Smbolos Matemticos 67
Tabela 3.13: Relaes Binrias AMS.
< \lessdot \gtrdot = \doteqdot
\leqslant \geqslant = \risingdotseq
\eqslantless \eqslantgtr = \fallingdotseq
_ \leqq _ \geqq = \eqcirc
\lll \ggg = \circeq
_ \lesssim _ \gtrsim = \triangleq
_ \lessapprox _ \gtrapprox = \bumpeq
\lessgtr \gtrless \Bumpeq
_ \lesseqgtr \gtreqless \thicksim
_ \lesseqqgtr _ \gtreqqless \thickapprox
- \preccurlyeq , \succcurlyeq \approxeq
- \curlyeqprec ` \curlyeqsucc ~ \backsim
_ \precsim _ \succsim - \backsimeq
_ \precapprox _ \succapprox = \vDash
\subseteqq \supseteqq ' \Vdash
+ \shortparallel \Supset ' \Vvdash
\blacktriangleleft \sqsupset ~ \backepsilon
\vartriangleright \because \varpropto
> \blacktriangleright \Subset \between
_ \trianglerighteq \smallfrown . \pitchfork
< \vartriangleleft . \shortmid \smallsmile
_ \trianglelefteq \therefore \sqsubset
68 Frmulas Matemticas
Tabela 3.14: Setas AMS.
--- \dashleftarrow --- \dashrightarrow
\leftleftarrows \rightrightarrows
\leftrightarrows \rightleftarrows
\Lleftarrow = \Rrightarrow
\twoheadleftarrow \twoheadrightarrow
\leftarrowtail \rightarrowtail
= \leftrightharpoons = \rightleftharpoons
\Lsh \Rsh
\looparrowleft + \looparrowright
. \curvearrowleft \curvearrowright
\circlearrowleft \circlearrowright
\multimap | \upuparrows
_ \downdownarrows , \upharpoonleft
` \upharpoonright \downharpoonright
~ \rightsquigarrow - \leftrightsquigarrow
3.10 Lista de Smbolos Matemticos 69
Tabela 3.15: Relaes Binrias Negadas e Setas AMS.
\nless \ngtr \varsubsetneqq
_ \lneq _ \gneq \varsupsetneqq
_ \nleq _ \ngeq \nsubseteqq
\nleqslant \ngeqslant \nsupseteqq
_ \lneqq _ \gneqq [ \nmid
_ \lvertneqq _ \gvertneqq \nparallel
_ \nleqq _ \ngeqq \nshortmid
_ \lnsim _ \gnsim + \nshortparallel
_ \lnapprox _ \gnapprox ~ \nsim
\nprec , \nsucc \ncong
_ \npreceq _ \nsucceq - \nvdash
_ \precneqq _ \succneqq = \nvDash
_ \precnsim _ \succnsim ' \nVdash
_ \precnapprox _ \succnapprox \nVDash
_ \subsetneq _ \supsetneq ; \ntriangleleft
_ \varsubsetneq _ \varsupsetneq ; \ntriangleright
_ \nsubseteq _ \nsupseteq _ \ntrianglelefteq
_ \subsetneqq _ \supsetneqq _ \ntrianglerighteq
\nleftarrow \nrightarrow \nleftrightarrow
= \nLeftarrow = \nRightarrow = \nLeftrightarrow
Tabela 3.16: Operadores Binrios AMS.
\dotplus . \centerdot
\ltimes \rtimes \divideontimes
J \doublecup + \doublecap \smallsetminus
Y \veebar \barwedge , \doublebarwedge
\boxplus \boxminus \circleddash
\boxtimes \boxdot \circledcirc
\intercal \circledast \rightthreetimes
\curlyvee \curlywedge ` \leftthreetimes
70 Frmulas Matemticas
Tabela 3.17: AMS Sortidos.
/ \hbar h \hslash k \Bbbk
\square B \blacksquare \circledS
, \vartriangle # \blacktriangle U \complement
V \triangledown * \blacktriangledown , \Game
\lozenge # \blacklozenge \bigstar
\angle X \measuredangle
, \diagup \diagdown \ \backprime
\nexists \Finv \varnothing
\eth < \sphericalangle G \mho
Tabela 3.18: Alfabeto Matemtico.
Exemplo Comando Pacote Necessrio
ABCDEabcde1234 \mathrm{ABCDE abcde 1234}
ABCDEabcde1234 \mathit{ABCDE abcde 1234}
1C11o/cdc1: \mathnormal{ABCDE abcde 1234}
ABCDE \mathcal{ABCDE abcde 1234}
ABCDE \mathscr{ABCDE abcde 1234} mathrsfs
ABCDEabcde1234 \mathfrak{ABCDE abcde 1234} amsfonts ou paiamssymb
ABC|E,'=_ \mathbb{ABCDE abcde 1234} amsfonts or amssymb
Captulo 4
Especialidades
Quando se prepara um grande documento, o L
A
T
E
X ir ajud-lo com algumas
potencialidades, tais como a gerao de ndices, manuseamento de bibliograa,
e mais. Uma descrio muito mais completa das especialidades e melhoramentos
possveis com o L
A
T
E
X podem ser encontradas no L
A
T
E
X Manual [1] e no The
L
A
T
E
X Companion [3].
4.1 Incluindo Grcos Encapsulated PostScript
O L
A
T
E
X providencia as facilidades bsicas para trabalhar com corpos utu-
antes como imagens ou grcos, com os ambientes figure e table.
Existem vrias formas de gerar grcos com L
A
T
E
X bsico ou com pacotes
de extenso ao L
A
T
E
X. Alguns deles foram descritos no captulo 5. Para
mais informaes sobre este assunto consulte o The L
A
T
E
X Companion [3] e
o L
A
T
E
X Manual [1].
Uma forma muito mais fcil de colocar grcos num documento gerar
a imagem com um programa especializado
1
e depois incluir os grcos ge-
rados no documento. Uma vez mais, o L
A
T
E
X tem pacotes que oferecem
muitas formas diferentes de fazer isto mas, nesta introduo, vamos apenas
discutir sobre grcos no formato Encapsulated PostScript (EPS), porque
so bastante fceis de usar. Para usar imagens no formato EPS, tem de ter
uma impressora PostScript
2
Um bom conjunto de comandos para incluso de grcos est disponvel
no pacote graphicx por D. P. Carlisle. Este pacote faz parte de uma famlia
de pacotes chamada graphics
3
.
1
Como o XFig, CorelDraw!, Freehand, Gnuplot, . . .
2
Outra possibilidade utilizar o GhostScript para imprimir, que est disponvel em
support/ghostscript. Os utilizadores de Windows devem querer dar uma olhadela ao
GSview.
3
macros/latex/required/graphics
72 Especialidades
Assumindo que est a trabalhar com um sistema com uma impressora
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 edio grca para o formato
EPS.
4
2. Carregue o pacote graphicx no prembulo do documento com
\usepackage[driver]{graphicx}
onde driver o nome do seu programa de converso de dvi para
postscript. O programa deste tipo mais usado chamado de dvips.
O nome deste programa necessrio, porque no existe nenhum padro
para incluir grcos em T
E
X. Sabendo o nome deste driver, o pacote
graphicx pode escolher o mtodo correcto para inserir informao sobre
o grco no cheiro .dvi, de forma a que a impressora perceba e possa
incluir correctamente o cheiro .eps.
3. Use o comando
\includegraphics[chave=valor, . . . ]{cheiro}
para incluir o cheiro no seu documento. O parmetro opcional aceita
uma lista separada por vrgulas de chaves e valores associados. As
chaves podem ser usadas para alterar a largura, altura e rotao do
grco includo. A tabela 4.1 mostra as chaves mais importantes.
Tabela 4.1: Nomes das Chaves para o Pacote graphicx.
width aumenta/diminu a imagem para a largura dada
height aumenta/diminu a imagem para a altura dada
angle roda no sentido contrrio ao dos ponteiros
scale altera a escala da imagem
O seguinte exemplo claricar as ideias:
4
Se o seu programa no conseguir exportar no formato EPS, pode tentar instalar um
driver de impressora (uma LaserWriter da Apple, por exemplo) e depois imprimir para
um cheiro utilizando este driver. Com alguma sorte este cheiro ir estar em formato
EPS. Note que um EPS no deve conter mais do que uma pgina. Alguns drivers podem
estar congurados explicitamente para produzir o formato EPS.
4.2 Bibliograa 73
\begin{figure}
\centering
\includegraphics[angle=90,
width=0.5\textwidth]{test}
\caption{Isto um teste.}
\end{figure}
Este comando inclui o grco guardado no cheiro test.eps. O grco
rodado inicialmente por um ngulo de 90 graus e depois alterado de forma a
que a largura seja 0.5 vezes a largura de um pargrafo normal (textwidth).
A altura calculada de forma a manter a relao altura/largura. A largura
e altura tambm podem ser especicadas em dimenses absolutas. Veja a
tabela 6.5 na pgina 116 para mais informao. Se quer saber mais sobre
este tpico, leia [8] e [13].
4.2 Bibliograa
Pode produzir uma bibliograa com o ambiente thebibliography. Cada
entrada comea com
\bibitem[etiqueta]{marca}
A marca para ser usada durante o documento para citar o livro ou
artigo descrito na entrada da bibliograa.
\cite{marca}
Se no usar a opo etiqueta, as entradas sero numeradas automatica-
mente. O parmetro colocado aps o comando \begin{thebibliography}
dene quanto espao deve ser reservado para o nmero ou etiqueta. No
exemplo seguinte, {99} indica ao L
A
T
E
X para considerar que nenhum dos
nmeros dos tems da bibliograa vo ser maiores do que 99.
74 Especialidades
Partl~\cite{pa} props
que se \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Volume~9, Issue~1 (1988)
\end{thebibliography}
Partl [1] props que se . . .
Bibliograa
[1] H. Partl: German T
E
X, TUGboat
Volume 9, Issue 1 (1988)
Para projectos maiores, querer usar o BibT
E
X. O BibT
E
X includo
na maior parte das distribuio T
E
X. Permite manter uma base de dados
bibliogrca e depois extrair as referncias relevantes para algo citado no
documento. A apresentao visual das bibliograas geradas pelo BibT
E
X
baseada num conceito de folhas de estilo que permite criar bibliograas
utilizando um grande conjunto de formatos pr-denidos.
4.3 Indexar
Uma caracterstica muito til de muitos livros o seu ndice remissivo. Com
o L
A
T
E
X e o programa de suporte makeindex,
5
um ndice pode ser gerado de
uma forma bastante simples. Esta introduo s ir explicar os comandos
bsicos de gerao. Para uma explicao mais aprofundada, veja o The
L
A
T
E
X Companion [3].
Para activar a indexao do L
A
T
E
X, deve incluir o pacote makeidx no
prembulo do documento com
\usepackage{makeidx}
e os comandos especiais de indexao devem ser activados colocando o co-
mando
\makeindex
no prembulo do documento.
5
Em sistemas que no suportam necessariamente nomes de cheiros com mais de oito
caracteres, o programa pode ter o nome de makeidx.
4.3 Indexar 75
Tabela 4.2: Exemplos da Sintaxe das Chaves de Indexao.
Exemplo Entrada no ndice Comentrio
\index{ol} ol, 1 Entrada normal
\index{ol!Pedro} Pedro, 3 Sub-entrada de ol
\index{Sam@\textsl{Sam}} Sam, 2 Entrada formatada
\index{Lin@\textbf{Lin}} Lin, 7 O mesmo que a de cima
\index{Jenny|textbf} Jenny, 3 Nmero de pgina formatado
\index{Joe|textit} Joe, 5 O mesmo que a de cima
\index{ecole@\ecole} cole, 4 Uso de acentuao
O contedo do ndice especicado com comandos
\index{chave}
onde a chave a entrada no ndice. Insere os comandos de indexao nos
pontos do texto para onde quer que o ndice aponte. A tabela 4.2 explica a
sintaxe do argumento chave, com vrios exemplos.
Quando o cheiro de origem processado com o L
A
T
E
X, cada comando
\index escreve a entrada apropriada com o nmero de pgina actual para um
cheiro especial. O cheiro tem o mesmo nome do documento original, mas
com uma extenso diferente (.idx). Este cheiro .idx deve ser processado
posteriormente com o comando makeindex.
makeindex nomedocheiro
O programa makeindex gera um ndice ordenado com o mesmo nome
mas com a extenso .ind. Quando o documento for processado novamente
com o L
A
T
E
X, este ndice ordenado ser includo no documento no ponto
onde o L
A
T
E
X encontrar
\printindex
O pacote showidx que vem com o L
A
T
E
X2

imprime todas as entradas


na margem esquerda do texto. Isto muito til para reler um documento e
vericar o ndice.
Note que o comando \index pode afectar o formato do documento se
no o usar com cuidado.
76 Especialidades
A Palavra \index{palavra}.
Em oposio
Palavra\index{palavra}.
Repare na posio do ponto final.
A Palavra . Em oposio Palavra. Re-
pare na posio do ponto nal.
4.4 Cabealhos
O pacote fancyhdr,
6
escrito por Piet van Oostrum, fornece alguns comandos
simples que permitem congurar o cabealho e o rodap do seu documento.
Se olhar para o topo desta pgina, ir ver uma aplicao possvel deste
pacote.
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% com isto temos a certeza que os cabealhos do
% captulo e seco so em minsculas.
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % apagar as configuraes actuais
\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 espao para o risco
\fancypagestyle{plain}{%
\fancyhead{} % Tirar cabealhos de pgina vazias
\renewcommand{\headrulewidth}{0pt} % e o risco
}
Figura 4.1: Exemplo de congurao do fancyhdr.
O maior problema ao congurar cabealhos e rodaps fazer coisas tais
como colocar nomes de seces e captulos a. O L
A
T
E
X faz isto numa aborda-
gem de dois nveis. Na denio da cabealho e do rodap, usa os comandos
\rightmark e \leftmark para representar a captulo e a seco actual, res-
pectivamente. Os valores destes dois comandos so reescritos sempre que
um comando de captulo ou seco processado.
Para maior exibilidade, o comando \chapter e os seus amigos no re-
denem, eles mesmos, o \rightmark e \leftmark, mas chamam outros co-
6
Disponvel em macros/latex/contrib/supported/fancyhdr.
4.5 O Pacote Verbatim 77
mandos (\chaptermark, \sectionmark ou \subsectionmark) que so res-
ponsveis por redenir \rightmark e \leftmark.
Assim, se quer mudar o aspecto do nome de captulo na linha de cabe-
alho, deve redenir, simplesmente, o comando \chaptermark.
A gura 4.1 mostra uma congurao possvel para o pacote fancyhdr
que faz cabealhos idnticos aos deste livro. De qualquer maneira, a minha
sugesto que copie a documentao deste pacote a partir do endereo
mencionado na nota de pgina.
4.5 O Pacote Verbatim
Anteriormente neste livro, foi explicado o ambiente verbatim. Nesta sec-
o, vai aprender sobre o pacote verbatim. O pacote verbatim basicamente
uma re-implementao do ambiente \verbatim que contorna as limitaes
do ambiente original. Isto, por si s, no espectacular, mas com a im-
plementao do pacote verbatim, existem novas funcionalidades e por essa
razo menciono este pacote aqui. O pacote verbatim providencia o comando
\verbatiminput{nomedocheiro}
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
instalado em quase todos os sistemas. Se quer saber mais sobre este pacote,
leia [9].
4.6 Instalando Pacotes ExtraL
A
T
E
X
A maior parte das instalaes L
A
T
E
X vm com um grande conjunto de pacotes
j instalados, mas existem muitos mais disponveis na Internet. O principal
stio para procurar por pacotes L
A
T
E
X o CTAN (http://www.ctan.org/).
Pacotes como o geometry ou o hyphenat, e muitos outros, so tipicamente
constitudos de dois cheiros: um com a extenso .ins e outro com a exten-
so .dtx. Muitas vezes ir existir um readme.txt com uma breve descrio
do pacote. Deve, certamente, ler este cheiro antes de qualquer outra coisa.
Em qualquer caso, uma vez copiados os cheiros do pacote para a sua
mquina, continua a precisar de os processar de forma a que (a) a sua
distribuio T
E
X saiba alguma coisa sobre os novos pacotes e (b) obtenha a
documentao. Aqui est como fazer a primeira parte:
1. Corra o L
A
T
E
X no cheiro .ins. Isto vai extrair um cheiro .sty.
78 Especialidades
2. Mova o cheiro .sty para um stio onde a sua distribuio o consiga
encontrar. Normalmente, isto na sua .../localtexmf/tex/latex
subdirectoria (Utilizadores Windows devem sentir-se livres de mudar
a direco das barras).
3. Actualizar a base de dados da sua distribuio. O comando depende
da distribuio de L
A
T
E
X que usa: teTeX, fpTeX texhash; web2c
maktexlsr; MikTeX initexmf -update-fndb ou use um interface
grco.
Agora pode extrair a documentao do cheiro .dtx:
1. Corra o L
A
T
E
X no cheiro .dtx. Isto ir gerar um cheiro .dvi. Note
que deve precisar de usar o L
A
T
E
X vrias vezes antes de obter as refe-
rencias cruzadas correctamente;
2. Verique se o L
A
T
E
X produziu um cheiro .idx no meio dos outros
vrios cheiros que tem. Se no encontra este cheiro, ento avance
para o passo 5.
3. Para gerar o ndice, escreve o seguinte:
makeindex -s gind.ist nome
(onde nome o nome do cheiro principal sem a extenso).
4. Corra de novo o L
A
T
E
X no cheiro .dtx.
5. Por m, faa um cheiro .ps ou .pdf para aumentar o seu prazer de
leitura.
Um perigo nal: muito raramente, pode encontrar um cheiro .glo
(glossrio). Este processado depois do passo 4 e antes do 5:
makeindex -s gglo.ist -o nome.gls nome.glo
Tenha a certeza de passar o L
A
T
E
X no cheiro .dtx uma ltima vez antes de
mover para o passo 5.
4.7 Usar o pdf L
A
T
E
X
By Daniel Flipo <Daniel.Flipo@univ-lille1.fr>
O PDF um formato de documentos de hipertexto. Como uma pgina da
Internet, algumas palavras no documento so marcadas como hiper-ligaes.
Estas, ligam para outros stios no documento ou mesmo para outros docu-
mentos. Se clicar numa destas ligaes ser transportado para o destino da
mesma ligao. No contexto do L
A
T
E
X, isto signica que todas as ocorrncias
de \ref e \pageref passaro a hyper-ligaes. Adicionalmente, a tabela de
4.7 Usar o pdf L
A
T
E
X 79
contedos, o ndice remissivo e todas as estruturas deste gnero passaro a
hiper-ligaes.
A maior parte das pginas de Internet que se encontram nos dias que cor-
rem esto escritas em HTML (HyperText Markup Language). Este formato
tem duas desvantagens ao escrever documentos cientcos:
1. Incluir frmulas matemticas em documentos HTML no , geral-
mente, possvel. Embora exista um standard para isso, a maior parte
dos navegadores de hoje no o suportam, ou tm falta de tipos de
letra.
2. Imprimir documentos HTML possvel mas o seu resultado varia de
forma incontrolvel entre plataformas e navegadores. Os resultados
esto a milhas da qualidade que esperamos quando estamos habituados
ao mundo L
A
T
E
X.
Existem muitas tentativas de criar tradutores de L
A
T
E
X para HTML. Al-
gumas tiveram bastante sucesso no que respeita a serem capazes de produzir
pginas de Internet legveis a partir dum cheiro L
A
T
E
X comum. Mas todos
eles cortam caminho para terem o trabalho feito. Assim que comear a usar
caractersticas complexas do L
A
T
E
X e pacotes externos, as coisas comearo
a deixar de funcionar. Autores que querem preservar a qualidade tipogrca
nica dos seus documentos ao public-los na Internet, transformam-os em
PDF (Portable Document FormatFormato de documentos portvel), que
preserva o formato do documento e que permite navegao de hipertexto.
Quase todos os navegadores modernos dispem de plugins que permitem ver
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 docu-
mentos PDF esto muito melhor distribudos. Portanto, providenciar ver-
ses PDF dos seus documentos ir torn-los mais acessveis aos seus leitores.
4.7.1 Documentos PDF para a Internet
A criao de cheiros PDF a partir do L
A
T
E
X muito simples, graas ao
programa pdfT
E
X desenvolvido por Hn Th

Thnh. O pdfT
E
X produz um
cheiro PDF onde o normal T
E
X produz DVI. Tambm existe um pdfL
A
T
E
X,
que produz PDF directamente do L
A
T
E
X.
Quer o pdfT
E
X quer o pdfL
A
T
E
X so instalados automaticamente pela
maior parte das distribuies modernas do T
E
X, como a teT
E
X, fpT
E
X,
MikT
E
X, T
E
XLive e CMacT
E
X.
Para produzir um PDF em vez do DVI, suciente substituir o comando
latex file.tex por pdflatex file.tex. Em sistemas em que o L
A
T
E
X no
chamado da linha de comando, dever ser necessrio encontrar um boto
especial no T
E
XControlCenter.
80 Especialidades
Pode denir o tamanho do papel com um argumento opcional na de-
nio da classe do documento. Os valores tradicionais so a4paper ou
letterpaper. Embora tambm funcione em pdfL
A
T
E
X, o pdfT
E
X precisa
de saber o tamanho fsico do papel para determinar o tamanho fsico das
pginas no cheiro pdf. Se usar o pacote hyperref (veja a pgina 83), o
tamanho do papel ir ser ajustado automaticamente. De outra forma, ter
de o regular manualmente, colocando as seguintes linhas no prembulo do
documento:
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
A seco seguinte ir aprofundar em maior detalhe as diferenas entre
o L
A
T
E
X normal e o pdfL
A
T
E
X. As maiores diferenas dizem respeito a trs
reas: os tipos de letra a usar, o formato das imagens a incluir, e a congu-
rao manual das hiper-ligaes.
4.7.2 Os tipos de letra
pdfL
A
T
E
X pode funcionar com todos os tipos de letras (PK bitmaps, Tru-
eType, PostScript type 1. . . ) mas o formato normal do L
A
T
E
X, os tipos de
letra bitmap PK, produzem resultados muito feios quando o documento
mostrado com o Acrobat Reader. prefervel usar os tipos de letra PostS-
cript Type 1 exclusivamente para produzir documentos que sejam bem
visveis. As instalaes modernas do T
E
X iro tratar de congurar estes
detalhes de forma a que isto acontea automaticamente. O melhor experi-
mentar. Se funciona para si, salte o resto desta seco.
A implementao dos tipos PostScript Type 1 das Computer Modern
e AMSFonts foram produzidos pelo Blue Sky Research e Y&Y, Inc., que
transferiram os direitos de cpia para a Sociedade Matemtica Americana.
Estes tipos de letra foram tornados disponveis por volta de 1997 e de mo-
mento encontram-se em quase todas as distribuies T
E
X.
No entanto, se estiver a usar o L
A
T
E
X para criar documentos em ln-
guas que no o Ingls, poder querer usar os tipos de letra EC, LH ou CB
(leia a discusso sobre tipos de letra OT1 na pgina 27). Vladimir Volovich
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 disponvel em CTAN:/fonts/ps-type1/cm-super e
est includo no T
E
XLive7 e MikT
E
X. Tipos de letra semelhantes type 1
CB Greek foram criados pelos Apstolos Syropoulos e esto disponveis em
CTAN:/tex-archive/fonts/greek/cb. Infelizmente, estes conjuntos no
so da mesma qualidade tipogrca dos tipos de letra Type1 CM do Blue
Sly/Y&Y. So automaticamente escolhidas de forma a que no cran tenha
bastante qualidade mas a sua impresso seja semelhante aos tipos de letra
originais EC/LH/CB.
4.7 Usar o pdf L
A
T
E
X 81
Se estiver a criar um documento numa lngua baseada em Latim, tem
vrias outras opes.
Pode desejar usar o pacote aeguill, tambm conhecido como Almost
European Computer Modern with Guillemets. Para tal basta colocar
a linha \usepackage{aeguill} no prembulo do documento, para
activar os tipos de letra virtuais AE em vez dos tipos de letra EC.
Alternativamente, pode usar o pacote \usepackage{mltex}, mas este
s funciona quando o seu pdfT
E
X foi compilado com a opo mltex.
O conjunto de tipos de letra AE, tal como o sistema MlT
E
X, faz com que
o T
E
X acredite que tem um conjunto completo de 256 caracteres sua
disposio criando a maior parte dos tipos de letra que faltem, rearranjando-
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
na codicao T1, a hifenizao ir funcionar correctamente nas lnguas
Europeias baseadas em Latin. A nica desvantagem que os caracteres
articiais AE no funcionam na funo Find do Acrobat Reader, pelo que
no poder procurar palavras com caracteres acentuados no seu documento
nal PDF.
Para a lngua Russa, uma soluo parecida usar os tipos de letra virtu-
ais C1 disponveis em ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts.
Estes tipos de letra combinam os tipos habituais CM type 1 com a coleco
Bluesky e tipos de letra CMCYR type 1 da coleco Paradissa e BaKoMa,
todas disponveis no CTAN. Visto que os tipos de letra Paradissa contm
apenas letras Russas, os tipos de letra C1 no contm alguns glifos cirlicos.
Outra soluo mudar para outro tipo de letra PostScript type 1.
Actualmente, algumas so includas com todas as cpias do Acrobat Reader.
Como estes tipos de letra tm tamanhos diferentes, o formato do texto nas
suas pginas ir mudar. Normalmente, estes tipos de letra iro usar mais
espao do que os tipos de letra CM, que so muito ecientes em relao a
espao ocupado. A coerncia visual do documento tambm ir sofrer porque
os tipos de letra Times, Helvetica e Courier (os candidatos principais para o
trabalho de substituio) no foram desenhados para trabalhar em harmonia
num nico documento.
Dois conjuntos de tipos prontos a usar esto disponveis para este m:
pxfonts, que baseado nas Palatino, como tipo para o texto do corpo, e o
pacote txfonts, que baseado no Times. Para os usar suciente colocar as
seguintes linhas no prembulo do seu documento:
\usepackage[T1]{fontenc}
\usepackage{pxfonts}
Nota: ir encontrar linhas como
82 Especialidades
Warning: pdftex (file eurmo10): Font eur... not found
no cheiro .log depois de compilar o seu cheiro. Signicam que algum
tipo de letra usado no documento no foi encontrado. Tem realmente de
resolver estes problemas, ou o PDF resultante pode no mostrar as pginas
com os caracteres em falta.
Todo este negcio de tipos de letra, especialmente a falta de um bom
conjunto de tipos de letra EC de qualidade equivalente s CM no formato
type 1, est a ocupar as mentes de muita gente. Recentemente um novo
conjunto de tipos de letra de grade qualidade chamados Latin Modern (LM)
cou disponvel. Colocou um ponto nal na misria. Se tem uma instalao
de T
E
X recente, tem algumas hipteses de ter uma cpia delas instalada.
Tudo o que tem de fazer adicionar:
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
ao prembulo do seu documento, e estar a criar resultados PDF de excelente
qualidade, com suporte completo para todo o conjunto de caracteres latinos.
4.7.3 Uso de Grcos
Incluir grcos num documento funciona melhor com o pacote graphicx (ver
pgina 71). Ao usar a opo especial pdftex como driver, o pacote ir
funcionar com o pdfL
A
T
E
X de forma simples:
\usepackage[pdftex]{color,graphicx}
No exemplo acima, tambm inclu a opo color, visto que o uso de cores
em documentos mostrados na Internet bastante natural.
Chega de boas notcias. As imagens em Encapsulated PostScript no
funcionam com o PdfL
A
T
E
X. Se no denir uma extenso no nome do cheiro
do comando \includegraphics, o pacote graphicx ir procurar um cheiro
que lhe seja adequado, dependendo das opes do driver. Para pdftex ir
procurar os formatos .png, .pdf, .jpg e .mps (METAPOST), e .tifmas
no .eps.
A forma simples de resolver este problema simplesmente converter
os seus cheiros EPS para o formato PDF usando a utilidade epstopdf
existente em tantos sistemas. Para grcos vectoriais (desenhos) esta uma
grande soluo. Para mapas de bits (fotograas) isto pode no ser ideal,
porque o formato PDF suporta nativamente a incluso de imagens PNG
e JPEG. PNG bom para imagens de aplicaes e outras imagens com
poucas cores. O JPEG bom para fotograas, visto ser eciente em relao
ao espao ocupado em disco.
4.7 Usar o pdf L
A
T
E
X 83
At pode ser desejvel no desenhar algumas guras geomtricas mas
descrev-las com uma linguagem especializada, como o METAPOST, que
pode ser encontrada em quase todas as distribuies do T
E
X, e vem com o
seu prprio manual extensivo.
4.7.4 Ligaes de Hipertexto
O pacote hyperref ir ter o cuidado de transformar todas as referncias in-
ternas do seu documento em hiper-ligaes. Para que isto funcione devida-
mente, alguma magia necessrio, e portanto, tem de colocar
\usepackage[pdftex]{hyperref} como ltimo comando do prembulo do
seu documento.
Muitas opes esto disponveis para congurar o comportamento do
pacote hyperref:
como uma lista separada por vrgulas depois da opo pdftex
\usepackage[pdftex]{hyperref}
ou em linhas individuais com o comando \hypersetup{opes}.
A nica opo necessria pdftex; as outras so opcionais e permitem
alterar o comportamento por omisso do hyperref.
7
Na lista seguinte, os
valores por omisso esto escritos num tipo de letra vertical (portanto, no
itlico).
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 no, automaticamente o
tamanho inicial do texto quando visualizado;
pdftitle (={texto}) dene o ttulo que ser mostrado na janela
Document Info do Acrobat;
pdfauthor (={texto}) o nome do autor do PDF;
7
de notar que o pacote hyperref no est limitado ao uso com o pdfT
E
X. Tambm
pode ser congurado para embeber informao especca do PDF no cheiro DVI, resul-
tado normal do L
A
T
E
X, que depois ir colocar no cheiro PS com o dvips e que, nalmente,
ser usado pelo Adobe Distiller quando se tentar converter de PS para PDF.
84 Especialidades
pdfnewwindow (=true,false) dene se uma nova janela deve ser aberta
quando uma ligao envia para fora do documento actual;
colorlinks (=false,true) delimita as ligaes por uma caixa de cor
(false) ou pinta o texto das ligaes (true). As cores destas ligaes
podem ser conguradas com as seguintes opes:
linkcolor (=red) cor de ligaes internas (seces, pginas, etc),
citecolor (=green) cor de citaes (bibliograa),
filecolor (=magenta) cor de ligaes para cheiros;
urlcolor (=cyan) cor de ligaes de URL (mail, web).
Se estiver contente com os valores por omisso, use
\usepackage[pdftex]{hyperref}
Para ter a lista de bookmarks aberta e ligaes em cor: (os valores =true
so opcionais):
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
Ao criar PDFs destinados a serem impressos, as ligaes coloridas no so
boa ideia uma vez que iro acabar cinzentas no resultado nal, tornando-se
difceis de ler. Pode usar caixas de cor, que no sero impressas:
\usepackage{hyperref}
\hypersetup{colorlinks=false}
ou colocar as ligaes a preto:
\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black,%
pdftex}
Quando quer apenas providenciar informao para a seco de informa-
o sobre o documento PDF:
\usepackage[pdfauthor={Pierre Desproges},%
pdftitle={Des femmes qui tombent},%
pdftex]{hyperref}
4.7 Usar o pdf L
A
T
E
X 85
Alm das hiper-ligaes automticas para referncias cruzadas, possvel
embeber explicitamente ligaes usando
\href{url }{texto}
O cdigo
O endereo do \href{http://www.ctan.org}{CTAN}.
produz o resultado CTAN; um clique na palavra CTAN ir lev-lo
pgina de Internet do CTAN.
Se o destino da ligao no um URL mas um cheiro local, pode usar
o comando \href da seguinte forma:
O documento completo est \href{manual.pdf}{aqui}
Que produz o texto O documento completo est aqui. Ao clicar na palavra
aqui ir abrir o cheiro manual.pdf. (O nome do cheiro relativo
localizao actual do documento actual).
O autor de um artigo pode desejar que os seus leitores enviem-lhe men-
sagens de correio electrnico usando o comando \href dentro do comando
\author na pgina principal do documento:
\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}%
{mary@oetiker.ch}$>$
Note que coloquei a ligao de forma a que o meu endereo aparea no
s na ligao mas tambm na pgina. Isso importante porque a ligao
\href{mailto:mary@oetiker.ch}{Mary Oetiker}
ir funcionar bem dentro do Acrobat, mas assim que a pgina seja impressa
o endereo nunca mais seria visvel.
4.7.5 Problemas com Ligaes
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 co-
mando \mainmatter providenciado pela classe de documento book. Este
reinicializa o contador do nmero de pgina a 1 antes do primeiro captulo
do livro. Mas como o prefcio do livro tambm tem como nmero de pgina
o 1, todas as ligaes pgina 1 deixaro de ser nicas, e da que aparea
o aviso de que o duplicado tenha sido ignorado.
A contra-medida consiste em colocar plainpages=false nas opes do
hyperref. Isto, infelizmente, ajuda apenas com o contador de pginas. Uma
soluo ainda mais radical o uso da opo hypertexnames=false, mas
que ir causar as ligaes de pginas deixar de funcionar.
86 Especialidades
4.7.6 Problemas com Bookmarks
O texto mostrado nas bookmarks no aparece sempre como esperava que
aparecessem. Porque as bookmarks so apenas texto, muito menos ca-
racteres esto disponveis do que para texto normal L
A
T
E
X. Hyperref ir
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 book-
mark, que ir substituir o texto em causa:
\texorpdfstring{Texto T
E
X}{Texto da Bookmark}
As expresses matemticas so candidatas especiais para este tipo de
problema:
\section{\texorpdfstring{$E=mc^2$}%
{E=mc^2}}
o que torna \section{$E=mc^2$} em E=mc2 para a rea de bookmark.
Mudanas de cor tambm no viajam para as bookmarks:
\section{\textcolor{red}{Red !}}
produz redRed!. O comando \textcolor ser ignorado mas o seu argu-
mento (red) ser impresso.
Se usar
\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}
o resultado ir ser muito mais legvel.
Se escrever o seu documento em unicode e usar a opo unicode para
o pacote hyperref poder usar caracteres unicode nas bookmarks. Isto ir
dar-lhe uma seleco muito maior de caracteres de onde escolher quando
usar o \texorpdfstring.
Compatibilidade entre L
A
T
E
X e pdf L
A
T
E
X
Idealmente o seu documento deveria compilar igualmente bem com o L
A
T
E
X
quer com o pdfL
A
T
E
X. O principal problema a este respeito a incluso a
grcos. A soluo simples para deixar cair sistematicamente a extenso do
comando \includegraphics. Um formato adequado ser automaticamente
procurado na directoria actual. Tudo o que tem de fazer criar verses
apropriadas dos cheiros de imagens. O L
A
T
E
X ir procurar por cheiros
.eps, e pdfL
A
T
E
X ir tentar incluir um cheiro com extenso .png, .pdf,
.jpg ou .mps (por esta ordem).
4.7 Usar o pdf L
A
T
E
X 87
Para os casos em que deseja usar cdigo diferente para a verso PDF do
seu documento, pode adicionar o pacote ifpdf
8
ao seu prembulo. Espera-se
que a sua instalao de L
A
T
E
X j o tenha instalado; caso contrrio, possivel-
mente estar a usar o MikT
E
X que o ir instalar automticamente a primeira
vez que o tentar usar. Este pacote dene um comando especial \ifpdf que
permite que escreva cdigo condicional de forma fcil. Neste exemplo, que-
remos que a verso PostScript seja escrita a preto e branco, dados os custos
de impresso, mas queremos que a verso PDF aparea a cores para poder
ser visualizada de forma interactiva.
\RequirePackage{ifpdf} % running on pdfTeX?
\ifpdf
\documentclass[a4paper,12pt,pdftex]{book}
\else
\documentclass[a4paper,12pt,dvips]{book}
\fi
\ifpdf
\usepackage{lmodern}
\fi
\usepackage[bookmarks, % add hyperlinks
colorlinks,
plainpages=false]{hyperref}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx}
...
No exemplo acima inclu o pacote hyperref mesmo na verso no PDF. O
efeito disto fazer com que o comando \href passe a funcionar em todos
os casos, o que me poupa de encaixar cada uma das suas ocorrncias numa
instruo condicional.
Note que nas distribuies recentes de T
E
X (T
E
XLive, por exemplo), o
programa T
E
X , na verdade, o pdfT
E
X, e ir automaticamente decidir entre
produzir um pdf ou um dvi de acordo com as propriedades da classe do seu
documento. Se usar o cdigo acima, ento ainda poder usar o pdflatex
para obter resultados pdf, e o latex para o resultado habitual em dvi.
8
Se quer saber toda a verdade em porque usar este pacote, ento v s perguntas mais
comuns do T
E
X, em http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf.
88 Especialidades
4.8 Criar Apresentaes
By Daniel Flipo <Daniel.Flipo@univ-lille1.fr>
Pode apresentar os resultados do seu trabalho cientco num quadro
preto, com transparncias, ou directamente do seu porttil usando algum
programa de apresentaes.
O pdfL
A
T
E
X combinado com a classe beamer permite criar apresentaes
em PDF, que se parecem bastante com o que possvel criar usando o Power-
Point, mas muito mais portvel j que o Acrobat Reader est disponvel em
muitos mais sistemas.
A classe beaner usa graphicx, color e hyperref com opes adaptadas a
apresentaes em cran.
Quando compila o cdigo apresentado na gura 4.2 com o pdfL
A
T
E
X ir
obter um cheiro PDF com uma pgina de rosto (com um ttulo) e uma
segunda pgina que mostra vrios items que sero revelados um de cada vez
medida que for andando pela apresentao.
Uma das vantagens da classe beamer a que ela produz um cheiro
PDF que pode ser usado directamente sem passar um estado intermdio em
PostScript (como o prosper) ou no precisar de pos-processamento como as
apresentaes realizadas com o pacote ppower4.
Com a classe beamer pode produzir vrias verses (modos) do seu docu-
mento usando o mesmo cheiro fonte. Este pode conter instrues especiais
para os diferentes modos entre parntesis rectos. Os seguintes modos esto
disponveis:
beamer para uma apresentao em PDF como discutido acima;
trans para slides ou transparncias.
handout para a verso impressa.
O modo por omisso o beamer, e pode mud-la colocando o modo desejado
como uma opo global, tal como em \documentclass[10pt,handout]{beamer}
para imprimir a documentao de apoio da apresentao.
O visual das apresentaes no ecr dependem no tema que escolher. Pode
escolher um dos que vm com a classe beamer, ou pode mesmo criar o seu
prprio tema. Veja a documentao da classe beamer em beameruserguide.pdf
para mais informao sobre isto.
Olhemos com mais detalhe para o cdigo da gura 4.2.
Para a verso de ecr da apresentao (\mode<beamer>) escolhemos o
tema Goettingen para mostrar um painel de navegao integrado numa lista
de contedos. As opes permitem escolher o tamanho do painel (22 mm
neste caso) e a sua posio (do lado direito do corpo do texto). A opo
hideothersubsections, mostra os ttulos de todos os captulos, mas apenas as
4.8 Criar Apresentaes 89
\documentclass[10pt]{beamer}
\mode<beamer>{%
\usetheme[hideothersubsections,
right,width=22mm]{Goettingen}
}
\title{Simple Presentation}
\author[D. Flipo]{Daniel Flipo}
\institute{U.S.T.L. \& GUTenberg}
\titlegraphic{\includegraphics[width=20mm]{USTL}}
\date{2005}
\begin{document}
\begin{frame}<handout:0>
\titlepage
\end{frame}
\section{Um exemplo}
\begin{frame}
\frametitle{Coisas a fazer num domingo tarde}
\begin{block}{podemos\ldots}
\begin{itemize}
\item passear um co\dots \pause
\item ler um livro\pause
\item confundir um gato\pause
\end{itemize}
\end{block}
e muitas outras coisas
\end{frame}
\end{document}
Figura 4.2: Exemplo de cdigo para a classe beamer.
90 Especialidades
subseces do captulo actual. No existem opes especiais para os modos
\mode<trans> e \mode<handout>. Eles aparecem no seu formato standard.
Os comandos \title{}, \author{}, \institute{} e \titlegraphic{}
permitem especicar o contedo da pgina de rosto. Os argumentos opcio-
nais de \title[]{} e \author[]{} permitem-lhe especicar verses especi-
ais do ttulo e do autor para serem mostrados no painel do tema Goettingen.
Os ttulos e subttulos no painel so criados com os comandos normais
\section{} e \subsection{} que usa fora do ambiente frame.
Os pequenos cones de navegao no fundo do ecr tambm lhe permitem
navegar no documento. A sua presena no dependente do tema que
escolher.
Os contedos de cada slide tem de ser colocado dentro de um ambiente
frame. Existe um argumento opcional entre < e >, que permite suprimir de-
terminado slide numa das verses da apresentao. No exemplo, a primeira
pgina no ir ser mostrada na verso handout dado o uso do argumento
<handout:0>.
altamente recomendado que escolha um ttulo para cada slide. Isto
feito com o comando \frametitle{}. Se precisar de um subttulo poder
usar o ambiente block como mostrado no exemplo. Note que os coman-
dos de seces como o \section{} e \subsection{} no criam realmente
contedo nos slides.
O comando \pause no ambiente itemize permite-lhe revelar um item
de cada vez. Para outros efeitos de apresentao veja os comandos \only,
\uncover, \alt e \temporal. Em vrios lugares tambm poder usar < e >
para customizar a sua apresentao.
Em qualquer caso, tenha a certeza que leu a documentao da class
beamer (beameruserguide.pdf) para ter uma ideia completa do que lhe
pode ser til. Este pacote est a ser desenvolvido activamente. Veja o
seu site em http://latex-beamer.sourceforge.net/ para a informao mais
recente.
Captulo 5
Produo de Grcos
Matemticos
A maior parte das pessoas usam o L
A
T
E
X para dactilografar os seus textos. Alm
de permitir e incentivar a estruturao dos textos, o L
A
T
E
X tambm oferece pos-
sibilidades, ligeiramente restritas, para produo de resultados grcos usando
descries textuais. Recentemente, um grande nmero de extenses L
A
T
E
X tm
vindo a ser criadas para ultrapassar estes problemas. Nesta seco, ir aprender
a usar algumas delas.
5.1 Introduo
O ambiente picture permite a programao de imagens directamente em
L
A
T
E
X Uma descrio detalhada pode ser encontrada no L
A
T
E
X Manual [1].
Por um lado, existem um conjunto de restries severas, como os tipos de
segmentos ou raios de crculos que esto estritos a um pequeno conjunto
de valores. Por outro, o ambiente picture do L
A
T
E
X2

contm o comando
\qbezier, onde o q signica quadrtica. A maior parte das curvas usa-
das como crculos, elipses e outras podem ser aproximadas de forma satis-
fatria usando curvas de Bzier quadrticas, mesmo que obriguem a alguns
clculos matemticos. Por outro lado, se uma linguagem de programao
como o Java for usada para gerar blocos \qbezier para documentos L
A
T
E
X,
o ambiente picture torna-se bastante poderoso.
Apesar da programao de imagens directamente em L
A
T
E
X seja bastante
restrita, e normalmente bastante cansativa, existem boas razes para o fa-
zer. Os documentos produzidos desta forma so pequenos em relao ao
tamanho ocupado, e no so necessrios cheiros extra.
Pacotes como o epic e eepic (descritos, por exemplo, no The L
A
T
E
X Com-
panion [3]), ou pstricks ajudam a eliminar estas restries substituindo o
ambiente original picture, e melhorando signicativamente o poder grco
do L
A
T
E
X.
92 Produo de Grcos Matemticos
Enquanto que os dois pacotes anteriores simplesmente melhoram o ambi-
ente picture, o pstricks tem o seu prprio ambiente de desenho: pspicture.
O poder do pstricks vem do facto de que este pacote faz uso extensivo das
potencialidades do PostScript. Outros pacotes tm vindo a ser escritos
para ns especcos. Um destes o X
Y
-pic, descrito no nal deste captulo.
Uma grande variedade destes pacotes descrito em detalhe no The L
A
T
E
X
Graphics Companion [12] (no confundir com o The L
A
T
E
X Companion [3]).
Porventura, a ferramenta mais poderosa para grcos em L
A
T
E
X o
MetaPost, o gmeo do METAFONT de Donald E. Knuth. O MetaPost inclu a
poderosa e sosticada linguagem de programao do METAFONT. No entanto,
enquanto que o METAFONT gera mapas de bits (bitmaps), o MetaPost gera
cheiros Encapsulated PostScript, que podem ser importadas no L
A
T
E
X.
Para uma introduo leia o A Users Manual for MetaPost [15], ou o tutorial
em [17].
Uma discusso mais aprofundada das estratgias do L
A
T
E
X e T
E
X para
grcos (e tipos de letra) pode ser encontrada em T
E
X Unbound [16].
5.2 O ambiente picture
By Urs Oswald <osurs@bluewin.ch>
5.2.1 Comandos Bsicos
O ambiente picture
1
criado com um dos seguintes comandos
\begin{picture}(r, j). . . \end{picture}
ou
\begin{picture}(r, j)(r
0
, j
0
). . . \end{picture}
Os nmeros r, j, r
0
, j
0
referem-se ao \unitlength (comprimento da
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 omisso de \unitlength 1pt. O primeiro par, (r, j),
obriga a que se reserve, dentro do documento, do espao rectangular para a
imagem. O segundo par (opcional), (r
0
, j
0
), atribu coordenadas arbitrrias
ao canto inferior esquerdo do rectngulo reservado.
1
Acredite ou no, o ambiente picture funciona directamente, em L
A
T
E
X2

standard,
sem necessitar de carregar qualquer pacote.
5.2 O ambiente picture 93
Quase todos os comandos de desenho tm uma de duas formas
\put(r, j){objecto}
ou
\multiput(r, j)(r, j){n}{objecto}
As curvas de Bzier no so uma excepo. So desenhadas com o co-
mando
\qbezier(r
1
, j
1
)(r
2
, j
2
)(r
3
, j
3
)
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}

/
/
/
/
/
/
/
/
/
/
/
/
/
/
/

'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

/
/
/
/
/
/
/
/
/
/
/
/
/
/
/

/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
.
.
.
.
.
.
.
.
.
.
.
.
.
..

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

94 Produo de Grcos Matemticos


Os segmentos de recta so desenhados com o comando
\put(r, j){\line(r
1
, j
1
){co:j:i:cnto}}
O comando \line tem dois argumentos:
1. um vector direco de direco,
2. um comprimento.
Os componentes do vector de direco so restritos aos inteiros
6, 5, . . . , 5, 6,
e tm de ser primos entre si (nenhum divisor comum excepto o 1). A gura
ilustra todas as 25 possibilidades de inclinao no primeiro quadrante. O
comprimento relativo unidade \unitlength. Este argumento a coor-
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}{0.75mm}
\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}
.
.
.
..

>
>
>
>
>
>
>

y
g
g
g
g
gy

As setas so desenhadas com o comando


\put(r, j){\vector(r
1
, j
1
){co:j:i:cnto}}
Para setas, as componentes do vector de direco so ainda mais restritos
do que para segmentos de recta, nomeadamente aos inteiros
4, 3, . . . , 3, 4.
Os componentes tambm tm de ser primos entre si. Note no efeito do
comando \thicklines nas duas setas que apontam para o topo esquerdo.
5.2 O ambiente picture 95
5.2.4 Crculos
\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}
,_
`
_

_
,__

_
`
_
`
_
`
_
`
_

_
, g _
O comando
\put(r, j){\circle{diametro}}
desenha um crculo com centro em (r, j) e dimetro (no o raio) diametro.
O ambiente picture s admite dimetros at aproximadamente 14 mm, e
mesmo abaixo desse dimetro nem todos so possveis. O comando \circle*
produz discos (crculos cheios).
Como no caso dos segmentos de recta, poder ter de recorrer a outros
pacotes como eepic ou pstricks. Para uma descrio detalhada destes pacotes
consulte o The L
A
T
E
X Graphics Companion [12].
Tambm existe a possibilidade de as fazer dentro de um ambiente picture
desde que no tenha medo de fazer os clculos necessrios (ou obrigar um
programa a faz-los), usando curvas quadrticas de Bzier. Veja Graphics
in L
A
T
E
X2

[17] para exemplos de programas Java.


96 Produo de Grcos Matemticos
5.2.5 Textos e Formulas
\setlength{\unitlength}{0.8cm}
\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}

r
r
r
r
r

1
C
o
/
c
1 =
_
:(: o)(: /)(: c)
: :=
o + / + c
2
Como este exemplo mostra, texto e frmulas podem ser escritas num
ambiente picture usando o comando \put da forma usual.
5.2.6 \multiput e \linethickness
\setlength{\unitlength}{2mm}
\begin{picture}(30,20)
\linethickness{0.075mm}
\multiput(0,0)(1,0){26}%
{\line(0,1){20}}
\multiput(0,0)(0,1){21}%
{\line(1,0){25}}
\linethickness{0.15mm}
\multiput(0,0)(5,0){6}%
{\line(0,1){20}}
\multiput(0,0)(0,5){5}%
{\line(1,0){25}}
\linethickness{0.3mm}
\multiput(5,0)(10,0){2}%
{\line(0,1){20}}
\multiput(0,5)(0,10){2}%
{\line(1,0){25}}
\end{picture}
O comando
\multiput(r, j)(r, j){n}{objecto}
tem 4 argumentos: o ponto inicial, o vector de translao de um objecto para
5.2 O ambiente picture 97
o prximo, o nmero de objectos, e o objecto a ser desenhado. O comando
\linethickness aplica-se a segmentos horizontais e verticais mas nunca a
segmentos de recta oblquos ou crculos. No entanto, aplicado a curvas
quadrticas de Bzier.
5.2.7 Ovais
\setlength{\unitlength}{0.75cm}
\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}
5
4
2
3
_

5
4 3
2
3

O comando
\put(r, j){\oval(n, /)}
ou
\put(r, j){\oval(n, /)[posio]}
produzem uma oval centrada em (r, j) com largura n e altura /. O argu-
mento opcional posio que pode ser um entre b, t, l, r, referem-se a top
(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
linhas verticais e horizontais (e curvas quadrticas de Bzier), \thinlines e
\thicklines aplicam-se tambm a segmentos oblquos assim como a crculos
e ovais.
98 Produo de Grcos Matemticos
5.2.8 Mltiplos usos de caixas de imagem pr-denidas
\setlength{\unitlength}{0.5mm}
\begin{picture}(120,168)
\newsavebox{\foldera}
\savebox{\foldera}
(40,32)[bl]{% definio
\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}
\savebox{\folderb}
(40,32)[l]{% definio
\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 denida por
\savebox{nome}(largura,altura)[posio]{contedo}
e nalmente, desenhada arbitrariamente usando
\put(r, j)\usebox{nome}
O argumento opcional posio tem o efeito de denir o ponto de ncora
da caixa a guardar. No exemplo, colocado com o valor bl que coloca a
ncora no canto inferior esquerdo da caixa. Os outros especicadores de
localizao so top (topo) e right (direita).
5.2 O ambiente picture 99
O argumento nome refere-se a um nome a guardar numa das caixas do
L
A
T
E
X e portante de natureza semelhante a um comando (o que obrigou s
barras invertidas do exemplo). As caixas com imagem podem ser aninhadas:
neste exemplo, o \foldera usado dentro da denio do \folderb.
O comando \oval no ir funcionar se o comprimento do segmento
menor que cerca de 3 mm.
5.2.9 Curvas de Bzier Quadrticas
\setlength{\unitlength}{0.8cm}
\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}

$
$
$
$
$

'
'
'
'
'
'
Como este exemplo ilustra, dividir um crculo em 4 curvas quadrticas
de Bzier no satisfatrio. Pelo menos so precisas 8. A gura mostra
o efeito do comando \linethickness em linhas horizontais ou verticais, e
o efeito dos comandos \thinlines e \thicklines em segmentos de recta
oblquos. Tambm mostra que ambos os tipos de comando afectam as curvas
quadrticas de Bzier, cada comando substituindo todos os anteriores.
Se 1
1
= (r
1
, j
1
), 1
2
= (r
2
, j
2
) representarem os extremos, e :
1
, :
2
as
respectiva curvatura de uma curva quadrtica de Bzier, o ponto intermdio
de controlo o = (r, j) dado pelas equaes
_
_
_
r =
:
2
r
2
:
1
r
1
(j
2
j
1
)
:
2
:
1
,
j = j
i
+ :
i
(r r
i
) (i = 1, 2).
(5.1)
Veja o Graphics in L
A
T
E
X2

[17] para um programa em Java que gera os


comandos \qbezier necessrios.
100 Produo de Grcos Matemticos
5.2.10 Parbolas
\setlength{\unitlength}{1cm}
\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}

r
`
j
g
Nesta gura, cada metade simtrica da parbola j = cosh r1 apro-
ximada por uma curva quadrtica de Bzier. A metade do lado direito da
curva termina no ponto (2, 2.7622), com a inclinao com valor : = 3.6269.
Usando de novo a equao (5.1), podemos calcular os pontos intermdios
de controlo: (1.2384, 0) e (1.2384, 0). As cruzes indicam pontos da pa-
rbola real. O erro quase que passa despercebido, sendo menor do que um
por cento.
Este exemplo mostra o uso do argumento opcional do comando \begin{picture}.
A gura denida em coordenadas matemticas, pelo que o comando
\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
Y
-pic 101
5.2.11 Rapidamente a teoria da Relatividade
\setlength{\unitlength}{0.8cm}
\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}


`
= ,c = tanh

Os pontos de controlo das duas curvas de Bzier so calculadas com


frmulas (5.1). O ramo positivo determinado por 1
1
= (0, 0), :
1
= 1 e
1
2
= (2, tanh 2), :
2
= 1, cosh
2
2. De novo, a gura denida em coorde-
nadas matemticas convenientes, e o canto inferior esquerdo colocado nas
coordenadas (3, 2) (disco preto).
5.3 X
Y
-pic
By Alberto Manuel Brando Simes <albie@alfarrabio.di.uminho.pt>
xy um pacote especial para desenhar diagramas. Para o usar, adicione
a seguinte linha ao prembulo do seu documento:
\usepackage[opes]{xy}
onde opes a lista de funes do X
Y
-pic que quer usar. Estas opes
so especialmente teis para encontrar erros no pacote. Pessoalmente, reco-
mendo a opo all que indica ao L
A
T
E
X para carregar todos os comandos
disponveis no X
Y
.
Os diagramas X
Y
-pic so desenhados numa tela orientada matriz, onde
cada elemento do diagrama colocado numa das posies da matriz:
\begin{displaymath}
\xymatrix{A & B \\
C & D }
\end{displaymath}
1
C 1
102 Produo de Grcos Matemticos
O comando \xymatrix deve ser usado sempre em modo matemtico.
Aqui, especicamos duas linhas e duas colunas. Para converter esta ma-
triz 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}

/
1

1
O
C
o
O comando para desenhar a seta colocado na clula de origem da seta.
O argumento a direco para a qual a seta deve apontar: esquerda (left),
direita (right), cima (up) ou para baixo (down).
\begin{displaymath}
\xymatrix{
A \ar[d] \ar[dr] \ar[r] & B \\
D & C }
\end{displaymath}


@
@
@
@
@
@
@
/
1
1 C
Para criar diagonais, junte mais do que uma direco. De facto, at pode
repetir direces para criar setas mais compridas.
\begin{displaymath}
\xymatrix{
A \ar[d] \ar[dr] \ar[drr] & & \\
B & C & D }
\end{displaymath}


@
@
@
@
@
@
@
'
P
P
P
P
P
P
P
P
P
P
P
P
P
P
1 C 1
Podemos desenhar diagramas ainda mais interessantes adicionando eti-
quetas s setas. Para isto, usamos os operadores habituais para expoentes
e ndices.
\begin{displaymath}
\xymatrix{
A \ar[r]^f \ar[d]_g &
B \ar[d]^{g} \\
D \ar[r]_{f} & C }
\end{displaymath}

f
/
g

1
g

1
f

/
C
Como mostrado, usa estes operadores como em modo matemtico. A
nica diferena que o expoente signica em cima da seta, e ndice signica
5.3 X
Y
-pic 103
por baixo da seta. Existe ainda um terceiro operador, a barra vertical: |
que coloca o texto dentro da seta.
\begin{displaymath}
\xymatrix{
A \ar[r]|f \ar[d]|g &
B \ar[d]|{g} \\
D \ar[r]|{f} & C }
\end{displaymath}

f
/
g

1
g

1
f
/
C
Para desenhar uma seta com um buraco, use \ar[...]|\hole.
Em algumas situaes, importante distinguir entre diferentes tipos de
setas. Isto pode ser feito colocando-lhe etiquetas, ou mudando a sua apa-
rncia:
\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


/

_4

Note a diferena entre os seguintes dois diagramas:


104 Produo de Grcos Matemticos
\begin{displaymath}
\xymatrix{
\bullet \ar[r]
\ar@{.>}[r] &
\bullet
}
\end{displaymath}

//

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

(
6
Os modicadores entre as barras dene a forma como as curvas so
desenhadas. O X
Y
-pic oferece muitas mais formas de inuenciar o desenho
das curvas; para mais informao, veja a documentao e o tutorial de X
Y
-
pic.
Captulo 6
Congurar o L
A
T
E
X
Os documentos produzidos usando os comandos apresentados at aqui parecero
aceitveis a uma grande audincia. No seguem um estilo muito trabalhado,
mas obedecem s regras estabelecidas como correctas para um bom documento,
e que faro o documento agradvel e agradvel de ler.
No entanto, existem situaes onde o L
A
T
E
X no dispe de comandos ou
ambientes que satisfaam as suas necessidades, ou o resultado produzido por
um comando j existente no est de acordo com os seus requisitos.
Este captulo tentar dar algumas ideias sobre como ensinar novos truques
ao L
A
T
E
X e como faz-lo produzir resultados que so diferentes aos disponveis
de raz.
6.1 Novos Comandos, Ambientes e Pacotes
Deve ter reparado que todos os comandos que introduzi neste livro so apre-
sentados numa caixa, e que aparecem no ndice no m do livro. Em vez de
usar directamente os comandos L
A
T
E
X necessrios para obter este resultado,
criei um pacote no qual deni novos comandos e ambientes para este m.
Agora, escrevo simplesmente:
\begin{lscommand}
\ci{dum}
\end{lscommand}
\dum
Neste exemplo estou a utilizar quer um novo ambiente chamado
lscommand, que responsvel por desenhar a caixa volta do comando, e um
novo comando denominado \ci que escreve o nome do comando e tambm
coloca a entrada correspondente no ndice. Pode vericar isto olhando para
o comando \dum no ndice no m deste livro, onde aparecer uma entrada
para \dum, apontando cada uma das pginas onde mencionei o comando
\dum.
106 Congurar o L
A
T
E
X
Se decidir que j no gosto que os comandos sejam escritos numa caixa,
posso alterar simplesmente a denio do ambiente lscommand para criar
uma nova aparncia. Isto muito mais fcil do que andar por todo o do-
cumento caa de todos os lugares onde usei alguns comandos genricos
L
A
T
E
X para desenhar uma caixa volta de algumas palavras.
6.1.1 Novos Comandos
Para adicionar os seus prprios comandos, use o comando
\newcommand{nome}[num]{denio}
Basicamente, o comando necessita de dois argumentos: o nome do comando
que quer criar, e a denio do comando. O argumento num em parntesis
rectos opcional e especica o nmero de argumentos que o novo comando
recebe (so possveis at 9). Se no especicar, o valor utilizado 0, ou seja,
nenhum argumento permitido.
Os dois exemplos seguintes devem ajudar a apanhar a ideia. O primeiro
exemplo dene um novo comando chamado \npil. Este um atalho para
A No To Pequena Introduo ao L
A
T
E
X2

. Um comando deste gnero


pode tornar-se til se precisa de escrever o ttulo deste livro muitas e muitas
vezes.
\newcommand{\npil}{A No
To Pequena Introduo ao
\LaTeXe}
Esta a \npil \ldots{}
\npil
Esta a A No To Pequena Introduo
ao L
A
T
E
X2

. . . A No To Pequena
Introduo ao L
A
T
E
X2

O prximo exemplo ilustra a denio de um novo comando que re-


cebe um argumento. A etiqueta #1 vai ser substituda pelo argumento que
especicar. Se quiser usar mais do que um argumento, use #2 e assim su-
cessivamente.
\newcommand{\txsit}[1]
{Esta a \emph{#1} Pequena
Introduo ao \LaTeXe}
% no corpo do documento:
\begin{itemize}
\item \txsit{No To}
\item \txsit{Muito}
\end{itemize}
Esta a No To Pequena Introdu-
o ao L
A
T
E
X2

Esta a Muito Pequena Introduo


ao L
A
T
E
X2

L
A
T
E
X no permite que crie um novo comando que substitua um j exis-
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 107
Em alguns casos, pode querer usar o comando \providecommand que
funciona como o \newcommand, mas se o comando j existir, o L
A
T
E
X ir
ignora-lo silenciosamente.
Existem alguns pontos a tomar em conta quando existem espaos aps
comandos L
A
T
E
X. Veja a pgina 6 para mais informao.
6.1.2 Novos Ambientes
Tal como com o comando \newcommand, existe tambm um comando para
criar os seus prprios ambientes. O comando \newenvironment usa a se-
guinte sintaxe:
\newenvironment{nome}[num]{antes}{depois}
De novo, o comando \newcommand pode usar \newenvironment com um
argumento opcional. O material especicado no argumento antes, proces-
sado antes do texto incluso no ambiente seja processado. O contedo do
argumento depois processado quando o comando \end{nome} encon-
trado.
O seguinte exemplo ilustra a utilizao do comando \newenvironment.
\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.
O L
A
T
E
X tambm no permite que dena um ambiente que j exista. Se
por alguma razo quiser mudar um ambiente j existente, pode faz-lo
com o comando \renewenvironment que usa a mesma sintaxe do comando
\newenvironment.
O comando usado neste exemplo ir ser explicado mais tarde: Para o
comando \rule veja a pgina 121, para \stretch v pgina 115, e mais
informao sobre \hspace pode ser encontrada na pgina 114.
6.1.3 Expao Extra
Ao criar um novo ambiente poder vir a ser mordido por espaos extra, que
o iro fazer tremer, e que potencialmente tero efeitos mortferos. Por exem-
plo, quando desejar criar um ambiente de ttulo que remove a sua prpria
indentao assim como a do prximo pargrafo. O comando \ignorespaces
108 Congurar o L
A
T
E
X
no bloco de incio da denio do ambiente ir ignorar qualquer espao
aps a sua execuo. O bloco nal da denio ligeiramente mais compli-
cado, visto que algum processamento especial ocorre no nal do ambiente.
Com o comando \ignorespacesafterend o L
A
T
E
X ir colocar o comando
\ignorespaces depois do processamento especial de nal de ambiente ter
ocorrido.
\newenvironment{simples}%
{\noindent}%
{\par\noindent}
\begin{simples}
Ver o espao\\ esquerda.
\end{simples}
O mesmo\\aqui.
Ver o espao
esquerda.
O mesmo
aqui.
\newenvironment{correcto}%
{\noindent\ignorespaces}%
{\par\noindent
\ignorespacesafterend}
\begin{correcto}
Sem espaos\\ esquerda.
\end{correcto}
O mesmo\\aqui.
Sem espaos
esquerda.
O mesmo
aqui.
6.1.4 A linha de comando do L
A
T
E
X
Se trabalhar num sistema operativo tipo Unix, poder usar Makeles para
construir os seus projectos L
A
T
E
X. Nesta ligao poder ser interessante
produzir verses diferentes do mesmo documento chamando o L
A
T
E
X com
parmetros diferentes de linha de comando. Se adicionar a seguinte estrutura
ao seu documento:
\usepackage{ifthen}
\ifthenelse{\equal{\blackandwhite}{true}}{
% Modo "preto e branco"; fazer qualquer coisa...
}{
% Modo "a cores"; fazer qualquer coisa diferente...
}
Agora se invocar o L
A
T
E
X desta forma:
latex \newcommand{\blackandwhite}{true}\input{test.tex}
Primeiro, o comando \blackandwhite ser denido, e depois, o cheiro
ser lido Desta forma, ao denir o \blackandwhite estar a indicar ao L
A
T
E
X
que vai querer produzir a verso a cores do documento.
6.2 Letras e Tamanhos 109
6.1.5 O Seu Prprio Pacote
Se denir um grande nmero de novos comandos e ambientes, o prembulo
do seu documento car bastante longo. Nesta situao, a boa ideia criar
um pacote L
A
T
E
X contendo todas as suas denies de comandos e ambien-
tes. Depois pode usar o comando \usapackage para tornar as denies
disponveis no seu documento.
% Pacote de Demonstrao por Tobias Oetiker
\ProvidesPackage{demopack}
\newcommand{\npil}{A no to Pequena
Introduo ao \LaTeXe}
\newcommand{\txsit}[1]{A \emph{#1} To
Introduo ao \LaTeXe}
\newenvironment{king}{\begin{quote}}{\end{quote}}
Figura 6.1: Pacote de Exemplo.
Escrever um pacote consiste basicamente em copiar o contedo do prem-
bulo do seu documento para um cheiro separado com um nome com a
extenso .sty. Existe um comando especial
\ProvidesPackage{nome do pacote}
para usar no topo do seu pacote. O comando \ProvidesPackage indica
ao L
A
T
E
X o nome do pacote e ir permitir que apresente mensagens de erro
quando tentar incluir mais do que uma vez um pacote. A gura 6.1 mostra
um pequeno exemplo de um pacote que contm os comandos denidos nos
exemplos anteriores.
6.2 Letras e Tamanhos
6.2.1 Tipos de letra
O L
A
T
E
X escolhe os tipos de letra e respectivos tamanhos apropriados baseando-
se na estrutura lgica do documento (seces, notas de rodap, . . . ). Em
alguns casos, pode desejar mudar os tipos ou tamanho de letras mo. Para
fazer isto, pode usar os comandos listados nas tabelas 6.1 e 6.2. O tamanho
de cada tipo de letra uma denio que depende na classe de documento
e nas suas opes. A tabela 6.3 mostra o tamanho absoluto em pontos para
estes comandos como implementados nas classes standard.
110 Congurar o L
A
T
E
X
{\small Os pequenos e
\textbf{gordos} Romanos mandaram}
{\Large em toda a grande
\textit{Itlia}.}
Os pequenos e gordos Romanos manda-
ram em toda a grande Itlia.
Uma propriedade importante do L
A
T
E
X2

que os atributos de letras so


independentes. Isto signica que pode mandar alterar o tipo ou tamanho
de letra e, no entanto, manter os atributos de bold ou itlico que tinha feito
anteriormente.
Em modo matemtico pode usar os comandos de mudana de letra para
sair temporariamente do modo matemtico e entrar em texto normal. Se
precisar de mudar para outro tipo de letra para escrever matemtica, existe
outro conjunto de comandos especiais: consulte a tabela 6.4.
Em ligao com os comandos de mudana de tamanho, as chavetas tm
um papel bastante importante. So usados para construir grupos. Os grupos
limitam a zona de quase todos os comandos L
A
T
E
X.
Ele gosta de letras
{\LARGE grandes e
{\small pequenas}}.
Ele gosta de letras grandes e peque-
nas.
Tabela 6.1: Letras.
\textrm{...} romano \textsf{...} sans serif
\texttt{...} maquina
\textmd{...} mdio \textbf{...} tipo gordo
\textup{...} em p \textit{...} itlico
\textsl{...} para a frente \textsc{...} Maisculas
\emph{...} salientado \textnormal{...} texto normal
Tabela 6.2: Tamanho de Letra.
\tiny minscula
\scriptsize muito pequena
\footnotesize bastante pequena
\small pequena
\normalsize normal
\large largas
\Large maiores
\LARGE muito grandes
\huge enormes
\Huge as maiores
6.2 Letras e Tamanhos 111
Tabela 6.3: Tamanhos Absolutos nas Classes Padro.
tamanho 10pt (omisso) opo 11pt opo 12pt
\tiny 5pt 6pt 6pt
\scriptsize 7pt 8pt 8pt
\footnotesize 8pt 9pt 10pt
\small 9pt 10pt 11pt
\normalsize 10pt 11pt 12pt
\large 12pt 12pt 14pt
\Large 14pt 14pt 17pt
\LARGE 17pt 17pt 20pt
\huge 20pt 20pt 25pt
\Huge 25pt 25pt 25pt
Tabela 6.4: Letras Matemticas.
\mathrm{...} Tipo Romano
\mathbf{...} Tipo Negrito
\mathsf{...} Tipo Sans Serif
\mathtt{...} Tipo dactilografo
\mathit{...} Tipo Italico
\mathcal{...} TIPO CALIGRAFICO
\mathnormal{...} Tijo o::o|
112 Congurar o L
A
T
E
X
Os comandos de mudana de tamanho de letra tambm mudam o espa-
amento entre linhas, mas apenas se o pargrafo acaba dentro do alcance do
comando de mudana de tamanho. A chaveta a fechar } no deve, portanto,
aparecer cedo demais. Note a posio do comando \par nos dois exemplos
seguintes.
1
{\Large No leia isto! Isto no
verdade. Tem de acreditar
em mim!\par}
No leia isto! Isto no ver-
dade. Tem de acreditar em
mim!
{\Large Isto tambm no verdade.
Mas lembre-se que sou
um mentiroso.}\par
Isto tambm no verdade.
Mas lembre-se que sou um
mentiroso.
Se quer activar o comando de mudana de tamanho de letra para um
pargrafo inteiro de texto ou mesmo mais, deve usar a sintaxe de ambiente
para estes comandos.
\begin{Large}
Isto no verdade.
Mas mais uma vez, o que so
estes dias \ldots
\end{Large}
Isto no verdade. Mas mais
uma vez, o que so estes dias
. . .
Isto ir facilitar a contagem das muitas chavetas.
6.2.2 Perigo, Will Robinson, Perigo
Como foi referido no incio deste captulo, perigoso infestar os seus docu-
mentos com comandos explcitos como estes, porque funcionam em oposio
ideia bsica do L
A
T
E
X, que separar a estrutura lgica e visual dos docu-
mentos. Isto signica que se usar o mesmo comando de mudana de letra
em vrios stios de forma a desenhar um tipo especial de informao, deve
usar o \newcommand para denir um comando lgico para o comando de
mudana de letras.
\newcommand{\oops}[1]{\textbf{#1}}
No \oops{entre} neste quarto,
est ocupado por uma \oops{mquina}
de origens e objectivos desconhecidos.
No entre neste quarto, est ocupado por
uma mquina de origens e objectivos des-
conhecidos.
1
\par equivalente a uma linha em branco
6.3 Espaamento 113
Esta abordagem tem a vantagem de que pode decidir mais tarde se quer
utilizar uma outra representao visual do perigo sem ser o \textbf sem ter
de alterar todo o seu documento, identicando as ocorrncias de \textbf
e descobrindo, para cada uma, de ou no um dos casos em que est a
apontar perigo, ou se foi usado por qualquer outra razo.
6.2.3 Aviso
Para concluir esta jornada na terra das letras, aqui est uma pequena palavra
de aviso:
Lembre-se! QUANTOS MA IS tipos de letra voc usar
num documento, o mais legvel e bonito ele cara!
6.3 Espaamento
6.3.1 Espao entre linhas
Se quer usar um espao maior entre linhas num documento, pode alterar o
seu valor colocando o comando
\linespread{factor}
no prembulo do seu documento. Use \linespread{1.3} para um espaa-
mento de um e meio, e \linespread{1.6} para um espaamento duplo.
Normalmente as linhas no esto espalhadas, pelo que o factor por omisso
1.
Note que o efeito do comando \linespread demasiado drstico e no
apropriado para trabalho publicado. Se tem uma boa razo para mudar o
espaamento entre linhas poder preferir o comando:
\setlength{\baselineskip}{1.5\baselineskip}
{\setlength{\baselineskip}%
{1.5\baselineskip}
Este pargrafo est escrito com
um intervalo de 1.5 vezes maior
do que o valor anterior. Repare
no comando par no final do
pargrafo.\par}
Este pargrafo tem um objectivo
claro: mostra que depois de
fechar a chaveta tudo voltou
ao normal.
Este pargrafo est escrito com um inter-
valo de 1.5 vezes maior do que o valor an-
terior. Repare no comando par no nal
do pargrafo.
Este pargrafo tem um objectivo claro:
mostra que depois de fechar a chaveta
tudo voltou ao normal.
114 Congurar o L
A
T
E
X
6.3.2 Formatao de Pargrafos
No L
A
T
E
X, existem dois parmetros que inuenciam o formato dos pargra-
fos. Ao colocar uma denio como
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
no prembulo do seu documento, pode alterar o formado dos pargrafos.
Estes dois comandos aumentam o espao entre dois pargrafos colocando a
indentao a zero.
As partes plus e minus do comprimento acima instrui o T
E
X de que
pode comprimir e expandir o espaamento entre pargrafos pela quantidade
especicada se for necessrio para colocar os pargrafos de forma correcta
na pgina.
Na Europa continental, os pargrafos so, normalmente, separados por
algum espao a mais e no indentados. Mas, cuidado, isto tambm afecta a
tabela de contedos. As suas linhas iro aparecer mais espaadas. Para isto
no acontecer, pode mover os dois comandos do prembulo at a um ponto
do seu documento abaixo do \tableofcontents ou, simplesmente, no os
usar de todo, porque ir reparar que a maior parte dos livros prossionais
usam indentao e no espao para separar os pargrafos.
Se quer indentar um pargrafo que no o est, pode usar o comando
\indent
no incio do pargrafo.
2
Obviamente, isto ir apenas afectar o texto quando
o \parindent no est a zero.
Para criar um pargrafo no indentado, pode usar
\noindent
como o primeiro comando do pargrafo. Isto pode ser til quando comea
um documento com texto e no com um comando que seccione o documento.
6.3.3 Espao Horizontal
O L
A
T
E
X determina os espaos entre palavras e frases automaticamente. Para
adicionar espao adicional, use:
\hspace{comprimento}
Se um destes espaos deve ser mantido mesmo que atinja o m ou in-
cio duma linha, use \hspace* em vez de \hspace. O comprimento , no
2
Para indentar o primeiro pargrafo aps cada ttulo de seco, use o pacote indentrstq
que vem no conjunto de pacotes tools
6.3 Espaamento 115
caso mais simples, apenas um nmero e uma unidade. As unidades mais
importantes esto listadas na tabela 6.5.
Este\hspace{1.5cm} um espao
de 1.5 cm.
Este um espao de 1.5 cm.
O comando
\stretch{n}
gera um espao especial. Ele estica at que todo o espao restante na linha
que completo. Se dois comandos \hspace{\stretch{n}} forem invocados
na mesma linha, iro crescer de acordo com o factor indicado.
x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x
x x x
Quando se usa espao horizontal juntamente com texto, pode fazer sen-
tido obrigar o espao a ajustar-se relativamente ao tamanho actual do tipo
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 Espao Vertical
O espao entre pargrafos, seces, subseces, . . . determinado automati-
camente pelo L
A
T
E
X. Se necessrio, pode adicionar espao vertical adicional
entre dois pargrafos com o comando:
\vspace{comprimento}
Este comando deve ser normalmente usado entre duas linhas vazias. Se
o espao deve ser preservado no inicio ou no m de uma pgina, utilize a
verso estrelada do comando: \vspace* em vez de \vspace.
O comando \stretch em conexo com o comando \pagebreak pode ser
usado para imprimir texto na ltima linha de uma pgina, ou para centrar
texto verticalmente numa pgina.
Algum texto \ldots
\vspace{\stretch{1}}
Isto aparece na ltima linha da pgina.\pagebreak
116 Congurar o L
A
T
E
X
Tabela 6.5: Unidades do T
E
X.
mm milmetro 1,25 polegadas
cm centmetro = 10 mm
in polegada = 25.4 mm
pt ponto 1,72 polegada
1
3
mm
em aprox largura de um M no tipo de letra actual
ex aprox altura de um x no tipo de letra actual
Espao adicional entre duas linhas do mesmo pargrafo ou dentro de
uma tabela especicado com o comando
\\[comprimento]
Com \bigskip e \smallskip pode saltar uma quantidade pr denida
de espao vertical sem ter de se preocupar com os nmeros exactos.
6.4 Formato da Pgina
O L
A
T
E
X2

permite especicar o tamanho do papel no comando \documentclass.


Depois, automaticamente selecciona as margens de texto correctas. Mas, por
vezes, pode no estar contente com os valores pr-denidos. Naturalmente,
pode os alterar. A gura 6.2 mostra todos os parmetros que podem ser
alterados. A gura foi produzida com o pacote layout do conjunto tools.
3
ESPERE! . . . antes de se lanar freneticamente a Toca a fazer as p-
ginas estreitas um pouco mais largas, tire alguns segundos para pensar.
Como na maioria dos casos, existe uma boa razo para que o formato da
pgina seja o que .
Claro, comparado com a sua pgina tirada do MS Word, parece muito
mais estreita. Mas d uma olhadela ao seu livro favorito
4
e conte o nmero
de caracteres numa linha de texto normal. Ir notar que no existem mais
do que 66 caracteres em cada linha. Agora, faa o mesmo nas pginas do
seu documento L
A
T
E
X. A experincia mostra que a leitura se torna difcil
assim que existem mais caracteres numa nica linha. Isto porque difcil
aos olhos mover do m de uma linha para o inicio da prxima. Esta tambm
a razo pela qual os jornais so escritos em mltiplas colunas.
Ento, se aumentar a largura do texto do seu livro, lembre-se que est
a tornar a vida mais difcil aos seus leitores. Mas chega de avisos, prometi
3
macros/latex/required/tools
4
Quero dizer, um livro realmente produzido por uma editora de reputao.
6.4 Formato da Pgina 117
Header
Body
Footer
Margin
Notes
_
8

_
7

`
_
1

_
3
_
10

_
9
`

_
11
_
2

`
_
4
`

_
5
`

_
6
`

1 one inch + \hoffset 2 one inch + \voffset


3 \oddsidemargin = 22pt 4 \topmargin = 22pt
or \evensidemargin
5 \headheight = 12pt 6 \headsep = 19pt
7 \textheight = 595pt 8 \textwidth = 360pt
9 \marginparsep = 7pt 10 \marginparwidth = 106pt
11 \footskip = 27pt \marginparpush = 5pt (not shown)
\hoffset = 0pt \voffset = 0pt
\paperwidth = 597pt \paperheight = 845pt
Figura 6.2: Parmetros do Formato de Pgina.
118 Congurar o L
A
T
E
X
que dizia como se faz isso . . .
O L
A
T
E
X dispe de dois comandos para mudar estes parmetros. So
usados normalmente no prembulo do documento.
O primeiro comando atribu um valor xo a qualquer um dos parmetros:
\setlength{parmetro}{comprimento}
O segundo comando adiciona um valor a qualquer um dos parmetros:
\addtolength{parmetro}{comprimento}
Este segundo comando , normalmente, mais til que o \setlength
porque pode funcionar de uma forma relativa aos valores j existentes. Para
adicionar um centmetro para a largura normal do texto, utilize o comando
seguinte no prembulo do seu documento:
\addtolength{\hoffset}{-0.5cm}
\addtolength{\textwidth}{1cm}
Neste contexto, pode querer olhar para o pacote calc, que permite usar
operaes aritmticas no argumento de este e de outros comandos onde
deveria introduzir valores.
6.5 Mais divertimento com comprimentos
Sempre que possvel, tento no usar comprimentos absolutos em documen-
tos L
A
T
E
X. Prero tentar basear as coisas na largura ou altura de outros
elementos das pginas. Para a largura de uma gura, podia relacionar com
\textwidth de forma a que ela coubesse numa pgina.
Os seguintes 3 comandos permitem determinar a largura, altura e pro-
fundidade de um texto.
\settoheight{varivel }{texto}
\settodepth{varivel }{texto}
\settowidth{varivel }{texto}
O seguinte exemplo mostra uma possvel aplicao para estes comandos.
6.6 Caixas 119
\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$ -- so adjuntos do ngulo
recto de um tringulo rectngulo.
$c$ -- a hipotenusa do
tringulo e sente-se sozinha.
$d$ -- finalmente, nem sequer
aparece. No curioso?
\end{vardesc}
o
2
+ /
2
= c
2
Onde: o, / so adjuntos do ngulo recto
de um tringulo rectngulo.
c a hipotenusa do tringulo e
sente-se sozinha.
d nalmente, nem sequer
aparece. No curioso?
6.6 Caixas
O L
A
T
E
X constri as suas pginas movendo caixas. A principio, cada letra
uma pequena caixa, que depois colada a outras letras para formar palavras.
Estas so de novo coladas a outras palavras, mas com cola especial, que
elstica e portanto uma srie de palavras pode ser encolhida ou esticada
para preencher exactamente uma linha de texto na pgina.
Admito, esta uma verso muito simplicista do que realmente acontece,
mas na verdade, o T
E
X opera com cola e caixas. No s uma letra que pode
ser uma caixa. Pode colocar virtualmente tudo numa caixa, incluindo outras
caixas. Cada caixa ir depois ser manuseada pelo L
A
T
E
X como se fosse uma
simples letra.
Nos captulos anteriores, j encontrou algumas caixas, no entanto, no
lhe disse. O ambiente tabular e o \includegraphics, por exemplo, pro-
duzem ambos uma caixa. Isto signica que pode colocar facilmente duas
tabelas ou imagens lado a lado. S tem de ter a certeza que a sua largura
no mais larga que a largura do texto.
Tambm pode empacotar um pargrafo da sua escolha numa caixa com
120 Congurar o L
A
T
E
X
o comando
\parbox[pos]{largura}{texto}
ou com o ambiente
\begin{minipage}[pos]{largura} texto \end{minipage}
O parmetro pos pode tomar uma das letras c, t ou b para controlar o ali-
nhamento vertical da caixa, relativamente linha base do texto circundante.
A largura toma um valor que especica a largura da caixa. A principal
diferena entre minipage e \parbox que no pode usar todos os comandos
e ambientes dentro de uma parbox enquanto quase tudo possvel numa
minipage.
Enquanto \parbox empacota um pargrafo fazendo quebras de linha
e tudo o mais, existe tambm uma classe de comandos para caixotes que
operam apenas em material alinhado horizontalmente. J conhecemos um
deles. chamado \mbox, e empacota simplesmente uma srie de caixas den-
tro de uma outra, e pode ser usado para prevenir a hifenizao de palavras.
Como pode colocar caixas dentro de qualquer caixa, estes empacotadores
horizontais do-lhe uma exibilidade ilimitada.
\makebox[largura][pos]{texto}
A largura dene a largura da caixa resultante vista do lado de fora.
5
Alm do comprimento das expresses, pode tambm usar \width, \height,
\depth e \totalheight no parmetro de largura. Todos eles so valores
obtidos medindo o texto escrito. O parmetro pos toma um valor de entre
as letras: centro, esquerda (left), direita (right) ou s que espalha o texto
dentro da caixa para a preencher.
O comando \framebox funciona exactamente da mesma forma que \makebox,
mas desenha uma caixa volta do texto.
O seguinte exemplo mostra algumas coisas que pode fazer com os co-
mandos \makebox e \framebox.
5
Isto signica que pode ser mais pequena do que o material l dentro. Pode at colocar
a largura a 0pt de forma a que o texto dentro da caixa ir ser escrita sem inuenciar as
caixas circundantes.
6.7 Rguas e Estruturas 121
\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 to largo} \par
\framebox[1cm][l]{esquece,
Eu sou assim}
Consegue ler isto?
c e n t r a d o
e s p a l h a d o
Agora estou encaixilhado!
Bolas, estou to largo
esquece, Eu sou assim Consegue ler isto?
Agora que controlamos a horizontal, o prximo passo obvio ir para o
vertical.
6
Sem problemas para o L
A
T
E
X. O comando
\raisebox{iar}[acima-da-linha-base][abaixo-da-linha-base]{texto}
permite denir as propriedades verticais de uma caixa. Pode usar o \width,
\height, \depth e \totalheight nos primeiros trs parmetros, de forma
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
prximo notou que alguma coisa
terrvel lhe tinha acontecido.
Aaaa
a
aa
r
g
h
ele gritou mas nem se-
quer o mais prximo notou que alguma
coisa terrvel lhe tinha acontecido.
6.7 Rguas e Estruturas
Algumas pginas atrs deve ter reparado no comando
\rule[iar]{largura}{altura}
Normalmente ele produz uma simples caixa preta.
6
O controlo total obtido apenas controlando a horizontal to bem como a vertical.... . .
122 Congurar o L
A
T
E
X
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
Isto til para desenhar linhas horizontais e verticais. A linha na pgina de
ttulo, por exemplo, foi criada com um comando \rule.
Um caso especial uma rgua sem largura mas alguma altura. Em
tipograa, isto chamado de estrutura. usada para garantir que um
elemento numa pgina tem uma determinada altura mnima. Pode usar
num ambiente tabular para ter a certeza que uma linha tem uma altura
mnima.
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Pitprop \ldots\\
\hline
\rule{0pt}{4ex}Strut o\\
\hline
\end{tabular}
Pitprop . . .
Strut o
FIM.
Bibliograa
[1] Leslie Lamport. L
A
T
E
X: A Document Preparation System. Addison-
Wesley, Reading, Massachusetts, second edition, 1994, ISBN 0-201-
52983-1.
[2] Donald E. Knuth. The T
E
Xbook, Volume A of Computers and Type-
setting, Addison-Wesley, Reading, Massachusetts, second edition, 1984,
ISBN 0-201-13448-9.
[3] Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle,
Chris Rowley. The L
A
T
E
X Companion, (2nd Edition). Addison-Wesley,
Reading, Massachusetts, 2004, ISBN 0-201-36299-6.
[4] Cada instalao L
A
T
E
X deve providenciar um L
A
T
E
X Local Guide que
explica os pormenores que so especiais nesse sistema em particular.
Deve estar contido num cheiro denominado local.tex. Infelizmente,
muitos operadores de sistema preguiosos no providenciam este docu-
mento. Neste caso, v e pea ajuda ao seu mestre de L
A
T
E
X.
[5] L
A
T
E
X3 Project Team. L
A
T
E
X2

for authors. Vem com a distribuio


L
A
T
E
X2

como usrguide.tex.
[6] L
A
T
E
X3 Project Team. L
A
T
E
X2

for Class and Package writers. Vem


com a distribuio do L
A
T
E
X2

como clsguide.tex.
[7] L
A
T
E
X3 Project Team. L
A
T
E
X2

Font selection. Vem com a distribuio


do L
A
T
E
X2

como fntguide.tex.
[8] D. P. Carlisle. Packages in the graphics bundle. Vem com o conjunto
de ferramentas graphics como grfguide.tex, disponvel da mesma
origem da sua distribuio de L
A
T
E
X.
[9] Rainer Schpf, Bernd Raichle, Chris Rowley. A New Implementa-
tion of L
A
T
E
Xs verbatim Environments. Vem com o conjunto tools
como verbatim.dtx, disponvel da mesma origem da sua distribuio
de L
A
T
E
X.
124 BIBLIOGRAFIA
[10] Vladimir Volovich, Werner Lemberg and L
A
T
E
X3 Project Team. Cyril-
lic languages support in L
A
T
E
X. Vem nas distribuies L
A
T
E
X2

como
cyrguide.tex.
[11] Graham Williams. The TeX Catalogue uma listagem bastante com-
pleta de muitos pacotes relacionados com o T
E
X e o L
A
T
E
X. Disponvel
na Internet desde CTAN:/tex-archive/help/Catalogue/catalogue.
html
[12] Michel Goossens, Sebastian Rahtz and Frank Mittelbach. The L
A
T
E
X
Graphics Companion. Addison-Wesley, Reading, Massachusetts, 1997,
ISBN 0-201-85469-4.
[13] Keith Reckdahl. Using EPS Graphics in L
A
T
E
X2

Documents que ex-


plica tudo e muito mais do que alguma vez quis saber sobre cheiros
EPS e o seu uso em documento L
A
T
E
X. Disponvel na Internet desde
CTAN:/tex-archive/info/epslatex.ps
[14] Kristoer H. Rose. X
Y
-pic Users Guide. Disponvel no CTAN junta-
mente com a distribuio do X
Y
-pic.
[15] John D. Hobby. A Users Manual for MetaPost. Downloadable from
http://cm.bell-labs.com/who/hobby/
[16] Alan Hoenig. T
E
X Unbound. Oxford University Press, 1998, ISBN
0-19-509685-1; 0-19-509686-X (pbk.)
[17] Urs Oswald. Graphics in L
A
T
E
X2

, containing some Java source -


les for generating arbitrary circles and ellipses within the picture
environment, and MetaPost - A Tutorial. Both downloadable from
http://www.ursoswald.ch
ndice
\!, 56
", 22
", 35
"-, 35
"---, 35
"<, 35
"=, 35
">, 35
", 35
$, 49
\(, 49
\), 49
\,, 50, 56
-, 22
, 22
\-, 21
, 22
, 22
., espao aps, 35
. . . , 24
\:, 56
\;, 56
\@, 35
\[, 50
ndice, 52
ndice remissivo, 74
\\, 19, 4143, 116
\\*, 19
e sem pontos, 25
\], 50
~, 35
A4, 11
A5, 11
, 25
abstract, 42
acento, 25
acrobat reader, 79
\addtolength, 118
, 25
aeguill, 81
agrupar, 110
agudo, 25
Alemo, 28
alinhamento decimal, 44
\Alph, 34, 35
\alph, 34, 35
amsbsy, 62
amsfonts, 51, 70
amsmath, 50, 5456, 58, 59, 62
amssymb, 51, 63
amsthm, 60, 61
\and, 37
ansinew, 27
\appendix, 37, 38
applemac, 27
\ar, 102
\arccos, 53
\arcsin, 53
\arctan, 53
\arg, 53
array, 56, 57
article, classe, 10
\Asbuk, 34
\asbuk, 34
aspas, 22
\author, 37, 85
babel, 21, 25, 26, 29, 34, 35
\backmatter, 38
backslash, 5
\backslash, 5
126 NDICE
beamer, 88, 89
beaner, 88
\begin, 40, 92, 100
\bibitem, 73
bibliograa, 73
\Big, 55
\big, 55
\Bigg, 55
\bigg, 55
\biggl, 59
\biggr, 59
\bigskip, 116
\binom, 54
blackboard bold, 51
block, 90
\bmod, 53
\boldmath, 61
\boldsymbol, 62
book, 10
classe, 10
brancos, 4
cabealho, 14
calc, 118
\caption, 47, 48
caracteres especiais, 25
caracteres reservados, 5
\cdot, 53
\cdots, 55
center, 41
\chapter, 36
\chaptermark, 77
chavetas, 6, 110
\ci, 105
\circle, 95
\circle*, 95
\cite, 73
CJK, 32
\cleardoublepage, 48
\clearpage, 48
\cline, 43
codicao de caracteres, 13
color, 88
comandos, 5
comandos frgeis, 48
comentrios, 6
commands
\!, 56
\(, 49
\), 49
\,, 50, 56
\-, 21
\:, 56
\;, 56
\@, 35
\[, 50
\\, 19, 4143, 116
\\*, 19
\], 50
\addtolength, 118
\Alph, 34, 35
\alph, 34, 35
\and, 37
\appendix, 37, 38
\ar, 102
\arccos, 53
\arcsin, 53
\arctan, 53
\arg, 53
\Asbuk, 34
\asbuk, 34
\author, 37, 85
\backmatter, 38
\backslash, 5
\begin, 40, 92, 100
\bibitem, 73
\Big, 55
\big, 55
\Bigg, 55
\bigg, 55
\biggl, 59
\biggr, 59
\bigskip, 116
\binom, 54
\bmod, 53
\boldmath, 61
\boldsymbol, 62
\caption, 47, 48
NDICE 127
\cdot, 53
\cdots, 55
\chapter, 36
\chaptermark, 77
\ci, 105
\circle, 95
\circle*, 95
\cite, 73
\cleardoublepage, 48
\clearpage, 48
\cline, 43
\cos, 53
\cosh, 53
\cot, 53
\coth, 53
\csc, 53
\date, 37
\ddots, 55
\deg, 53
\depth, 120, 121
\det, 53
\dim, 53
\displaystyle, 59
\documentclass, 10, 12, 14, 20
\dq, 28
\dum, 105
\emph, 39, 110
\end, 40, 92
\enumBul, 35
\enumEng, 35
\enumLat, 35
\eqref, 50
\EURtm, 24
\exp, 53
\fbox, 21
\flq, 28
\flqq, 28
\foldera, 99
\folderb, 99
\footnote, 39, 48
\footskip, 116
\frac, 53
\framebox, 120
\frenchspacing, 34, 36
\frontmatter, 38
\frq, 28
\frqq, 28
\fussy, 20
\gcd, 53
\headheight, 116
\headsep, 116
\height, 120, 121
\hline, 43
\hom, 53
\href, 85, 87
\hspace, 107, 114
\hyphenation, 20
\idotsint, 56
\ifpdf, 87
\ignorespaces, 107, 108
\ignorespacesafterend, 108
\iiiint, 56
\iiint, 56
\iint, 56
\include, 15, 16
\includegraphics, 72, 82, 86,
119
\includeonly, 15, 16
\indent, 114
\index, 75
\inf, 53
\input, 16
\int, 54
\item, 40
\ker, 53
\label, 38, 50
\LaTeX, 22
\LaTeXe, 22
\ldots, 24, 55
\left, 55
\leftmark, 76, 77
\lg, 53
\lim, 53
\liminf, 53
\limsup, 53
\line, 94
\linebreak, 20
\linespread, 113
128 NDICE
\linethickness, 96, 97, 99
\listoffigures, 47
\listoftables, 47
\ln, 53
\log, 53
\mainmatter, 38, 85
\makebox, 120
\makeindex, 74
\maketitle, 37
\marginparpush, 116
\marginparsep, 116
\marginparwidth, 116
\mathbb, 51
\mathrm, 59
\max, 53
\mbox, 21, 24, 120
\min, 53
\multicolumn, 45
\multiput, 93, 96
\newcommand, 106, 107
\newenvironment, 107
\newline, 19
\newpage, 20
\newsavebox, 98
\newtheorem, 60
\newtheoremstyle, 60
\noindent, 114
\nolinebreak, 20
\nonumber, 58
\nopagebreak, 20
\not, 64
\npil, 106
\oddsidemargin, 116
\oval, 97, 99
\overbrace, 52
\overleftarrow, 53
\overline, 52
\overrightarrow, 53
\pagebreak, 20
\pageref, 38, 78
\pagestyle, 15
\paperheight, 116
\paperwidth, 116
\par, 112
\paragraph, 36
\parbox, 120
\parindent, 114
\parskip, 114
\part, 36, 37
\phantom, 48, 58
\pmod, 53
\Pr, 53
\printindex, 75
\prod, 54
\protect, 48
\providecommand, 107
\ProvidesPackage, 109
\put, 9398
\qbezier, 91, 93, 99
\qedhere, 61
\qquad, 50, 56
\quad, 50, 56
\raisebox, 121
\ref, 38, 50, 78
\renewcommand, 106
\renewenvironment, 107
\right, 55, 57
\right., 55
\rightmark, 76, 77
\rule, 107, 121, 122
\savebox, 98
\scriptscriptstyle, 59
\scriptstyle, 59
\sec, 53
\section, 36, 48
\sectionmark, 77
\selectlanguage, 26
\setlength, 92, 114, 118
\settodepth, 118
\settoheight, 118
\settowidth, 118
\sin, 53
\sinh, 53
\sloppy, 20
\smallskip, 116
\sqrt, 52
\stackrel, 54
\stretch, 107, 115
NDICE 129
\subparagraph, 36
\subsection, 36
\subsectionmark, 77
\substack, 54
\subsubsection, 36
\sum, 54
\sup, 53
\tableofcontents, 37
\tan, 53
\tanh, 53
\TeX, 22
\texorpdfstring, 86
\textcelsius, 23
\texteuro, 23
\textheight, 116
\textrm, 59
\textstyle, 59
\textwidth, 116
\thicklines, 94, 97, 99
\thinlines, 97, 99
\thispagestyle, 15
\title, 37
\today, 22
\topmargin, 116
\totalheight, 120, 121
\underbrace, 52
\underline, 39, 52
\unitlength, 92, 94
\usapackage, 109
\usebox, 98
\usepackage, 12, 23, 26, 27
\vdots, 55
\vec, 53
\vector, 94
\verb, 42, 43
\verbatim, 77
\verbatiminput, 77
\vspace, 115
\widehat, 52
\widetilde, 52
\width, 120, 121
\xymatrix, 102
comment, 7
Coreano, 31
corpos utuantes, 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
delimitadores, 55
\depth, 120, 121
derivada, 52
description, 40
\det, 53
Deutsch, 28
\dim, 53
dimenses, 115
displaymath, 50
\displaystyle, 59
doc, 13
\documentclass, 10, 12, 14, 20
\dq, 28
duas coluna, 11
\dum, 105
eepic, 91, 95
em p, 110
em-dash, 22
\emph, 39, 110
empty, 14
en-dash, 22
Encapsulated PostScript, 71, 82
encodings
font
LGR, 27
OT1, 27
T1, 27, 34
T2*, 34
T2A, 27, 34
130 NDICE
T2B, 27
T2C, 27
X2, 27
input
ansinew, 27
applemac, 27
cp1251, 27
cp850, 27
cp866nav, 27
koi8-ru, 27, 34
latin1, 27
macukr, 27
utf8x, 27
\end, 40, 92
\enumBul, 35
\enumEng, 35
enumerate, 40
\enumLat, 35
environments
abstract, 42
array, 56, 57
block, 90
center, 41
comment, 7
description, 40
displaymath, 50
enumerate, 40
eqnarray, 57
equation, 50
figure, 46, 47
flushleft, 41
flushright, 41
frame, 90
itemize, 40
lscommand, 105
math, 49
minipage, 120
parbox, 120
picture, 91, 92, 95, 96
proof, 61
pspicture, 92
quotation, 41
quote, 41
subarray, 54
table, 46, 47
tabular, 43, 119
thebibliography, 73
verbatim, 42, 77
verse, 41
epic, 91
eqnarray, 57
\eqref, 50
equaes longas, 57
equation, 50
espaamento de linhas, 113
espaamento duplo, 113
espaamento matemtico, 56
espao
depois de comandos, 6
no incio de uma linha, 5
espao vertical, 115
espaos, 4
especicao de colocao, 46
estilo de pginas, 14
empty, 14
headings, 14
plain, 14
estrutura, 7, 122
eurosym, 23
\EURtm, 24
\exp, 53
expoente, 52
exscale, 13, 55
extenses, 12
extension
.aux, 14
.cls, 14
.dtx, 12
.dvi, 14, 72
.eps, 72
.fd, 14
.idx, 14, 75
.ilg, 14
.ind, 14, 75
.ins, 14
.lof, 14
.log, 14
.lot, 14
NDICE 131
.sty, 12, 77, 78
.tex, 9, 12
.toc, 14
frmulas, 49
fancyhdr, 76, 77
\fbox, 21
figure, 46, 47
\flq, 28
\flqq, 28
flushleft, 41
flushright, 41
foiltex, 10
\foldera, 99
\folderb, 99
font
\footnotesize, 110
\Huge, 110
\huge, 110
\LARGE, 110
\Large, 110
\large, 110
\mathbf, 111
\mathcal, 111
\mathit, 111
\mathnormal, 111
\mathrm, 111
\mathsf, 111
\mathtt, 111
\normalsize, 110
\scriptsize, 110
\small, 110
\textbf, 110
\textit, 110
\textmd, 110
\textnormal, 110
\textrm, 110
\textsc, 110
\textsf, 110
\textsl, 110
\texttt, 110
\textup, 110
\tiny, 110
font encoding, 13
font encodings, 27
LGR, 27
OT1, 27
T1, 27, 34
T2*, 34
T2A, 27, 34
T2B, 27
T2C, 27
X2, 27
fontenc, 13, 27, 29, 34
\footnote, 39, 48
\footnotesize, 110
\footskip, 116
formato da pgina, 116
\frac, 53
fraco, 53
frame, 90
\framebox, 120
Francs, 30
\frenchspacing, 34, 36
\frontmatter, 38
\frq, 28
\frqq, 28
funo mdulo, 53
\fussy, 20
\gcd, 53
geometry, 77
German, 28
grcos, 12, 71
graphicx, 71, 82, 88
graus, 23
grave, 25
Grego, 33
hfen, 22
HL
A
T
E
X, 32
hL
A
T
E
Xp, 32
\headheight, 116
textttheadings, 14
\headsep, 116
\height, 120, 121
hipertexto, 78
\hline, 43
132 NDICE
\hom, 53
horizontal
chaveta, 52
espao, 114
line, 52
pontos, 55
\href, 85, 87
\hspace, 107, 114
\Huge, 110
\huge, 110
hyperref, 80, 83, 8688
hyphenat, 77
\hyphenation, 20
\idotsint, 56
ifpdf, 87
\ifpdf, 87
ifthen, 13
\ignorespaces, 107, 108
\ignorespacesafterend, 108
\iiiint, 56
\iiint, 56
\iint, 56
\include, 15, 16
\includegraphics, 72, 82, 86, 119
\includeonly, 15, 16
\indent, 114
indentrst, 114
\index, 75
\inf, 53
\input, 16
input encodings
ansinew, 27
applemac, 27
cp1251, 27
cp850, 27
cp866nav, 27
koi8-ru, 27, 34
latin1, 27
macukr, 27
utf8x, 27
inputenc, 13, 26, 34
\int, 54
integral, 54
internacionalizao, 25
itlico, 110
\item, 40
itemize, 40
\ker, 53
Knuth, Donald E., 1
koi8-ru, 27, 34
lngua, 25
\label, 38, 50
Lamport, Leslie, 2
\LARGE, 110
\Large, 110
\large, 110
\LaTeX, 22
L
A
T
E
X3, 4
\LaTeXe, 22
latexsym, 13
latin1, 27
layout, 116
\ldots, 24, 55
\left, 55
\leftmark, 76, 77
letras, 109
letras escandinavas, 25
letras gregas, 52
\lg, 53
LGR, 27
ligaes, 24
\lim, 53
\liminf, 53
\limsup, 53
\line, 94
\linebreak, 20
\linespread, 113
\linethickness, 96, 97, 99
\listoffigures, 47
\listoftables, 47
\ln, 53
\log, 53
longtabular, 45
lscommand, 105
macukr, 27
NDICE 133
Maisculas, 110
\mainmatter, 38, 85
\makebox, 120
makeidx, 74
makeidx, 13, 74
makeindex, 74
\makeindex, 74
\maketitle, 37
margens, 116
\marginparpush, 116
\marginparsep, 116
\marginparwidth, 116
marvosym, 24
matemtica, 49
menos, 22
matemtico
acentos, 52
delimitador, 55
funes, 53
math, 49
\mathbb, 51
\mathbf, 111
\mathcal, 111
\mathit, 111
\mathnormal, 111
\mathrm, 59, 111
mathrsfs, 70
\mathsf, 111
mathtext, 34
\mathtt, 111
\max, 53
\mbox, 21, 24, 120
METAPOST, 82, 83
\min, 53
minimal
classe, 10
minipage, 120
Mittelbach, Frank, 2
mltex, 81
\multicolumn, 45
\multiput, 93, 96
\newcommand, 106, 107
\newenvironment, 107
\newline, 19
\newpage, 20
\newsavebox, 98
\newtheorem, 60
\newtheoremstyle, 60
\noindent, 114
\nolinebreak, 20
\nonumber, 58
\nopagebreak, 20
\normalsize, 110
\not, 64
\npil, 106
\oddsidemargin, 116
, 25
opes, 10
OT1, 27
\oval, 97, 99
\overbrace, 52
overfull hbox, 20
\overleftarrow, 53
\overline, 52
\overrightarrow, 53
package, 12
packages
aeguill, 81
amsbsy, 62
amsfonts, 51, 70
amsmath, 50, 5456, 58, 59, 62
amssymb, 51, 63
amsthm, 60, 61
babel, 21, 25, 26, 29, 34, 35
beamer, 88, 89
beaner, 88
calc, 118
color, 88
dcolumn, 44
doc, 13
eepic, 91, 95
epic, 91
eurosym, 23
exscale, 13, 55
fancyhdr, 76, 77
134 NDICE
fontenc, 13, 27, 29, 34
geometry, 77
graphicx, 71, 82, 88
hyperref, 80, 83, 8688
hyphenat, 77
ifpdf, 87
ifthen, 13
indentrst, 114
inputenc, 13, 26, 34
latexsym, 13
layout, 116
longtabular, 45
makeidx, 13, 74
marvosym, 24
mathrsfs, 70
mathtext, 34
ppower4, 88
prosper, 88
pstricks, 91, 92, 95
pxfonts, 81
showidx, 75
supertabular, 45
syntonly, 13, 16
textcomp, 23
txfonts, 81
ucs, 27
verbatim, 7, 77
xy, 101
pacote, 7, 12, 105
page style, 14
\pagebreak, 20
\pageref, 38, 78
\pagestyle, 15
palavra, 76
papel
A4, 11
A5, 11
B5, 11
executivo, 11
letter, 11
paper size, 80
\paperheight, 116
\paperwidth, 116
\par, 112
pargrafo, 17
parmetro, 6
parmetros opcionais, 6
parntesis, 55
parntesis rectos, 6
para a frente, 110
\paragraph, 36
\parbox, 120
parbox, 120
\parindent, 114
\parskip, 114
\part, 36, 37
PDF, 78
pdfL
A
T
E
X, 80, 88
pdfL
A
T
E
X, 79
pdfT
E
X, 79
\phantom, 48, 58
picture, 91, 92, 95, 96
plain, 14
\pmod, 53
ponto, 24
pontos horizontais, 55
pontos verticais, 55
PostScript, 4, 9, 32, 48, 71, 72, 80,
81, 92
Encapsulated, 71, 82
ppower4, 88
\Pr, 53
prembulo, 7
\printindex, 75
proc
classe, 10
\prod, 54
produtrio, 54
proof, 61
prosper, 88
\protect, 48
\providecommand, 107
\ProvidesPackage, 109
pspicture, 92
pstricks, 91, 92, 95
\put, 9398
pxfonts, 81
NDICE 135
\qbezier, 91, 93, 99
\qedhere, 61
\qquad, 50, 56
\quad, 50, 56
quebras de linha, 19
quotation, 41
quote, 41
raz quadrada, 52
\raisebox, 121
\ref, 38, 50, 78
referncias cruzadas, 38
\renewcommand, 106
\renewenvironment, 107
report, 10
classe, 10
reticncias, 24
\right, 55, 57
\right., 55
\rightmark, 76, 77
rodap, 14
romano, 110
\rule, 107, 121, 122
smbolo seta, 53
smbolos gordos, 51, 61
sans serif, 110
\savebox, 98
\scriptscriptstyle, 59
\scriptsize, 110
\scriptstyle, 59
\sec, 53
\section, 36, 48
\sectionmark, 77
\selectlanguage, 26
\setlength, 92, 114, 118
\settodepth, 118
\settoheight, 118
\settowidth, 118
showidx, 75
\sin, 53
sinal de menos, 22
\sinh, 53
sistemas de equaes, 57
slides, 10
classe, 10
\sloppy, 20
\small, 110
\smallskip, 116
somatrio, 54
\sqrt, 52
\stackrel, 54
\stretch, 107, 115
sub-escrito, 54
subarray, 54
\subparagraph, 36
\subsection, 36
\subsectionmark, 77
\substack, 54
\subsubsection, 36
\sum, 54
\sup, 53
super-escrito, 54
supertabular, 45
syntonly, 13, 16
T1, 27, 34
T2*, 34
T2A, 27, 34
T2B, 27
T2C, 27
ttulo, 11, 37
ttulo do documento, 11
tabela, 43
tabela de contedos, 37
table, 46, 47
\tableofcontents, 37
tabular, 43, 119
tamanho de letra, 11, 110
tamanho de matemtica, 59
tamanho do papel, 11, 116
tamanho letras, 109
\tan, 53
\tanh, 53
\TeX, 22
\texorpdfstring, 86
\textbf, 110
\textcelsius, 23
136 NDICE
textcomp, 23
\texteuro, 23
\textheight, 116
\textit, 110
\textmd, 110
\textnormal, 110
texto colorido, 12
\textrm, 59, 110
\textsc, 110
\textsf, 110
\textsl, 110
\textstyle, 59
\texttt, 110
\textup, 110
\textwidth, 116
thebibliography, 73
\thicklines, 94, 97, 99
\thinlines, 97, 99
\thispagestyle, 15
til, 23, 52
til ( ~), 35
\tiny, 110
tipo gordo, 110
tipos de cheiros, 12
\title, 37
\today, 22
\topmargin, 116
\totalheight, 120, 121
trs pontos, 55
trao, 22
txfonts, 81
ucs, 27
umlaut, 25
\underbrace, 52
underfull hbox, 20
\underline, 39, 52
unidades, 115, 116
\unitlength, 92, 94
URL, 23
\usapackage, 109
\usebox, 98
\usepackage, 12, 23, 26, 27
utf8x, 27
vrgula, 24
vantagens do L
A
T
E
X, 3
\vdots, 55
\vec, 53
\vector, 94
vectores, 53
\verb, 42, 43
verbatim, 7, 77
\verbatim, 77
verbatim, 42, 77
\verbatiminput, 77
verse, 41
vertical
pontos, 55
\vspace, 115
\widehat, 52
\widetilde, 52
\width, 120, 121
www, 23
WYSIWYG, 2, 3
X2, 27
Xpdf, 79
xy, 101
\xymatrix, 102
GPL v2 137
GNU General Public License
Terms and Conditions For Copying,
Distribution and Modification
Version 2, June 1991
Copyright 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The Program, be-
low, refers to any such program or work, and a work based on the
Program means either the Program or any derivative work under
copyright law: that is to say, a work containing the Program or a
portion of it, either verbatim or with modications and/or translated
into another language. (Hereinafter, translation is included without
limitation in the term modication.) Each licensee is addressed as
you.
Activities other than copying, distribution and modication are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is
covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program). Whether
that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Programs source
code as you receive it, in any medium, provided that you conspicuously
and appropriately publish on each copy an appropriate copyright no-
tice and disclaimer of warranty; keep intact all the notices that refer
to this License and to the absence of any warranty; and give any other
recipients of the Program a copy of this License along with the Pro-
gram.
You may charge a fee for the physical act of transferring a copy, and
you may at your option oer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and distri-
bute such modications or work under the terms of Section 1 above,
provided that you also meet all of these conditions:
138 GPL v2
(a) You must cause the modied les to carry prominent notices sta-
ting that you changed the les and the date of any change.
(b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
(c) If the modied program normally reads commands interactively
when run, you must cause it, when started running for such in-
teractive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modied work as a whole. If identi-
able sections of that work are not derived from the Program, and can
be reasonably considered independent and separate works in themsel-
ves, then this License, and its terms, do not apply to those sections
when you distribute them as separate works. But when you distri-
bute the same sections as part of a whole which is a work based on
the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise
the right to control the distribution of derivative or collective works
based on the Program.
In addition, mere aggregation of another work not based on the Pro-
gram with the Program (or with a work based on the Program) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
(a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sec-
tions 1 and 2 above on a medium customarily used for software
interchange; or,
GPL v2 139
(b) Accompany it with a written oer, valid for at least three years,
to give any third party, for a charge no more than your cost of
physically performing source distribution, a complete machine-
readable copy of the corresponding source code, to be distributed
under the terms of Sections 1 and 2 above on a medium custo-
marily used for software interchange; or,
(c) Accompany it with the information you received as to the oer to
distribute corresponding source code. (This alternative is allowed
only for noncommercial distribution and only if you received the
program in object code or executable form with such an oer, in
accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface denition les, plus the scripts used to control
compilation and installation of the executable. However, as a special
exception, the source code distributed need not include anything that
is normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
If distribution of executable or object code is made by oering access
to copy from a designated place, then oering equivalent access to
copy the source code from the same place counts as distribution of the
source code, even though third parties are not compelled to copy the
source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program ex-
cept as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However, par-
ties who have received copies, or rights, from you under this License
will not have their licenses terminated so long as such parties remain
in full compliance.
5. You are not required to accept this License, since you have not signed
it. However, nothing else grants you permission to modify or distribute
the Program or its derivative works. These actions are prohibited by
law if you do not accept this License. Therefore, by modifying or
distributing the Program (or any work based on the Program), you
indicate your acceptance of this License to do so, and all its terms
and conditions for copying, distributing or modifying the Program or
works based on it.
140 GPL v2
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the ori-
ginal licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further restricti-
ons on the recipients exercise of the rights granted herein. You are not
responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent in-
fringement or for any other reason (not limited to patent issues), con-
ditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot distribute
so as to satisfy simultaneously your obligations under this License and
any other pertinent obligations, then as a consequence you may not
distribute the Program at all. For example, if a patent license would
not permit royalty-free redistribution of the Program by all those who
receive copies directly or indirectly through you, then the only way
you could satisfy both it and this License would be to refrain entirely
from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any such
claims; this section has the sole purpose of protecting the integrity of
the free software distribution system, which is implemented by public
license practices. Many people have made generous contributions to
the wide range of software distributed through that system in reliance
on consistent application of that system; it is up to the author/donor
to decide if he or she is willing to distribute software through any other
system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add
an explicit geographical distribution limitation excluding those coun-
tries, so that distribution is permitted only in or among countries not
thus excluded. In such case, this License incorporates the limitation
as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versi-
ons of the General Public License from time to time. Such new versions
GPL v2 141
will be similar in spirit to the present version, but may dier in detail
to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
species a version number of this License which applies to it and any
later version, you have the option of following the terms and condi-
tions either of that version or of any later version published by the
Free Software Foundation. If the Program does not specify a version
number of this License, you may choose any version ever published by
the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free pro-
grams whose distribution conditions are dierent, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we some-
times make exceptions for this. Our decision will be guided by the two
goals of preserving the free status of all derivatives of our free software
and of promoting the sharing and reuse of software generally.
No Warranty
11. Because the program is licensed free of charge, there is
no warranty for the program, to the extent permitted
by applicable law. Except when otherwise stated in wri-
ting the copyright holders and/or other parties provide
the program as is without warranty of any kind, either
expressed or implied, including, but not limited to, the im-
plied warranties of merchantability and fitness for a par-
ticular purpose. The entire risk as to the quality and
performance of the program is with you. Should the pro-
gram prove defective, you assume the cost of all necessary
servicing, repair or correction.
12. In no event unless required by applicable law or agreed to
in writing will any copyright holder, or any other party
who may modify and/or redistribute the program as per-
mitted above, be liable to you for damages, including any
general, special, incidental or consequential damages ari-
sing out of the use or inability to use the program (inclu-
ding but not limited to loss of data or data being rendered
inaccurate or losses sustained by you or third parties or
a failure of the program to operate with any other pro-
grams), even if such holder or other party has been advised
of the possibility of such damages.
End of Terms and Conditions

You might also like