Você está na página 1de 181

Uma no to pequena

introduo ao L
A
T
E
X2

Ou L
A
T
E
X2

em 165 minutos
por Tobias Oetiker
Hubert Partl, Irene Hyna e Elisabeth Schlegl
Traduo portuguesa por Alberto Simes
Verso 5.01.0, 20 de Maio de 2011
ii
Copyright 1995-2011 Tobias Oetiker e Colaboradores. Todos os direitos reservados.
Este documento livre e gratuito; pode redistribu-lo e/ou modic-lo dentro
dos termos da licena GNU General Public License, pela Free Software Foundation;
verso 2 da licena, ou (se preferir) qualquer outra mais recente.
Este documento distribudo na esperana de que seja til, mas sem qualquer
garantia; sem, sequer, a garantia implcita de comercializao ou adequao para
um m especco. Consulte o documento GNU General Public License para mais
detalhes.
Deve receber uma cpia da GNU General Public License juntamente com este
documento; em caso negativo, escreva para a 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 actua-
lizada para L
A
T
E
X2

por Jrg Knappen a partir de CTAN://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
sinceramente a todos eles. Naturalmente, todos os erros que encontrar neste
livro so meus. Se encontrar alguma palavra que esteja escrita correctamente,
deve ter sido uma das pessoas abaixo que me enviou essa linha.
Eric Abrahamsen, Rosemary Bailey, Marc Bevand, Friedemann Brauer,
Barbara Beeton, Salvatore Bonaccorso, Jan Busa, Markus Brhwiler,
Pietro Braione, David Carlisle, Jos Carlos Santos, Neil Carter, Mike Chapman,
Pierre Chardaire, Christopher Chin, Carl Cerecke, Chris McCormack,
Diego Clavadetscher, Wim van Dam, Benjamin Deschwanden Jan Dittberner,
Michael John Downes, Matthias Dreier, David Dureisseix, Eilinger August, Elliot,
Rockrush Engch, Hans Ehrbar, Daniel Flipo, David Frey, Hans Fugal,
Robert Funnell, Robin Fairbairns, Jrg Fischer, Frank Fischli, Robert Funnell,
Morten Hgholm, 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, Bjrn Hvittfeldt,
Martien Hulsen, Werner Icking, Jakob, Eric Jacoboni, Alan Jerey, Byron Jones,
David Jones, Nils Kanning, Tobias Krewer, Johannes-Maria Kaltenbach,
Andrzej Kawalec, Alain Kessi, Christian Kern, Tobias Klauser, Sander de Kievit,
Kjetil Kjernsmo, Jrg Knappen, Kjetil Kjernsmo, Michael Koundouros, Matt Kraai,
Maik Lehradt, Rmi Letot, Flori Lambrechts, Mike Lee, Axel Liljencrantz,
Johan Lundberg, Alexander Mai, Martin Maechler, Hendrik Maryns,
Aleksandar S Milosevic, Henrik Mitsch, Claus Malten, Kevin Van Maren,
Stefan M. Moser, Richard Nagy, Philipp Nagele, Lenimar Nunes de Andrade,
I. J. Vera Marn, Manuel Oetiker, Urs Oswald, Marcelo Pasin, Lan Thuy Pham,
Martin Pster, Breno Pietracci, Demerson Andre Polli, Hubert Partl,
Maksym Polyakov, Nikos Pothitos, John Reing, Mike Ressler, Brian Ripley,
Young U. Ryu, Bernd Rosenlecher, Kurt Rosenfeld, Chris Rowley, Axel Kielhorn,
Risto Saarelma, Jordi Serra i Solanich, Hanspeter Schmid, Craig Schlenter,
Gilles Schintgen, Baron Schwartz, Christopher Sawtell, Miles Spielberg,
Matthieu Stigler, Georey Swindale, Laszlo Szathmary, Andrs Salamon,
Boris Tobotras, Josef Tkadlec, Scott Veirs, Didier Verna, Matthew Widmann,
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, Ricardo Dias Marques, Jos Pedro Oliveira, Paulo Ro-
cha, e Marcos Marado Torres.
Prefcio
O L
A
T
E
X [1] um sistema tipogrco, bastante adequado para produzir docu-
mentos cientcos e matemticos de grande qualidade tipogrca. O sistema
igualmente adequado para produzir todo o tipo de outros documentos,
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
descrio 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
ensinar 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
informao 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 um dos
stios do Comprehensive T
E
X Archive Network (CTAN). O stio principal
http://www.ctan.org.
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://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
introduo fceis de compreender e quais as que devem ser explicadas melhor.
Tobias Oetiker <tobi@oetiker.ch>
OETIKER+PARTNER AG
Aarweg 15
4600 Olten
Switzerland
A verso actual e original deste documento est disponvel em
CTAN://info/lshort
vii
Sobre a Traduo
A verso original, pelo Tobias Oetiker, traduzida a cada verso (embora
algumas sejam saltadas quando h falta de tempo) para portugus. O
contedo praticamente o mesmo, com algumas excepes, nomeadamente,
a seco sobre a lngua portuguesa.
Alm disso, algumas seces que j zeram parte da verso ocial mas
que foram removidas pelo autor mantm-se na traduo, uma vez que ainda
me parecem relevantes.
A verso portuguesa est sempre disponvel em http://alfarrabio.di.
uminho.pt/~albie/lshort.
Traduo por Alberto Simes (ambs@perl-hackers.net)
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Smbolos e Caracteres Especiais . . . . . . . . . . . . . . . . . 22
x CONTEDO
2.4.1 Aspas . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Traos e Hfenes . . . . . . . . . . . . . . . . . . . . . 22
2.4.3 Til () . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.4 Barra (/) . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.5 Smbolo de Graus () . . . . . . . . . . . . . . . . . . 23
2.4.6 Smbolo de Euro (e) . . . . . . . . . . . . . . . . . . . 23
2.4.7 Reticncias (. . . ) . . . . . . . . . . . . . . . . . . . . . 24
2.4.8 Ligaduras . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.9 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 . . . . . . . . . . . . . . . . . . 30
2.5.5 Suporte para Grego . . . . . . . . . . . . . . . . . . . 33
2.5.6 Suporte para Cirlico . . . . . . . . . . . . . . . . . . . 33
2.5.7 Suporte para Mongol . . . . . . . . . . . . . . . . . . . 35
2.5.8 A opo Unicode . . . . . . . . . . . . . . . . . . . . . 36
2.6 O Espao entre Palavras . . . . . . . . . . . . . . . . . . . . . 39
2.7 Ttulos, Captulos e Seces . . . . . . . . . . . . . . . . . . . 40
2.8 Referncias Cruzadas . . . . . . . . . . . . . . . . . . . . . . . 42
2.9 Notas de Rodap . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.10 Palavras Realadas . . . . . . . . . . . . . . . . . . . . . . . . 43
2.11 Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.11.1 Indicar, Enumerar, e Descrever . . . . . . . . . . . . . 44
2.11.2 Esquerda, Direita e Centro . . . . . . . . . . . . . . . 44
2.11.3 Citaes e Versos . . . . . . . . . . . . . . . . . . . . . 45
2.11.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.11.5 Tal & Qual . . . . . . . . . . . . . . . . . . . . . . . . 46
2.11.6 Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.12 Corpos Flutuantes . . . . . . . . . . . . . . . . . . . . . . . . 49
2.13 Protegendo Comandos Frgeis . . . . . . . . . . . . . . . . . . 52
3 Frmulas Matemticas 55
3.1 Os Pacotes A
M
S-L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . 55
3.2 Frmulas Simples . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.1 Modo Matemtico . . . . . . . . . . . . . . . . . . . . 57
3.3 Construindo Blocos de Frmulas Matemticas . . . . . . . . . 58
3.4 Frmulas Matemticas que so Demasiado Longas: Multilinha 63
3.5 Mltiplas Frmulas . . . . . . . . . . . . . . . . . . . . . . . . 64
3.5.1 Problemas com Comandos Tradicionais . . . . . . . . 65
3.5.2 Ambiente IEEEeqnarray . . . . . . . . . . . . . . . . . 66
3.5.3 Utilizao Tpica . . . . . . . . . . . . . . . . . . . . . 67
3.6 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
CONTEDO xi
3.7 Espaamento em modo Matemtico . . . . . . . . . . . . . . 71
3.8 Fantasmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.9 Brincar com Tipos de Letra em Matemtica . . . . . . . . . . 73
3.9.1 Smbolos a Negrito . . . . . . . . . . . . . . . . . . . . 73
3.10 Teoremas, Lemas, . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.10.1 Smbolos de Provas e Fim-de-Prova . . . . . . . . . . . 75
3.11 Lista de Smbolos Matemticos . . . . . . . . . . . . . . . . . 79
4 Especialidades 87
4.1 Incluindo Grcos Encapsulated PostScript . . . . . . . . . 87
4.2 Bibliograa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.3 Indexar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.4 Cabealhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.5 O Pacote Verbatim . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6 Instalando Pacotes ExtraL
A
T
E
X . . . . . . . . . . . . . . . . . 93
4.7 Usar o pdfL
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.7.1 Documentos PDF para a Internet . . . . . . . . . . . . 95
4.7.2 Os tipos de letra . . . . . . . . . . . . . . . . . . . . . 96
4.7.3 Uso de Grcos . . . . . . . . . . . . . . . . . . . . . . 97
4.7.4 Ligaes de Hipertexto . . . . . . . . . . . . . . . . . . 98
4.7.5 Problemas com Ligaes . . . . . . . . . . . . . . . . . 100
4.7.6 Problemas com Bookmarks . . . . . . . . . . . . . . . 101
4.7.7 Compatibilidade entre L
A
T
E
X e pdfL
A
T
E
X . . . . . . . . 101
4.8 Usando o X
E
L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . 102
4.8.1 Os Tipos de Letra . . . . . . . . . . . . . . . . . . . . 102
4.8.2 Compatibilidade entre X
E
L
A
T
E
X e pdfL
A
T
E
X . . . . . . 104
4.9 Criar Apresentaes . . . . . . . . . . . . . . . . . . . . . . . 105
5 Produo de Grcos Matemticos 109
5.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.2 O ambiente picture . . . . . . . . . . . . . . . . . . . . . . . 110
5.2.1 Comandos Bsicos . . . . . . . . . . . . . . . . . . . . 110
5.2.2 Segmentos de Recta . . . . . . . . . . . . . . . . . . . 111
5.2.3 Setas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.2.4 Crculos . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.2.5 Textos e Formulas . . . . . . . . . . . . . . . . . . . . 114
5.2.6 \multiput e \linethickness . . . . . . . . . . . . . . 115
5.2.7 Ovais . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.2.8 Mltiplos usos de caixas de imagem pr-denidas . . . 116
5.2.9 Curvas de Bzier Quadrticas . . . . . . . . . . . . . . 117
5.2.10 Parbolas . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.2.11 Rapidamente a teoria da Relatividade . . . . . . . . . 119
5.3 X
Y
-pic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.4 Os Pacotes de Grcos PGF e TikZ . . . . . . . . . . . . . . 123
xii CONTEDO
6 Congurar o L
A
T
E
X 127
6.1 Novos Comandos, Ambientes e Pacotes . . . . . . . . . . . . . 127
6.1.1 Novos Comandos . . . . . . . . . . . . . . . . . . . . . 128
6.1.2 Novos Ambientes . . . . . . . . . . . . . . . . . . . . . 129
6.1.3 Espao Extra . . . . . . . . . . . . . . . . . . . . . . . 129
6.1.4 A linha de comando do L
A
T
E
X . . . . . . . . . . . . . . 130
6.1.5 O Seu Prprio Pacote . . . . . . . . . . . . . . . . . . 131
6.2 Letras e Tamanhos . . . . . . . . . . . . . . . . . . . . . . . . 131
6.2.1 Tipos de letra . . . . . . . . . . . . . . . . . . . . . . . 131
6.2.2 Perigo, Will Robinson, Perigo . . . . . . . . . . . . . . 134
6.2.3 Aviso . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.3 Espaamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
6.3.1 Espao entre linhas . . . . . . . . . . . . . . . . . . . . 135
6.3.2 Formatao de Pargrafos . . . . . . . . . . . . . . . . 136
6.3.3 Espao Horizontal . . . . . . . . . . . . . . . . . . . . 137
6.3.4 Espao Vertical . . . . . . . . . . . . . . . . . . . . . . 138
6.4 Formato da Pgina . . . . . . . . . . . . . . . . . . . . . . . . 139
6.5 Mais divertimento com comprimentos . . . . . . . . . . . . . 141
6.6 Caixas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.7 Rguas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
A Como instalar o L
A
T
E
X 145
A.1 O que Instalar? . . . . . . . . . . . . . . . . . . . . . . . . . . 145
A.2 T
E
X em Mac OS X . . . . . . . . . . . . . . . . . . . . . . . . 146
A.2.1 Instalao de uma distribuio T
E
X . . . . . . . . . . 146
A.2.2 A escolha de um editor . . . . . . . . . . . . . . . . . 146
A.2.3 Use o PDFView . . . . . . . . . . . . . . . . . . . . . 146
A.3 T
E
X em Windows . . . . . . . . . . . . . . . . . . . . . . . . . 147
A.3.1 Instalao do T
E
X . . . . . . . . . . . . . . . . . . . . 147
A.3.2 Um editor para L
A
T
E
X . . . . . . . . . . . . . . . . . . 147
A.3.3 Visualizao de Documentos . . . . . . . . . . . . . . 147
A.3.4 Trabalhar com Grcos . . . . . . . . . . . . . . . . . 147
A.4 T
E
X em Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Bibliograa 149
Index 152
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. . . . . . . . . . . . . . 92
4.2 Exemplo de cdigo para a classe beamer. . . . . . . . . . . . . 106
6.1 Pacote de Exemplo. . . . . . . . . . . . . . . . . . . . . . . . 131
6.2 Parmetros de formato usados neste livro. . . . . . . . . . . . 140
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. . . . . . . . . 50
3.1 Acentos Matemticos. . . . . . . . . . . . . . . . . . . . . . . 79
3.2 Letras Gregas. . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3 Relaes Binrias. . . . . . . . . . . . . . . . . . . . . . . . . 80
3.4 Operadores Binrios. . . . . . . . . . . . . . . . . . . . . . . . 80
3.5 Operadores GRANDES. . . . . . . . . . . . . . . . . . . . . . 81
3.6 Setas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.7 Setas como Acentos. . . . . . . . . . . . . . . . . . . . . . . . 81
3.8 Delimitadores. . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.9 Grandes Delimitadores. . . . . . . . . . . . . . . . . . . . . . 82
3.10 Smbolos Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . 82
3.11 Smbolos no Matemticos. . . . . . . . . . . . . . . . . . . . 82
3.12 Delimitadores A
M
S. . . . . . . . . . . . . . . . . . . . . . . . 83
3.13 Letras A
M
S gregas e hebraicas. . . . . . . . . . . . . . . . . . 83
3.14 Alfabetos Matemticos. . . . . . . . . . . . . . . . . . . . . . 83
3.15 Operadores Binrios A
M
S. . . . . . . . . . . . . . . . . . . . 83
3.16 Relaes Binrias A
M
S. . . . . . . . . . . . . . . . . . . . . . 84
3.17 Setas A
M
S. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.18 Relaes Binrias e Setas Negadas A
M
S. . . . . . . . . . . . 86
3.19 A
M
S Sortidos. . . . . . . . . . . . . . . . . . . . . . . . . . . 86
xvi LISTA DE TABELAS
4.1 Nomes das Chaves para o Pacote graphicx. . . . . . . . . . . . 88
4.2 Exemplos da Sintaxe das Chaves de Indexao. . . . . . . . . 91
6.1 Letras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.2 Tamanho de Letra. . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3 Tamanhos Absolutos nas Classes Padro. . . . . . . . . . . . 133
6.4 Letras Matemticas. . . . . . . . . . . . . . . . . . . . . . . . 133
6.5 Unidades do T
E
X. . . . . . . . . . . . . . . . . . . . . . . . . 138
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 deteriorao
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
pequenos 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 computadores, e virtualmente no ter qualquer bug. A verso do T
E
X
est a convergir para e de momento 3.141592653.
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 brusca que segue a
vogal a. Na Rssia, tex uma palavra muito comum, pronunciada tyekh. Mas acredito
2 Coisas Que Precisa de Saber
(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 permite aos autores preparar e imprimir o seu trabalho ao mais alto
nvel de qualidade tipogrca, usando um modelo prossional pr-denido.
O L
A
T
E
X foi escrito originalmente pelo Leslie Lamport [1]. Usa o formatador
do T
E
X como motor tipogrco. Actualmente, 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
cabealhos, . . . ). 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 Microsoft Word ou
LibreOce, 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 ecr como o resultado
nal vai aparecer quando impresso.
Ao usar o L
A
T
E
X, normalmente no possvel ver o resultado nal enquanto
se digita o texto. No entanto, o resultado nal pode ser pr-visualizado no
que a 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
ecr 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
discusses 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 conveni-
ente;
O utilizador apenas precisa de aprender uma dzia de comandos fa-
cilmente compreensveis que especicam a estrutura lgica de um
documento. 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,
tabelas de contedos e bibliograas podem ser facilmente geradas;
Pacotes gratuitos podem ser aplicados a tarefas tipogrcas no supor-
tadas pelo L
A
T
E
X bsico. Por exemplo, existem pacotes para incluir gr-
cos PostScript e para imprimir bibliograas conforme os standards.
Muitos destes pacotes esto descritos no The L
A
T
E
X Companion [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 difcil
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. Em Unix/Linux so bastante
comuns. Em Windows, pode cri-los usando o Notepad. O cheiro contm
o texto do documento assim como os comandos que dizem ao L
A
T
E
X como
formatar o texto. Se estiver a usar um IDE para L
A
T
E
X, ele j incluir um
programa para a criao de cheiros de 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:
\# \$ \% \^{} \& \_ \{ \} \~{}
\textbackslash
# $ % & _ { } \
Outros smbolos e muitos mais podem ser impressos com comandos
especiais em frmulas matemticas ou como acentos. O carcter de barra
invertida (\) no deve ser introduzido adicionando uma outra barra antes
(\\), porque esta sequncia utilizada para quebrar linhas de texto. Use
antes o \textbackslash.
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
4
(\) e tm um nome que consiste apenas
de letras. Os nomes de comandos terminam com um espao, um nmero
ou qualquer outro smbolo no-letra.
Consistem num backslash e exactamente um carcter no letra.
4
NT: a partir de agora utilizaremos o termo ingls em vez de barra invertida
6 Coisas Que Precisa de Saber
Muitos comandos existem numa verso estrelada, onde um asterisco
adicionado ao nome do comando.
O L
A
T
E
X ignora espaos em branco aps os comandos. Se deseja um
espao depois de um comando, deve colocar um parmetro vazio {} e um
espao, um carcter especial, ou um comando de espaamento especial depois
do nome do comando. O parmetro vazio {} 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 20 de Maio de 2011.
Alguns comandos precisam de um parmetro que deve ser introduzido
entre chavetas ({ }) depois do nome do comando. Alguns suportam par-
metros opcionais que so adicionados depois do nome do comando, entre
parntesis rectos ([ ]).
\comando[parmetro opcional ]{parmetro}
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 carcter % 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
1.4 Estrutura do Ficheiro 7
O carcter % tambm pode ser utilizado para quebrar linhas longas onde
no so permitidos espaos nem mudanas de linha.
Para comentrios mais longos, pode utilizar o ambiente comment disponi-
bilizado pelo pacote verbatim. Adicione a linha \usepackage{verbatim} ao
prembulo do seu documento, como explicado abaixo, para poder utilizar
este comando.
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,
5
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.
5
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.
6
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. Abra um terminal (shell ou command prompt), mude para a pasta
onde o seu cheiro est (use o comando cd), e execute o L
A
T
E
X no
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. Veja
o cheiro no ecr 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 previewer).
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
6
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
\documentclass[11pt,twoside,a4paper]{article}
que instrue 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).
Tabela 1.1: Classes de Documentos.
article para artigos em jornais cientcos, pequenos relatrios, documenta-
o de programas, convites, . . .
report para relatrios mais longos contendo vrios captulos, pequenos
livros, teses de doutoramento, . . .
book para livros verdadeiros
slides para slides. Esta classe usa letras grandes do tipo sans serif. Deve
considerar utilizar o pacote Beamer. em vez do slides.
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 Instrue 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
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. Inclua o pacote 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.
.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.
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 processamento.
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
.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. Veja o seu contedo com um programa de visualizao de DVI
ou converta-o para outro formato, por exemplo com a aplicao dvips.
.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 proces-
sado com o makeindex. Visite a seco 4.3 na pgina 90 para mais
informao 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
pelo comando
\pagestyle{estilo}
A tabela 1.4 lista os estilos de pginas pr-denidos.
1.8 Grandes Projectos 15
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 pgina 92.
1.8 Grandes Projectos
Quando trabalha com documentos grandes, possivelmente gostava de separar
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 indicar
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, apenas
os comandos \include para os cheiros listados no argumento do comando
\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
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 rodap.
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.
16 Coisas Que Precisa de Saber
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
moderna excluda), apresentar ideias, informao ou conhecimento ao
leitor. Este ir compreender melhor o texto se estas ideias estiverem bem
estruturadas, 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 quebras de linha, por exemplo com
\\, e quebras 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, a quebra deve ser removida. Se alguma linha
de pensamento completamente nova ocorre no mesmo pargrafo, ento a
linha deve ser quebrada.
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
quebras de pargrafos bem colocadas. Muitas pessoas nem sequer saber o
signicado duma quebra de pargrafo, e, especialmente em L
A
T
E
X, introduzem
pargrafos sem saber. Este erro especialmente fcil de fazer se forem
utilizadas 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 no se preocupe, 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 estende-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 bvio
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
necessrios entre palavras optimizando os contedos de um pargrafo, como
um todo. Se necessrio, ele tambm hifeniza as palavras que no cabem
confortavelmente numa linha. Como os pargrafos so impressos depende da
classe do documento. Normalmente a primeira linha do pargrafo indentada,
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 forada.
\newpage
inicia uma nova pgina.
\linebreak[n], \nolinebreak[n], \pagebreak[n], \nopagebreak[n]
sugerem stios onde uma quebra pode (ou no pode) ocorrer. Permitem ao
autor inuenciar inuencie as suas aces com um argumento opcional n que
3
NT: e portugus
20 Escrever Texto
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.
4
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 hifenizao
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
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 hifenizao
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.
4
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.3 Texto j Feito 21
O seguinte exemplo permitir que hifenizao seja hifenizado to bem
como Hifenizao, e previne de todo que FORTRAN, Fortran e fortran
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 espe-
ciais (por exemplo, caracteres acentuados), porque o L
A
T
E
X no hifeniza
automaticamente 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 : supercalifragilisticexpial-
idocious
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 mudar
brevemente para \mbox{291 2319}.
O parmetro
\mbox{\emph{filename}} dever
conter o nome do ficheiro.
O meu nmero de telefone mudar breve-
mente para 291 2319.
O parmetro lename dever conter o
nome do cheiro.
O comando \fbox idntico ao \mbox, mas adiciona um rectngulo
desenhado volta do contedo.
2.3 Texto j Feito
Em alguns dos exemplos nas pginas anteriores dever ter visto alguns
comandos L
A
T
E
X muito simples para escrever texto especial:
Comando Exemplo Descrio
\today 20 de Maio de 2011 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
22 Escrever Texto
2.4 Smbolos e Caracteres Especiais
2.4.1 Aspas
No deve utilizar o carcter " para desenhar aspas como o faria numa
mquina 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.
Pressione a tecla x. 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 Hfenes
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.3 Til ()
Um carcter visto frequentemente em endereos de Internet o til. Para gerar
este smbolo em L
A
T
E
X pode usar \~ mas o resultado: no propriamente
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 Smbolos e Caracteres Especiais 23
2.4.4 Barra (/)
De modo a escrever uma barra entre duas palavras, pode usar simplesmente
ler/escrever, mas isto faz com que o L
A
T
E
X considere toda a sequncia
como uma nica palavra, desactivando a hifenizao. Para resolver este
problema, use \slash. Por exemplo, escreva read\slash write que ir
permitir a hifenizao. No entanto, continue a preferir o carcter / normal
para rcios de unidades, por exemplo, 5 MB/s.
2.4.5 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 ou em combinao com o C, usando \textcelsius.
30 \textcelsius{} so
86 \textdegree{}F.
30 so 86 F.
2.4.6 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
Tabela 2.1: Um saco cheio de smbolos de Euro
LM+textcomp \texteuro
eurosym \euro e e e
[gen]eurosym \euro AC AC AC
2.4.7 Reticncias (. . . )
Numa mquina de escrever, uma vrgula ou um ponto ocupam o mesmo
espao de qualquer outra letra. Ao imprimir livros, estes caracteres ocupam
apenas um pequeno espao e so colocados muito prximos letra precedente.
Desta forma, introduzindo reticncias como sendo simplesmente trs pontos
ir produzir o resultado errado. Em vez disso, existe 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.8 Ligaduras
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 ligaduras 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.9 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
5
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 compli-
cado. 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.
5
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 carcter 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 caracteres
especiais directamente pelo teclado. Para conseguir manusear uma variedade
de smbolos usados nos diferentes grupos de lnguas e/ou nas diferentes
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:
6
6
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
O uso de
\usepackage[utf8]{inputenc}
ir permitir que crie documentos L
A
T
E
X em utf8, uma codicao multi-byte
na qual cada caracter pode ser codicado no mnimo como um byte e, no
mximo, quatro bytes.
Desde a pasagem do sculo que a maior parte dos sistemas operativos so
baseados em Unicode (Windows XP, Mac OS X). Da que seja recomandado
o uso de utf8 para qualquer novo projecto. A codicao utf8 usada pelo
pacote inputenc apenas dene os caracteres que so realmente suportados
pelos tipos de letra usados. Se precisar de mais caracteres (no latinos),
considere usar o X
E
L
A
T
E
X (veja a seco 4.8, um motor T
E
X baseado em
Unicode).
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 letra
originais do T
E
X: Computer Modern. Contm apenas 128 caracteres do
conjunto de caracteres ASCII de 7 bits. Quando os caracteres acentuados
so necessrios, o T
E
X cria-os combinando um caracter normal com o acento.
Embora o resultado parea perfeito, este mtodo pra a hifenizao auto-
mtica 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
28 Escrever Texto
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.
7
O conjunto CB contm letras na codicao LGR para
a composio de texto Grego.
Ao usar estes tipos de letra pode melhorar/activar a hifenizao de textos
no Ingleses. Outra vantagem que estes tipos de letra providenciam as
familias CM em todos os seus formatos, e tamanhos opticalmente aumentados.
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 Kapitel.
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
7
A lista de lnguas suportadas por cada uma destas codicaes pode ser encontrada
no [10].
2.5 Suporte de Lnguas Internacionais 29
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.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 portugusa.
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.
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 processamento,
aparecer uma janela com vrias opes. Escolha a opo de hifenizao
(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
habituado a usar este editor, tecle / seguido de portuges. O cursor aparecer
sobre uma linha da forma:
%portuges pt8hyph.tex
Repare no smbolo de comentrio (smbolo de percentagem). Se existe,
signica que a hifenizao portuguesa est desligada. Se seguiu as instruces
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).
30 Escrever Texto
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[francais]{babel}
Esta opo inicia a hifenizao Francesa, se tiver o seu LaTeX congurado
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 francais do pacote babel
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.
Verses recentes do pacote frenchb usam o numprint para implementar o
comando \nombre.
2.5.4 Suporte para Coreano
8
Para usar o L
A
T
E
X para escrever Coreano, precisamos de resolver trs proble-
mas:
8
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 traduo do lshort para
Coreano. Foi traduzida para Ingls por SHIN Jungshik e encolhida por Tobi Oetiker.
2.5 Suporte de Lnguas Internacionais 31
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
codicaes mais usadas para textos em Coreano so EUC-KR e a sua
extenso 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 compatveis
como a ISO-8859-x, EUC-JP, Big5 ou Shift_JIS. Por outro lado, slabas
Hangul, Hanjas (caracteres Chineses usados na Coreia), Hangul Jamos,
Hiraganas, Katakanas, Grego e caracteres Cirlicos e outros 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 trabalho considervel para
criar um ambiente Coreano num sistema operativo 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 internacionalizao 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 me-
nos de 256 caracteres no seu alfabeto. Para os fazer funcionar para
lnguas com consideravelmente mais caracteres como o Coreano
9
ou
Chins, 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
9
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 individual
tem de ser colocado em caixas rectangulares com um tamanho similar ao dos caracteres
Chineses. Cada caixa representa uma slaba. Um nmero ilimitado de slabas pode ser
formado deste conjunto nito de vogais e consoantes. Os standards modernos da ortograa
Coreana (na Coreia do Sul e na Coreia do Norte), colocam algumas restries na formao
destas caixas. Assim, apenas um conjunto nito de silabas 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). O Hangul passa a ser tratado como
nos sistemas de escrita do Chins ou do Japons, 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 adio total codicao das slibas ortogracamente
permitidas em Coreano moderno (http://www.unicode.org/charts/PDF/UAC00.pdf). Um
dos maiores desaos na tipograa 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, eventualmente, providenciar solues para isto.
32 Escrever Texto
trs pacotes bastante usados; HL
A
T
E
X por UN Koaunghi, hL
A
T
E
Xp por
CHA Jaechoon e o pacote CJK por Werner Lemberg.
10
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 codicado 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, Japons
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 Coreana
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 distribuio
HL
A
T
E
X inclui tipos de letra UHC PostScript de 10 famlias diferentes
e tipos Munhwabu
11
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 captulos,
seces, seces, ndices de contedos ou guras, todos eles iro ser traduzidos
para Coreano, e a formatao do documento ir seguir as convenes Coreanas.
O pacote tambm contempla uma seleco de partculas automtica. Em
Coreano, existem pares de partculas ps-xas gramaticamente 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 mudar ao editar o documento.
Esta seleco de partculas manual gera algum esforo em colocar as partculas
cada vez que adiciona ou remove referncias ou simplesmente baralha alguma
10
Podem ser obtidos em language/korean/HLaTeX/
language/korean/CJK/ e http://knot.kaist.ac.kr/htex/
11
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}
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.
12
Um conjunto de novos comandos cam disponveis, que lhe permite
escrever 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
argumento que colocado no documento nal com a codicao correcta.
Para zonas de maior dimenso pode usar o comando \selectlanguage{...}
descrito numa seco anterior. Veja a tabela 2.6 para alguma pontuao
Grega. Para o smbolo do Euro use \euro.
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.
12
Se seleccionar a opo utf8x para o pacote inputenc pode digitar directamente
caracteres Unicode gregos e politnicos gregos.
34 Escrever Texto
Tabela 2.6: Caracteres Especiais Gregos.
; ? ;
(( ))

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:
13
\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
omisso 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 escre-
ver de acordo com os standards das lnguas Bulgara, Russa ou Ucraniana.
Para estas trs lnguas, a pontuao especca providenciada: um hifen
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
14
, mas produzem uma letra
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.
13
Se usar os pacotes A
M
S-L
A
T
E
X, carregue-os antes do fontenc e do babel.
14
Os comandos para transformar contadores em letras, como a, b, c, . . .
2.5 Suporte de Lnguas Internacionais 35
Tabela 2.7: As denies extra feitas pelas opes Bulgaro, Russa, e Ucrani-
ana 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
permitindo 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 ).
2.5.7 Suporte para Mongol
Para usar o L
A
T
E
X para escrever em Mongol tem de escolher entre dois
pacotes: Multilingual Babel ou MonT
E
X, por Oliver Cor.
MonT
E
X inclui suporte para cirlico e mongol. Para aceder aos comandos
do MonT
E
X, adicione:
\usepackage[lngua,codicao]{mls}
no prembulo. Escolha a lngua xalx para gerar ttulos e datas em mongol
moderno. Para escrever um documento completo em mongol tradicional,
tem de escolher a lngua bicig. Esta ltima opo activa o mtodo de escrita
baseado em transliterao simplicada.
Active e desactive o modo de transliterao com \SetDocumentEncodingLMC
e \SetDocumentEncodingNeutral.
Mais informao sobre o MonT
E
X est disponvel em CTAN://language/
mongolian/montex/doc.
O cirlico mongol suportado pelo babel. Active o suporte para a lngua
mongol usando os comandos:
\usepackage[T2A]{fontenc}
\usepackage[mn]{inputenc}
\usepackage[mongolian]{babel}
onde mn a codicao cp1251. Para uma abordagem mais moderna, use
36 Escrever Texto
utf8.
2.5.8 A opo Unicode
By Axel Kielhorn <A.Kielhorn@web.de>
O Unicode o caminho a seguir se precisa de incluir vrias lnguas num
nico documento, especialmente se essas lnguas no usam caracteres latinos.
Existem dois motores que so capazes de processar caracteres em Unicode:
X
E
T
E
X , desenvolvido para Mac OS X, mas actualmente disponvel para
todas as arquitecturas. Foi includo pela primeira vez no T
E
XLive 2007.
LuaT
E
X , o sucessor do pdfT
E
X. Foi includo pela primeira vez no T
E
XLive
2008.
De seguida descreve-se o X
E
L
A
T
E
X, tal como distribudo com o T
E
XLive
2010.
Incio Rpido
Para converter um documento L
A
T
E
X para X
E
L
A
T
E
X, deve seguir estes passos:
1. Grave o cheiro em UTF-8;
2. Remova estes pacotes do prembulo do documento:
\usepackage{inputenc}
\usepackage{fontenc}
\usepackage{textcomp}
3. Altere
\usepackage[lnguaA]{babel}
para
\usepackage{polyglossia}
\setdefaultlanguage[babelshorthands]{lnguaA}
4. Adicione ao prembulo,
\usepackage[Ligatures=TeX]{fontspec}
2.5 Suporte de Lnguas Internacionais 37
O pacote polyglossia[19] um substituto para o babel. Trata dos padres
de hifenizao, e gera texto na lngua de destino de forma automtica. A
opo babelshorthands activa atalhos compatveis com o do babel para
alemo e catalo.
O pacote fontspec[21] responsvel por carregar os tipos de letra para o
X
E
L
A
T
E
X e LuaT
E
X. O tipo usado por omisso o Latin Modern Roman.
sabido que alguns comandos T
E
X so ligaduras denidas nos tipos de letra
Computer Modern. Se as quiser usar com um tipo de letra no-T
E
X, tem de
as falsicar. A opo Ligatures=TeX dene as seguintes ligaduras:
-- ---

