Escolar Documentos
Profissional Documentos
Cultura Documentos
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
. 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
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
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
.
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
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
\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
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
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
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
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
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
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
//
(
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
. . . A No To 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
`
_
1
_
3
_
10
_
9
`
_
11
_
2
`
_
4
`
_
5
`
_
6
`
como usrguide.tex.
[6] L
A
T
E
X3 Project Team. L
A
T
E
X2
como clsguide.tex.
[7] L
A
T
E
X3 Project Team. 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