A Não Tão Pequena Introdução Ao Latex
A Não Tão Pequena Introdução Ao Latex
A Não Tão Pequena Introdução Ao Latex
introdução ao LATEX 2ε
Ou LATEX 2ε em 136 minutos
O Capı́tulo 3 explica como escrever fórmulas com o LATEX. Mais uma vez,
numerosos exemplos ajudarão a perceber como usar uma das maiores
potencialidades do LATEX. No final deste capı́tulo, encontrará tabelas
com listas de todos os sı́mbolos matemáticos disponı́veis em LATEX.
Chapter 5 mostra como usar o LATEX para criar gráficos. Em vez de de-
senhar uma imagem usando um qualquer programa gráfico, gravar o
desenho e incluir o ficheiro no LATEX, pode descrever a figura de forma
a que o LATEX a desenhe.
Se precisar de mais algum material relacionado com o LATEX dê uma vista de
olhos a um dos arquivos ftp do Comprehensive TEX Archive Network (CTAN).
Podem ser encontrados, por exemplo, em ctan.tug.org (US), ftp.dante.de
(Alemanha), ftp.tex.ac.uk (UK). Se não está num destes paı́ses, procure
um arquivo perto de si.
Encontrará outras referências 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 endereços completos, escrevere-
mos apenas CTAN: seguido da localização que deve visitar dentro da árvore
do CTAN.
Se deseja instalar o LATEX para utilização no seu computador, visite
CTAN:/tex-archive/systems.
Se tiver ideias sobre alguma coisa que deva ser adicionada, alterada ou remo-
vida deste documento, por favor, avise-me. Estou interessado especialmente
em respostas dos que estão a aprender LATEX sobre quais as partes desta in-
trodução fáceis de compreender e quais as que devem ser explicadas melhor.
Obrigado! iii
Prefácio v
2 Escrever Texto 17
2.1 A Estrutura de um Texto . . . . . . . . . . . . . . . . . . . . 17
2.2 Quebras de Linha e Quebras de Página . . . . . . . . . . . . 19
2.2.1 Parágrafos Justificados . . . . . . . . . . . . . . . . . . 19
2.2.2 Hifenização . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3 Texto já Feito . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Sı́mbolos e Caracteres Especiais . . . . . . . . . . . . . . . . . 22
viii CONTEÚDO
2.4.1 Aspas . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.2 Traços e Hı́fens . . . . . . . . . . . . . . . . . . . . . . 22
2.4.3 Til (∼) . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4.4 Sı́mbolo de Graus (◦) . . . . . . . . . . . . . . . . . . 23
2.4.5 Sı́mbolo de Euro (¿) . . . . . . . . . . . . . . . . . . . 23
2.4.6 Reticências (. . . ) . . . . . . . . . . . . . . . . . . . . . 24
2.4.7 Ligações . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.8 Caracteres Especiais e Acentos . . . . . . . . . . . . . 25
2.5 Suporte de Lı́nguas Internacionais . . . . . . . . . . . . . . . 25
2.5.1 Suporte para Alemão . . . . . . . . . . . . . . . . . . 28
2.5.2 Suporte para Português . . . . . . . . . . . . . . . . . 29
2.5.3 Texto Automático . . . . . . . . . . . . . . . . . . . . 29
2.5.4 Suporte para Francês . . . . . . . . . . . . . . . . . . 30
2.5.5 Suporte para Coreano . . . . . . . . . . . . . . . . . . 31
2.5.6 Suporte para Cirı́lico . . . . . . . . . . . . . . . . . . . 33
2.6 O Espaço entre Palavras . . . . . . . . . . . . . . . . . . . . . 34
2.7 Tı́tulos, Capı́tulos e Secções . . . . . . . . . . . . . . . . . . . 35
2.8 Referências Cruzadas . . . . . . . . . . . . . . . . . . . . . . . 37
2.9 Notas de Rodapé . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.10 Palavras Realçadas . . . . . . . . . . . . . . . . . . . . . . . . 38
2.11 Ambientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.11.1 Indicar, Enumerar, e Descrever . . . . . . . . . . . . . 39
2.11.2 Esquerda, Direita e Centro . . . . . . . . . . . . . . . 40
2.11.3 Citações e Versos . . . . . . . . . . . . . . . . . . . . . 41
2.11.4 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.11.5 Tal & Qual . . . . . . . . . . . . . . . . . . . . . . . . 42
2.11.6 Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.12 Corpos Flutuantes . . . . . . . . . . . . . . . . . . . . . . . . 44
2.13 Protegendo Comandos Frágeis . . . . . . . . . . . . . . . . . . 48
3 Fórmulas Matemáticas 49
3.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.2 Agrupar em Modo Matemático . . . . . . . . . . . . . . . . . 51
3.3 Construindo Blocos de Fórmulas Matemáticas . . . . . . . . . 51
3.4 Espaçamento Matemático . . . . . . . . . . . . . . . . . . . . 55
3.5 Material Alinhado Verticalmente . . . . . . . . . . . . . . . . 56
3.6 Fantasmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.7 Tamanho da Matemática . . . . . . . . . . . . . . . . . . . . 59
3.8 Teoremas, Leis, . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.9 Sı́mbolos Gordos . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.10 Lista de Sı́mbolos Matemáticos . . . . . . . . . . . . . . . . . 62
CONTEÚDO ix
4 Especialidades 69
4.1 Incluindo Gráficos Encapsulated PostScript . . . . . . . . . 69
4.2 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3 Indexar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4 Cabeçalhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5 O Pacote Verbatim . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6 Instalando Pacotes LATEX . . . . . . . . . . . . . . . . . . . . 75
4.7 Usar o pdfLATEX . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7.1 Documentos PDF para a Internet . . . . . . . . . . . . 77
4.7.2 Os tipos de letra . . . . . . . . . . . . . . . . . . . . . 78
4.7.3 Uso de Gráficos . . . . . . . . . . . . . . . . . . . . . . 80
4.7.4 Ligações de Hipertexto . . . . . . . . . . . . . . . . . . 80
4.7.5 Problemas com Ligações . . . . . . . . . . . . . . . . . 83
4.7.6 Problemas com Bookmarks . . . . . . . . . . . . . . . 83
4.8 Criar Apresentações com pdfscreen . . . . . . . . . . . . . . . 85
Bibliografia 121
Index 123
Lista de Figuras
Na primeira parte deste capı́tulo, será apresentada uma visão geral sobre a
filosofia e história do LATEX 2ε . A segunda parte foca as estruturas básicas de
um documento LATEX. Depois de ler este capı́tulo, terá uma ideia geral de como
o LATEX funciona. O seu principal objectivo é ajudar a integrar toda a informação
que é dada nos capı́tulos seguintes.
1.1.2 LATEX
O LATEX é um pacote de comandos (macros que permitem que formatos pre-
definidos, de grandı́ssima qualidade tipográfica, sejam impressos por qual-
quer autor. Foi escrito originalmente por Leslie Lamport [1]. Usa o TEX
2 Coisas Que Precisa de Saber
1.2 Bases
1.2.1 Autor, Paginadores e Tipógrafo
Para publicar alguma coisa, os autores dão um manuscrito dactilografado
à companhia de publicação. Um dos seus paginadores decide o formato
do documento (largura da coluna, tipos de letra, espaços antes e após os
cabeçalhos, . . . ). Este escreve as suas instruções no manuscrito, que é en-
tregue ao tipógrafo que imprime o livro de acordo com estas instruções.
Um paginador humano tenta imaginar o que o autor tinha em mente
enquanto escrevia o manuscrito. Tem de decidir os cabeçalhos de capı́tulos,
exemplos, fórmulas, etc. baseado nos seus conhecimentos profissionais e no
conteúdo do manuscrito.
Num ambiente LATEX, o paginador é o LATEX, que usa o TEX como seu
tipógrafo. Mas o LATEX é “apenas” um programa e portanto precisa de algum
apoio. O autor tem de dar informação adicional descrevendo a estrutura
lógica do seu trabalho. Esta informação é escrita no texto como “comandos
LATEX.”
Esta é uma grande diferença da abordagem WYSIWYG1 que a maior
parte dos processadores de texto modernos, tais como o MS Word ou Corel
WordPerfect, usam. Com estas aplicações, os autores especificam o formato
do documento de uma forma interactiva enquanto vão escrevendo o texto no
computador. Durante esse processo, podem ver no écran como o resultado
final vai aparecer quando impresso.
Ao usar o LATEX, normalmente não é possı́vel ver o resultado final en-
quanto se digita o texto. No entanto, o resultado final pode ser pré-visualizado
no écran depois de processar o ficheiro com o LATEX. Então, podem ser feitas
correcções para enviar posteriormente o documento para a impressora.
LATEX não funciona bem para pessoas que tenham vendido a sua
alma. . .
1.3.1 Espaços
Caracteres “brancos” como espaços ou caracteres de tabulação (tabs) são
tratados uniformemente como “espaços” pelo LATEX. Caracteres brancos
consecutivos são tratados como um “espaço”. Os espaços no inı́cio de uma
linha são geralmente ignorados, e uma simples mudança de linha é tratada
da mesma forma que um espaço.
Uma linha em branco entre duas linhas de texto define o fim de um
parágrafo. Várias linhas vazias são tratadas da mesma forma que uma linha
vazia. O texto que se segue é um exemplo. Do lado esquerdo apresenta-
se o texto do ficheiro a escrever, e do lado direito o resultado depois de
processado.
2
Rumores dizem que este é um dos pontos chave a ser abordado na versão 3 do LATEX.
1.3 Ficheiros LATEX 5
N~
ao interessa se introduz apenas
um ou vários espaços depois Não interessa se introduz apenas um ou
de uma palavra. vários espaços depois de uma palavra.
Uma linha em branco inicia um novo
Uma linha em branco inicia um novo parágrafo.
parágrafo.
# $ % ^ & _ { } ~ \
Como irá ver, estes caracteres podem ser utilizados nos seus documentos
todos da mesma forma, adicionando uma barra invertida como prefixo:
\$ \& \% \# \_ \{ \} $&%# {}
Outros sı́mbolos e muitos mais podem ser impressos com comandos es-
peciais em fórmulas matemáticas ou como acentos. O caracter de barra
invertida (\) não deve ser introduzido adicionando uma outra barra antes
(\\), porque esta sequência é utilizada para quebrar linhas de texto.3
Por favor, comece uma nova linha Por favor, comece uma nova linha exacta-
exactamente aqui!\newline mente aqui!
Obrigado! Obrigado!
1.3.4 Comentários
Este é um % estúpido
% Melhor: instrutivo <----
exemplo: Supercal% Este é um exemplo: Supercalifragilisticexpi-
ifragilist% alidocious
icexpialidocious
O caracter % também pode ser utilizado para quebrar linhas longas onde
não são permitidos espaços nem mudanças de linha.
Para comentários mais longos, pode utilizar o ambiente comment dis-
ponibilizado pelo pacote verbatim. Isto significa que, para usar o ambi-
ente comment tem de adicionar o comando \usepackage{verbatim} ao
preâmbulo do seu documento.
1.4 Estrutura do Ficheiro 7
Este é outro
\begin{comment}
bastante estúpido,
Este é outro exemplo de como embeber co-
mas instrutivo
mentários nos seus documentos.
\end{comment}
exemplo de como embeber
comentários nos seus documentos.
Note que isto não funciona dentro de ambientes complexos tal como o
matemático.
\documentclass{...}
\usepackage{...}
\begin{document}
\end{document}
que indica ao LATEX o fim do seu serviço. Tudo o que siga este comando será
ignorado pelo LATEX.
A figura 1.1 mostra o conteúdo de um ficheiro LATEX 2ε mı́nimo. Um
ficheiro um pouco mais complexo é mostrado na figura 1.2.
\documentclass{article}
\begin{document}
Pequeno é belo.
\end{document}
\documentclass[a4paper,11pt]{article}
% Esta linha é necessária para
% documentos em lı́nguas que incluam
% caracteres acentuados.
\usepackage[latin1]{inputenc}
\begin{document}
% Gera o tı́tulo
\maketitle
% Insere a tabela de conteúdos
\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}
1. Edite/Crie o seu documento LATEX. Este ficheiro deve ser texto ASCII
sem qualquer tipo de formatação. Em Unix, todos os editores vão
fazer o que deseja. Em Windows, deve ter a certeza que vai gravar o
ficheiro em ASCII ou em formato texto. Ao escolher um nome para o
seu ficheiro, tenha a certeza de lhe colocar a extensão .tex.
2. Execute o LATEX sobre o seu ficheiro. Se correr tudo bem, irá acabar
com um ficheiro .dvi. Poderá ser necessário correr o LATEX várias
vezes para obter um ı́ndice de conteúdos e todas as referências internas
correctamente. Sempre que o seu ficheiro tenha um erro o LATEX 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 ficheiro DVI. Existem várias formas de o fazer. Pode
mostrar o ficheiro no écran com
Se tiver sorte, o seu sistema LATEX até trás a ferramenta dvipdf, que
lhe permite converter o seu ficheiro .dvi directamente em pdf.
dvipdf foo.dvi
6
Este é o caso de qualquer sistema Unix, e . . . Homens a sério usam Unix
10 Coisas Que Precisa de Saber
\documentclass[opções]{classe}
1.6.2 Pacotes
Ao escrever o seu documento, provavelmente encontrará algumas áreas onde
o LATEX básico não conseguirá resolver os seus problemas. Se deseja incluir
slides para slides. Esta classe usa letras grandes do tipo sans serif.
Deve considerar utilizar o pacote FoilTEXa em vez do slides.
a
macros/latex/contrib/supported/foiltex
1.6 O Formato do Documento 11
\usepackage[opções]{pacote}
onde pacote é o nome do pacote e opções é uma lista de palavras chave que
activam (ou desactivam) propriedades especiais no pacote. Alguns pacotes
vêm com a distribuição base do LATEX 2ε (Veja a tabela 1.3), outros são
distribuidos separadamente. Poderá encontrar mais informação sobre os
pacotes instalados no Local Guide [4]. A primeira fonte de informação sobre
os pacotes LATEX é o The LATEX Companion [3], que contém descrições de
centenas de pacotes juntamente com informação sobre como escrever as suas
próprias extensões para o LATEX 2ε .
.sty Pacote de macros LATEX. Este é um ficheiro que pode carregar no seu
documento LATEX utilizando o comando \usepackage.
.ins É o instalador para os ficheiros contidos nos ficheiros .dtx com o mesmo
nome. Se fizer download de um pacote LATEX da Internet, normalmente
ficará com um ficheiro .dtx e um .ins. Corra o LATEX no ficheiro .ins
para descompactar o ficheiro .dtx.
.cls Ficheiros de classe que definem como o seu documento vai aparecer.
Podem ser seleccionados com o comando \documentclass.
a
Este ficheiro deve estar instalado no seu sistema, e deve conseguir convertê-
lo para um ficheiro dvi digitando latex doc.dtx em qualquer directoria em
que tiver permissões. Isto também é verdade para todos os outros ficheiros
mencionados nesta tabela.
14 Coisas Que Precisa de Saber
.toc Guarda todos os cabeçalhos. Será lido da próxima vez que correr o
LATEX para produzir a tabela de conteúdos.
\pagestyle{estilo}
\thispagestyle{estilo}
\include{nomedoficheiro}
pode usar este comando no corpo do seu documento para incluir o conteúdo
de outro ficheiro chamado nomedoficheiro.tex. Note que o LATEX iniciará
uma nova página antes de processar o material deste ficheiro.
O segundo comando pode ser utilizado no preâmbulo. Ele permite ins-
truir o LATEX para incluir apenas alguns dos ficheiro incluı́dos.
\includeonly{nomedoficheiro,nomedoficheiro,. . . }
\input{nomedoficheiro}
\usepackage{syntonly}
\syntaxonly
Escrever Texto
Depois de ler o capı́tulo anterior, deve saber as partes básicas que constituem
um documento LATEX 2ε . Este capı́tulo preencherá o resto da estrutura que
precisa de conhecer para produzir material autêntico.
% Example 1
\ldots quando Einstein introduziu a sua fórmula
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
que é ao mesmo tempo a mais conhecida e a menos
compreendida fórmula fı́sica.
% Example 2
\ldots de onde segue a lei actual de Kirchhoff:
\begin{equation}
\sum_{k=1}^{n} I_k = 0 \; .
\end{equation}
% Example 3
\ldots que tem várias vantagens.
\begin{equation}
I_D = I_F - I_R
\end{equation}
é o centro de um modelo diferente de transistor.\ldots
maioria (incluindo alemão e inglês3 ), irá obter quase todas as vı́rgulas cor-
rectas se se lembrar do que ela representa: uma pequena paragem no fluxo
da lı́ngua. Se não tem a certeza onde colocar a vı́rgula, leia a frase em voz
alta, e faça uma pequena respiração em cada vı́rgula. Se fica mal em algum
sı́tio, apague a vı́rgula; se precisa de respirar (ou fazer uma pequena pausa)
em algum outro ponto, insira uma vı́rgula.
Finalmente, os parágrafos de um texto devem também estar estruturados
logicamente a um nı́vel superior, encaixando-os em capı́tulos, secções, sub-
secções, e assim sucessivamente. No entanto, o efeito tipográfico de escrever,
por exemplo, \section{A Estrutura e Linguagem do Texto} é tão obvio
que é evidente quando estas estruturas de alto nı́vel devem ser utilizadas.
\\ ou \newline
\\*
\newpage
fazem o que o seu nome diz4 . Permitem que o autor influencie as suas
3
NT: e português
4
NT: forçar quebra de linha, evitar quebra de linha, forçar nova página e evitar nova
20 Escrever Texto
acções com um argumento opcional n que pode variar desde zero até quatro.
Ao colocar n com um valor inferior a 4 permite que o LATEX ignore o seu
comando se o resultado ficar muito feio. Não confunda estes comandos
“break” com os comandos “new”. Mesmo ao indicar um comando “break”,
o LATEX tenta ainda preencher as bordas do texto e o comprimento total da
página, como descrito na secção seguinte. Se realmente quer começar uma
“nova linha”, então utilize o comando correspondente. Adivinhe qual!
O LATEX tenta sempre produzir as melhores quebras de linha possı́veis. Se
não encontra uma forma de quebrar a linha dum modo que esteja de acordo
com a sua qualidade, deixa uma linha sair um pouco da margem direita do
parágrafo. No entanto, o LATEX queixa-se (“overfull hbox”) ao processar o
documento. Isto acontece mais frequentemente quando o LATEX não encontra
um sı́tio correcto para hifenizar a palavra.5 Existe a possibilidade de instruir
o LATEX a baixar a sua qualidade um pouco dando-lhe o comando \sloppy,
que previne estas linhas demasiado compridas aumentando o espaço entre
palavras—mesmo que o resultado final não seja óptimo. Neste caso, um aviso
(“underfull hbox”) é dado. Na maior parte destes casos o resultado não é
o melhor. O comando \fussy traz o LATEX de volta ao seu comportamento
habitual.
2.2.2 Hifenização
O LATEX hifeniza as palavras sempre que precisa. Se o algoritmo de hife-
nização não encontrar o ponto correcto, pode remediar a situação utilizando
o seguinte comando, para indicar ao TEX a excepção.
O comando
\hyphenation{lista de palavras}
\hyphenation{FORTRAN Hi-fe-ni-za-ç~
ao}
\mbox{texto}
‘‘Por favor, pressione a tecla ‘x’.’’ “Por favor, pressione a tecla ‘x’.”
Os nomes destes traços são: ‘-’ hı́fen, ‘–’ en-dash, ‘—’ em-dash e ‘−’ sinal
de menos.
http://www.rich.edu/\~{}bush \\ http://www.rich.edu/˜bush
http://www.clever.edu/$\sim$demo http://www.clever.edu/∼demo
2.4 Sı́mbolos e Caracteres Especiais 23
\usepackage{textcomp}
\texteuro
para o desenhar.
Se o seu tipo de letra não providenciar o seu próprio sı́mbolo do Euro ou
se não gosta do sı́mbolo do Euro nos tipos de letra que possuı́, ainda tem
duas hipóteses:
Em primeiro lugar, o pacote eurosym que contém o sı́mbolo oficial do
Euro:
\usepackage[official ]{eurosym}
Se preferir um sı́mbolo mais parecido com o seu tipo de letra, use a opção
gen no lugar da opção official.
Se tiver instalas as Adobe Eurofonts no seu sistema (estão disponı́veis
gratuitamente em ftp://ftp.adobe.com/pub/adobe/type/win/all) po-
derá usar o pacote europs e o comando \EUR (para um sı́mbolo de Euro
de acordo com o tipo de letra actual) ou o pacote eurosans e o comando
\euro (para o “Euro oficial”).
O pacote marvosym também inclui muitos sı́mbolos diferentes, incluindo
o Euro, sob o nome \EUR. A desvantagem é que não providencia uma variante
em negrito nem inclinada do sı́mbolo do Euro.
24 Escrever Texto
e e e
pacote comando romana sans-serif máquina de escrever
AC AC AC
eurosym \euro
[gen]eurosym \euro
europs \EUR e c d
marvosym \EUR ¤ ¤ ¤
2.4.6 Reticências (. . . )
Numa máquina de escrever, uma vı́rgula ou um ponto ocupam o mesmo
espaço de qualquer outra letra. Ao imprimir livros, estes caracteres ocu-
pam apenas um pequeno espaço e são colocados muito próximos à letra
precedente. Desta forma, não pode introduzir reticências simplesmente in-
troduzindo três pontos, porque o espaçamento estará errado. No entanto,
existe um comando especial para estes pontos. É chamado
\ldots
N~
ao desta forma ... mas assim:\\ Não desta forma ... mas assim:
Nova Iorque, Tóquio, Budapeste, \ldots Nova Iorque, Tóquio, Budapeste, . . .
2.4.7 Ligações
Algumas combinações de letras são escritas, não colocando as diferentes
letras uma após a outra, mas usando sı́mbolos especiais.
Estas chamadas ‘ligações’ podem ser proibidas inserindo uma \mbox{} entre
as duas letras em questão. Isto pode ser necessário com palavras construı́das
de duas palavras.
\usepackage[lı́ngua]{babel}
\usepackage[lı́nguaA,lı́nguaB ]{babel}
\selectlanguage{lı́nguaA}
\usepackage[codificação]{inputenc}
Ao utilizar este pacote, deverá ter em atenção que outras pessoas podem
não conseguir ler o código do seu documento no seu computador, porque uti-
lizam uma codificação diferente. Por exemplo, o umlaut alemão ä em OS/2 é
codificado como 132, mas em alguns sistemas Unix utilizando ISO-LATIN 1
é codificado como 228, enquanto que em cirı́lico (cp1251 para Windows) esta
letra não existe de todo. Desta forma deve utilizar esta funcionalidade com
cuidado. As seguintes codificações podem ser úteis, dependendo do tipo de
sistema com que está a trabalhar:7
7
Para aprender mais sobre as codificações suportadas para lı́nguas baseadas em Latin
e Cirı́lico, leia a documentação para o inputenc.dtx e cyinpenc.dtx, respectivamente. A
secção 4.6 ensina a produzir a documentação destes pacotes.
2.5 Suporte de Lı́nguas Internacionais 27
Sistema codificações
operativo latin cirı́lico
Mac applemac macukr
Unix latin1 koi8-ru
Windows ansinew cp1251
DOS, OS/2 cp850 cp866nav
\usepackage{ucs}
\usepackage[utf8]{inputenc}
irá permitir que crie documentos LATEX em utf8, uma codificação multi-byte
na qual cada caracter pode ser codificado no mı́nimo como um byte e, no
máximo, quatro bytes.
A codificação de tipos de letra é uma matéria diferente. Esta, define em
que posições cada letra é guardada dentro da TEX-font. Várias codificações
podem ser mapeadas numa codificação, o que reduz o número de conjuntos
de tipos de letras necessários. Estas codificações são manuseadas usando o
pacote fontenc:
\usepackage[codificação]{fontenc}
\usepackage[german]{babel}
Isto fará com que o LATEX passe a fazer hifenização para a lı́ngua Alemã,
se tiver o seu sistema LATEX bem configurado. Também irá alterar todo o
texto automático para alemão. Por exemplo, “Chapter” irá passar a “Ka-
pitel.” Um conjunto de novos comandos irão passar a estar disponı́veis, que
lhe irão permitir introduzir texto alemão de forma mais rápida, mesmo que
não use o pacote inputenc. Repare na tabela 2.3 para alguma inspiração.
Com o inputenc, tudo isto se torna desnecessário, mas o seu texto também
irá ficar preso num mundo de codificação particular.
"a ä "s ß
"‘ "’ “
”
"< or \flqq « "> or \frqq »
\flq < \frq >
\dq ”
\usepackage[portuges]{babel}
Caracteres Acentuados
\usepackage[T1]{fontenc}
Hifenização
%portuges pt8hyph.tex
30 Escrever Texto
portuges pt8hyph.tex
\usepackage[frenchb]{babel}
Note que, por razões históricas, o nome da opção do pacote babel para
o Francês é frenchb ou francais mas nunca french.
Esta opção inicia a hifenização Francesa, se tiver o seu LaTeX confi-
gurado de forma correcta. Também altera todo o texto automático para
francês: \chapter escreve “Chapitre”, \today escreve a data actual em
francês, e assim sucessivamente. Um grande conjunto de novos comandos
passam a existir, que lhe permitem escrever ficheiros em Francês de forma
mais simples. Dê uma olhadela à tabela 2.4 para inspiração.
Também irá reparar que o formato das listas muda quando usa a lı́ngua
francesa. Para ficar a conhecer tudo o que a opção franchb do pacote babel
2.5 Suporte de Lı́nguas Internacionais 31
\usepackage{hangul}
\usepackage{hfont}
\usepackage{mathtext}
\usepackage[T1,T2A]{fontenc}
\usepackage[koi8-ru]{inputenc}
\usepackage[english,bulgarian,russian,ukranian]{babel}
Tabela 2.5: As definições extra feitas pelas opções Bulgaro, Russa, e Ucra-
niana do babel
"| desliga as ligaduras nesta posição.
"- um hifen explicito, permitindo hifenização no resto da palavra
"--- Cyrillic emdash em texto plano.
"--~ Cyrillic emdash em nomes compostos.
"--* Cyrillic emdash para representar discurso directo.
"" como —-—, mas não produz o sı́mbolo do hifen (para palvras
compostas com hifen e.g. —x-y— ou outros sı́mbolos como “acti-
var/desactivar”).
"~ para uma marca de palavra composta sem ponto de quebra.
"= para uma marca de palavra composta com um ponto de quebra per-
mitindo hifenização de palavras compostas.
", pequeno espaço para inciais com um ponto de quebra.
"‘ para as aspas duplas Alemãs (esquerdas) (parece-se com ,,).
"’ para as aspas duplas Alemãs (direitias) (parece-se com “).
"< para as aspas esquerdas Francesas (parece-se com <<).
"> para as aspas direitas Francesas (parece-se com >>).
\frenchspacing
que diz ao LATEX para não inserir mais espaço depois de ponto do que em
relação a qualquer outro caracter. Isto é muito comum em lı́nguas não
inglesas, excepto em bibliografias. Se usar \frenchspacing, o comando \@
não é necessário.
\section{...}
\subsection{...}
\subsubsection{...}
\paragraph{...}
\subparagraph{...}
\part{...}
\chapter{...}
\tableofcontents
\maketitle
\backmatter deve ser inserido antes dos últimos itens do seu livro como
sejam a bibliografia e o ı́ndice. Nas classes de documento padrão não
tem qualquer efeito visual.
\underline{texto}
\emph{texto}
contexto:
\textit{Pode também
\emph{salientar} texto se
ele está em itálico,} Pode também salientar texto se ele está em
\textsf{num tipo de letra itálico, num tipo de letra sans-serif, ou num
\emph{sans-serif},} estilo máquina de escrever.
\texttt{ou num estilo
\emph{máquina} de escrever.}
2.11 Ambientes
\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}
\flushleft
\begin{enumerate}
\item Pode misturar ambientes 1. Pode misturar ambientes de listas
de listas conforme o seu gosto: conforme o seu gosto:
\begin{itemize}
\item Mas pode começar a parecer Mas pode começar a parecer
muito patético. muito patético.
\item[-] Com um hı́fen, - Com um hı́fen,
\end{itemize}
\item Portanto, lembre-se: algo\ldots 2. Portanto, lembre-se: algo. . .
\begin{description}
\item[Estúpido] n~
ao se transformará Estúpido não se transformará em
em algo inteligente ao ser listado. algo inteligente ao ser listado.
\item[Interessante] pode ser Interessante pode ser apresentado
apresentado lindamente numa lista. lindamente numa lista.
\end{description}
\end{enumerate}
\begin{flushleft}
Este texto está\\ alinhado à
Este texto está
esquerda. O \LaTeX{} n~ao está
alinhado à esquerda. O LATEX não está a
a tentar fazer cada linha do
tentar fazer cada linha do mesmo tamanho.
mesmo tamanho.
\end{flushleft}
\begin{flushright}
Este é um texto alinhado\\
Este é um texto alinhado
à direita. O \LaTeX{} n~
ao está a
à direita. O LATEX não está a tentar fazer
tentar fazer cada linha do mesmo
cada linha do mesmo comprimento.
comprimento.
\end{flushright}
\begin{center}
No centro
No centro\\da terra
da terra
\end{center}
2.11 Ambientes 41
2.11.4 Resumo
Em publicações cientı́ficas é habitual iniciar com um resumo que dá ao leitor
uma visão rápida do que o espera. O LATEX dispõe do ambiente abstract
para esta finalidade. Normalmente este ambiente é usado em documentos
escritos com a classe “article” de documentos.
\begin{abstract}
O resumo do resumo. O resumo do resumo.
\end{abstract}
42 Escrever Texto
\verb+texto+
\begin{verbatim*}
A vers~
ao estrelada do A vers~
ao estrelada do
ambiente verbatim ambiente verbatim
assinala os espaços assinala os espaços
que aparecem no texto que aparecem no texto
\end{verbatim*}
2.11.6 Tabelas
O ambiente tabular pode ser utilizado para imprimir lindas tabelas com
linhas verticais e horizontais opcionais. O LATEX determina a largura das
colunas automaticamente.
O argumento espec tabela do comando
\begin{tabular}[pos]{espec tabela}
\begin{tabular}{|r|l|}
\hline
7C0 & hexadecimal \\ 7C0 hexadecimal
3700 & octal \\ \cline{2-2} 3700 octal
11111000000 & binário \\ 11111000000 binário
\hline \hline
1984 decimal
1984 & decimal \\
\hline
\end{tabular}
\begin{tabular}{|p{4.7cm}|}
\hline
Bem-vindo ao parágrafo do
Bem-vindo ao parágrafo do Boxy.
Boxy. Esperamos sincera-
Esperamos sinceramente que
mente que se divirta com o es-
se divirta com o espectáculo.\\
pectáculo.
\hline
\end{tabular}
\begin{tabular}{@{} l @{}}
\hline
sem espaço inicial\\ sem espaço inicial
\hline
\end{tabular}
44 Escrever Texto
\begin{tabular}{l}
\hline
espaço à esquerda e à direita\\ espaço à esquerda e à direita
\hline
\end{tabular}
Uma vez que não existe uma forma definida pelo LATEX para alinhar
colunas numericamente pelo ponto decimal,19 pode fazer “batota” utilizando
duas colunas: uma alinhada à direita com a parte inteira e uma alinhada à
esquerda com a parte decimal. O comando @{.} substitui o espaço normal
entre colunas com um “.”, apenas, dando a aparência visual de uma única
tabela alinhada pelo ponto decimal. Não se esqueça de substituir o ponto
decimal nos números com o separador de coluna (&)! Um tı́tulo para o par
de colunas pode ser colocado acima da nossa “coluna” numérica usando o
comando \multicolumn.
\begin{tabular}{c r @{.} l}
Express~
ao Pi &
\multicolumn{2}{c}{Valor} \\ Expressão Pi Valor
\hline π 3.1416
$\pi$ & 3&1416 \\ ππ 36.46
$\pi^{\pi}$ & 36&46 \\ (π π )π 80662.7
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
\begin{tabular}{|c|c|}
\hline
\multicolumn{2}{|c|}{\textbf{Ene}} \\
Ene
\hline
Mene Muh!
Mene & Muh! \\
\hline
\end{tabular}
Texto escrito no ambiente tabular fica sempre junto numa única página.
Se quer escrever tabelas longas, possivelmente deverá dar uma olhadela ao
pacote supertabular e ao longtabular.
Primeiro, vamos dar uma vista de olhos aos comandos que o LATEX a-
presenta para corpos flutuantes:
Qualquer material incluso num ambiente figure ou table será tratado
como uma matéria flutuante. Ambos os ambientes suportam parâmetros
adicionais
\begin{figure}[especificação de colocação]
\begin{table}[especificação de colocação]
\begin{table}[!hbp]
Depois de ter explicado a parte difı́cil, aqui estão mais algumas coisas a
mencionar sobre os ambientes table e figure. Com o comando
\caption{legenda}
\listoffigures e \listoftables
definir uma versão mais curta para as listas. Isto pode ser feito introduzindo
a versão mais pequena entre parêntesis rectos depois do comando \caption.
\caption[Pequeno]{Looooooooooooooooooongoooooooooooo}
Com \label e \ref, pode criar uma referência para o corpo flutuante
no meio do texto.
O seguinte exemplo desenha um quadrado e insere-o no documento. Pode
usar isto se desejar reservar espaço para imagens que vai colar no documento
pronto.
No exemplo anterior, o LATEX irá tentar mesmo (!) colocar a figura justa-
mente aqui ( h ).21 Se isto não é possı́vel, então tenta colocar a figura no
fundo ( b ) da página. Se falhar a colocação da figura na página actual,
determina se é possı́vel criar uma página de corpos flutuantes que contenha
esta figura e possivelmente algumas tabelas da fila de espera respectiva. Se
não existir material suficiente para esta página especial, o LATEX inicia uma
nova página, e uma vez mais trata-a como se tivesse ocorrido nesse momento
no texto.
Em algumas circunstâncias, pode ser necessário usar o comando
21
assumindo que a fila de espera de figuras está vazia.
48 Escrever Texto
\section{Estou a considerar
\protect\footnote{proteger a minha nota}}
Capı́tulo 3
Fórmulas Matemáticas
Agora está pronto! Neste capı́tulo, vamos atacar a força principal do TEX:
escrita de matemática. Mas fique avisado: este capı́tulo só arranha este tópico
superficialmente. Enquanto que as coisas aqui explicadas são suficientes para
muitas pessoas, não desespere se não conseguir encontrar uma solução para a
escrita da fórmula que precisa. Mas, quase de certeza que o seu problema está
resolvido no AMS-LATEX1
3.1 Generalidades
O LATEX tem um modo especial para escrever matemática. Esta pode ser
escrita directamente num parágrafo, ou o parágrafo pode ser quebrado para a
desenhar à parte. O texto matemático dentro de um parágrafo é introduzido
entre \( e \), entre $ e $, ou entre \begin{math} e \end{math}.
1
A Sociedade Americana de Matemáticos - AMS produziu algumas extensões poderosas
do LATEX. Muitos dos exemplos deste capı́tulo fazem uso dessas extensões. Este pacote
está disponı́vel em todas as distribuições recentes do TEX. Se na sua está a faltar, vá a
macros/latex/required/amslatex.
50 Fórmulas Matemáticas
\begin{equation} \label{eq:eps}
\epsilon > 0
\end{equation} >0 (3.1)
De (\ref{eq:eps}), descobrimos que De (3.1), descobrimos que . . . De (3.1) pode-
\ldots{}De \eqref{eq:eps} podemos mos fazer o mesmo.
fazer o mesmo.
\begin{displaymath}
\lim_{n \to \infty} n
X 1 π2
\sum_{k=1}^n \frac{1}{k^2} lim =
n→∞ k2 6
= \frac{\pi^2}{6} k=1
\end{displaymath}
1. A maior parte dos espaços e mudanças de linha não têm qualquer signi-
ficado, visto que todos os espaços ou são determinados logicamente da
expressão matemática ou têm de ser especificados utilizando comandos
tais como \,, \quad ou \qquad.
3.2 Agrupar em Modo Matemático 51
\begin{equation}
\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0 ∀x ∈ R : x2 ≥ 0 (3.2)
\end{equation}
\begin{equation}
x^{2} \geq 0\qquad
\textrm{para todo }x\in\mathbf{R} x2 ≥ 0 para todo x ∈ R (3.3)
\end{equation}
\begin{displaymath}
x^{2} \geq 0\qquad
\textrm{para todo }x\in\mathbb{R} x2 ≥ 0 para todo x ∈ R
\end{displaymath}
\begin{equation}
a^x+y \neq a^{x+y} ax + y 6= ax+y (3.4)
\end{equation}
$\lambda,\xi,\pi,\mu,\Phi,\Omega$ λ, ξ, π, µ, Φ, Ω
$\sqrt{x}$ \qquad √ √
p √ 3
$\sqrt{ x^{2}+\sqrt{y} }$ x x2 + y 2
\qquad $\sqrt[3]{2}$\\[3pt] √ 2
[x + y 2 ]
$\surd[x^2 + y^2]$
$\overline{m+n}$ m+n
a + b + ··· + z
$\underbrace{ a+b+\cdots+z }_{26}$ | {z }
26
\begin{displaymath}
y=x^{2}\qquad y’=2x\qquad y’’=2 y = x2 y 0 = 2x y 00 = 2
\end{displaymath}
2
Não existe um Alpha definido em LATEX 2ε porque é idêntico a um A normal. Logo
que a nova codificação para a matemática esteja pronta, as coisas irão mudar.
3.3 Construindo Blocos de Fórmulas Matemáticas 53
\begin{displaymath}
\vec a\quad\overrightarrow{AB} −−→
~a AB
\end{displaymath}
\begin{displaymath}
v = {\sigma}_1 \cdot {\sigma}_2
{\tau}_1 \cdot {\tau}_2 v = σ 1 · σ 2 τ1 · τ2
\end{displaymath}
\begin{displaymath}
n
\binom{n}{k}\qquad\mathrm{C}_n^k Ckn
\end{displaymath} k
Para relações binárias pode ser útil colocar sı́mbolos uns por cima dos
outros. O \stackrel coloca o sı́mbolo dado no primeiro argumento no
tamanho de expoente sobre o segundo, que é escrito na sua posição usual.
\begin{displaymath} Z
!
\int f_N(x) \stackrel{!}{=} 1 fN (x) = 1
\end{displaymath}
\begin{displaymath}
\sum_{i=1}^{n} \qquad n
X Z π
2 Y
\int_{0}^{\frac{\pi}{2}} \qquad
\prod_\epsilon i=1 0
\end{displaymath}
\begin{displaymath}
\sum_{\substack{0<i<n \\ 1<j<m}}
P(i,j) = X X
P (i, j) = Q(i, j)
\sum_{\begin{subarray}{l} i\in I\\
0<i<n i∈I
1<j<m 1<j<m 1<j<m
\end{subarray}} Q(i,j)
\end{displaymath}
\begin{displaymath}
{a,b,c}\neq\{a,b,c\} a, b, c 6= {a, b, c}
\end{displaymath}
\begin{displaymath}
3
1 + \left( \frac{1}{ 1-x^{2} } 1
\right) ^3 1+
1 − x2
\end{displaymath}
2
$\Big( (x+1) (x-1) \Big) ^{2}$\\ (x + 1)(x − 1)
$\big(\Big(\bigg(\Bigg($\quad )
o
$\big\}\Big\}\bigg\}\Bigg\}$\quad
$\big\|\Big\|\bigg\|\Bigg\|$
\begin{displaymath}
x_{1},\ldots,x_{n} \qquad
x_{1}+\cdots+x_{n} x1 , . . . , xn x1 + · · · + xn
\end{displaymath}
\newcommand{\ud}{\mathrm{d}}
\begin{displaymath} ZZ
\int\!\!\!\int_{D} g(x,y) g(x, y) dx dy
\, \ud x\, \ud y D
\end{displaymath} em vez de
em vez de Z Z
\begin{displaymath} g(x, y)dxdy
\int\int_{D} g(x,y)\ud x \ud y D
\end{displaymath}
\newcommand{\ud}{\mathrm{d}} ZZ
\begin{displaymath}
dx dy
\iint_{D} \, \ud x \, \ud y D
\end{displaymath}
\begin{displaymath}
\mathbf{X} =
\left( \begin{array}{ccc}
x11 x12 ...
x_{11} & x_{12} & \ldots \\ x21 x22 ...
X=
x_{21} & x_{22} & \ldots \\ .. .. ..
\vdots & \vdots & \ddots . . .
\end{array} \right)
\end{displaymath}
Este ambiente também pode ser usado para escrever expressões que têm
um delimitador esquerdo grande, usando um “.” como delimitador invisı́vel
à direita (\right):
3.5 Material Alinhado Verticalmente 57
\begin{displaymath}
y = \left\{ \begin{array}{ll}
a & \textrm{se $d>c$}\\ a se d > c
b+x & \textrm{na manh~
a}\\ y= b + x na manhã
l & \textrm{no resto do dia} l no resto do dia
\end{array} \right.
\end{displaymath}
\begin{displaymath}
\left(\begin{array}{c|c}
1 & 2 \\
1 2
\hline
3 4
3 & 4
\end{array}\right)
\end{displaymath}
Para fórmulas que ocupam mais do que uma linha, ou para sistemas de
equações, pode usar o ambiente eqnarray, e eqnarray* em vez de equation.
Com eqnarray cada linha fica com um número de equação. O eqnarray*
não numera o que quer que seja.
Os ambientes eqnarray e eqnarray* funcionam como uma tabela de
três colunas da forma {rcl}, onde a coluna do meio pode ser utilizada para
o sinal de igual, o de diferente, ou qualquer outro que pareça adequado. O
comando \\ quebra as linhas.
\begin{eqnarray}
f(x) & = & \cos x \\ f (x) = cos x (3.5)
f’(x) & = & -\sin x \\
\int_{0}^{x} f(y)dy & f 0 (x) = − sin x (3.6)
Z x
= & \sin x f (y)dy = sin x (3.7)
\end{eqnarray} 0
Note que o espaço de cada lado do sinal de igual é bastante grande. Pode ser
reduzido especificando \setlength\arraycolsep{2pt}, como no seguinte
exemplo.
Equações longas não irão ser divididas automaticamente em pequenos
pedaços. O autor tem de especificar onde as quebrar e o espaço que deve
indentar. Os dois métodos seguintes são os mais comuns para obter este
resultado.
58 Fórmulas Matemáticas
{\setlength\arraycolsep{2pt}
\begin{eqnarray} x3 x5
\sin x & = & x -\frac{x^{3}}{3!} sin x = x − + −
3! 5!
+\frac{x^{5}}{5!}-{}
x7
\nonumber\\ − + ··· (3.8)
& & {}-\frac{x^{7}}{7!}+{}\cdots 7!
\end{eqnarray}}
\begin{eqnarray}
\lefteqn{ \cos x = 1
-\frac{x^{2}}{2!} +{} } x2
cos x = 1 − +
\nonumber\\ 2!
& & {}+\frac{x^{4}}{4!} 4 6
x x
-\frac{x^{6}}{6!}+{}\cdots + − + ··· (3.9)
4! 6!
\end{eqnarray}
O comando \nonumber faz com que o LATEX não gere um número para a
equação actual.
Pode tornar-se difı́cil obter equações verticalmente alinhadas a aparecer
de uma forma correcta com estes métodos; o pacote amsmath tem um con-
junto mais poderoso de alternativas. (veja os ambientes align, flalign,
gather, multiline e split).
3.6 Fantasmas
Não conseguimos ver fantasmas, mas eles continuam a ocupar algum espaço
nas mentes de um grande número de pessoas. O LATEX não é diferente.
Podemos usar isto para alguns truques interessantes de espaçamento.
Quando se alinha texto verticalmente usando ^ e _, o LATEX é, por vezes,
demasiado prestável. Usando o comando \phantom pode reservar espaço
para caracteres que não aparecem no resultado final. A forma mais fácil de
compreender é reparar nos sequintes exemplos:
\begin{displaymath}
{}^{12}_{\phantom{1}6}\textrm{C}
\qquad \textrm{em oposiç~
ao a} \qquad 12 12
6C em oposição a 6 C
{}^{12}_{6}\textrm{C}
\end{displaymath}
\begin{displaymath}
\Gamma_{ij}^{\phantom{ij}k}
\qquad \textrm{em oposiç~
ao a} \qquad Γij k em oposição a Γkij
\Gamma_{ij}^{k}
\end{displaymath}
3.7 Tamanho da Matemática 59
\newtheorem{nome}[contador ]{texto}[secção]
\begin{nome}[texto]
Este é o meu interessante teorema
\end{nome}
% definiç~
oes para o pre^ambulo
% do documento
\newtheorem{law}{Lei}
\newtheorem{jury}[law]{Júri} Lei 1 Não te escondas na caixa.
%no documento
\begin{law} \label{law:box} Júri 2 (O décimo) Podes ser tu! Por-
N~
ao te escondas na caixa. tanto, cautela e vê a lei 1
\end{law}
\begin{jury}[O décimo]
Podes ser tu! Portanto, cautela Lei 3 Não, Não, Não
e v^
e a lei~\ref{law:box}\end{jury}
\begin{law}N~ao, N~
ao, N~ao\end{law}
\flushleft
\newtheorem{mur}{Murphy}[section]
\begin{mur} Murphy 3.8.1 Se existirem duas ou mais
Se existirem duas ou mais maneiras de realizar algo, e uma delas puder
maneiras de realizar algo, e resultar em catástrofe, então alguém a a irá
uma delas puder resultar em executar.
catástrofe, ent~
ao alguém a
a irá executar.\end{mur}
\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$} µ, M M µ, M
\end{displaymath}
Note que a vı́rgula também está em bold o que pode não ser o desejado.
O pacote amsbsy (incluı́do no amsmath) faz isto muito mais facilmente
porque inclui o comando \boldsymbol.
\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M} µ, M µ, M
\end{displaymath}
62 Fórmulas Matemáticas
6
Estas tabelas são derivadas do symbols.tex por David Carlisle e mudados extensiva-
mente como sugerido por Josef Tkadlex.
3.10 Lista de Sı́mbolos Matemáticos 63
+ + − -
± \pm ∓ \mp / \triangleleft
· \cdot ÷ \div . \triangleright
× \times \ \setminus ? \star
∪ \cup ∩ \cap ∗ \ast
t \sqcup u \sqcap ◦ \circ
∨ \vee , \lor ∧ \wedge , \land • \bullet
⊕ \oplus \ominus \diamond
\odot \oslash ] \uplus
⊗ \otimes
\bigcirc q \amalg
4 \bigtriangleup 5 \bigtriangledown † \dagger
\lhd a \rhd a ‡ \ddagger
\unlhd a \unrhd a o \wr
64 Fórmulas Matemáticas
Especialidades
\usepackage[driver ]{graphicx}
3. Use o comando
\includegraphics[chave=valor, . . . ]{ficheiro}
\begin{figure}
\begin{center}
\includegraphics[angle=90, width=0.5\textwidth]{test}
\end{center}
\caption{Uma legenda, a explicar que isto é um teste.}
\end{figure}
4.2 Bibliografia
\bibitem[etiqueta]{marca}
\cite{marca}
Partl~\cite{pa} prop^
os
que se \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX}, Bibliografia
TUGboat Volume~9, Issue~1 (1988)
\end{thebibliography}
4.3 Indexar
Uma caracterı́stica muito útil de muitos livros é o seu ı́ndice remissivo. Com
o LATEX e o programa de suporte makeindex,5 um ı́ndice pode ser gerado de
uma forma bastante simples. Esta introdução só irá explicar os comandos
básicos de geração. Para uma explicação mais aprofundada, veja o The
LATEX Companion [3].
Para activar a indexação do LATEX, deve incluir o pacote makeidx no
preâmbulo do documento com
\usepackage{makeidx}
\makeindex
no preâmbulo do documento.
5
Em sistemas que não suportam necessariamente nomes de ficheiros com mais de oito
caracteres, o programa pode ter o nome de makeidx.
4.3 Indexar 73
\index{chave}
makeindex nomedoficheiro
\printindex
4.4 Cabeçalhos
O pacote fancyhdr,6 escrito por Piet van Oostrum, fornece alguns comandos
simples que permitem configurar o cabeçalho e o rodapé do seu documento.
Se olhar para o topo desta página, irá ver uma aplicação possı́vel deste
pacote.
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% com isto temos a certeza que os cabeçalhos do
% capı́tulo e secç~
ao s~
ao em minúsculas.
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{} % apagar as configuraç~ oes actuais
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % fazer espaço para o risco
\fancypagestyle{plain}{%
\fancyhead{} % Tirar cabeçalhos de página vazias
\renewcommand{\headrulewidth}{0pt} % e o risco
}
\verbatiminput{nomedoficheiro}
que permite incluir texto ASCII puro no documento como se estivesse dentro
do ambiente verbatim.
Como o pacote verbatim é parte do conjunto ‘tools’, deve encontrá-lo
instalado em quase todos os sistemas. Se quer saber mais sobre este pacote,
leia [9].
1. Corra o LATEX no ficheiro .dtx. Isto irá gerar um ficheiro .dvi. Note
que deve precisar de usar o LATEX várias vezes antes de obter as refe-
rencias cruzadas correctamente;
5. Por fim, faça um ficheiro .ps ou .pdf para aumentar o seu prazer de
leitura.
Tenha a certeza de passar o LATEX no ficheiro .dtx uma última vez antes de
mover para o passo 5.
O conjunto de tipos de letra AE, tal como o sistema MlTEX, faz com que
o TEX acredite que tem um conjunto completo de 256 caracteres à sua
disposição criando a maior parte dos tipos de letra que faltem, rearranjando-
as na ordem EX, o que permite que se use os excelentes tipos de letra CM
type 1 existentes na maior parte dos sistemas. Como o tipo de letra irá estar
na codificação T1, a hifenização irá funcionar correctamente nas lı́nguas
Europeias baseadas em Latin. A única desvantagem é que os caracteres
artificiais AE não funcionam na função Find do Acrobat Reader, pelo que
não poderá procurar palavras com caracteres acentuados no seu documento
final PDF.
Para a lı́ngua Russa, uma solução parecida é usar os tipos de letra virtu-
ais C1 disponı́veis em ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts.
Estes tipos de letra combinam os tipos habituais CM type 1 com a colecção
Bluesky e tipos de letra CMCYR type 1 da colecção Paradissa e BaKoMa,
todas disponı́veis no CTAN. Visto que os tipos de letra Paradissa contém
apenas letras Russas, os tipos de letra C1 não contém alguns glifos cirı́licos.
Outra solução é mudar para outro tipo de letra PostScript type 1.
Actualmente, algumas são incluı́das com todas as cópias do Acrobat Reader.
Como estes tipos de letra têm tamanhos diferentes, o formato do texto nas
suas páginas irá mudar. Normalmente, estes tipos de letra irão usar mais
espaço do que os tipos de letra CM, que são muito eficientes em relação a
espaço ocupado. A coerência visual do documento também irá sofrer porque
os tipos de letra Times, Helvetica e Courier (os candidatos principais para o
trabalho de substituição) não foram desenhados para trabalhar em harmonia
num único documento.
Dois conjuntos de tipos prontos a usar estão disponı́veis para este fim:
pxfonts, que é baseado nas Palatino, como tipo para o texto do corpo, e o
pacote txfonts, que é baseado no Times. Para os usar é suficiente colocar as
seguintes linhas no preâmbulo do seu documento:
\usepackage[T1]{fontenc}
\usepackage{pxfonts}
\usepackage[pdftex]{color,graphicx}
No exemplo acima, também incluı́ a opção color, visto que o uso de cores
em documentos mostrados na Internet é bastante natural.
Chega de boas notı́cias. As más é que imagens em Encapsulated PostS-
cript não funcionam com o PdfLATEX. Se não definir uma extensão no nome
do ficheiro do comando \includegraphics, o pacote graphicx irá procurar
um ficheiro que lhe seja adequado, dependendo das opções do driver. Para
pdftex irá procurar os formatos .png, .pdf, .jpg, .mps (METAPOST), e
.tif—mas não .eps.
A forma simples de resolver este problema é simplesmente converter
os seus ficheiros EPS para o formato PDF usando a utilidade epstopdf
existente em tantos sistemas. Para gráficos vectoriais (desenhos) esta é uma
grande solução. Para mapas de bits (fotografias) isto pode não ser ideal,
porque o formato PDF suporta nativamente a inclusão de imagens PNG
e JPEG. PNG é bom para imagens de aplicações e outras imagens com
poucas cores. O JPEG é bom para fotografias, visto ser eficiente em relação
ao espaço ocupado em disco.
Até pode ser desejável não desenhar algumas figuras geométricas mas
descrevê-las com uma linguagem especializada, como o METAPOST, que
pode ser encontrada em quase todas as distribuições do TEX, e vem com o
seu próprio manual extensivo.
\usepackage[pdftex]{hyperref}
Para ter a lista de bookmarks aberta e ligações em cor: (os valores =true
são opcionais):
7
É de notar que o pacote hyperref não está limitado ao uso com o pdfTEX. Também
pode ser configurado para embeber informação especı́fica do PDF no ficheiro DVI, resul-
tado normal do LATEX, que depois irá colocar no ficheiro PS com o dvips e que, finalmente,
será usado pelo Adobe Distiller quando se tentar converter de PS para PDF.
82 Especialidades
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
Ao criar PDFs destinados a serem impressos, as ligações coloridas não são
boa ideia uma vez que irão acabar cinzentas no resultado final, tornando-se
difı́ceis de ler. Pode usar caixas de cor, que não serão impressas:
\usepackage{hyperref}
\hypersetup{colorlinks=false}
ou colocar as ligações a preto:
\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black,%
pdftex}
Quando quer apenas providenciar informação para a secção de informação
sobre o documento PDF:
\usepackage[pdfauthor={Pierre Desproges}%
pdftitle={Des femmes qui tombent},%
pdftex]{hyperref}
\href{url }{texto}
O código
O endereço do \href{http://www.ctan.org}{CTAN}.
produz o resultado “CTAN”; um clique na palavra “CTAN” irá levá-lo à
página de Internet do CTAN.
Se o destino da ligação não é um URL mas um ficheiro local, pode usar
o comando \href da seguinte forma:
O documento completo está \href{manual.pdf}{aqui}
Que produz o texto “O documento completo está aqui”. Ao clicar na palavra
“aqui” irá abrir o ficheiro manual.pdf. (O nome do ficheiro é relativo à
localização actual do documento actual).
O autor de um artigo pode desejar que os seus leitores enviem-lhe men-
sagens de correio electrónico usando o comando \href dentro do comando
\author na página principal do documento:
4.7 Usar o pdfLATEX 83
Note que coloquei a ligação de forma a que o meu endereço apareça não
só na ligação mas também na página. Isso é importante porque a ligação
\href{mailto:[email protected]}{Mary Oetiker}
irá funcionar bem dentro do Acrobat, mas assim que a página seja impressa
o endereço nunca mais seria visı́vel.
\section{\texorpdfstring{$E=mc^2$}%
{E\ =\ mc\texttwosuperior}}
84 Especialidades
\section{\textcolor{red}{Red !}}
\newif\ifPDF
\ifx\pdfoutput\undefined\PDFfalse
\else\ifnum\pdfoutput > 0\PDFtrue
\else\PDFfalse
\fi
\fi
nas primeiras linhas do seu documento, que define um comando especial que
irá permitir escrever de forma simples código condicional:
\ifPDF
\usepackage[T1]{fontenc}
\usepackage{aeguill}
\usepackage[pdftex]{graphicx,color}
\usepackage[pdftex]{hyperref}
\else
\usepackage[T1]{fontenc}
\usepackage[dvips]{graphicx}
\usepackage[dvips]{hyperref}
\fi
4.8 Criar Apresentações com pdfscreen 85
No exemplo, incluı́ o pacote hyperref mesmo na versão não PDF. Isto faz
com que o comando \href funcione em todos os casos, o que me poupa de
alterar cada uma das suas ocorrências numa instrução condicional.
Note que em distribuições recentes do TEX (TEXLive, por exemplo),
a escolha entre pdftex e dvips ao chamar o pacote graphicx e color irá
acontecer automaticamente de acordo com as preferências escolhidas nos
ficheiros de configuração graphics.cfg e color.cfg.
screen para apresentação em écran. Use print para criar versões im-
primı́veis.
french ou qualquer outra lı́ngua suportada, irá mostrar o texto dos botões
de navegação de forma apropriada. Esta opção é independente das
opções colocadas no pacote babel. Se a sua lı́ngua não é suportada pelo
pdfscreen, ainda poderá mudar o texto dos botões do painel usando o
ficheiro pdfscreen.cfg. Veja pdfscreen.cfg..specimen para um
exemplo.
\documentclass[pdftex,12pt]{article}
%%% algumas extens~ oes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[latin1]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{aeguill}
%%% pdfscreen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[screen,panelleft,chocolate]{pdfscreen}
% Formato do écran
\panelwidth=25mm
%% altura largura
\screensize{150mm}{200mm}
%% esquerda direita topo fundo
\marginsize{42mm}{8mm}{10mm}{10mm}
% Cor ou imagem para o fundo
\overlayempty
\definecolor{mybg}{rgb}{1,0.9,0.7}
\backgroundcolor{mybg}
% Logotipo
\emblema{MyLogo}
%%% Para o PPower4 (pós-processador) %%%%%%%%%%%%%%%%%%%%
\usepackage{pause}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{slide}
\begin{itemize}
\item Boas notı́cias\dots \pause
\item Más notı́cias
\end{itemize}
\end{slide}
\end{document}
\overlay{imagem}
\background{cor }
\emblema{logotipo}
Para controlar o que aparece em cada slide, pode usar o ambiente \begin{slide}
. . . \end{slide}. O conteúdo de cada um irá ser mostrado centrado verti-
calmente na sua página.
Ao compilar o exemplo anterior irá obter uma mensagem de erro:
Isto acontece porque existe um botão no painel de navegação que quer apon-
tar para a tabela de conteúdos e, como este exemplo não contém o comando
\tableofcontents a resolução da ligação falha.
88 Especialidades
Produção de Gráficos
Matemáticos
A maior parte das pessoas usam o LATEX para dactilografar os seus textos. Além
de permitir e incentivar a estruturação dos textos, o LATEX também oferece pos-
sibilidades, ligeiramente restritas, para produção de resultados gráficos usando
descrições textuais. Recentemente, um grande número de extensões LATEX têm
vindo a ser criadas para ultrapassar estes problemas. Nesta secção, irá aprender
a usar algumas delas.
5.1 Introdução
O ambiente picture permite a programação de imagens directamente em
LATEX Uma descrição detalhada pode ser encontrada no LATEX Manual [1].
Por um lado, existem um conjunto de restrições severas, como os tipos de
segmentos ou raios de cı́rculos que estão estritos a um pequeno conjunto
de valores. Por outro, o ambiente picture do LATEX 2ε contém o comando
\qbezier, onde o “q” significa “quadrática”. A maior parte das curvas usa-
das como cı́rculos, elipses e outras podem ser aproximadas de forma satis-
fatória usando curvas de Bézier quadráticas, mesmo que obriguem a alguns
cálculos matemáticos. Por outro lado, se uma linguagem de programação
como o Java for usada para gerar blocos \qbezier para documentos LATEX,
o ambiente picture torna-se bastante poderoso.
Apesar da programação de imagens directamente em LATEX seja bastante
restrita, e normalmente bastante cansativa, existem boas razões para o fa-
zer. Os documentos produzidos desta forma são “pequenos” em relação ao
tamanho ocupado, e não são necessários ficheiros extra.
Pacotes como o epic e eepic (descritos, por exemplo, no The LATEX Com-
panion [3]), ou pstricks ajudam a eliminar estas restrições substituindo o
ambiente original picture, e melhorando significativamente o poder gráfico
do LATEX.
90 Produção de Gráficos Matemáticos
ou
\setlength{\unitlength}{1.2cm}
\put(x, y){objecto}
ou
As curvas de Bézier não são uma excepção. São desenhadas com o co-
mando
\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}
92 Produção de Gráficos Matemáticos
2. um comprimento.
−6, −5, . . . , 5, 6,
e têm de ser primos entre si (nenhum divisor comum excepto o 1). A figura
ilustra todas as 25 possibilidades de inclinação no primeiro quadrante. O
comprimento é relativo à unidade \unitlength. Este argumento é a coor-
denada vertical no caso de um segmento de recta vertical, e a coordenada
horizontal em todos os outros casos.
5.2.3 Setas
\setlength{\unitlength}{1mm}
\begin{picture}(60,40)
\put(30,20){\vector(1,0){30}} OC
\put(30,20){\vector(4,1){20}} C
*
\put(30,20){\vector(3,1){25}} C
\put(30,20){\vector(2,1){30}} yXX
X C 1
XX :
\put(30,20){\vector(1,2){10}} XXX C
XC
-
\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}
−4, −3, . . . , 3, 4.
5.2.4 Cı́rculos
\setlength{\unitlength}{1mm}
\begin{picture}(60, 40)
\put(20,30){\circle{1}}
\put(20,30){\circle{2}}
\put(20,30){\circle{4}}
\put(20,30){\circle{8}}
\put(20,30){\circle{16}}
\put(20,30){\circle{32}}
\put(40,30){\circle{1}}
\put(40,30){\circle{2}} '$ '$
#
\put(40,30){\circle{3}}
\put(40,30){\circle{4}} j
be m
j
h
be
\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}} r u x z}
\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}
O comando
\put(x, y){\circle{diametro}}
Como este exemplo mostra, texto e fórmulas podem ser escritas num
ambiente picture usando o comando \put da forma usual.
O comando
\setlength{\unitlength}{1cm}
\begin{picture}(6,4)
\linethickness{0.075mm}
\multiput(0,0)(1,0){7}% ' $ $
{\line(0,1){4}}
\multiput(0,0)(0,1){5}%
{\line(1,0){6}} ' $
\thicklines
& % %
\put(2,3){\oval(3,1.8)} '
\thinlines
\put(3,2){\oval(3,1.8)} & %
\thicklines
\put(2,1){\oval(3,1.8)[tl]} & %
\put(4,1){\oval(3,1.8)[b]}
\put(4,3){\oval(3,1.8)[r]}
\put(3,1.5){\oval(1.8,0.4)}
\end{picture}
O comando
ou
\setlength{\unitlength}{0.5mm}
\begin{picture}(120,168)
\newsavebox{\foldera}% declaraç~ao
\savebox{\foldera}
(40,32)[bl]{% definiç~
ao
\multiput(0,0)(0,28){2}
{\line(1,0){40}}
\multiput(0,0)(40,0){2}
{\line(0,1){28}}
\put(1,28){\oval(2,2)[tl]}
\put(1,29){\line(1,0){5}}
\put(9,29){\oval(6,6)[tl]}
\put(9,32){\line(1,0){8}}
\put(17,29){\oval(6,6)[tr]}
\put(20,29){\line(1,0){19}}
\put(39,28){\oval(2,2)[tr]}
}
\newsavebox{\folderb}% declaraç~ao
\savebox{\folderb}
(40,32)[l]{% definiç~
ao
\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}
\newsavebox{nome}
\savebox{nome}(largura,altura)[posição]{conteúdo}
\put(x, y)\usebox{nome}
5.2.10 “Parábolas”
\setlength{\unitlength}{1.3cm}
\begin{picture}(4.3,3.6)(-2.5,-0.25)
\put(-2,0){\vector(1,0){4.4}}
\put(2.45,-.05){$x$}
\put(0,0){\vector(0,1){3.2}}
\put(0,3.35){\makebox(0,0){$y$}}
\qbezier(0.0,0.0)(1.2384,0.0)
(2.0,2.7622)
\qbezier(0.0,0.0)(-1.2384,0.0)
(-2.0,2.7622) y
\linethickness{.075mm} 6
\multiput(-2,0)(1,0){5}
{\line(0,1){3}}
\multiput(-2,0)(0,1){4}
{\line(1,0){4}}
\linethickness{.2mm}
\put( .3,.12763){\line(1,0){.4}}
\put(.5,-.07237){\line(0,1){.4}}
\put(-.7,.12763){\line(1,0){.4}}
\put(-.5,-.07237){\line(0,1){.4}} -x
\put(.8,.54308){\line(1,0){.4}} v
\put(1,.34308){\line(0,1){.4}}
\put(-1.2,.54308){\line(1,0){.4}}
\put(-1,.34308){\line(0,1){.4}}
\put(1.3,1.35241){\line(1,0){.4}}
\put(1.5,1.15241){\line(0,1){.4}}
\put(-1.7,1.35241){\line(1,0){.4}}
\put(-1.5,1.15241){\line(0,1){.4}}
\put(-2.5,-0.25){\circle*{0.2}}
\end{picture}
\begin{picture}(4.3,3.6)(-2.5,-0.25)
faz com que o seu canto inferior esquerdo (marcado pelo disco preto) esteja
nas coordenadas (−2.5, −0.25).
5.3 XY-pic 99
\setlength{\unitlength}{1cm}
\begin{picture}(6,4)(-3,-2)
\put(-2.5,0){\vector(1,0){5}}
\put(2.7,-0.1){$\chi$}
\put(0,-1.5){\vector(0,1){3}}
β = v/c = tanh χ
\multiput(-2.5,1)(0.4,0){13} 6
{\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)
u
\qbezier(0,0)(-0.8853,-0.8853)
(-2,-0.9640)
\put(-3,-2){\circle*{0.2}}
\end{picture}
5.3 XY-pic
By Alberto Manuel Brandão Simões <[email protected]>
\usepackage[opções]{xy}
onde opções é a lista de funções do XY-pic que quer usar. Estas opções
são especialmente úteis para encontrar erros no pacote. Pessoalmente, re-
comendo a opção all que indica ao LATEX para carregar todos os comandos
disponı́veis no XY.
Os diagramas XY-pic são desenhados numa tela orientada à matriz, onde
cada elemento do diagrama é colocado numa das posições da matriz:
\begin{displaymath} A B
\xymatrix{A & B \\
C & D }
\end{displaymath} C D
100 Produção de Gráficos Matemáticos
\begin{displaymath} AO /B
\xymatrix{ A \ar[r] & B \ar[d] \\
D \ar[u] & C \ar[l] }
\end{displaymath} Do C
\begin{displaymath} /B
A@
\xymatrix{ @@
A \ar[d] \ar[dr] \ar[r] & B \\ @@
@@
D & C }
\end{displaymath} D C
Para criar diagonais, junte mais do que uma direcção. De facto, até pode
repetir direcções para criar setas mais compridas.
\begin{displaymath}
A @PPP
\xymatrix{ @@ PPP
@@ PPP
A \ar[d] \ar[dr] \ar[drr] & & \\ @@ PPP
B & C & D } PP'
\end{displaymath} B C D
\begin{displaymath}
\xymatrix{ A
f
/B
A \ar[r]^f \ar[d]_g & g g0
B \ar[d]^{g’} \\
D \ar[r]_{f’} & C } D /C
f0
\end{displaymath}
\begin{displaymath}
\xymatrix{ A f /B
A \ar[r]|f \ar[d]|g &
g g0
B \ar[d]|{g’} \\
D \ar[r]|{f’} & C } D f0 /C
\end{displaymath}
• /•
• o•
\shorthandoff{"}
\begin{displaymath} • /o /o o/ o/ /o /o /o ? _ •
\xymatrix{
\bullet\ar@{->}[rr] && \bullet\\
\bullet\ar@{.<}[rr] && \bullet\\ • •
\bullet\ar@{~)}[rr] && \bullet\\
\bullet\ar@{=(}[rr] && \bullet\\
\bullet\ar@{~/}[rr] && \bullet\\ • /o /o /o /o /o /o /o •
\bullet\ar@{^{(}->}[rr] && \bullet\\
\bullet\ar@2{->}[rr] && \bullet\\
\bullet\ar@3{->}[rr] && \bullet\\ • /•
\bullet\ar@{=+}[rr] && \bullet
} +3 •
•
\end{displaymath}
\shorthandon{"}
• _*4 •
• _ •
\begin{displaymath}
\xymatrix{
\bullet \ar[r]
\ar@{.>}[r] & • /•
\bullet
}
\end{displaymath}
102 Produção de Gráficos Matemáticos
\begin{displaymath}
\xymatrix{
\bullet \ar@/^/[r]
(
\ar@/_/@{.>}[r] & • 6•
\bullet
}
\end{displaymath}
Configurar o LATEX
\begin{lscommand}
\dum
\ci{dum}
\end{lscommand}
Se decidir que já não gosto que os comandos sejam escritos numa caixa,
posso alterar simplesmente a definição do ambiente lscommand para criar
uma nova aparência. Isto é muito mais fácil do que andar por todo o do-
cumento à caça de todos os lugares onde usei alguns comandos genéricos
LATEX para desenhar uma caixa à volta de algumas palavras.
\newcommand{nome}[num]{definição}
LATEX não permite que crie um novo comando que substitua um já exis-
tente. Mas, existe um comando especial no caso de querer fazer isto. Nesse
caso, use explicitamente o comando \renewcommand que funciona da mesma
forma que o comando \newcommand.
6.1 Novos Comandos, Ambientes e Pacotes 105
\newenvironment{nome}[num]{antes}{depois}
\newenvironment{king}
{\rule{1ex}{1ex}%
\hspace{\stretch{1}}}
{\hspace{\stretch{1}}%
\rule{1ex}{1ex}} Os meus pensamentos . . .
\begin{king}
Os meus pensamentos \ldots
\end{king}
\newenvironment{correcto}%
{\noindent\ignorespaces}%
{\par\noindent\ignorespacesafterend} Sem espaços
à esquerda.
\begin{correcto} O mesmo
Sem espaços\\à esquerda. aqui.
\end{correcto}
O mesmo\\aqui.
\usepackage{ifthen}
\ifthenelse{\equal{\blackandwhite}{true}}{
% Modo "preto e branco"; fazer qualquer coisa...
}{
% Modo "a cores"; fazer qualquer coisa diferente...
}
% Pacote de Demonstraç~
ao por Tobias Oetiker
\ProvidesPackage{demopack}
\newcommand{\npil}{A n~ao t~
ao Pequena Introduç~ao ao \LaTeXe}
\newcommand{\txsit}[1]{A \emph{#1} T~ ao
Introduç~
ao ao \LaTeXe}
\newenvironment{king}{\begin{quote}}{\end{quote}}
\ProvidesPackage{nome do pacote}
{\small Os pequenos e
\textbf{gordos} Romanos mandaram} Os pequenos e gordos Romanos mandaram
{\Large em toda a grande em toda a grande Itália.
\textit{Itália}.}
108 Configurar o LATEX
{\Large N~
ao leia isto! Isto n~
ao é Não leia isto! Isto não é ver-
verdade. Tem de acreditar dade. Tem de acreditar em
em mim!\par}
mim!
\begin{Large}
Isto n~
ao é verdade.
Mas mais uma vez, o que s~
ao Isto não é verdade. Mas mais
estes dias \ldots uma vez, o que são estes dias . . .
\end{Large}
\newcommand{\oops}[1]{\textbf{#1}}
N~
ao \oops{entre} neste quarto, Não entre neste quarto, está ocupado por
está ocupado por uma \oops{máquina} uma máquina de origem e objectivos desco-
de origem e objectivos desconhecidos. nhecidos.
Esta abordagem tem a vantagem de que pode decidir mais tarde se quer
utilizar uma outra representação visual do perigo sem ser o \textbf sem ter
de alterar todo o seu documento, identificando as ocorrências de \textbf
e descobrindo, para cada uma, de é ou não um dos casos em que está a
apontar perigo, ou se foi usado por qualquer outra razão.
1
\par é equivalente a uma linha em branco
6.3 Espaçamento 111
6.2.3 Aviso
Para concluir esta jornada na terra das letras, aqui está uma pequena palavra
de aviso:
\linespread{factor }
\setlength{\baselineskip}{1.5\baselineskip}
{\setlength{\baselineskip}%
{1.5\baselineskip}
Este parágrafo está escrito com um inter-
Este parágrafo está escrito com
um intervalo de 1.5 vezes maior valo de 1.5 vezes maior do que o valor an-
do que o valor anterior. Repare
terior. Repare no comando ’par’ no final do
no comando ’par’ no final do
parágrafo.\par} parágrafo.
Este parágrafo tem um objectivo claro: mos-
Este parágrafo tem um objectivo
tra que depois de fechar a chaveta tudo voltou
claro: mostra que depois de
ao normal.
fechar a chaveta tudo voltou
ao normal.
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\indent
\noindent
como o primeiro comando do parágrafo. Isto pode ser útil quando começa
um documento com texto e não com um comando que seccione o documento.
\hspace{comprimento}
Se um destes espaços deve ser mantido mesmo que atinja o fim ou inı́-
cio duma linha, use \hspace* em vez de \hspace. O comprimento é, no
caso mais simples, apenas um número e uma unidade. As unidades mais
importantes estão listadas na tabela 6.5.
2
Para indentar o primeiro parágrafo após cada tı́tulo de secção, use o pacote indentfirstq
que vem no conjunto de pacotes ‘tools’
6.3 Espaçamento 113
Este\hspace{1.5cm}é um espaço
Este é um espaço de 1.5 cm.
de 1.5 cm.
O comando
\stretch{n}
gera um espaço especial. Ele estica até que todo o espaço restante na linha
fique completo. Se dois comandos \hspace{\stretch{n}} forem invocados
na mesma linha, irão crescer de acordo com o factor indicado.
x\hspace{\stretch{1}}
x x x
x\hspace{\stretch{3}}x
Quando se usa espaço horizontal juntamente com texto, pode fazer sen-
tido obrigar o espaço a ajustar-se relativamente ao tamanho actual do tipo
de letra. Pode fazer isto usando unidades relativas ao texto: em e ex.
{\Large{}gran\hspace{1em}de}\\ gran de
{\tiny{}peque\hspace{1em}no} peque no
\vspace{comprimento}
Este comando deve ser normalmente usado entre duas linhas vazias. Se
o espaço deve ser preservado no inicio ou no fim de uma página, utilize a
versão estrelada do comando: \vspace* em vez de \vspace.
114 Configurar o LATEX
\vspace{\stretch{1}}
Isto aparece na última linha da página.\pagebreak
\\[comprimento]
6
i
4 i
5 i
6 i
2
? ?
?
6 ?Header
6
6 6
Margin
Body i
7
Notes
- 9i
10i -
3i
-
8 i -
? ?
1i- Footer
i
6
11
\setlength{parâmetro}{comprimento}
\addtolength{parâmetro}{comprimento}
\addtolength{\hoffset}{-0.5cm}
\addtolength{\textwidth}{1cm}
Neste contexto, pode querer olhar para o pacote calc, que permite usar
operações aritméticas no argumento de este e de outros comandos onde
deveria introduzir valores.
\settoheight{variável }{texto}
\settodepth{variável }{texto}
\settowidth{variável }{texto}
\flushleft
\newenvironment{vardesc}[1]{%
\settowidth{\parindent}{#1:\ }
\makebox[0pt][r]{#1:\ }}{}
\begin{displaymath} a2 + b2 = c2
a^2+b^2=c^2
\end{displaymath} Onde: a, b – são adjuntos do ângulo recto de
um triângulo rectângulo.
\begin{vardesc}{Onde}$a$,
$b$ -- s~
ao adjuntos do ^
angulo c – é a hipotenusa do triângulo e
recto de um tri^
angulo rect^
angulo. sente-se sozinha.
d – finalmente, nem sequer aparece.
$c$ -- é a hipotenusa do Não é curioso?
tri^
angulo e sente-se sozinha.
6.6 Caixas
o comando
\parbox[pos]{largura}{texto}
ou com o ambiente
O parâmetro pos pode tomar uma das letras c, t ou b para controlar o ali-
nhamento vertical da caixa, relativamente à linha base do texto circundante.
A largura toma um valor que especifica a largura da caixa. A principal di-
ferença entre minipage e \parbox é que não pode usar todos os comandos
e ambientes dentro de uma parbox enquanto quase tudo é possı́vel numa
minipage.
Enquanto \parbox empacota um parágrafo fazendo quebras de linha
e tudo o mais, existe também uma classe de comandos para caixotes que
operam apenas em material alinhado horizontalmente. Já conhecemos um
deles. É chamado \mbox, e empacota simplesmente uma série de caixas den-
tro de uma outra, e pode ser usado para prevenir a hifenização de palavras.
Como pode colocar caixas dentro de qualquer caixa, estes empacotadores
horizontais dão-lhe uma flexibilidade ilimitada.
\makebox[largura][pos]{texto}
5
Isto significa que pode ser mais pequena do que o material lá dentro. Pode até colocar
a largura a 0pt de forma a que o texto dentro da caixa irá ser escrita sem influenciar as
caixas circundantes.
6.7 Réguas e Estruturas 119
\makebox[\textwidth]{%
c e n t r a d o}\par
\makebox[\textwidth][s]{% centrado
e s p a l h a d o}\par e s p a l h a d o
\framebox[1.1\width]{Agora
Agora estou encaixilhado!
estou encaixilhado!} \par
\framebox[0.8\width][r]{Bolas, Bolas, estou tão largo
estou t~
ao largo} \par
\framebox[1cm][l]{esquece, Consegue
esquece, ler isto?
Eu sou assim
Eu sou assim}
Consegue ler isto?
\raisebox{içar }[acima-da-linha-base][abaixo-da-linha-base]{texto}
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}% Aaaaaaa ele gritou mas nem se-
\raisebox{-2.2ex}{g}% rg notou que alguma coisa
quer o mais próximo
\raisebox{-4.5ex}{h}}} terrı́vel lhe tinha h
acontecido.
ele gritou mas nem sequer o mais
próximo notou que alguma coisa
terrı́vel lhe tinha acontecido.
\rule[içar ]{largura}{altura}
6
O controlo total é obtido apenas controlando a horizontal tão bem como a vertical.... . .
120 Configurar o LATEX
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Pitprop \ldots\\
Pitprop . . .
\hline
\rule{0pt}{4ex}Strut\\ Strut
\hline
\end{tabular}
FIM.
Bibliografia
[3] Michel Goossens, Frank Mittelbach and Alexander Samarin. The LATEX
Companion. Addison-Wesley, Reading, Massachusetts, 1994, ISBN 0-
201-54199-8.
[4] Cada instalação LATEX deve providenciar um LATEX Local Guide que
explica os pormenores que são especiais nesse sistema em particular.
Deve estar contido num ficheiro denominado local.tex. Infelizmente,
muitos operadores de sistema preguiçosos não providenciam este docu-
mento. Neste caso, vá e peça ajuda ao seu mestre de LATEX.
[5] LATEX3 Project Team. LATEX 2ε for authors. Vem com a distribuição
LATEX 2ε como usrguide.tex.
[6] LATEX3 Project Team. LATEX 2ε for Class and Package writers. Vem
com a distribuição do LATEX 2ε como clsguide.tex.
[7] LATEX3 Project Team. LATEX 2ε Font selection. Vem com a distribuição
do LATEX 2ε como fntguide.tex.
[10] Vladimir Volovich, Werner Lemberg and LATEX3 Project Team. Cyril-
lic languages support in LATEX. Vem nas distribuições LATEX 2ε como
cyrguide.tex.
[11] Graham Williams. The TeX Catalogue é uma listagem bastante com-
pleta de muitos pacotes relacionados com o TEX e o LATEX. Disponı́vel
na Internet desde CTAN:/tex-archive/help/Catalogue/catalogue.
html
[12] Michel Goossens, Sebastian Rahtz and Frank Mittelbach. The LATEX
Graphics Companion. Addison-Wesley, Reading, Massachusetts, 1997,
ISBN 0-201-85469-4.
[13] Keith Reckdahl. Using EPS Graphics in LATEX 2ε Documents que ex-
plica tudo e muito mais do que alguma vez quis saber sobre ficheiros
EPS e o seu uso em documento LATEX. Disponı́vel na Internet desde
CTAN:/tex-archive/info/epslatex.ps
[16] Alan Hoenig. TEX Unbound. Oxford University Press, 1998, ISBN
0-19-509685-1; 0-19-509686-X (pbk.)
[17] Urs Oswald. Graphics in LATEX 2ε , containing some Java source fi-
les for generating arbitrary circles and ellipses within the picture
environment, and MetaPost - A Tutorial. Both downloadable from
http://www.ursoswald.ch
Índice
\!, 56 acento, 25
", 22 acrobat reader, 77
"’, 34 \addtolength, 116
"-, 34 æ, 25
"---, 34 aeguill, 78
"<, 34 agrupar, 108
"=, 34 agudo, 25
">, 34 Alemão, 28
"‘, 34 alinhamento decimal, 44
$, 49 \Alph, 34
\(, 49 \alph, 34
\), 49 ambientes
\,, 50, 55 abstract, 41
-, 22 array, 56, 57
−, 22 center, 40
\-, 21 comment, 6
–, 22 description, 39
—, 22 displaymath, 50
., espaço após, 35 enumerate, 39
. . . , 24 eqnarray, 57
\:, 55 equation, 50
\;, 55
figure, 45, 46
\@, 35
flushleft, 40
\[, 50
flushright, 40
ı́ndice, 52
itemize, 39
ı́ndice remissivo, 72
lscommand, 103
\\, 19, 40, 41, 43, 114
math, 49
\\*, 19
minipage, 118
ıe sem pontos, 25
parbox, 118
\], 50
picture, 89, 90, 93, 94
~, 35
pspicture, 90
A4, 11 quotation, 41
A5, 11 quote, 41
å, 25 subarray, 54
abstract, 41 table, 45, 46
124 ÍNDICE
\arccos, 53 \det, 53
\arcsin, 53 \dim, 53
\arctan, 53 \displaystyle, 59
\arg, 53 \documentclass, 10, 12, 20
\Asbuk, 34 \dq, 28
\asbuk, 34 \dum, 103
\author, 37, 82 \emblema, 87
\background, 87 \emph, 38, 108
\backmatter, 37 \end, 39, 90
\backslash, 5 \enumBul, 34
\begin, 39, 90, 98 \enumEng, 34
\bibitem, 71 \enumLat, 34
\Big, 55 \eqref, 50
\big, 55 \EUR, 23
\Bigg, 55 \euro, 23
\bigg, 55 \exp, 53
\biggl, 59 \fbox, 21
\biggr, 59 \flq, 28
\bigskip, 114 \flqq, 28
\binom, 54 \foldera, 97
\bmod, 53 \folderb, 97
\boldmath, 61 \footnote, 38, 48
\boldsymbol, 61 \footskip, 114
\caption, 46, 48 \frac, 53
\cdot, 53 \framebox, 118
\cdots, 55 \frenchspacing, 34, 35
\chapter, 36 \frontmatter, 37
\chaptermark, 74 \frq, 28
\ci, 103 \frqq, 28
\circle, 93 \fussy, 20
\circle*, 93 \gcd, 53
\cite, 71 \headheight, 114
\cleardoublepage, 47 \headsep, 114
\clearpage, 47 \height, 118, 119
\cline, 43 \hline, 43
\cos, 53 \hom, 53
\cosh, 53 \href, 82, 85
\cot, 53 \hspace, 105, 112
\coth, 53 \hyphenation, 20
\csc, 53 \idotsint, 56
\date, 37 \ignorespaces, 105, 106
\ddots, 55 \ignorespacesafterend, 106
\deg, 53 \iiiint, 56
\depth, 118, 119 \iiint, 56
126 ÍNDICE
latexsym, 13 delimitador, 55
latin1, 27 funções, 53
layout, 114 math, 49
\ldots, 24, 55 \mathbb, 51
\left, 55 \mathbf, 109
\leftmark, 74 \mathcal, 109
letras, 107 \mathit, 109
letras escandinavas, 25 \mathnormal, 109
letras gregas, 52 \mathrm, 59, 109
\lg, 53 mathrsfs, 68
LGR, 27 \mathsf, 109
ligações, 24 mathtext, 33
\lim, 53 \mathtt, 109
\liminf, 53 \max, 53
\limsup, 53 \mbox, 21, 24, 118
\line, 92 METAPOST, 80
\linebreak, 19 \min, 53
\linespread, 111 minipage, 118
\linethickness, 94, 95, 97 Mittelbach, Frank, 2
\listoffigures, 46 mltex, 79
\listoftables, 46 \multicolumn, 44
\ln, 53 \multiput, 91, 94
\log, 53
longtabular, 44 \newcommand, 104, 105
lscommand, 103 \newenvironment, 105
\newline, 19
macukr, 27 \newpage, 19
\mainmatter, 37, 83 \newsavebox, 96
\makebox, 118 \newtheorem, 60
makeidx, 72 \noindent, 112
makeidx, 13, 72 \nolinebreak, 19
makeindex, 72 \nonumber, 58
\makeindex, 72 \nopagebreak, 19
\maketitle, 37 \normalsize, 108
margens, 114 \not, 63
\marginparpush, 114 \npil, 104
\marginparsep, 114
\marginparwidth, 114 \oddsidemargin, 114
\marginsize, 87 œ, 25
marvosym, 23 opções, 10
matemática, 49 OT1, 27
menos, 22 \oval, 95, 97
matemático \overbrace, 52
acentos, 52 overfull hbox, 20
132 ÍNDICE
\overlay, 87 showidx, 73
\overleftarrow, 53 supertabular, 44
\overline, 52 syntonly, 13, 15
\overrightarrow, 53 textcomp, 23
txfonts, 79
package, 10 ucs, 27
pacote, 7, 10, 103 verbatim, 6, 75
pacotes xy, 99
aeguill, 78 page style, 14
amsbsy, 61 \pagebreak, 19
amsfonts, 51, 68 \pageref, 37, 76
amsmath, 54–56, 58, 59, 61 \pagestyle, 14
amssymb, 51, 62 palavra, 73
babel, 20, 25, 26, 29, 33, 34 \panelwidth, 87
calc, 116 papel
color, 85 A4, 11
dcolumn, 44 A5, 11
doc, 13 B5, 11
eepic, 89, 93 executivo, 11
epic, 89 letter, 11
europs, 23 paper size, 77
eurosans, 23 \paperheight, 114
eurosym, 23 \paperwidth, 114
exscale, 13, 55 \par, 108
fancyhdr, 74 parágrafo, 17
fontenc, 13, 27, 29, 33 parâmetro, 6
geometry, 75 parâmetros opcionais, 6
graphicx, 69, 80, 85 parêntesis, 54
hyperref, 77, 80, 81, 85 parêntesis rectos, 6
hyphenat, 75 para a frente, 108
ifthen, 13 \paragraph, 35
indentfirst, 112 \parbox, 118
inputenc, 13, 26, 33 parbox, 118
latexsym, 13 \parindent, 112
layout, 114 \parskip, 112
longtabular, 44 \part, 36
makeidx, 13, 72 pause, 87
marvosym, 23 \pause, 87
mathrsfs, 68 PDF, 76
mathtext, 33 pdfLATEX, 78, 85
pause, 87 pdfscreen, 85, 88
pdfscreen, 85, 88 pdfLATEX, 77
pstricks, 89, 90, 93 pdfTEX, 77
pxfonts, 79 pequenas maiúsculas, 108
ÍNDICE 133
X2, 27
xpdf, 77
xy, 99
\xymatrix, 100
136 ÍNDICE