! ?
,, <<
>>
tudo para mim
At agora, no tiramos nenhuma vantagem do facto de estarmos a utilizar
um motor T
E
X Unicode. Isto muda quando deixamos os caracteres latinos,
e mudamos para uma lngua mais interessante, como o grego ou o russo.
Com um sistema baseado em Unicode, pode, simplesmente
15
introduzir os
caracteres no seu editor, e o T
E
X ir compreend-los.
Escrever em vrias lnguas simples, basta especicar as lnguas no
prembulo:
\setdefaultlanguage{english}
\setotherlanguage[babelshorthands]{german}
Para escrever um pargrafo em alemo, pode usar o ambiente german:
English text.
\begin{german}
Deutscher Text.
\end{german}
More English text.
Se s precisa de uma palavra numa lngua estrangeira, pode usar o
comando \textlngua:
English text. \textgerman{Gesundheit} is actually a German word.
Isto poder parecer desnecessrio uma vez que a nica vantagem a
15
Para pequenos valores de simples.
38 Escrever Texto
hifenizao correcta, mas quando a segunda lngua um pouco mais extica,
valer o esforo.
Por vezes, o tipo de letra usado no documento principal no contm os
glifos que so necessrios na segunda lngua
16
. A soluo denir um tipo
de letra que ser usado para essa lngua. Sempre que uma nova lngua
activada, polyglossia ir primeiro vericar se existe um tipo de letra denido
para essa lngua.
\newfontfamily\russianfont[Script=Cyrillic,(...)]{(font)}
E agora, pode escrever
\textrussian{Pravda} um jornal Russo.
Uma vez que este documento est escrito numa codicao baseada em
Latin1, no posso mostrar as letras cirlicas propriamente ditas.
O pacote xgreek[22] oferece suporte para escrever em grego antigo ou
moderno (monotnico ou politnico).
Da direita para a esquerda (RTL)
Algumas lnguas so escritas da esquerda para a direita, e outras so escritas
da direita para a esquerda (RTL). O polyglossia precisa do pacote bidi[23]
17
para suportar lnguas RTL. O pacote deve ser o ltimo pacote a ser includo,
mesmo depois do pacote hyperref que, habitualmente, o ltimo pacote (e
uma vez que o pacote polyglossia inclui o pacote bidi, signica que o polyglossia
deve ser o ltimo pacote a ser includo).
O pacote xpersian[?] oferece suporte para a lngua persa. Disponibiliza
comandos L
A
T
E
X que permitem a introduo de comandos como \section em
persa, o que torna esta ferramenta bastante atractiva para falantes nativos.
O xepersian o nico pacote que suporta kashida com X
E
L
A
T
E
X. Um pacote
para Srio que usa um algoritmo semelhante est a ser desenvolvido.
O tipo de letra IranNastaliq, disponibilizado pelo SCICT
18
est disponvel
no seu stio web: http://www.scict.ir/Portal/Home/Default.aspx.
O pacote arabxetex[20] suporta vrias lnguas com caracteres rabes:
rabe, persa, urdu, sindi, pashto, otomano (turco), curdo, kashmiri, malaio
(jawi), uigur.
Oferece mapeamentos de tipo de letra que permite ao X
E
L
A
T
E
X processar
texto usando a transcrio ASCII ArabT
E
X.
Os tipos que suportam vrias lnguas rabes so oferecidos pelo IRMUG
19
em http://wiki.irmug.org/index.php/X_Series_2.
16
O tipo Latin Modern no inclui letra cirlicas
17
O bidi no suporta LuaT
E
X.
18
Conclio Supremo de Informao e Tecnologia da Comunicao
19
Grupo de Utilizadores Mac Iranianos
2.6 O Espao entre Palavras 39
No existem pacotes disponveis para hebreu porque no necessrio.
O suporte para hebreu presente no polyglossia deve ser suciente. Mas, se
precisar de um tipo de letra Unicode para hebrew, tente o SBL Hebrew.
livre para uso no comercial, e est disponvel em +http://www.sbl-site.
org/educational/biblicalfonts.aspx. Outro tipo de letra disponvel
sob a licena Open Font Ezra SIL, disponvel em http://www.sil.org/
computing/catalog/show_software.asp?id=76.
Lembre-se de seleccionar o tipo correcto:
\newfontfamily\hebrewfont[Script=Hebrew]{SBL Hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}
Chins, Japons e Coreano (CJK)
O pacote xeCJK[25] trata da seleco de tipo de letra e pontuao destas
lnguas.
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
documento. 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,
adicionalmente, 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.
O Sr~Smith estava contente.\\
conforme a fig.~5\\
Eu gosto de BASIC\@. E tu?
O Sr Smith estava contente.
conforme 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
40 Escrever Texto
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 seces, a numerao e o tamanho de letra dos ttulos sero colocados
automaticamente pelo L
A
T
E
X.
Dois destes comandos so ligeiramente especiais:
O comando \part no inuencia a numerao de sequncia dos captu-
los;
O comando \appendix no leva nenhum argumento. Apenas muda a
numerao de captulos para letras.
20
20
Para o estilo article, muda a numerao de seces.
2.7 Ttulos, Captulos e Seces 41
O L
A
T
E
X cria uma 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.
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


adicionais para serem utilizados na classe book. So teis para dividir a
publicao. 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 do-
cumento (\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
42 Escrever Texto
\chapter*{Prefcio}) mas as seces continuaro a aparecer no n-
dice de contedos.
\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 substitui
\ref pelo nmero da seco, subseco, gura, tabela ou teorema aps o
respectivo comando \label que foi invocado. O \pageref imprime o nmero
da pgina onde o comando \label ocorreu.
21
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 42.
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
22
aps a palavra qual a frase se refere. Notas de rodap
21
Note que estes comandos no sabem a que que se referem. O \label apenas grava o
ltimo nmero gerado.
22
postas pode ser uma forma do verbo pr ou apenas bocados de peixe.
2.10 Palavras Realadas 43
que se referem a frases ou partes delas, devem ser colocadas aps a vrgula
ou ponto.
23
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
importantes so salientadas sublinhando-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.
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.
23
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?
24
24
Uma carta no vai necessariamente para onde est endereada :-).
44 Escrever Texto
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:\ldots
\begin{description}
\item[Estpido] um texto no se
transformar em algo inteligente
ao ser listado.
\item[Interessante] mas 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:. . .
Estpido um texto no se
transformar em algo
inteligente ao ser listado.
Interessante mas pode ser
apresentado lindamente numa
lista.
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.
2.11 Ambientes 45
\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 comprimento
de uma linha :
Em mdia, nenhuma linha de-
ver 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 pargrafos,
porque os ir indentar. O ambiente verse til para poemas onde as
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
46 Escrever Texto
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 conseguido
com
\verb+texto+
O sinal + apenas um exemplo de um delimitador. Pode utilizar qualquer
carcter excepto letras, *, ou um espao. A maior parte dos exemplos L
A
T
E
X
so escritos com este comando.
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 dentro
de parmetros de outros comandos.
2.11 Ambientes 47
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. Adicione linhas
parciais usando \cline{,-i}, onde , e i so os nmeros das colunas de onde
e para onde a linha se deve estender.
\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 sinceramente
que se divirta com o espect-
culo.
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
48 Escrever Texto
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,
25
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
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!
25
Se tiver o pacote de pacotes tools instalado no sistema, d uma olhadela ao pacote
dcolumn.
2.12 Corpos Flutuantes 49
Texto escrito no ambiente tabular ca sempre junto numa nica pgina.
Se quer escrever tabelas longas, possivelmente dever dar uma olhadela ao
pacote longtable.
Por vezes as tabelas em L
A
T
E
X parecem um bocado apertadas. Se lhe
quiser dar mais espao, altere os valores das variveis \arraystretch e
\tabcolsep.
\begin{tabular}{|l|}
\hline
Estas linhas\\\hline
esto apertadas\\\hline
\end{tabular}
{\renewcommand{\arraystretch}{1.5}
\renewcommand{\tabcolsep}{0.2cm}
\begin{tabular}{|l|}
\hline
modelo de tabela\\\hline
menos constrangido\\\hline
\end{tabular}}
Estas linhas
esto apertadas
modelo de tabela
menos constrangido
Se quiser apenas aumentar a altura de uma linha da sua tabela, adicione
uma barra vertical invisvelNos meios prossionais de tipograa, a estes
objectos chamado strut.. Use o valor zero como largura da rgua \rule
para implementar este truque.
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Pitprop \ldots\\
\hline
\rule{0pt}{4ex}Strut\\
\hline
\end{tabular}
Pitprop . . .
Strut
O pt e em no exemplo acima so unidades T
E
X. Leia mais sobre unidades
na tabela 6.5 na pgina 138.
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
50 Escrever Texto
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
aproximada 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
apresenta para corpos utuantes:
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.
Por exemplo, 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
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
internos
a
que podem fazer com que o corpo u-
tuante no seja colocado.
a
Como o nmero mximo destes objectos permitidos por pgina.
2.12 Corpos Flutuantes 51
actual, ser enviado para a la de espera correspondente
26
(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 ocorra no texto ser enviado para a la de espera. O L
A
T
E
X mantm
estritamente 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 espera-
va 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 nicos,
isto causa problemas. Se o objecto no cabe na localizao pretendida, ca
preso, a bloquear os objectos seguintes. Em particular, nunca deve utilizar
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. Tenha em ateno que o comando \label deve ser invocado
26
Estas las so FIFOrst in rst out, o primeiro a entrar o primeiro a sair
52 Escrever Texto
depois do comando \caption (ou dentro dele), para que o L
A
T
E
X possa
referenciar o nmero dessa legenda.
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}[!htbp]
\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}}
\caption{Cinco por Cinco em Centmetros.\label{branco}}
\end{figure}
No exemplo anterior, o L
A
T
E
X ir tentar mesmo (!) colocar a gura jus-
tamente aqui ( h ).
27
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
X
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, e passaro
a funcionar correctamente, mesmo em argumento que se movem.
27
assumindo que a la de espera de guras est vazia.
2.13 Protegendo Comandos Frgeis 53
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}}
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
contemplado no A
M
S-L
A
T
E
X
3.1 Os Pacotes A
M
S-L
A
T
E
X
Se precisa de escrever matemtica (avanada) de forma prossional, deve
usar o A
M
S-L
A
T
E
X. Os A
M
S-L
A
T
E
X uma coleco de pacotes e classes
para a escrita matemtica. Ns vamos essencialmente lidar com o pacote
amsmath que faz parte deste conjunto. O A
M
S-L
A
T
E
X produzido pela
Sociedade Americana para a Matemtica, e bastante usada na escrita
matemtica. O L
A
T
E
X, por si s, providencia algumas funcionalidades bsicas
e ambientes para a matemtica, mas so limitados (ou ento, ao contrrio:
o A
M
S-L
A
T
E
X ilimitado!) e em alguns casos inconsistente.
O A
M
S-L
A
T
E
X est disponvel em todas as distribuies recentes de
L
A
T
E
X.
1
Neste captulo vamos assumir que o pacote amsmath foi importado
no prembulo; \usepackage{amsmath}.
3.2 Frmulas Simples
Uma frmula matemtica pode ser escrita numa linha, em contexto com o
resto da frase (estilo texto), ou o pargrafo pode ser dividido, colocando a
frmula em destaque (estilo montra). As frmulas dentro de um pargrafo
so introduzidas como entre $ e $:
1
Se o seu no o inclui, visite CTAN://macros/latex/required/amslatex.
56 Frmulas Matemticas
Adicione $a$ ao quadrado e $b$
ao quadrado para obter $c$ ao
quadrado. Ou, usando uma
frmula matemtica:
$a^2 + b^2 = c^2$
Adicione o ao quadrado e / ao quadrado
para obter c ao quadrado. Ou, usando
uma frmula matemtica: o
2
+ /
2
= c
2
\TeX{} pronunciado como
$\tau\epsilon\chi$.\\[5pt]
100~m$^{3}$ de gua\\[5pt]
Isto vem do meu $\heartsuit$
T
E
X pronunciado como c.
100 m
3
de gua
Isto vem do meu
Se precisar de usar frmulas maiores, para serem apresentadas parte
do resto do pargrafo, prefervel mostr-la. Para fazer isto, deve colocar o c-
digo da sua frmula matemtica entre \begin{equation} e \end{equation}.
2
Depois, pode adicionar uma etiqueta (\label), de modo a que a frmula
seja numerada, e possa referir-se a ela em qualquer stio do texto, usando o
comando \eqref. Se quiser dar um nome especco frmula, use o comando
\tag.
Adicione $a$ ao quadrado e $b$
ao quadrado para obter $c$ ao
quadrado. Ou, usando uma
frmula matemtica:
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
Einstein diz que
\begin{equation}
E = mc^2 \label{esperto}
\end{equation}
Ele no disse
\begin{equation}
1 + 1 = 3 \tag{palerma}
\end{equation}
Esta uma referncia a
\eqref{esperto}.
Adicione o ao quadrado e / ao quadrado
para obter c ao quadrado. Ou, usando
uma frmula matemtica:
o
2
+ /
2
= c
2
(3.1)
Einstein diz que
1 = :c
2
(3.2)
Ele no disse
1 + 1 = 3 (palerma)
Esta uma referncia a (3.2).
Se no quiser que o L
A
T
E
X numere as frmulas, use a sua verso estrelada
do equation, adicionando um asterisco, equation*, ou ainda mais simples,
inclua a frmula entre \[ e \]:
3
2
Este um comando amsmath. Se no tiver acesso a este pacote por alguma razo
obscura, pode usar o ambiente do prprio L
A
T
E
X denominado displaymath.
3
Esta funcionalidade , de novo, do amsmath. O L
A
T
E
X standard s tem a verso de
equation sem o asterisco.
3.2 Frmulas Simples 57
Adicione $a$ ao quadrado e
$b$ ao quadrado para obter
$c$ ao quadrado. Usando uma
aboragem matemtica
\begin{equation*}
a^2 + b^2 = c^2
\end{equation*}
ou pode escrever menos com o
mesmo efeito:
\[ a^2 + b^2 = c^2 \]
Adicione o ao quadrado e / ao quadrado
para obter c ao quadrado. Usando uma
aboragem matemtica
o
2
+ /
2
= c
2
ou pode escrever menos com o mesmo
efeito:
o
2
+ /
2
= c
2
Enquanto que o uso de \[ e \] curto, no permite a fcil troca entre a
verso numerada e a no numerada, como ao usar equation e equation*.
Note a diferena de estilo tipogrco entre frmulas em estilo texto e
estilo montra:
Estilo texto:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$.
E este o estilo montra:
\begin{equation}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{equation}
Estilo texto: lim
n

n
k=1
1
k
2
=

2
6
. E
este o estilo montra:
lim
n
n

k=1
1
/
2
=

2
6
(3.3)
Em estilo texto, coloque expresses matemticas altas ou fundas, ou sub
expresses, dentro de \smash. Isto faz com que o L
A
T
E
X ignore a altura
destas expresses, mantendo o espaamento.
A expresso $d_{e_{e_p}}$ seguida
da expresso $h^{i^{g^h}}$,
comparada com a verso amassada
da expresso \smash{$d_{e_{e_p}}$}
seguida pela expresso
\smash{$h^{i^{g^h}}$}.
A expresso d
e
e
p
seguida da expresso /
i
g
h
,
comparada com a verso amassada da ex-
presso d
e
e
p
seguida pela expresso /
i
g
h
.
3.2.1 Modo Matemtico
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 (voltaremos a este assunto mais tarde,
na seco 3.7).
58 Frmulas Matemticas
2. Linhas em branco no so permitidas. Apenas um pargrafo por
frmula.
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 \text{...} (veja tambm
a seco 3.9 na pgina 73).
$\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0$ r R : r
2
0
$x^{2} \geq 0\qquad
\text{para todo }x\in\mathbf{R}$ r
2
0 para todo r R
Os matemticos podem ser muito esquisitos com os smbolos que usam:
aqui ser convencionado usar o blackboard bold, que obtidos usando
\mathbb do pacote amssymb.
4
O ltimo exemplo pode ser traduzido em
$x^{2} \geq 0\qquad
\text{para todo }x\in\mathbb{R}$
r
2
0 para todo r 1
Consulte a tabela 3.14 na pgina 83 e a tabela 6.4 na pgina 133 para
mais tipos de letra em modo matemtico.
3.3 Construindo Blocos de Frmulas
Matemticas
Nesta seco sero descritos os comandos mais importantes usados em
impresses matemticas. A maior parte dos comandos nesta seco no
precisam do pacote amsmath (se precisarem, sero claramente indicado), mas
importe-o de qualquer modo.
As letras gregas minsculas so introduzidas como \alpha, \beta,
\gamma, . . . , as maisculas, so introduzidas como \Gamma, \Delta, . . .
5
Consulte a tabela 3.2 na pgina 79 para uma lista de todas as letras
gregas disponveis.
4
O amssymb no faz parte do conjunto de pacotes do A
M
S-L
A
T
E
X, mas ainda deve fazer
parte da sua distribuio de L
A
T
E
X. Verique-o, ou visite CTAN:/fonts/amsfonts/latex/
para o obter.
5
No existem os comandos Alpha ou Beta maisculos denidos em L
A
T
E
X2

porque so
idnticas s letras normais romanas, A, B. . .
3.3 Construindo Blocos de Frmulas Matemticas 59
$\lambda,\xi,\pi,\theta,
\mu,\Phi,\Omega,\Delta$
, , , , j, , ,
Expoentes e ndices (subscritos ou sobrescritos) podem ser especi-
cados usando os caracteres ^ e _. A maior parte dos comandos matemticos
s actuam no carcter seguinte. Se precisar que o comando afecte vrios
comandos, ter de os agrupar usando chavetas: {...}.
A tabela 3.3 na pgina 80 lista vrios smbolos para relaes binrias,
como e jc:j.
$p^3_{ij} \qquad
m_\text{Knuth}\qquad
\sum_{k=1}^3 k \\[5pt]
a^x+y \neq a^{x+y}\qquad
e^{x^2} \neq {e^x}^2$
j
3
ij
:
Knuth

3
k=1
/
o
x
+ j ,= o
x+y
c
x
2
,= c
x2
A raiz quadrada introduzida como \sqrt; a raiz de ndice n gerada
com \sqrt[n]. O tamanho do sinal de raiz determinado automaticamente
pelo L
A
T
E
X. se apenas precisa do smbolo, deve utilizar \surd.
Consulte a tabela 3.6 na pgina 81 e veja os diferentes tipos de setas
como e = suportados pelo L
A
T
E
X.
$\sqrt{x} \Leftrightarrow x^{1/2}
\quad \sqrt[3]{2}
\quad \sqrt{x^{2} + \sqrt{y}}
\quad \surd[x^2 + y^2]$

r r
1/2 3

2
_
r
2
+

j

[r
2
+j
2
]
Embora o smbolo dot se use para indicar a operao de multiplicao
e seja habitualmente omitido, por vezes importante utiliz-lo, de modo
a facilitar a percepo da frmula. Use \cdot para desenhar um ponto
centrado. \cdots so trs pontos centrados, enquanto \ldots coloca os
pontos ao nvel das letras (baseline). Alm disso, existem os \vdots para
pontos verticais e \ddots para pontos na diagonal. Existem mais exemplos
na seco 3.6.
$\Psi = v_1 \cdot v_2
\cdot \ldots \qquad
n! = 1 \cdot 2
\cdots (n-1) \cdot n$
=
1

2
. . . n! = 1 2 (n 1) n
Os comandos \overline e \underline criam linhas horizontais direc-
tamente por cima ou por baixo de uma expresso:
$0.\overline{3} =
\underline{\underline{1/3}}$
0.3 = 1,3
60 Frmulas Matemticas
Os comandos \overbrace e \underbrace criam chavetas horizontais
longas por cima ou por baixo de uma expresso:
$\underbrace{\overbrace{a+b+c}^6
\cdot \overbrace{d+e+f}^9}
_\text{sentido da vida} = 42$
6
..
o + / + c
9
..
d + c + )
. .
sentido da vida
= 42
Para adicionar acentos matemticos, tais como pequenas setas ou
sinais til a variveis, pode usar os comandos apresentados na tabela 3.1 da
pgina 79. Chapus largos e sinais til a cobrir vrios caracteres so gerados
com \widetilde e \widehat. Repare na diferena entre \hat e \widehat e
o modo como o \bar colocado para variveis com subscritos. A marca de
apstrofe gera o smbolo de derivada:
$f(x) = x^2 \qquad f(x)
= 2x \qquad f(x) = 2\\[5pt]
\hat{XY} \quad \widehat{XY}
\quad \bar{x_0} \quad \bar{x}_0$
)(r) = r
2
)

(r) = 2r )

(r) = 2

AY

AY r
0
r
0
Os Vectores so habitualmente especicados adicionando uma pequena
seta no topo das variveis. Isto pode ser feito com o comando \vec. Os
dois comandos \overrightarrow e \overleftarrow so teis para desenhar
vectores de para 1:
$\vec{a} \qquad
\vec{AB} \qquad
\overrightarrow{AB}$
o

1

1
Os nomes de funes matemticas so, habitualmente, escritos em tipo
de letra vertical, e no em itlico, como as variveis. Por isso, o L
A
T
E
X
disponibiliza os seguintes comandos para escrever as funes matemticas
mais comuns:
\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
\begin{equation*}
\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1
\end{equation*}
lim
x0
sin r
r
= 1
Para funes que possam no estar disponveis na lista apresentada, use
o comando \DeclareMathOperator. Existe tambm uma verso estrelada
3.3 Construindo Blocos de Frmulas Matemticas 61
para funes com limites. Este comando s funciona no prembulo, da
que as linhas comentadas no seguinte exemplo devem ser colocados (sem os
comentrios) no prembulo do documento.
%\DeclareMathOperator{\argh}{argh}
%\DeclareMathOperator*{\nut}{Nut}
\begin{equation*}
3\argh = 2\nut_{x=1}
\end{equation*}
3 argh = 2 Nut
x=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{...}{...}. Em frmulas
em modo texto, a fraco apertada para caber na linha. Este estilo tambm
pode ser usado em estilo montra com o comando \tfrac. O contrrio, isto , o
estilo montra no meio do texto, conseguido usando \dfrac. Frequentemente
a forma 1,2 prefervel, porque ca melhor para pequenas fraces:
No estilo montra:
\begin{equation*}
3/8 \qquad \frac{3}{8}
\qquad \tfrac{3}{8}
\end{equation*}
No estilo montra:
3,8
3
8
3
8
No estilo texto:
$1\frac{1}{2}$~horas \qquad
$1\dfrac{1}{2}$~horas
No estilo texto: 1
1
2
horas 1
1
2
horas
Aqui o comando \partial usado para representar derivadas parciais:
\begin{equation*}
\sqrt{\frac{x^2}{k+1}}\qquad
x^\frac{2}{k+1}\qquad
\frac{\partial^2f}
{\partial x^2}
\end{equation*}
_
r
2
/ + 1
r
2
k+1

2
)
r
2
Para escrever coecientes binomiais ou estruturas similares, use o comando
\binom do pacote amsmath:
62 Frmulas Matemticas
A regra de Pascal
\begin{equation*}
\binom{n}{k} =\binom{n-1}{k}
+ \binom{n-1}{k-1}
\end{equation*}
A regra de Pascal
_
n
/
_
=
_
n 1
/
_
+
_
n 1
/ 1
_
Para relaes binrias pode ser til colocar smbolos uns por cima de
outros. O comando \stackrel{#1}{#2} coloca o smbolo dado no primeiro
argumento (#1) num tamanho parecido com o sobrescrito, sobre o argumento
dado em segundo lugar (#2), que desenhado na sua posio usual:
\begin{equation*}
f_n(x) \stackrel{*}{\approx} 1
\end{equation*}
)
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 subescritos e os sobrescritos:
\begin{equation*}
\sum_{i=1}^n \qquad
\int_0^{\frac{\pi}{2}} \qquad
\prod_\epsilon
\end{equation*}
n

i=1
_
2
0

Para ter maior controlo sobre a colocao de ndices em expresses


complexas, o pacote amsmath providencia o comando \substack:
\begin{equation*}
\sum^n_{\substack{0<i<n \\
j\subseteq i}}
P(i,j) = Q(i,j)
\end{equation*}
n

0<i<n
ji
1(i, ,) = Q(i, ,)
O L
A
T
E
X coloca disposio todo o tipo de smbolos para parntesis e
outros delimitadores (por exemplo [ | ). Parntesis curvos e rectangulares
podem ser introduzidos nas teclas correspondentes e as chavetas com \{,
mas todos os outros delimitadores so gerados com comandos especiais
(e.g. \updownarrow).
\begin{equation*}
{a,b,c} \neq \{a,b,c\}
\end{equation*}
o, /, c ,= o, /, c
Se colocar o comando \left antes do delimitador que abre ou um \right
antes do delimitador que fecha, o L
A
T
E
X ir determinar automaticamente o
3.4 Frmulas Matemticas que so Demasiado Longas: Multilinha 63
tamanho correcto do delimitador. Note que deve fechar cada \left com um
\right correspondente. Se no quer um smbolo direita, use o delimitador
invisvel \right.!
\begin{equation*}
1 + \left(\frac{1}{1-x^{2}}
\right)^3 \qquad
\left. \ddagger \frac{~}{~}\right)
\end{equation*}
1 +
_
1
1 r
2
_
3

_
Em alguns casos necessrio especicar o tamanho correcto de um
delimitador matemtico mo, o que pode ser feito usando os comandos \big,
\Big, \bigg e \Bigg como prexos para a maior partes dos delimitadores:
$\Big((x+1)(x-1)\Big)^{2}$\\
$\big( \Big( \bigg( \Bigg( \quad
\big\} \Big\} \bigg\} \Bigg\} \quad
\big\| \Big\| \bigg\| \Bigg\| \quad
\big\Downarrow \Big\Downarrow
\bigg\Downarrow \Bigg\Downarrow$
_
(r + 1)(r 1)
_
2
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Para uma lista de todos os delimitadores disponveis, consulte a tabela 3.8
na pgina 82.
3.4 Frmulas Matemticas que so Demasiado
Longas: Multilinha
Se uma frmula demasiado longa, temos de a quebrar, de alguma forma.
Infelizmente, frmulas que ocupem mais do que uma linha so, habitualmente,
menos legveis. Para melhorar a leitura e interpretao de frmulas quebradas
em mais que uma linha, existem algumas regras de como o fazer:
1. Geralmente, quebrar sempre antes de um sinal de igualdade ou de um
operador.
2. Quebrar antes de um sinal de igualdade prefervel a quebrar antes de
um operador.
3. Quebrar antes do sinal de adio ou de subtraco prefervel a quebrar
antes do operador de multiplicao.
4. Qualquer outra quebra deve ser evitada a todo o custo.
A forma mais fcil de obter quebras de linha em modo matemtico usando
o ambiente multline:
6
6
O ambiente multline do pacote amsmath.
64 Frmulas Matemticas
\begin{multline}
a + b + c + d + e + f
+ g + h + i
\\
= j + k + l + m + n
\end{multline}
o + / + c + d + c + ) + p + / + i
= , + / + | + : + n (3.4)
A diferena para o ambiente equation, que o ambiente multline permite
quebras de linha arbitrrias, adicionando \\ nos stios em que a frmula
deve ser quebrada. De forma semelhante ao equation*, tambm existe um
multline* que no numera as frmulas.
Habitualmente o ambiente IEEEeqnarray (ver seco 3.5) ir apresentar
melhores resultados. Considere a seguinte situao:
\begin{equation}
a = b + c + d + e + f
+ g + h + i + j
+ k + l + m + n + o + p
\label{eq:formula_muito_grande}
\end{equation}
o = /+c+d+c+)+p+/+i+,+/+|+:+n+o+j
(3.5)
Neste outro exemplo, o lado direito da frmula que no cabe numa linha.
O ambiente multline produz o seguinte resultado:
\begin{multline}
a = b + c + d + e + f
+ g + h + i + j \\
+ k + l + m + n + o + p
\end{multline}
o = / + c + d + c + ) + p + / + i + ,
+ / + | + : + n + o + j (3.6)
Embora melhor que (3.5), tem a desvantagem que o smbolo de igualdade
perde a sua importncia natural em relao aos sinais de adio que seguem
/. A melhor soluo usar o ambiente IEEEeqnarray que ser discutido na
seco 3.5.
3.5 Mltiplas Frmulas
Na situao mais geral, temos uma sequncia de vrias igualdades que no
cabem numa nica linha. Aqui precisamos de trabalhar com o alinhamento
vertical, de modo a manter a lista agradvel e numa estrutura legvel.
Antes de mostrar as nossas sugestes em como o fazer, comeamos por
apresentar alguns maus exemplos que demonstram os maiores problemas em
algumas solues mais comuns.
3.5 Mltiplas Frmulas 65
3.5.1 Problemas com Comandos Tradicionais
Para agrupar vrias frmulas o ambiente align
7
pode ser usado:
\begin{align}
a & = b + c \\
& = d + e
\end{align}
o = / + c (3.7)
= d + c (3.8)
Esta abordagem falha assim que uma linha demasiado comprida:
\begin{align}
a & = b + c \\
& = d + e + f + g + h + i
+ j + k + l \nonumber \\
& + m + n + o \\
& = p + q + r + s
\end{align}
o = / + c (3.9)
= d + c + ) + p + / + i + , + / + |
+ : + n + o (3.10)
= j + + : + : (3.11)
Aqui, + : deve estar por baixo de d e no por baixo do sinal de igualdade.
Claro que podemos adicionar algum espao (\hspace{...}), mas nunca ir
garantir uma organizao precisa (e mau estilo. . . ).
Uma soluo melhor oferecida pelo ambiente eqnarray:
\begin{eqnarray}
a & = & b + c \\
& = & d + e + f + g + h + i
+ j + k + l \nonumber \\
&& +\: m + n + o \\
& = & p + q + r + s
\end{eqnarray}
o = / + c (3.12)
= d + c + ) + p + / + i + , + / + |
+ : + n + o (3.13)
= j + + : + : (3.14)
Esta ainda no ptima, j que os espaos volta do sinal de igualdade
so demasiado grandes. Em particular, no so iguais aos espaos usados
nos ambientes multline e equation:
\begin{eqnarray}
a & = & a = a
\end{eqnarray}
o = o = o (3.15)
. . . e a expresso, por vezes, sobrepe-se ao nmero da frmula, apesar de
haver espao suciente esquerda:
7
O ambiente align pode tambm ser usado para agrupar vrios blocos de frmulas,
uns por baixo dos outros. Um outro caso excelente para o ambiente IEEEeqnarray. Teste
um argumento como {rCl+rCl}.
66 Frmulas Matemticas
\begin{eqnarray}
a & = & b + c
\\
& = & d + e + f + g + h^2
+ i^2 + j
\label{eqnarray:confuso}
\end{eqnarray}
o = / + c (3.16)
= d + c + ) + p + /
2
+ i
2
+ , (3.17)
Enquanto que o ambiente oferece o comando \lefteqn que pode ser usado
quando o lado esquerdo demasiado longo:
\begin{eqnarray}
\lefteqn{a + b + c + d
+ e + f + g + h}\nonumber\\
& = & i + j + k + l + m
\\
& = & n + o + p + q + r + s
\end{eqnarray}
o + / + c + d + c + ) + p + /
= i + , + / + | + : (3.18)
= n + o + j + + : + : (3.19)
o resultado tambm no ptimo, quando o lado direito demasiado curto,
no cando correctamente centrado:
\begin{eqnarray}
\lefteqn{a + b + c + d
+ e + f + g + h}
\nonumber \\
& = & i + j
\end{eqnarray}
o + / + c + d + c + ) + p + /
= i + , (3.20)
Depois de ter dito mal suciente sobre a concorrncia, posso agora introduzir
o glorioso. . .
3.5.2 Ambiente IEEEeqnarray
O ambiente IEEEeqnarray bastante poderoso, e tem muitas opes. Aqui,
vamos apenas introduzir as suas funcionalidades bsicas. Para mais informa-
o, devem consultar o manual.
8
Antes de mais, de modo que possa utilizar o ambiente IEEEeqnarray,
preciso importar o pacote IEEEtrantools
9
. Inclua a seguinte linha no
prembulo do seu documento:
\usepackage[retainorgcmds]{IEEEtrantools}
8
O manual ocial chamado IEEEtran_HOWTO.pdf. A parte sobre o IEEEeqnarray pode
ser encontrada no Apndice F.
9
O pacote IEEEtrantools pode no estar disponvel no seu sistema, mas pode ser
encontrado no CTAN.
3.5 Mltiplas Frmulas 67
A fora do IEEEeqnarray a sua capacidade de especicar o nmero de
colunas. Habitualmente, esta especicao ser apenas {rCl}, ou seja, trs
colunas, a primeira alinhada direita (r de right), a segunda centrada
com um pouco de espao extra sua volta (C de center, e maisculo
para indicar o espao extra), e a terceira coluna, alinhada esquerda (l de
left):
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& +\: l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
o = / + c (3.21)
= d + c + ) + p + / + i + , + /
+ | + : + n + o (3.22)
= j + + : + : (3.23)
qualquer nmero de colunas pode ser especicado: {c} ir disponibilizar
apenas uma coluna com todas as linhas centradas, ou {rCll} ir adicionar
uma quarta coluna, alinhada esquerda, para comentrios. Mais, alm de
l, c, r, L, C e R para entradas em modo matemtico, tambm existem os
s, t e u para texto alinhado esquerda, centrado, ou direita. Espaos
adicionais podem ser indicados com um ponto ., uma barra / ou um ponto de
interrogao ? (ordenados do espao mais pequeno para o maior).
10
Repare
nos espaos volta dos sinais de igualdade, em comparao com o espao
produzido pelo ambiente eqnarray.
3.5.3 Utilizao Tpica
De seguida apresentaremos como usar o IEEEeqnarray para resolver os
problemas mais comuns.
Se uma linha se sobrepe ao nmero da frmula, como no exemplo (3.17),
o comando
\IEEEeqnarraynumspace
pode ser usado: dever ser adicionado na linha correspondente, e garantir
que toda a frmula ser deslocada para a esquerda, de acordo com a largura
necessria para colocar os nmeros de frmulas: em vez de
10
Para mais tipos de espaamento consulte a seco 3.10.1
68 Frmulas Matemticas
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k
\\
& = & l + m + n
\end{IEEEeqnarray}
o = / + c (3.24)
= d + c + ) + p + / + i + , + / (3.25)
= | + : + n (3.26)
obtemos
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k
\IEEEeqnarraynumspace\\
& = & l + m + n.
\end{IEEEeqnarray}
o = / + c (3.27)
= d + c + ) + p + / + i + , + / (3.28)
= | + : + n. (3.29)
Se o lado esquerdo for demasiado longo, e como substituto do comando
\lefteqn, o IEEEeqnarray oferece o comando \IEEEeqnarraymulticol que
funciona em todas as situaes:
\begin{IEEEeqnarray}{rCl}
\IEEEeqnarraymulticol{3}{l}{
a + b + c + d + e + f
+ g + h
}\nonumber\\ \quad
& = & i + j
\\
& = & k + l + m
\end{IEEEeqnarray}
o + / + c + d + c + ) + p + /
= i + , (3.30)
= / + | + : (3.31)
A sua utilizao semelhante do comando \multicolumns no ambiente
tabular. O primeiro argumento {3} especica que trs colunas devem ser
combinadas numa nica, que ser alinhada esquerda {l}.
Repare que ao inserir comandos \quad podemos facilmente adaptar a
indentao dos sinais de igualdade,
11
e.g.,
\begin{IEEEeqnarray}{rCl}
\IEEEeqnarraymulticol{3}{l}{
a + b + c + d + e + f
+ g + h
}\nonumber\\ \qquad\qquad
& = & i + j
\\
& = & k + l + m
\end{IEEEeqnarray}
o + / + c + d + c + ) + p + /
= i + , (3.32)
= / + | + : (3.33)
11
A minha opinio que um quad a distncia que ca melhor na maioria dos casos.
3.5 Mltiplas Frmulas 69
Se uma frmula est dividida em duas ou mais linhas, o L
A
T
E
X interpreta o
primeiro + ou como um sinal (positivo ou negativo) em vez de o interpretar
como um operador. Da que necessrio adicionar um espao adicional \:
entre o operador e o termo: em vez de
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& + l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
o = / + c (3.34)
= d + c + ) + p + / + i + , + /
+| + : + n + o (3.35)
= j + + : + : (3.36)
deveremos escrever
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& +\: l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
o = / + c (3.37)
= d + c + ) + p + / + i + , + /
+ | + : + n + o (3.38)
= j + + : + : (3.39)
Repare na diferena de espaamento entre o + e o |!.
Por vezes o espaamento funciona automaticamente, e.g., quando segue
um nome de funo, como \log, \sin, \det, \max, etc.,
um integral \int ou soma \sum,
um qualquer parentesis com tamanho adaptativo usando \left e
\right (em contrapartida os parentesis normais ou de tamanho xo,
como \big(, no tero espao),
o + ou no pode ser um sinal, mas ter de ser um operador. Nestes casos
o L
A
T
E
X ir adicionar o espaamento correcto e no ser necessrio espao
adicional.
Se para uma linha em particular no quer um nmero de frmula, o
nmero pode ser desactivado usando \nonumber (ou \IEEEnonumber). Se
numa destas linhas denir uma etiqueta \label{eq:...}, ento ela ser
aplicada ao prximo nmero de frmula que no tenha sido suprimido.
Coloque as etiquetas exactamente antes das quebras de linha \\ ou perto da
frmula a que pertence. parte de melhorar a legibilidade do cdigo fonte,
ir diminuir a probabilidade de erros de compilao na situao em que o
comando \IEEEmulticol seja executado depois da denio de etiqueta.
70 Frmulas Matemticas
Existe uma verso estrelada, onde todos os nmeros de frmula so
suprimidos. Neste caso, pode forar um nmero de frmula usando o comando
\IEEEyesnumber:
\begin{IEEEeqnarray*}{rCl}
a & = & b + c \\
& = & d + e \IEEEyesnumber\\
& = & f + g
\end{IEEEeqnarray*}
o = / + c
= d + c (3.40)
= ) + p
Tambm possvel fazer sub-numerao, usando o comando \IEEEyessubnumber:
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\IEEEyessubnumber\\
& = & d + e
\nonumber\\
& = & f + g
\IEEEyessubnumber
\end{IEEEeqnarray}
o = / + c (3.41a)
= d + c
= ) + p (3.41b)
3.6 Matrizes
Para desenhar matrizes, use o ambiente array. Funciona de forma similar
ao ambiente tabular. O comando \\ usado para quebrar linhas:
\begin{equation*}
\mathbf{X} = \left(
\begin{array}{ccc}
x_1 & x_2 & \ldots \\
x_3 & x_4 & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{equation*}
X =
_
_
_
r
1
r
2
. . .
r
3
r
4
. . .
.
.
.
.
.
.
.
.
.
_
_
_
Tambm pode usar este ambiente para desenhar sistemas, usando um
ponto . como um delimitador \right invisvel:
\begin{equation*}
|x| = \left\{
\begin{array}{rl}
-x & \text{se } x < 0,\\
0 & \text{se } x = 0,\\
x & \text{se } x > 0.
\end{array} \right.
\end{equation*}
[r[ =
_
_
_
r se r < 0,
0 se r = 0,
r se r 0.
3.7 Espaamento em modo Matemtico 71
O ambiente cases do pacote amsmath simplica, pelo que vale a pena
dar-lhe alguma ateno:
\begin{equation*}
|x| =
\begin{cases}
-x & \text{se } x < 0,\\
0 & \text{se } x = 0,\\
x & \text{se } x > 0.
\end{cases}
\end{equation*}
[r[ =
_

_
r se r < 0,
0 se r = 0,
r se r 0.
Embora, como foi demonstrado no primeiro exemplo, se possam desenhar
matrizes com delimitadores usando o array, o pacote amsmath disponibiliza
uma soluo melhor, utilizando diferentes ambientes matrix. Existem seis
verses, cada uma com delimitadores diferentes: matrix (nenhum), pmatrix
(, bmatrix [, Bmatrix , vmatrix [ e Vmatrix |. No necessrio especicar
o nmero de colunas como com o array. O nmero mximo de colunas
10, mas congurvel (embora no seja frequente que precise de mais de 10
colunas!):
\begin{equation*}
\begin{matrix}
1 & 2 \\
3 & 4
\end{matrix} \qquad
\begin{bmatrix}
p_{11} & p_{12} & \ldots
& p_{1n} \\
p_{21} & p_{22} & \ldots
& p_{2n} \\
\vdots & \vdots & \ddots
& \vdots \\
p_{m1} & p_{m2} & \ldots
& p_{mn}
\end{bmatrix}
\end{equation*}
1 2
3 4
_

_
j
11
j
12
. . . j
1n
j
21
j
22
. . . j
2n
.
.
.
.
.
.
.
.
.
.
.
.
j
m1
j
m2
. . . j
mn
_

_
3.7 Espaamento em modo Matemtico
Se os espaos escolhidos pelo L
A
T
E
X para colocar nas frmulas no forem
satisfatrios, podem ser ajustados inserindo comandos especiais de espaa-
mento: \, para
3
18
quad ( ), \: para
4
18
quad ( ) e \; para
5
18
quad ( ). Os
caracteres \ geram um espao de tamanho mdio comparvel ao espao
entre palavras, e \quad ( ) e \qquad ( ) produzem espaos largos. O
72 Frmulas Matemticas
tamanho de um \quad corresponde largura do caracter M no tipo de letra
actual. O comando \! produz um espao negativo de
3
18
quad ( ).
\begin{equation*}
\int_1^2 \ln x \mathrm{d}x
\qquad
\int_1^2 \ln x \,\mathrm{d}x
\end{equation*}
_
2
1
ln rdr
_
2
1
ln rdr
Note que o d no diferencial convencionalmente escrito em tipo de
letra romana. No prximo exemplo, vamos denir um novo comando \ud
(upright d, d vertical) que produz d (repare no espaamento antes do
d), de modo a que no o tenhamos de fazer todas as vezes. O \newcommand
colocado no prembulo
\newcommand{\ud}{\,\mathrm{d}}
\begin{equation*}
\int_a^b f(x)\ud x
\end{equation*}
_
b
a
)(r) dr
Se pretender escrever vrios integrais, ir descobrir que o espaamento
entre integrais demasiado grande. Pode corrigi-lo usando o comando \!,
mas o pacote amsmath disponibiliza uma forma mais simples, nomeadamente
os comandos \iint, \iiint, \iiiint, e \idotsint.
\newcommand{\ud}{\,\mathrm{d}}
\begin{IEEEeqnarray*}{c}
\int\int f(x)g(y)
\ud x \ud y \\
\int\!\!\!\int
f(x)g(y) \ud x \ud y \\
\iint f(x)g(y) \ud x \ud y
\end{IEEEeqnarray*}
_ _
)(r)p(j) drdj
__
)(r)p(j) drdj
__
)(r)p(j) drdj
Consulte a documentao electrnica 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.8 Fantasmas
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 ver um exemplo:
3.9 Brincar com Tipos de Letra em Matemtica 73
\begin{equation*}
{}^{14}_{6}\text{C}
\qquad \text{versus} \qquad
{}^{14}_{\phantom{1}6}\text{C}
\end{equation*}
14
6
C versus
14
6
C
Se precisar de escrever muitos istopos, como no exemplo, o pacote
mhchem muito til facilitando a escrita de istopos e frmulas matemticas.
3.9 Brincar com Tipos de Letra em Matemtica
Diferentes tipos de letra para o modo matemtico esto listados na tabela 3.14,
na pgina 83.
$\Re \qquad
\mathcal{R} \qquad
\mathfrak{R} \qquad
\mathbb{R} \qquad $
' R R 1
As ltimas duas necessitam do pacote amssymb ou amsfonts.
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).
Se um somatrio

for colocado numa fraco, ser desenhado em modo
texto (mais compacto) a no ser que indique ao L
A
T
E
X para no o fazer:
\begin{equation*}
P = \frac{\displaystyle{
\sum_{i=1}^n (x_i- x)
(y_i- y)}}
{\displaystyle{\left[
\sum_{i=1}^n(x_i-x)^2
\sum_{i=1}^n(y_i- y)^2
\right]^{1/2}}}
\end{equation*}
1 =
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
A mudana de estilos geralmente afecta o modo como operadores grandes
e limites so mostrados.
3.9.1 Smbolos a Negrito
bastante difcil obter smbolos em negrito em L
A
T
E
X; possivelmente isto
intencional, j que um amador ter tendncia a exagerar no seu uso. O
74 Frmulas Matemticas
comando de mudana de tipo de letra \mathbf permite obter letras a negrito,
mas apenas letras romanas. Normalmente os smbolos matemticos so em
itlico, e alm do mais, no funciona em letras gregas minsculas. Existe
um comando \boldmath, mas s pode ser usado fora do modo matemtico.
No entanto, tambm funciona para smbolos:
$\mu, M \qquad
\mathbf{\mu}, \mathbf{M}$
\qquad \boldmath{$\mu, M$}
j, ` j, M , M
O pacote amsbsy (includo pelo pacote amsmath), bem como o pacote bm
do conjunto de pacotes chamado tools, do-nos alternativas mais simples,
j que incluem o comando \boldsymbol:
$\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}$
j, ` , M
3.10 Teoremas, Lemas, . . .
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 verdadeiro nome 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 contador
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 documento,
pode usar o seguinte comando durante o documento:
\begin{nome}[texto]
Este o meu interessante teorema
\end{nome}
O pacote amsthm (parte do A
M
S-L
A
T
E
X) tem o \newtheoremstyle{estilo}
que permite denir como o teorema ir funcionar, podendo-se escolher um de
trs estilos pr-denidos: definition (ttulo gordo, corpo em tipo de letra
3.10 Teoremas, Lemas, . . . 75
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
complexo para se compreender.
Primeiro denem-se os teoremas:
\theoremstyle{definition} \newtheorem{law}{Lei}
\theoremstyle{plain} \newtheorem{jury}[law]{Jri}
\theoremstyle{remark} \newtheorem*{marg}{Margaridat}
\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}
Lei 1. No te escondas na caixa.
Jri 2 (O dcimo). Podes ser tu! Por-
tanto, cautela e v a lei 1.
Margarida. No, No, No
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.
\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 ir executar.\end{mur}
Murphy 3.10.1. Se existirem duas ou mais
maneiras de realizar algo, e uma delas pu-
der resultar em catstrofe, ento algum 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.
Se quiser congurar os seus teoremas at ltima pitada, o pacote
ntheorem oferece uma abundncia de opes.
3.10.1 Smbolos de Provas e Fim-de-Prova
O pacote amsthm tambm disponibiliza o ambiente proof.
76 Frmulas Matemticas
\begin{proof}
trivial, use
\begin{equation*}
E=mc^2.
\end{equation*}
\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
\begin{equation*}
E=mc^2. \qedhere
\end{equation*}
\end{proof}
Demonstrao. trivial, use
1 = :c
2
.
Infelizmente, esta correco no funciona com o IEEEeqnarray:
\begin{proof}
Esta prova termina com
um IEEEeqnarray:
\begin{IEEEeqnarray*}{rCl}
a & = & b + c \\
& = & d + e. \qedhere
\end{IEEEeqnarray*}
\end{proof}
Demonstrao. Esta prova termina com
um IEEEeqnarray:
o = / + c
= d + c.
A razo para isto acontecer tem que ver com a estrutura interna do IEEEeqnarray:
internamente so sempre colocadas duas colunas invisveis, uma de cada lado,
que s contm espao elstico. Deste modo o IEEEeqnarray garante que a
frmula centrada horizontalmente. Da que o comando \qedhere deve ser
colocado fora deste espao, mas isto no acontece j que estas colunas so
invisveis para o utilizador.
Existe uma soluo bastante simples: denir a elasticidade manualmente:
\begin{proof}
Esta prova termina com
um IEEEeqnarray:
\begin{IEEEeqnarray*}{+rCl+x*}
a & = & b + c \\
& = & d + e. & \qedhere
\end{IEEEeqnarray*}
\end{proof}
Demonstrao. Esta prova termina com
um IEEEeqnarray:
o = / + c
= d + c.
Repare que o + em {+rCl+x*} representa espaos elsticos, um esquerda
da frmula (que, se no for especicado, ser feito automaticamente pelo
3.10 Teoremas, Lemas, . . . 77
IEEEeqnarray!) e um direita da frmula. Mas agora, direita, depois da
coluna elstica, adicionamos uma coluna vazia x. Esta coluna ser s precisa
na ltima linha, para colocar l o comando \qedhere. Finalmente, especi-
camos um *, que um espao vazio (nulo), que garante que o IEEEeqnarray
no adiciona o espao elstico automtico!
No caso da numerao de funes, existe um problema semelhante. Com-
pare
\begin{proof}
Esta prova termina com
uma frmula numerada:
\begin{equation}
a = b + c.
\end{equation}
\end{proof}
Demonstrao. Esta prova termina com
uma frmula numerada:
o = / + c. (3.42)
com
\begin{proof}
Esta prova termina com
uma frmula numerada:
\begin{equation}
a = b + c. \qedhere
\end{equation}
\end{proof}
Demonstrao. Esta prova termina com
uma frmula numerada:
o = / + c. (3.43)
repare que na segunda verso (correcta), o P est bastante mais prximo da
frmula do que na primeira verso.
De forma semelhante, a forma correcta de colocar um smbolo de prova
no m de uma frmula multi-linha :
\begin{proof}
Esta prova termina com
um IEEEeqnarray:
\begin{IEEEeqnarray}{+rCl+x*}
a & = & b + c \\
& = & d + e. \\
&&& \qedhere\nonumber
\end{IEEEeqnarray}
\end{proof}
Demonstrao. Esta prova termina com
um IEEEeqnarray:
o = / + c (3.44)
= d + c. (3.45)
em comparao com
78 Frmulas Matemticas
\begin{proof}
Esta prova termina com
um IEEEeqnarray:
\begin{IEEEeqnarray}{rCl}
a & = & b + c \\
& = & d + e.
\end{IEEEeqnarray}
\end{proof}
Demonstrao. Esta prova termina com
um IEEEeqnarray:
o = / + c (3.46)
= d + c. (3.47)
3.11 Lista de Smbolos Matemticos 79
3.11 Lista de Smbolos Matemticos
As tabelas seguintes demonstram todos os smbolos normalmente acessveis
no modo matemtico.
Note que algumas tabelas apresentam smbolos apenas acessveis depois
de importar o pacote amssymb no prembulo do seu documento
12
. Se o
pacote A
M
S e os respectivos tipos de letra no estiverem instaladas no seu
sistema, d uma vista de olhos a CTAN:macros/latex/required/amslatex.
Uma lista ainda mais completa de smbolos pode ser encontrada em CTAN:
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}
o \mathring{a}
Tabela 3.2: Letras Gregas.
No existem verses maisculas para algumas letras, como \Alpha ou \Beta,
porque so representadas por letras romana normais: A, B. . .
\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
12
Estas tabelas so derivadas do symbols.tex por David Carlisle e mudados extensiva-
mente como sugerido por Josef Tkadlex.
80 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 ou \le \geq ou \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 ou \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.11 Lista de Smbolos Matemticos 81
Tabela 3.5: Operadores GRANDES.

\sum

\bigcup
_
\bigvee

\prod

\bigcap
_
\bigwedge

\coprod

\bigsqcup

\biguplus
_
\int
_
\oint

\bigodot

\bigoplus

\bigotimes
Tabela 3.6: Setas.
\leftarrow ou \gets \longleftarrow
\rightarrow ou \to \longrightarrow
\leftrightarrow \longleftrightarrow
\Leftarrow = \Longleftarrow
\Rightarrow = \Longrightarrow
\Leftrightarrow \Longleftrightarrow
\mapsto \longmapsto
\hookleftarrow \hookrightarrow
\leftharpoonup \rightharpoonup
\leftharpoondown \rightharpoondown
= \rightleftharpoons \iff (espaos maiores)
\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: Setas como Acentos.

1 \overrightarrow{AB} 1

\underrightarrow{AB}

1 \overleftarrow{AB} 1

\underleftarrow{AB}

1 \overleftrightarrow{AB} 1

\underleftrightarrow{AB}
82 Frmulas Matemticas
Tabela 3.8: Delimitadores.
( ( ) ) \uparrow
[ [ ou \lbrack ] ] ou \rbrack \downarrow
\{ ou \lbrace \} ou \rbrace \updownarrow
\langle ) \rangle \Uparrow
[ | ou \vert | \| ou \Vert \Downarrow
, / \backslash \Updownarrow
\lfloor | \rfloor
| \rceil \lceil
Tabela 3.9: Grandes Delimitadores.
_
_
\lgroup
_
_
\rgroup
_
_
\lmoustache

\arrowvert
_
_
\Arrowvert

\bracevert
_
_
\rmoustache
Tabela 3.10: 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 ou \lnot . \flat ; \natural ; \sharp
a
Use o pacote latexsym para aceder a este smbolo
Tabela 3.11: Smbolos no Matemticos.
Estes smbolos tambm podem ser usados em modo texto.
\dag \S \copyright \textregistered
\ddag \P \pounds % \%
3.11 Lista de Smbolos Matemticos 83
Tabela 3.12: Delimitadores A
M
S.
' \ulcorner \urcorner , \llcorner \lrcorner
[ \lvert [ \rvert | \lVert | \rVert
Tabela 3.13: Letras A
M
S gregas e hebraicas.
} \digamma \varkappa Q \beth \gimel \daleth
Tabela 3.14: Alfabetos Matemticos.
Veja a tabela 6.4 (pg. 133) para outros tipos de letras em modo 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 amssymb
ABC|E,'=_ \mathbb{ABCDE abcde 1234} amsfonts ou amssymb
Tabela 3.15: Operadores Binrios A
M
S.
\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
84 Frmulas Matemticas
Tabela 3.16: Relaes Binrias A
M
S.
< \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
3.11 Lista de Smbolos Matemticos 85
Tabela 3.17: Setas A
M
S.
--- \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
86 Frmulas Matemticas
Tabela 3.18: Relaes Binrias e Setas Negadas A
M
S.
\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.19: A
M
S 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
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 gerados
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, Gnuplot, Gimp, Xara X. . . . . .
2
Outra possibilidade utilizar o GhostScript para imprimir, que est disponvel
em CTAN://support/ghostscript. Os utilizadores de Windows devem querer dar uma
olhadela ao GSview.
3
CTAN://macros/latex/required/graphics
88 Especialidades
Quando trabalhar com um sistema com uma impressora PostScript
e com o pacote graphicx instalado, use 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 89
\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 138 para mais informao. Se quer saber mais sobre
este tpico, leia [8] e [13].
4.2 Bibliograa
Produza a sua 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 itens da bibliograa vo ser maiores do que 99.
90 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 Vo-
lume 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 em folhas de estilo que permitem 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
comando
\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 91
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 Entrada formatada
\index{Kaese@K\"ase} Kse, 33 Entrada formatada
\index{ecole@\ecole} cole, 4 Entrada formatada
\index{Jenny|textbf} Jenny, 3 Nmero de pgina formatado
\index{Joe|textit} Joe, 5 Nmero de pgina formatado
O contedo do ndice especicado com comandos
\index{chave@entrada_formatada}
onde entrada_formatada ir aparecer no ndice e chave ser usada para
ordenao. A entrada_formatada opcional, e nesse caso a chave ser usada.
Insira os comandos de indexao nos pontos do texto para onde quer que o
ndice aponte. A tabela 4.2 explica a sintaxecom 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.
92 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.
O comando makeindex no faz ideia sobre como tratar caracteres fora
do intervalo de caracteres ASCII. Para obter uma ordenao correcta, use o
carcter @ como nos exemplos do Kse e cole.
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.
Veja no topo desta pgina 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
abordagem de dois nveis. Na denio da cabealho e do rodap, usa os
comandos \rightmark e \leftmark para representar a captulo e a seco
actual, respectivamente. Os valores destes dois comandos so reescritos
sempre que um comando de captulo ou seco processado.
6
Disponvel em CTAN://macros/latex/contrib/supported/fancyhdr.
4.5 O Pacote Verbatim 93
Para maior exibilidade, o comando \chapter e os seus amigos no
redenem, eles mesmos, o \rightmark e \leftmark, mas chamam outros
comandos (\chaptermark, \sectionmark ou \subsectionmark) que so
responsveis por redenir \rightmark e \leftmark.
Assim, se quer mudar o aspecto do nome de captulo na linha de cabealho,
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 seco,
vai aprender sobre o pacote verbatim. O pacote verbatim basicamente uma
re-implementao do ambiente \verbatim que contorna as limitaes do am-
biente original. Isto, por si s, no espectacular, mas com a implementao
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 extenso
.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.
94 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: T
E
Xlive texhash; web2c maktexlsr;
MiKT
E
X initexmf --update-fndb ou use a interface grca.
Agora extraia 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
referencias 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 portvel 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 documentos. 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 hiper-ligaes. Adicionalmente,
4.7 Usar o pdf L
A
T
E
X 95
a tabela de 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
correm esto escritas em HTML (HyperText Markup Language). Este formato
tem duas desvantagens ao escrever documentos cientcos:
1. Incluir frmulas matemticas em documentos HTML no , geralmente,
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.
Algumas 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. Os autores que querem preservar a qualidade tipogrca
nica dos seus documentos ao public-los na Internet, transformam-nos 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
documentos PDF esto muito melhor distribudos
7
. Portanto, disponibilizar
verses 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
7
http://pdfreaders.org
96 Especialidades
no chamado da linha de comando, dever ser necessrio encontrar um
boto especial no T
E
X GUI.
Dena o tamanho do papel com um argumento opcional na denio 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 98), 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 congurao
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, TrueType,
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 PostScript
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 experimentar. Se
funciona para si, salte o resto desta seco.
O conjunto de tipos de letra Type 1 mais usados actualmente so cha-
mados Latin Modern (LM). Se tem uma instalao recente do T
E
X, quase
certo que j tenha uma cpia delas instalada; tudo o que precisa de fazer
adicionar:
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
ao prembulo do seu documento, e estar tudo pronto para criar documentos
PDF de excelente qualidade, com suporte completo para todos os caracteres
latinos. Se a sua distribuio no os incluir, provvel que os tenha de
instalar explicitamente.
Para a lngua Russa, dever querer usar os tipos de letra virtuais 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
4.7 Usar o pdf L
A
T
E
X 97
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}
Poder encontrar linhas como
Warning: pdftex (file eurmo10): Font eur... not found
no cheiro .log depois de compilar o seu cheiro. Signicam que alguns tipos
de letra usados no documento no foram encontrados. Identique quais as
partes do documento afectadas, e altere-as, ou o documento PDF resultante
poder no mostrar as pginas com os caracteres em falta.
4.7.3 Uso de Grcos
Incluir grcos num documento funciona melhor com o pacote graphicx (ver
pgina 87):
\usepackage{color,graphicx}
No exemplo acima, tambm inclu o pacote 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 use
os formatos .png, .pdf, .jpg e .mps (METAPOST)mas 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,
98 Especialidades
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.
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 inter-
nas do seu documento em hiper-ligaes. Para que isto funcione devidamente,
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.
8
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 (=false,true) ajusta, ou no, automaticamente o
tamanho inicial do texto quando visualizado;
8
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, resultado
normal do L
A
T
E
X, que depois ir colocar no cheiro PS com o dvips e que, nalmente, ser
usado pelo conversor pdf ao converter o cheiro PS para PDF.
4.7 Usar o pdf L
A
T
E
X 99
pdftitle (={texto}) dene o ttulo que ser mostrado na janela
Document Info do Acrobat;
pdfauthor (={texto}) o nome do autor do PDF;
pdfnewwindow (=false,true) 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 informao
sobre o documento PDF:
\usepackage[pdfauthor={Pierre Desproges},%
pdftitle={Des femmes qui tombent},%
pdftex]{hyperref}
100 Especialidades
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 sem o protocolo http://:
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
comando \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.
4.7 Usar o pdf L
A
T
E
X 101
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 caracte-
res 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 bookmark,
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 = mc ** 2 para a rea de bookmark.
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.
4.7.7 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 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).
Para os casos em que deseja usar cdigo diferente para a verso PDF do
seu documento, adicione o pacote ifpdf
9
ao seu prembulo. Espera-se que a
sua instalao de L
A
T
E
X j o tenha instalado; caso contrrio, possivelmente
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, queremos
que a verso PostScript seja escrita a preto e branco, dados os custos de
9
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.
102 Especialidades
impresso, mas queremos que a verso PDF aparea a cores para poder ser
visualizada de forma interactiva.
\RequirePackage{ifpdf} % are we producing PDF ?
\documentclass[a4paper,12pt]{book}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[bookmarks, % tune hyperref
colorlinks,
plainpages=false]{hyperref}
\usepackage{graphicx}
\ifpdf
\hypersetup{linkscolor=blue}
\else
\documentclass[a4paper,12pt,dvips]{book}
\hypersetup{linkscolors=black}
\fi
\usepackage[english]{babel}
...
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 (como o T
E
XLive, MacT
E
X e
MiKT
E
X), 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 o nome com que
foi invocado: use o comando pdflatex para obter resultados pdf, e o latex
para o resultado habitual em dvi.
4.8 Usando o X
E
L
A
T
E
X
By Axel Kielhorn <A.Kielhorn@web.de>
A maior parte das coisas ditas sobre o pdfL
A
T
E
X tambm so vlidas para o
X
E
L
A
T
E
X.
Existe uma pgina Wiki em http://wiki.xelatex.org/doku.php que
colecciona informao relevante ao X
E
T
E
X e X
E
L
A
T
E
X.
4.8.1 Os Tipos de Letra
Para alm dos tipos de letra normais, baseados em tfm, o X
E
L
A
T
E
X capaz
de usar qualquer tipo de letra do sistema operativo. Se tiver o tipo de letra
Linux Libertine instalado no seu sistema, poder dizer:
4.8 Usando o X
E
L
A
T
E
X 103
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine}
no prembulo. Normalmente, isto tambm detectar as verses itlico e
negrito, de modo a que o \textit e \textbf funcionem como habitualmente.
Quando o tipo de letra estiver a usar a tecnologia OpenType, ter acesso a
muitas funcionalidades que antigamente obrigavam a mudar para um tipo de
letra separado, ou usar tipos de letra virtuais. A principal funcionalidade
o conjunto estendido de caracteres; um tipo de letra pode conter caracteres
latinos, gregos e cirlicos, e as correspondentes ligaduras.
Muitos tipos de letra contm pelo menos dois tipos de numerais, os
numerais normais, e os chamados antigo estilo (ou minscula), que se
estendem parcialmente abaixo da linha dos caracteres. Podem conter nu-
merais proporcionais (o 1 ocupa menos espao que o 0) ou numerais
mono-espao, que so mais adequados para tabelas.
\newfontfamily\LLln[Numbers=Lining]{(font)}
\newfontfamily\LLos[Numbers=OldStyle]{(font)}
\newfontfamily\LLlnm[Numbers=Lining,Numbers=Monospaced]{(font)}
\newfontfamily\LLosm[Numbers=OldStyle,Numbers=Monospaced]{(font)}
Quase todos os tipos de letra OpenType contm as ligaduras habituais
( ) mas tambm existem algumas ligaduras raras ou histricas, como st,
ct e tz. Pode no querer us-las em relatrios tcnicos, mas at cam bem
em literatura. Para activar estas ligaduras use uma das seguintes linhas:
\setmainfont[Ligatures=Rare]{(font)}
\setmainfont[Ligatures=Historic]{(font)}
\setmainfont[Ligatures=Historic,Ligature=Rare]{(font)}
Nem todos os tipos de letra contm ligaduras. Consulte a documentao
para esse tipo de letra, ou simplesmente, tente us-las. Algumas vezes estas
ligaduras so dependentes da lngua; por exemplo, a ligadura usada em
polaco (fk) no usada em ingls. Para activar as ligaduras polacas ter de
usar:
\setmainfont[Language=Polish]{(font)}
Alguns tipos de letra (como o comercial Adobe Garamond Premier Pro)
contm glifos alternativos que so activados automaticamente no X
E
L
A
T
E
X
distribudo com o T
E
XLive 2010
10
. O resultado uma verso estilstica Q
com um rabo sob o u seguinte. Para desactivar esta funcionalidade tem de
denir o tipo de letra com contextuals desactivados:
\setmainfont[Contextuals=NoAlternate]{(font)}
Para aprender sobre tipos de letra no X
E
L
A
T
E
X leia o manual fontspec.
10
Este comportamento foi alterado com esta verso, anteriormente estava desligado.
104 Especialidades
Onde posso encontrar tipos de letra OpenType?
Se tem o T
E
Xlive instalado, j ter algumas, na pasta .../texmf-dist/
fonts/opentype. Bastar instal-las no seu sistema operativo. Esta coleco
no inclui o tipo DejaVu, que est disponvel em http://dejavu-fonts.
org/.
Garanta que cada tipo de letra est instalado apenas uma vez, caso
contrrio, alguns resultados interessantes podem ocorrer.
Pode usar qualquer tipo de letra instalado no seu computador, mas
lembre-se que outros utilizadores podem no a ter. Por exemplo, o tipo de
letra Zapno usado no manual fontspec existe em Mac OS X, mas no est
disponvel em plataformas Windows.
11
Uso de carateres Unicode
O nmero de caracteres num tipo de letra cresceu, mas o nmero de teclas
num teclado no. Da que, como se introduzem caracteres no-ASCII?
Se escrever uma grande quantidade de texto numa lngua estrangeira,
poder instalar um teclado para essa lngua, e imprimir uma folha com as
posies dos caracteres no teclado. (A maior parte dos sistemas operativos
tem algum tipo de teclado virtual, basta imprimi-lo).
Se precisar de um carcter extico ocasionalmente, pode simplesmente
escolh-lo de uma lista de caracteres.
Alguns ambientes, como o X Windows System, oferecem vrios mtodos
para a introduo de caracteres no-ASCII. Alguns editores, como o Vim ou
Emacs, oferecem formas de introduzir esses caracteres. Leia o manual para
as ferramentas que usa habitualmente.
4.8.2 Compatibilidade entre X
E
L
A
T
E
X e pdfL
A
T
E
X
Existem algumas diferenas entre o X
E
L
A
T
E
X e o pdfL
A
T
E
X.
Um documento X
E
L
A
T
E
X tem de ser escrito em Unicode (UTF-8),
enquanto que o pdfL
A
T
E
X pode usar diferentes codicaes.
Os pacotes mmicrotype ainda no funcionam com X
E
L
A
T
E
X, mas o
suporte para a protruso de caracteres j est em desenvolvimento.
Tudo o que tiver que seja relacionado com tipos de letra, ter de ser
revisto. (a no ser que queira manter o tipo Latin Modern.)
11
Existe uma verso comercial chamada Zapno Extra.
4.9 Criar Apresentaes 105
4.9 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
LibreOce ou o PowerPoint, mas muito mais portvel j que existem leitores
PDF em muitos mais sistemas.
A classe beamer usa graphicx, color e hyperref com opes adaptadas a
apresentaes em ecr.
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 itens 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 ps-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 pr-
prio 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
106 Especialidades
\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.
4.9 Criar Apresentaes 107
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 opcionais
de \title[]{} e \author[]{} permitem-lhe especicar verses especiais 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
determinado 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 comandos 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 congurar a sua apresentao.
Em qualquer caso, tenha a certeza que leu a documentao da classe
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 para a informao mais recente (http://latex-beamer.sourceforge.net/).
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
possibilidades, 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
A criao de grcos com L
A
T
E
X tem uma longa tradio. Comeou com
o ambiente picture que permite a criao de grcos posicionando de
forma inteligente alguns elementos pr-denidos na folha. Uma descrio
completa pode ser lida no L
A
T
E
X Manual [1]. O ambiente picture do L
A
T
E
X2

integra o comando \qbezier, q de quadrtica. Muitas curvas usadas


frequentemente, como crculos, elipses ou catenrias, podem ser aproximadas
de forma satisfatria usando curvas de Bzier quadrticas, apesar de que
obrigar a alguns conhecimentos de matemtica. Se usar uma linguagem
de programao para gerar cdigo L
A
T
E
X com blocos \qbezier, o ambiente
picture torna-se bastante poderoso.
Apesar da programao de imagens directamente em L
A
T
E
X poder ser
bastante restrita, e normalmente bastante cansativa, existem boas razes
para o fazer. 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
Companion [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.
110 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]).
Este era o estado das coisas at h alguns anos quando Till Tantau, autor
do beamer, apresentou o Formato de Grcos Portvel (Portable Graphics
Format) pgf e o seu pacote companeiro TikZ (tikz). Este sistema permite-o
criar grcos vectoriais de alta qualidade em todos os sistemas T
E
X que
incluam suporte para pgf.
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 META-
POST gera cheiros Encapsulated PostScript, que podem ser importados
no L
A
T
E
X e pdfL
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>
Como mencionado anteriormente, o ambiente picture parte integrante
de todas as distribuies L
A
T
E
X e bom para tarefas simples, e tambm
se quiser controlar o posicionamento exacto de elementos individuais numa
pgina. Mas se est a planear fazer algum trabalho srio que use grcos,
deve dar uma leitura ao TikZ, apresentado na seco 5.4, na pgina 123.
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
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 111
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.
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
comando
\qbezier(r
1
, j
1
)(r
2
, j
2
)(r
3
, j
3
)
5.2.2 Segmentos de Recta
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
coordenada vertical no caso de um segmento de recta vertical, e a coordenada
horizontal em todos os outros casos.
112 Produo de Grcos Matemticos
\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}

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

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

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

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

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

5.2.3 Setas
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 113
\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

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 _
114 Produo de Grcos Matemticos
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.


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 O ambiente picture 115
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
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
Os comandos
\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 argumento
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.
116 Produo de Grcos Matemticos
\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

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.
5.2.8 Mltiplos usos de caixas de imagem pr-denidas
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 117
\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}



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
Como o exemplo seguinte 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.
118 Produo de Grcos Matemticos
\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}

$
$
$
$
$

'
'
'
'
'
'
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
_

_
:c|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.
5.2.10 Parbolas
Na gura que se segue, cada metade simtrica da parbola j = cosh r1
aproximada 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 parbola
real. O erro quase que passa despercebido, sendo menor do que um por cento.
5.2 O ambiente picture 119
\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
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.2.11 Rapidamente a teoria da Relatividade
Os pontos de controlo das duas curvas de Bzier so calculadas com fr-
mulas (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).
120 Produo de Grcos Matemticos
\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

5.3 X
Y
-pic
By Alberto Manuel Brando Simes <ambs@perl-hackers.net>
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, recomendo
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
O comando \xymatrix deve ser usado sempre em modo matemtico.
Aqui, especicamos duas linhas e duas colunas. Para converter esta matriz
num diagrama podemos adicionar algumas linhas direccionais usando o
comando \ar.
5.3 X
Y
-pic 121
\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
por baixo da seta. Existe ainda um terceiro operador, a barra vertical: |
que coloca o texto dentro da seta.
122 Produo de Grcos Matemticos
\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
aparncia:
\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:


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

//

5.4 Os Pacotes de Grcos PGF e TikZ 123


\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.
5.4 Os Pacotes de Grcos PGF e TikZ
Nos dias que correm, todos os geradores de L
A
T
E
X so capazes de criar
grcos vectoriais bonitos e de qualidade, s a interface que nem sempre a
mais simptica. O pacote pgf providencia um nvel de abstraco sobre esta
interface. Este pacote vem com uma documentao de mais de 500 pginas
[18]. Deste modo, vamos apenas arranhar a superfcie do que pode ser feito
com este pacote.
O pacote pgf vem com uma linguagem de alto nvel, disponibilizada pelo
pacote tikz. O TikZ tem comandos altamente ecientes para desenhar grcos
directamente a partir do seu documento. Use o ambiente tikzpicture para
incluir os comandos TikZ.
Como mencionado anteriormente, existe um manual excelente para o pgf
e amigos. Deste modo, em vez de explicar como funciona, vamos apenas ver
alguns exemplos, de modo a que que com uma impresso inicial de como
esta ferramenta funciona.
Em primeiro lugar, um diagrama sem sentido.
\begin{tikzpicture}[scale=3]
\clip (-0.1,-0.2)
rectangle (1.8,1.2);
\draw[step=.25cm,gray,very thin]
(-1.4,-1.4) grid (3.4,3.4);
\draw (-1.5,0) -- (2.5,0);
\draw (0,-1.5) -- (0,1.5);
\draw (0,0) circle (1cm);
\filldraw[fill=green!20!white,
draw=green!50!black]
(0,0) -- (3mm,0mm)
arc (0:30:3mm) -- cycle;
\end{tikzpicture}
Note que o ponto-e-vrgula (;) usado para separar comandos individuais.
Um diagrama de Venn simples.
124 Produo de Grcos Matemticos
\shorthandoff{:}
\begin{tikzpicture}
\node[circle,draw,
minimum size=3cm,
label=120:{economia}]
at (0,0) {};
\node[circle,draw,
minimum size=3cm,
label=60:{psicologia}]
at (1,0) {};
\node (i) at (0.5,-1) {};
\node at (0.6,-2.5)
{economia comportamental}
edge[->,thick,
out=60,in=-60] (i);
\end{tikzpicture}
economia
psicologia
economia comportamental
Se estiver a usar o pacote tikz juntamente com o babel, alguns caracteres
usados na linguagem TikZ podem ser modicados pelo babel, levando a erros
estranhos. Para resolver este problema, adicione o comando \shorthandoff
no seu cdigo.
Repare nos ciclos foreach no prximo exemplo.
\begin{tikzpicture}[scale=0.8]
\tikzstyle{v}=[circle, minimum size=2mm,inner sep=0pt,draw]
\foreach \i in {1,...,8}
\foreach \j in {1,...,3}
\node[v]
(G-\i-\j) at (\i,\j) {};
\foreach \i in {1,...,8}
\foreach \j/\o in {1/2,2/3}
\draw[->]
(G-\i-\j) -- (G-\i-\o);
\foreach \i/\n in
{1/2,2/3,3/4,4/5,5/6,6/7,7/8}
\foreach \j/\o in {1/2,2/3} {
\draw[->] (G-\i-\j) -- (G-\n-\o);
\draw[->] (G-\n-\j) -- (G-\i-\o);
}
\end{tikzpicture}
Com o comando \usetikzlibrary no prembulo, pode activar um con-
junto grande de funcionalidades adicionais para desenhar algumas formas
especiais, tal como esta caixa ligeiramente curvada.
5.4 Os Pacotes de Grcos PGF e TikZ 125
\usetikzlibrary{%
decorations.pathmorphing}
\begin{tikzpicture}[
decoration={bent,aspect=.3}]
\draw [decorate,fill=lightgray]
(0,0) rectangle (5.5,4);
\node[circle,draw]
(A) at (.5,.5) {A};
\node[circle,draw]
(B) at (5,3.5) {B};
\draw[->,decorate] (A) -- (B);
\draw[->,decorate] (B) -- (A);
\end{tikzpicture}
A
B
\usetikzlibrary{positioning}
\begin{tikzpicture}[xscale=6,
yscale=8,>=stealth]
\tikzstyle{v}=[circle,
minimum size=1mm,draw,thick]
\node[v] (a) {$1$};
\node[v] (b) [right=of a] {$2$};
\node[v] (c) [below=of a] {$2$};
\node[v] (d) [below=of b] {$1$};
\draw[thick,->]
(a) to node {} (c);
\draw[thick,->]
(a) to node {} (d);
\draw[thick,->]
(b) to node {} (d);
\end{tikzpicture}
1 2
2 1
At pode desenhar diagramas de sintaxe que parecem copiados direc-
tamente de um livro de introduo programao em Pascal. O cdigo
um bocado mais assustador que nos exemplos anteriores, pelo que vou
apresentar apenas o resultado. Pode dar uma leitura documentao do
pgf e encontrar um tutorial detalhado sobre como desenhar este mesmo
diagrama.
+
inteiro positivo . dgito E inteiro positivo
-
E ainda h mais, se precisar de desenhar grcos de dados numricos ou
funes matemticas, deve dar uma leitura mais cuidadosa ao pacote pgfplot,
126 Produo de Grcos Matemticos
que introduz tudo o que precisa para desenhar grcos matemticos. Pode
at invocar o comando externo gnuplot para avaliar as funes que escreveu.
Para mais inspirao no deixe de visitar a excelente galeria de Kjell
Magne Fauske em http://www.texample.net/tikz/. Contm uma coleco,
cada vez maior, de grcos bonitos, bem como outro cdigo L
A
T
E
X que pode
ser til.
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 raiz.
6.1 Novos Comandos, Ambientes e Pacotes
Deve ter reparado que todos os comandos que introduzi neste livro so
apresentados 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,
quer 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.
128 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 documento
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 recebe um


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

Esta a Muito Pequena Introduo


ao L
A
T
E
X2

O L
A
T
E
X no permite que crie um novo comando que substitua um j
existente. 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 129
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 seguinte
sintaxe:
\newenvironment{nome}[num]{antes}{depois}
De novo, o comando \newcommand pode usar \newenvironment com
um argumento opcional. O material especicado no argumento antes,
processado antes do texto incluso no ambiente seja processado. O contedo do
argumento depois processado quando o comando \end{nome} encontrado.
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 143, para \stretch v pgina 137, e mais
informao sobre \hspace pode ser encontrada na pgina 137.
6.1.3 Espao 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
no bloco de incio da denio do ambiente ir ignorar qualquer espao
130 Congurar o L
A
T
E
X
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 131
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.
132 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 negrito 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{...} negrito
\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 133
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 CALIGRFICO
\mathnormal{...} Tijo o::o|
134 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 origem desconhecida.
No entre neste quarto, est ocupado por
uma mquina de origem desconhecida.
1
\par equivalente a uma linha em branco
6.3 Espaamento 135
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.
Repare na diferena entre enfatizar (\emph) um bocado de texto, ou
alterar directamente o tipo de letra! O comando \emph sensvel ao contexto,
enquanto que os comandos de tipo de letra tm comportamentos absolutos.
\textit{Tambm pode
\emph{enfatizar} texto que
est em itlico,}
\textsf{num tipo de letra
\emph{sans-serif},}
\texttt{ou num estilo
\emph{mquina de escrever}.}
Tambm pode enfatizar texto que est em
itlico, num tipo de letra sans-serif, ou num
estilo mquina de escrever.
6.2.3 Aviso
Para concluir esta jornada na terra das letras, aqui est uma pequena palavra
de aviso:
Lembre-se! QUANTOS MAIS 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
136 Congurar o L
A
T
E
X
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.
6.3.2 Formatao de Pargrafos
No L
A
T
E
X, existem dois parmetros que inuenciam o formato dos pargrafos.
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.
6.3 Espaamento 137
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
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 vrios \hspace{\stretch{n}} forem invocados na mesma
linha, iro ocupar todo o espao disponvel, de forma proporcional aos seus
factores de elasticidade (n).
x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x
x x x
Quando se usa espao horizontal juntamente com texto, pode fazer sentido
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.
2
Para indentar o primeiro pargrafo aps cada ttulo de seco, use o pacote indentrstq
que vem no conjunto de pacotes tools
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
{\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
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 139
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 alter-los. 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 pginas
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 Microsoft 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 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 funciona 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}
3
macros/latex/required/tools
4
Quero dizer, um livro realmente produzido por uma editora de reputao.
140 Congurar o L
A
T
E
X
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 de formato usados neste livro. Experimente o pacote
layouts para imprimir o formato dos seus documentos.
6.5 Mais divertimento com comprimentos 141
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 documentos
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.
\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
142 Congurar o L
A
T
E
X
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 simplista 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, produzem
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
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
alinhamento 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 dentro
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:
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 143
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 coman-
dos \makebox e \framebox.
\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 bvio 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
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.... . .
144 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.
FIM.
Apndice A
Como instalar o L
A
T
E
X
Donald Knuth disponibilizou o cdigo fonte do T
E
X numa altura em que o
conceito de Software Livre e/ou Software Aberto ainda no existia. A licena
que foi usada no T
E
X permite fazer o que bem entender com o cdigo fonte,
mas s poder continuar a chamar ao resultado das suas alteraes T
E
X se
o programa conseguir superar um conjunto de testes que o Knuth tambm
disponibilizou. Isto levou situao actual, em que existem implementaes
livres de T
E
X para quase todo o Sistema Operativo no universo. Neste captulo
sero apresentadas algumas sugestes de como o instalar e colocar a funcionar
em Linux, Mac OS X e Windows.
A.1 O que Instalar?
Para usar o L
A
T
E
X em qualquer computador, ir precisar de vrios programas.
1. O programa T
E
X/L
A
T
E
X, usado para processar os seus cheiros L
A
T
E
X,
convertendo-os em documentos PDF ou DVI.
2. Um editor de texto, para poder editar o seu documento. Alguns destes
editores at executam o prprio L
A
T
E
X de dentro do editor, dando mais
comodidade ao utilizador.
3. Um visualizador de PDF/DVI, para prever e imprimir os seus docu-
mentos.
4. Um programa capaz de manipular cheiros PostScript e imagens,
para incluso no seu documento.
Para todas as plataformas existe muitos programas que satisfazem os re-
quisitos acima mencionados. Iremos falar apenas de alguns, de que gostamos,
e com os quais temos alguma experincia.
146 Como instalar o L
A
T
E
X
A.2 T
E
X em Mac OS X
A.2.1 Instalao de uma distribuio T
E
X
Descarregue o MacTeX. uma distribuio de L
A
T
E
X pr-compilada para
Mac OS X. O MacTeX disponibiliza uma instalao completa de L
A
T
E
X, e
inclui um conjunto de ferramentas extra. Pode descarregar o MacTeX de
http://www.tug.org/mactex/.
Se j usa o Macports ou o Fink para a instalao de software Unix no
seu Mac, instale o L
A
T
E
X usando estes gestores de pacote. Os utilizadores de
Macport fazem-no com port install texlive , os utilizadores de Fink,
usam fink install texlive .
A.2.2 A escolha de um editor
O editor mais popular e gratuito para L
A
T
E
X no Mac, parece ser o T
E
Xshop.
Se instalou o MacTeX no precisar de o instalar, j que est includo na
distribuio. Caso contrrio, pode descarregar uma cpia de http://www.
uoregon.edu/~koch/texshop.
Outro editor interessante o Texmaker. parte de ser um editor til
e capaz, tem a vantagem de funcionar igualmente bem em Windows, Max
e Unix/Linux. Pode encontr-lo em http://www.xm1math.net/texmaker.
Existe uma ramicao do Texmaker, chamada TexmakerX (http://texmakerx.
sourceforge.net/) que promete funcionalidades adicionais.
As distribuies recentes do T
E
XLive incluem o editor T
E
Xworks (http://
texworks.org/) que multi-plataforma e baseado na interface do T
E
XShop.
Uma vez que o T
E
Xworks usa a biblioteca Qt para a interface, tambm est
disponvel em qualquer uma das plataformas suportadas pelo Qt (Mac OS X,
Windows e Linux).
A.2.3 Use o PDFView
Para abrir documentos PDF pode utilizar o Preview do Mac. Mas sugerimos
que instale o PDFView, que integra bem com a maior parte dos editores de
texto. O PDFView uma aplicao de cdigo aberta e pode ser encontrada
em http://pdfview.sourceforge.net/. Descarregue e instale-o. Abra a
janela de preferncias do PDFView, e conrme que tem a opo recarregar
automaticamente os documentos (automatical ly reload documents) activa, e
que o suporte para PDFSync est seleccionado na opo TextMate.
A.3 T
E
X em Windows 147
A.3 T
E
X em Windows
A.3.1 Instalao do T
E
X
Primeiro, faa uma cpia da excelente distribuio MiKT
E
X, disponvel em
http://www.miktex.org/. Contm todos os programas bsicos e cheiros
necessrios para produzir documentos L
A
T
E
X. A principal funcionalidade do
MikT
E
X que ir descarregar de forma automtica todos os pacotes L
A
T
E
X
que no estejam instalados, e que o documento necessite. Alternativamente,
tambm poder usar a distribuio T
E
Xlive que existe para Windows, Unix
e Mac OS X (http://www.tug.org/texlive/).
A.3.2 Um editor para L
A
T
E
X
O L
A
T
E
X no mais do que uma linguagem de programao para documen-
tos textuais. O TeXnicCenter usa muitos conceitos do mundo da progra-
mao, disponibilizando um ambiente agradvel e eciente para a escrita
de documentos L
A
T
E
X em Windows. Pode encontr-lo em http://http:
//www.texniccenter.org/. O T
E
XnicCenter integra bem com o MikT
E
X.
A verso 2.0 do T
E
XnicCenter ir suportar Unicode e a verso alfa mais
recente parece bastante estvel.
Outra escola excelente o editor disponibilizado pelo projecto LEd, e
disponvel em http://www.latexeditor.org.
Leia o pargrafo sobre o Texmaker na seco sobre Mac OS X para uma
terceira escolha.
As distribuies recentes do T
E
XLive contm o editor T
E
Xworks http:
//texworks.org/. Suporta Unicode e necessita de, pelo menos, o Windows
XP.
A.3.3 Visualizao de Documentos
Em princpio, o mais provvel ser que use o Yap para a visualizao de DVI,
uma vez que instalado com o MikT
E
X. Para visualizar documentos PDF,
faa uma visita ao Sumatra PDF http://blog.kowalczyk.info/software/
sumatrapdf/. Esta aplicao tem a vantagem que permite saltar de qualquer
posio no documento PDF para a posio correspondente no cdigo L
A
T
E
X.
A.3.4 Trabalhar com Grcos
Para trabalhar com grcos de alta qualidade em L
A
T
E
X signica que ter de
usar um formato vectorial. O L
A
T
E
X s suporta os formatos vectoriais Encap-
sulated PostScript (eps) ou PDF. O programa que o ajuda a manipular
estes formatos chamado GhostScript. Pode descarreg-lo, juntamente com
a sua interface GhostView de http://www.cs.wisc.edu/~ghost/.
148 Como instalar o L
A
T
E
X
Para manipular grcos em mapa de bits (bitmaps, como fotos ou do-
cumentos digitalizados), dever querer dar uma olhadela alternativa
de cdigo aberto ao Photoshop, chamado Gimp e disponvel em http:
//gimp-win.sourceforge.net/.
A.4 T
E
X em Linux
Se trabalha com Linux, a probabilidade alta de que o L
A
T
E
X j esteja
instalado no seu sistema, ou pelo menos, disponvel para instalao a partir
do gestor de pacotes da distribuio Linux que escolheu. Use o seu gestor de
pacotes, e instale os seguintes pacotes:
texlive os programas base para T
E
X/L
A
T
E
X.
emacs (e o auctex) um editor que integra com o L
A
T
E
X atravs do
AucTeX.
ghostscript um visualizador de PostScript.
xpdf e/ou acrobat visualizadores de documentos PDF.
imagemagick um programa gratuito para a converso de imagens em
mapa de bits.
gimp um clone gratuito do adobe photoshop.
inkscape um clone gratuito do adobe illustrator.
Se est procura de uma interface mais parecida com a usada em
Windows, procure o T
E
Xworks. Veja o pargrafo na seco sobre Mac OS X.
A maior parte das distribuies de Linux insistem em dividir o ambiente
T
E
X num grande nmero de pacotes opcionais. Se alguma coisa estiver em
falta depois da sua primeira instalao, v ver de novo a lista de pacotes
relativas ao L
A
T
E
X.
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 documento.
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 Implementation
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.
150 BIBLIOGRAFIA
[10] Vladimir Volovich, Werner Lemberg e 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 completa
de muitos pacotes relacionados com o T
E
X e o L
A
T
E
X. Disponvel na
Internet desde CTAN://help/Catalogue/catalogue.html
[12] Michel Goossens, Sebastian Rahtz e 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 explica


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:
//info/epslatex.ps
[14] Kristoer H. Rose. X
Y
-pic Users Guide. Disponvel no CTAN juntamente
com a distribuio do X
Y
-pic.
[15] John D. Hobby. A Users Manual for METAPOST. Disponvel na
Internet em 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

, contem algum cdigo Java para gerar


crculos e elipses arbitrrias usando o ambiente picture, e METAPOST
- A Tutorial. Ambos disponveis em http://www.ursoswald.ch
[18] Till Tantau. TikZ&PGF Manual.Disponvel em CTAN://graphics/pgf/
base/doc/generic/pgf/pgfmanual.pdf
[19] Franois Charette. Polyglossia: A Babel Replacement for X
E
L
A
T
E
X.
Disponvel na distribuio T
E
XLive como polyglossia.pdf. (Escreva
texdoc polyglossia na linha de comandos.)
[20] Franois Charette. An ArabT
E
X-like interface for typesetting languages
in Arabic script with X
E
L
A
T
E
X. Disponvel na distribuio T
E
XLive como
arabxetex.pdf. (Escreva texdoc arabxetex na linha de comandos.)
[21] Will Robertson e Khaled Hosny. The fontspec package. Disponvel na
distribuio T
E
XLive como fontspec.pdf. (Escreva texdoc fontspec
na linha de comandos.)
[22] Apostolos Syropoulos. The xgreek package. Disponvel na distribui-
o T
E
XLive como xgreek.pdf. (Escreva texdoc xgreek na linha de
comandos.)
BIBLIOGRAFIA 151
[23] Vafa Khalighi. The bidi package. Disponvel na distribuio T
E
XLive
como bidi.pdf. (Escreva texdoc bidi na linha de comandos.)
[24] Vafa Khalighi. The XePersian package. Disponvel na distribuio
T
E
XLive como xepersian-doc.pdf. (Escreva texdoc xepersian na
linha de comandos.)
[25] Wenchang Sun. The xeCJK package. Disponvel na distribuio T
E
XLive
como xeCJK.pdf. (Escreva texdoc xecjk na linha de comandos.)
ndice
Symbols
\!, 72
", 22
", 35
"-, 35
"---, 35
"<, 35
"=, 35
">, 35
", 35
$, 55
\,, 57, 71
-, 22
, 22
\-, 21
, 22
, 22
., espao aps, 39
. . . , 24
\:, 69, 71
\;, 71
\@, 39
\[, 56, 57
rabe, 38
ndice, 59
ndice remissivo, 90
\\, 19, 44, 45, 47, 138
\\*, 19
e sem pontos, 25
\], 56, 57
~, 39
A
A4, 11
A5, 11
, 25
abstract, 45
acento, 25
Acrobat Reader, 95
\addtolength, 139
, 25
agrupar, 132
agudo, 25
Alemo, 28
align, 65
alinhamento decimal, 48
\Alph, 34
\alph, 34
\Alpha, 79
amsbsy, 74
amsfonts, 73, 83
amsmath, 55, 61, 62, 71, 72, 74
amssymb, 58, 73, 79
amsthm, 74, 75
\and, 41
ansinew, 27
apstrofe, 60
\appendix, 40, 42
applemac, 27
\ar, 120
arabxetex, 38
\arccos, 60
\arcsin, 60
\arctan, 60
\arg, 60
array, 70, 71
\arraystretch, 49
article, 10
classe, 10
\Asbuk, 34
\asbuk, 34
NDICE 153
aspas, 22
\author, 41, 100
B
babel, 20, 25, 26, 29, 3335, 37, 124
\backmatter, 42
backslash, 5
\bar, 60
barra inclinada, 23
beamer, 105, 106, 110
\begin, 43, 110, 119
\Beta, 79
\bibitem, 89
bibliograa, 89
bicig, 35
bidi, 38
\Big, 63
\big, 63
\big(, 69
\Bigg, 63
\bigg, 63
\bigskip, 138
\binom, 61
blackboard bold, 58
block, 107
bm, 74
Bmatrix, 71
bmatrix, 71
\bmod, 61
\boldmath, 74
\boldsymbol, 74
book, 10
classe, 10
brancos, 4
C
cabealho, 14
calc, 141
\caption, 51, 52
caracteres especiais, 25
caracteres reservados, 5
cases, 71
\cdot, 59
\cdots, 59
center, 44
\chapter, 40
\chaptermark, 93
chaveta
horizontal, 60
chavetas, 6, 132
Chins, 39
\ci, 127
Cirlico, 38
\circle, 114
\circle*, 114
\cite, 89
CJK, 32
\cleardoublepage, 52
\clearpage, 52
\cline, 47
codicao de caracteres, 13
coecientes binomiais, 61
color, 105
comandos, 5
comandos frgeis, 52
comentrios, 6
commands
\!, 72
\,, 57, 71
\-, 21
\:, 69, 71
\;, 71
\@, 39
\[, 56, 57
\\, 19, 44, 45, 47, 138
\\*, 19
\], 56, 57
\addtolength, 139
\Alph, 34
\alph, 34
\Alpha, 79
\and, 41
\appendix, 40, 42
\ar, 120
\arccos, 60
\arcsin, 60
\arctan, 60
\arg, 60
154 NDICE
\arraystretch, 49
\Asbuk, 34
\asbuk, 34
\author, 41, 100
\backmatter, 42
\bar, 60
\begin, 43, 110, 119
\Beta, 79
\bibitem, 89
\Big, 63
\big, 63
\big(, 69
\Bigg, 63
\bigg, 63
\bigskip, 138
\binom, 61
\bmod, 61
\boldmath, 74
\boldsymbol, 74
\caption, 51, 52
\cdot, 59
\cdots, 59
\chapter, 40
\chaptermark, 93
\ci, 127
\circle, 114
\circle*, 114
\cite, 89
\cleardoublepage, 52
\clearpage, 52
\cline, 47
\cos, 60
\cosh, 60
\cot, 60
\coth, 60
\csc, 60
\date, 41
\ddots, 59
\DeclareMathOperator, 60
\deg, 60
\depth, 142, 143
\det, 60, 69
\dfrac, 61
\dim, 60
\displaystyle, 73
\documentclass, 10, 14, 20
\dq, 28
\dum, 127
\emph, 43, 132, 135
\end, 43, 110
\enumBul, 34
\enumEng, 34
\enumLat, 34
\eqref, 56
\exp, 60
\fbox, 21
\flq, 28
\flqq, 28
\foldera, 117
\folderb, 117
\footnote, 42, 52
\footskip, 139
\frac, 61
\framebox, 143
\frenchspacing, 34, 39, 40
\frontmatter, 41
\frq, 28
\frqq, 28
\fussy, 20
\gcd, 60
\hat, 60
\headheight, 139
\headsep, 139
\height, 142, 143
\hline, 47
\hom, 60
\href, 100, 102
\hspace, 129, 137
\hyphenation, 20
\idotsint, 72
\IEEEeqnarraymulticol, 68
\IEEEmulticol, 69
\IEEEnonumber, 69
\IEEEyesnumber, 70
\IEEEyessubnumber, 70
\ifpdf, 101
\ignorespaces, 129, 130
\ignorespacesafterend, 130
NDICE 155
\iiiint, 72
\iiint, 72
\iint, 72
\include, 15, 16
\includegraphics, 88, 97, 101,
142
\includeonly, 15
\indent, 137
\index, 91
\inf, 60
\input, 16
\int, 62, 69
\item, 44
\ker, 60
\label, 42, 51, 56
\LaTeX, 21
\LaTeXe, 21
\ldots, 24, 59
\left, 62, 63, 69
\lefteqn, 66, 68
\leftmark, 92, 93
\lg, 60
\lim, 60
\liminf, 60
\limsup, 60
\line, 111
\linebreak, 19
\linespread, 135
\linethickness, 115117
\listoffigures, 51
\listoftables, 51
\ln, 60
\log, 60, 69
\mainmatter, 42, 100
\makebox, 142, 143
\makeindex, 90
\maketitle, 41
\marginparpush, 139
\marginparsep, 139
\marginparwidth, 139
\mathbb, 58
\max, 60, 69
\mbox, 21, 24, 142
\min, 60
\multicolumn, 48
\multicolumns, 68
\multiput, 111, 115
\newcommand, 72, 128, 129
\newenvironment, 129
\newline, 19
\newpage, 19
\newsavebox, 116
\newtheorem, 74
\newtheoremstyle, 74
\noindent, 137
\nolinebreak, 19
\nombre, 30
\nonumber, 69
\nopagebreak, 19
\not, 80
\npil, 128
\oddsidemargin, 139
\oval, 115, 117
\overbrace, 60
\overleftarrow, 60
\overline, 59
\overrightarrow, 60
\pagebreak, 19
\pageref, 42, 94
\pagestyle, 14
\paperheight, 139
\paperwidth, 139
\par, 134
\paragraph, 40
\parbox, 142
\parindent, 136
\parskip, 136
\part, 40
\partial, 61
\phantom, 52, 72
\pmod, 61
\Pr, 60
\printindex, 91
\prod, 62
\protect, 52, 53
\providecommand, 129
\ProvidesPackage, 131
\put, 111, 112, 114116
156 NDICE
\qbezier, 109, 111, 118
\qedhere, 76, 77
\qquad, 57, 71
\quad, 57, 68, 71, 72
\raisebox, 143
\ref, 42, 51, 94
\renewcommand, 128
\renewenvironment, 129
\right, 62, 63, 69, 70
\right., 63
\rightmark, 92, 93
\rule, 49, 129, 143, 144
\savebox, 116
\scriptscriptstyle, 73
\scriptstyle, 73
\sec, 60
\section, 40, 52
\sectionmark, 93
\selectlanguage, 26
\setlength, 111, 136, 139
\settodepth, 141
\settoheight, 141
\settowidth, 141
\shorthandoff, 124
\sin, 60, 69
\sinh, 60
\slash, 23
\sloppy, 20
\smallskip, 138
\smash, 57
\sqrt, 59
\stackrel, 62
\stretch, 129, 137
\subparagraph, 40
\subsection, 40
\subsectionmark, 93
\substack, 62
\subsubsection, 40
\sum, 62, 69
\sup, 60
\tabcolsep, 49
\tableofcontents, 41
\tag, 56
\tan, 60
\tanh, 60
\TeX, 21
\texorpdfstring, 101
\textbackslash, 5
\textcelsius, 23
\texteuro, 23
\textheight, 139
\textstyle, 73
\textwidth, 139
\tfrac, 61
\thicklines, 112, 116, 117
\thinlines, 116, 117
\thispagestyle, 15
\title, 41
\today, 21
\topmargin, 139
\totalheight, 142, 143
\ud, 72
\underbrace, 60
\underline, 43, 59
\unitlength, 110, 111
\usapackage, 131
\usebox, 116
\usepackage, 12, 23, 26, 27, 35
\usetikzlibrary, 124
\vdots, 59
\vec, 60
\vector, 112
\verb, 46
\verbatim, 93
\verbatiminput, 93
\vspace, 138
\widehat, 60
\widetilde, 60
\width, 142, 143
\xymatrix, 120
comment, 7
Coreano, 30, 39
corpos utuantes, 50
\cos, 60
\cosh, 60
\cot, 60
\coth, 60
cp1251, 27, 35
NDICE 157
cp850, 27
cp866nav, 27
\csc, 60
Curdo, 38
D
\date, 41
dcolumn, 48
\ddots, 59
\DeclareMathOperator, 60
\deg, 60
delimitadores, 62
\depth, 142, 143
derivadas parciais, 61
description, 44
\det, 60, 69
Deutsch, 28
\dfrac, 61
\dim, 60
dimenses, 137
displaymath, 56
\displaystyle, 73
doc, 13
\documentclass, 10, 14, 20
dot, 59
\dq, 28
duas coluna, 11
\dum, 127
E
eepic, 109, 114
em p, 132
em-dash, 22
\emph, 43, 132, 135
empty, 14
en-dash, 22
Encapsulated PostScript, 87, 97,
147
encodings
font
LGR, 28
OT1, 27
T1, 27, 34
T2*, 33
T2A, 28, 34
T2B, 28
T2C, 28
X2, 28
input
ansinew, 27
applemac, 27
cp1251, 27, 35
cp850, 27
cp866nav, 27
koi8-ru, 27, 34
latin1, 27
macukr, 27
mn, 35
utf8, 27, 36
\end, 43, 110
endereo web, 22
\enumBul, 34
\enumEng, 34
enumerate, 44
\enumLat, 34
environments
Bmatrix, 71
IEEEeqnarray, 6467
Vmatrix, 71
abstract, 45
align, 65
array, 70, 71
block, 107
bmatrix, 71
cases, 71
center, 44
comment, 7
description, 44
displaymath, 56
enumerate, 44
eqnarray, 65
equation*, 56, 57, 64
equation, 56, 57, 64, 65
figure, 50, 51
flushleft, 44
flushright, 44
frame, 107
itemize, 44
158 NDICE
lscommand, 127
matrix, 71
minipage, 142
multline*, 64
multline, 6365
parbox, 142
picture, 109111, 114
pmatrix, 71
proof, 75
pspicture, 110
quotation, 45
quote, 45
table, 50, 51
tabular, 47, 142
thebibliography, 89
tikzpicture, 123
verbatim, 46, 93
verse, 45
vmatrix, 71
epic, 109
eqnarray, 65
\eqref, 56
equation
L
A
T
E
X, 56
amsmath, 56
equation, 56, 57, 64, 65
equation*, 56, 57, 64
espaamento
modo matemtico, 57
espaamento de linhas, 135
espaamento duplo, 135
espaamento matemtico, 71
espao
depois de comandos, 6
no incio de uma linha, 5
espao vertical, 138
espaos, 4
especicao de colocao, 50
estilo de pginas, 14
empty, 14
headings, 14
plain, 14
estilo montra, 55
estilo texto, 55, 57
estrutura, 7
eurosym, 23
\exp, 60
expoente, 59
exscale, 13
extenses, 12
extension
.aux, 14
.cls, 14
.dtx, 12
.dvi, 14, 88
.eps, 88
.fd, 14
.idx, 14, 91
.ilg, 14
.ind, 14, 91
.ins, 12
.lof, 14
.log, 14
.lot, 14
.sty, 12, 93, 94
.tex, 9, 12
.toc, 14
F
frmula
mltiplas, 64
frmulas longas, 63
fancyhdr, 92, 93
\fbox, 21
figure, 50, 51
\flq, 28
\flqq, 28
flushleft, 44
flushright, 44
\foldera, 117
\folderb, 117
font
\footnotesize, 132
\Huge, 132
\huge, 132
\LARGE, 132
\Large, 132
\large, 132
NDICE 159
\mathbf, 133
\mathcal, 133
\mathit, 133
\mathnormal, 133
\mathrm, 133
\mathsf, 133
\mathtt, 133
\normalsize, 132
\scriptsize, 132
\small, 132
\textbf, 132
\textit, 132
\textmd, 132
\textnormal, 132
\textrm, 132
\textsc, 132
\textsf, 132
\textsl, 132
\texttt, 132
\textup, 132
\tiny, 132
font encoding, 13
font encodings, 27
LGR, 28
OT1, 27
T1, 27, 34
T2*, 33
T2A, 28, 34
T2B, 28
T2C, 28
X2, 28
fontenc, 13, 27, 34
fontspec, 37, 103, 104
\footnote, 42, 52
\footnotesize, 132
\footskip, 139
formato da pgina, 139
\frac, 61
fraco, 61
frame, 107
\framebox, 143
Francs, 30
frenchb, 30
\frenchspacing, 34, 39, 40
\frontmatter, 41
\frq, 28
\frqq, 28
funo mdulo, 61
\fussy, 20
G
\gcd, 60
geometry, 93
German, 28
GhostScript, 147
Ghostscript, 9
GhostView, 147
Gimp, 148
grcos, 12, 87
graphicx, 87, 97, 105
graus, 23
grave, 25
Grego, 33, 38
H
hfen, 22
HL
A
T
E
X, 32
hL
A
T
E
Xp, 32
\hat, 60
\headheight, 139
textttheadings, 14
\headsep, 139
Hebrew, 39
\height, 142, 143
hipertexto, 94
\hline, 47
\hom, 60
horizontal
chaveta, 60
espao, 137
linha, 59
pontos, 59
\href, 100, 102
\hspace, 129, 137
\Huge, 132
\huge, 132
hyperref, 38, 96, 98, 101, 102, 105
hyphenat, 93
160 NDICE
\hyphenation, 20
I
\idotsint, 72
IEEEeqnarray, 6467
\IEEEeqnarraymulticol, 68
\IEEEmulticol, 69
\IEEEnonumber, 69
IEEEtrantools, 66
\IEEEyesnumber, 70
\IEEEyessubnumber, 70
ifpdf, 101
\ifpdf, 101
ifthen, 13
\ignorespaces, 129, 130
\ignorespacesafterend, 130
\iiiint, 72
\iiint, 72
\iint, 72
\include, 15, 16
\includegraphics, 88, 97, 101, 142
\includeonly, 15
\indent, 137
indentrst, 137
\index, 91
\inf, 60
\input, 16
input encodings
ansinew, 27
applemac, 27
cp1251, 27, 35
cp850, 27
cp866nav, 27
koi8-ru, 27, 34
latin1, 27
macukr, 27
mn, 35
utf8, 27, 36
inputenc, 13, 26, 27, 34
\int, 62, 69
integral, 62
internacionalizao, 25
itlico, 132
\item, 44
itemize, 44
J
Japons, 39
Jawi, 38
K
kashida, 38
Kashmiri, 38
\ker, 60
Knuth, Donald E., 1
koi8-ru, 27, 34
L
lngua, 25
\label, 42, 51, 56
Lamport, Leslie, 2
\LARGE, 132
\Large, 132
\large, 132
\LaTeX, 21
L
A
T
E
X3, 4
\LaTeXe, 21
latexsym, 13
latin1, 27
layout, 139
layouts, 140
\ldots, 24, 59
\left, 62, 63, 69
\lefteqn, 66, 68
\leftmark, 92, 93
letras, 131
letras escandinavas, 25
letras gregas, 58
\lg, 60
LGR, 28
ligaduras, 24
\lim, 60
\liminf, 60
\limsup, 60
\line, 111
\linebreak, 19
\linespread, 135
\linethickness, 115117
linha
NDICE 161
horizontal, 59
\listoffigures, 51
\listoftables, 51
\ln, 60
\log, 60, 69
longtable, 49
lscommand, 127
M
MacTeX, 146
macukr, 27
Maisculas, 132
\mainmatter, 42, 100
\makebox, 142, 143
makeidx, 90
makeidx, 13, 90
makeindex, 90
\makeindex, 90
\maketitle, 41
Malaio, 38
margens, 139
\marginparpush, 139
\marginparsep, 139
\marginparwidth, 139
matemtica, 55
acentos, 60
delimitador, 63
funes, 60
menos, 22
\mathbb, 58
\mathbf, 133
\mathcal, 133
\mathit, 133
\mathnormal, 133
\mathrm, 133
mathrsfs, 83
\mathsf, 133
mathtext, 34
\mathtt, 133
matrix, 71
\max, 60, 69
\mbox, 21, 24, 142
METAPOST, 97, 98
mhchem, 73
MiKT
E
X, 147
\min, 60
minipage, 142
Mittelbach, Frank, 2
mmicrotype, 104
mn, 35
modo matemtico, 57
\multicolumn, 48
\multicolumns, 68
\multiput, 111, 115
multline, 6365
multline*, 64
N
negrito, 132
smbolos, 73
\newcommand, 72, 128, 129
\newenvironment, 129
\newline, 19
\newpage, 19
\newsavebox, 116
\newtheorem, 74
\newtheoremstyle, 74
\noindent, 137
\nolinebreak, 19
\nombre, 30
\nonumber, 69
\nopagebreak, 19
\normalsize, 132
\not, 80
\npil, 128
ntheorem, 75
numprint, 30
O
\oddsidemargin, 139
, 25
opes, 10
OT1, 27
Otomano, 38
\oval, 115, 117
\overbrace, 60
overfull hbox, 20
\overleftarrow, 60
162 NDICE
\overline, 59
\overrightarrow, 60
P
package, 12
packages
amsbsy, 74
amsfonts, 73, 83
amsmath, 55, 61, 62, 71, 72, 74
amssymb, 58, 73, 79
amsthm, 74, 75
arabxetex, 38
babel, 20, 25, 26, 29, 3335, 37,
124
beamer, 105, 106, 110
bicig, 35
bidi, 38
bm, 74
calc, 141
color, 105
dcolumn, 48
doc, 13
eepic, 109, 114
epic, 109
eurosym, 23
exscale, 13
fancyhdr, 92, 93
fontenc, 13, 27, 34
fontspec, 37, 103, 104
frenchb, 30
geometry, 93
graphicx, 87, 97, 105
hyperref, 38, 96, 98, 101, 102, 105
hyphenat, 93
IEEEtrantools, 66
ifpdf, 101
ifthen, 13
indentrst, 137
inputenc, 13, 26, 27, 34
latexsym, 13
layout, 139
layouts, 140
longtable, 49
makeidx, 13, 90
mathrsfs, 83
mathtext, 34
mhchem, 73
mmicrotype, 104
ntheorem, 75
numprint, 30
pgf, 110, 123, 125
pgfplot, 125
polyglossia, 3739
ppower4, 105
prosper, 105
pstricks, 109, 110, 114
pxfonts, 97
showidx, 91
syntonly, 13, 16
textcomp, 23
tikz, 110, 123, 124
txfonts, 97
verbatim, 7, 93
xalx, 35
xeCJK, 39
xepersian, 38
xgreek, 38
xpersian, 38
xy, 120
pacote, 7, 12, 127
page style, 14
\pagebreak, 19
\pageref, 42, 94
\pagestyle, 14
palavra, 92
papel
A4, 11
A5, 11
B5, 11
executivo, 11
letter, 11
tamanho, 96
\paperheight, 139
\paperwidth, 139
\par, 134
pargrafo, 17
parmetro, 6
parmetros opcionais, 6
NDICE 163
parntesis, 62
parntesis rectos, 6
para a frente, 132
\paragraph, 40
\parbox, 142
parbox, 142
\parindent, 136
\parskip, 136
\part, 40
\partial, 61
Pashto, 38
PDF, 94, 102
pdfL
A
T
E
X, 96, 105
pdfL
A
T
E
X, 95
pdfT
E
X, 95
PDFView, 146
Persa, 38
pgf, 110, 123, 125
pgfplot, 125
\phantom, 52, 72
picture, 109111, 114
plain, 14
pmatrix, 71
\pmod, 61
polyglossia, 3739
ponto, 24
pontos
trs, 59
pontos na diagonal, 59
PostScript, 4, 9, 32, 52, 87, 88, 96,
97, 101, 105, 110, 145, 148
Encapsulated, 87, 97, 147
ppower4, 105
\Pr, 60
prembulo, 7
\printindex, 91
\prod, 62
produtrio, 62
proof, 75
prosper, 105
\protect, 52, 53
\providecommand, 129
\ProvidesPackage, 131
pspicture, 110
pstricks, 109, 110, 114
\put, 111, 112, 114116
pxfonts, 97
Q
\qbezier, 109, 111, 118
\qedhere, 76, 77
\qquad, 57, 71
\quad, 57, 68, 71, 72
quebras de linha, 19
quotation, 45
quote, 45
R
\raisebox, 143
raiz quadrada, 59
\ref, 42, 51, 94
referncias cruzadas, 42
relaes binrias, 62
\renewcommand, 128
\renewenvironment, 129
report, 10
classe, 10
reticncias, 24
\right, 62, 63, 69, 70
\right., 63
\rightmark, 92, 93
rodap, 14
romano, 132
\rule, 49, 129, 143, 144
Russo, 38
S
smbolos gordos, 58
smbolos em negrito, 73
sans serif, 132
\savebox, 116
\scriptscriptstyle, 73
\scriptsize, 132
\scriptstyle, 73
\sec, 60
\section, 40, 52
\sectionmark, 93
\selectlanguage, 26
seta, 60
164 NDICE
\setlength, 111, 136, 139
\settodepth, 141
\settoheight, 141
\settowidth, 141
\shorthandoff, 124
showidx, 91
\sin, 60, 69
sinal de menos, 22
Sindi, 38
\sinh, 60
\slash, 23
slides, 10
classe, 10
\sloppy, 20
\small, 132
\smallskip, 138
\smash, 57
somatrio, 62
\sqrt, 59
\stackrel, 62
\stretch, 129, 137
strut, 49
\subparagraph, 40
\subsection, 40
\subsectionmark, 93
\substack, 62
\subsubsection, 40
\sum, 62, 69
\sup, 60
syntonly, 13, 16
T
T1, 27, 34
T2*, 33
T2A, 28, 34
T2B, 28
T2C, 28
ttulo, 11, 41
ttulo do documento, 11
\tabcolsep, 49
tabela, 47
tabela de contedos, 41
table, 50, 51
\tableofcontents, 41
tabular, 47, 142
\tag, 56
tamanho de letra, 11, 132
tamanho do papel, 96
tamanho do papel, 11, 139
tamanho letras, 131
\tan, 60
\tanh, 60
\TeX, 21
TeXnicCenter, 147
\texorpdfstring, 101
\textbackslash, 5
\textbf, 132
\textcelsius, 23
textcomp, 23
\texteuro, 23
\textheight, 139
\textit, 132
\textmd, 132
\textnormal, 132
texto colorido, 12
\textrm, 132
\textsc, 132
\textsf, 132
\textsl, 132
\textstyle, 73
\texttt, 132
\textup, 132
\textwidth, 139
\tfrac, 61
thebibliography, 89
\thicklines, 112, 116, 117
\thinlines, 116, 117
\thispagestyle, 15
tikz, 110, 123, 124
tikzpicture, 123
til, 22, 60
til ( ~), 39
\tiny, 132
tipos de cheiros, 12
\title, 41
\today, 21
\topmargin, 139
\totalheight, 142, 143
NDICE 165
trao, 22
Turco, 38
txfonts, 97
U
\ud, 72
Uigur, 38
umlaut, 25
\underbrace, 60
underfull hbox, 20
\underline, 43, 59
unidades, 137, 138
\unitlength, 110, 111
Urdu, 38
\usapackage, 131
\usebox, 116
\usepackage, 12, 23, 26, 27, 35
\usetikzlibrary, 124
utf8, 27, 36
V
vrgula, 24
vantagens do L
A
T
E
X, 3
\vdots, 59
\vec, 60
\vector, 112
vectores, 60
\verb, 46
verbatim, 7, 93
\verbatim, 93
verbatim, 46, 93
\verbatiminput, 93
verse, 45
vertical
pontos, 59
Vmatrix, 71
vmatrix, 71
\vspace, 138
W
\widehat, 60
\widetilde, 60
\width, 142, 143
WYSIWYG, 2, 3
X
X2, 28
xalx, 35
xeCJK, 39
X
E
L
A
T
E
X, 102
xepersian, 38
X
E
T
E
X, 102
xgreek, 38
Xpdf, 95
xpersian, 38
xy, 120
\xymatrix, 120