• Nenhum resultado encontrado

Minicurso de L

N/A
N/A
Protected

Academic year: 2022

Share "Minicurso de L"

Copied!
47
0
0

Texto

(1)

Minicurso de L A TEX

Viviane Maranh˜ ao [email protected]

Mar¸co de 2013

(2)
(3)

Sum´ ario

1 LATEX B´asico 1

1.1 Introdu¸c˜ao . . . 1

1.1.1 Utilizando LATEX nos sistemas operacionais . . . 1

1.2 Estrutura de um documento . . . 2

1.2.1 Preˆambulo . . . 2

1.2.2 Corpo . . . 4

1.3 Comandos de texto . . . 4

1.3.1 Definindo e redefinindo comandos . . . 5

1.3.2 Modificadores de texto . . . 5

1.3.3 Espa¸camento . . . 7

1.3.4 Links . . . 8

1.3.5 Strings Especiais . . . 9

1.4 Ambientes . . . 9

1.4.1 Listas . . . 9

1.4.2 Verbatim . . . 10

1.4.3 Alinhamento . . . 10

1.4.4 Cita¸c˜oes . . . 11

1.4.5 Modo matem´atico . . . 11

1.4.6 Tabelas . . . 12

1.4.7 Figuras . . . 15

1.4.8 Mini-p´aginas . . . 16

1.4.9 Bibliografia . . . 17

1.5 F´ormulas matem´aticas . . . 18

1.5.1 Alfabeto grego . . . 18

1.5.2 S´ımbolos e operadores . . . 18

1.5.3 Equa¸c˜oes com varias linhas . . . 19

1.5.4 Constru¸c˜ao de F´ormulas . . . 20 iii

(4)

1.5.5 F´ormulas matem´aticas . . . 20

1.5.6 Tamanho autom´atico de delimitadores . . . 21

1.5.7 Matrizes . . . 22

1.5.8 Espa¸cos . . . 22

1.5.9 Fontes . . . 23

1.6 Elementos do Documento . . . 23

1.6.1 T´ıtulo . . . 23

1.6.2 Cap´ıtulos e se¸c˜oes . . . 24

1.6.3 ´Indices . . . 25

1.6.4 Cabe¸calhos e rodap´es . . . 26

1.6.5 Nota de rodap´e . . . 27

1.7 Referˆencias Cruzadas . . . 28

2 LATEX nem t˜ao B´asico 29 2.1 Separando em v´arios arquivos . . . 29

2.2 Macros e condi¸c˜oes . . . 30

2.3 Inserindo c´odigo fonte . . . 30

2.4 Inserindo arquivos em pdf . . . 31

2.5 Algoritmos . . . 31

2.6 ´Indice Remissivo . . . 32

2.7 Carregando a hifeniza¸c˜ao corretamente . . . 33

3 Miscelanea 35 3.1 Apresenta¸c˜oes . . . 35

3.2 Teoremas . . . 35

3.3 Gerando c´odigo em html . . . 37

3.4 Unidades de Medida . . . 38

(5)

Lista de Figuras

1.1 Uma figura qualquer . . . 16 2.1 Corrigindo a hifeniza¸c˜ao no windows . . . 34

v

(6)
(7)

Lista de Tabelas

1.1 Uma tabela simples . . . 14

1.2 Letras gregas . . . 19

1.3 Fun¸c˜oes Matem´aticas . . . 21

1.4 Delimitadores matem´aticos . . . 21

vii

(8)
(9)

Cap´ıtulo 1 L A TEX B´asico

1.1 Introdu¸ c˜ ao

Este ´e um tutorial bem simples de LATEX. Existe muito material dispon´ıvel na internet, na documenta¸c˜ao dos pacotes utilizados e tamb´em nas referˆencias no final desse texto.

O LATEX ´e um sistema de prepara¸c˜ao de documentos de alta qualidade tipogr´afica, muito indicado para produ¸c˜ao de documentos e textos cient´ıfi- cos. Tamb´em pode ser utilizado para produ¸c˜ao de outros documentos como relat´orios, livros, apresenta¸c˜oes, listas de exerc´ıcios e apostilas.

Um documento em LATEX pode ser escrito em qualquer editor de texto puro, uma vez que dever´a passar por um processo de compila¸c˜ao para pro- duzir o resultado desejado. Uma das vantagens de utiliza-lo ´e que n˜ao ´e necessario se preocupar com formata¸c˜ao, numera¸c˜ao de p´aginas e cap´ıtulos entre outras quest˜oes estruturais do documento pois isto ´e feito automatica- mente.

1.1.1 Utilizando L

A

TEX nos sistemas operacionais

Existem distribui¸c˜oes de LATEX para diversos sistemas operacionais. Al- guns editores de texto espec´ıficos para LATEX possuem comandos prontos para o usu´ario, algum tipo de help embutido sobre comandos, recurosos de autocompletar e chamam diretamente o compilador, o que pode facilitar o trabalho, mas essencialmente, s˜ao editores de texto puro. Alguns exemplos de distribui¸c˜oes e editores:

1

(10)

• Para Windows: Distribui¸c˜ao MikTeX conjuntamente com o editor de textos Led

• Para Linux: TeX Live conjuntamente com o editor de textos Kile Essencialmente, para criar um documento .pdf a partir de um arquivo fontearquivo.tex executamos

pdflatex arquivo.tex

Eventualmente mais de uma vez para que as referˆencias sejam criadas corre- tamente.

1.2 Estrutura de um documento

Um documento em LATEX ´e composto de um preˆambulo e um corpo. No preˆambulo s˜ao feitas as declara¸c˜oes de tipo de documento, configura¸c˜oes glo- bais e s˜ao carregados os pacotes. O corpo cont´em o texto propriamente dito.

1.2.1 Preˆ ambulo

Todo documento em LATEX deve come¸car com a declara¸c˜ao de que classe de documento est´a usando atrav´es do comando

\documentclass[op¸c˜oes]{classe}

As op¸c˜oes referem-se `as op¸c˜oes do documento como: tamanho do texto (10pt, 12pt, 14pt), formato do papel (a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper), o n´umero de colunas (onecolumn, twocolumn), orienta¸c˜ao da folha (landscape), impress˜ao s´o frente ou frente e verso (oneside, twoside), se deve iniciar uma nova p´agina ap´os o t´ıtulo do documento ou n˜ao (titlepage, notitlepage), se deve iniciar um novo cap´ıtulo em qualquer p´agina ou somente nas paginas da direita (openright, openany), entre outras.

Podemos passar mais de uma op¸c˜ao separando-as por v´ırgula. e nem todas as op¸c˜oes funcionam para todas as classes de documento. A classe ´e referente `a classe do documento, pode ser: article, report, letter, book, slides, ou alguma outra vinda de instala¸c˜ao de um pacote externo, e deve ser ´unica.

Neste documento utilizamos\documentclass[12pt]{book}.

Este tamb´em ´e o local para a declara¸c˜ao dos pacotes utilizados atrav´es do comando

\usepackage[op¸c˜oes]{pacote}

(11)

1.2. ESTRUTURA DE UM DOCUMENTO 3 As op¸c˜oes variam de acordo com o pacote utilizado. Alguns pacotes (e suas op¸c˜oes) que podem ser ´uteis s˜ao:

• babel: Pacote para hifeniza¸c˜ao autom´atica do texto. Para usar portu- guˆes do Brasil passar brazil como op¸c˜ao.

• inputenc: Especifica o tipo de encoding utilizado no fonte documento, pode ser cp1252, utf8, latin1, entre outros. Com este pacote caracteres com acentos podem ser digitados diretamente no c´odigo fonte, sem a necessidade de utilizar comandos especiais.

• fontenc: Caracteres com acentos s˜ao considerados um bloco s´o no arquivo gerado quando T1 ´e passado como op¸c˜ao, o que faz com que a hifeniza¸c˜ao funcione em palavras acentuadas e ´e ´util inclusive para usar comandos de copiar e colar no documento pronto.

• indentfirst: Adiciona identa¸c˜ao (tab) do primeiro par´agrafo de cada cap´ıtulo, se¸c˜ao ou subse¸c˜ao.

• amssymb, amsmath: Habilitam alguns caracteres e comandos mate- m´aticos especiais.

• hyperref: Para utilizar links internos e externos no documento. Como op¸c˜oes ´e possivel especificar a cor de cada tipo de link, entre outras.

• hypcap: Este ´e um pacote para ser usado em conjunto com ohyperref para fazer com que o link interno leve para o in´ıcio de uma figura ou tqabela e n˜ao para o fim, onde est´a a legenda. A op¸c˜aoall habilite o pacote para figuras e tabelas, numeradas ou n˜ao.

• graphicx: Para inserir figuras em png. Como op¸c˜ao passamos pdftex para especificar que estamos produzindo um documento em .pdf.

• fancyhdr: Para personalizar o cabe¸calho e rodap´e.

• abntex: Pacote para escrever nas normas da abnt.

• natbib: Pacote para modificar a apresenta¸c˜ao da bibliografia referen- ciada no texto.

• geometry: Pacote para configurar as dimens˜oes das margens e largura da folha.

(12)

• tocbibind: Permite que se acrescente a bibliografia, ´ındices e glorrarios no sum´ario.

1.2.2 Corpo

O corpo do documento consiste em tudo aquilo que est´a inserido entre os seguintes comandos que delimitam o in´ıcio e o final do documento:

\begin{document}

...

\end{document}

Todos os cap´ıtulos, se¸c˜oes e subse¸c˜oes devem estar inseridos entre estes comandos, o que for escrito ap´os o fim do documento ´e ignorado pelo com- pilador.

1.3 Comandos de texto

O arquivo fonte do LATEX cont´em o texto a ser processado e comandos que indicam como ele deve ser processado. Palavras s˜ao separadas por um ou mais espa¸cos, par´agrafos s˜ao separados por uma ou mais linhas em branco.

Espa¸cos ou linhas em branco extras n˜ao afetam a sa´ıda. Toda quebra de linha em um par´agrafo (e hifeniza¸c˜ao, caso esteja habilitada) ´e feita auto- maticamente independente de onde ocorre a quebra de linha no editor de texto.

A maioria dos comandos do LATEX iniciam com o caractere ’\’. Uma \ sozinha produz um espa¸co. Duas \ (\\) indroduzem uma quebra de linha sem iniciar um novo par´agrafo. Aguns caracteres s˜ao reservados por serem utilizados em comandos s˜ao eles:

& Separador de colunas

$ Delimitador de f´ormula matematica (na mesma linha do texto)

# Usado para definir o uso de argumentos em certos comandos

% Coment´ario. O compilador ignora tudo o que vir ap´os o % em uma mesma linha

{Delimita o ´ınicio do argumento de um comando }Delimita o fim do argumento de um comando

Subescrito

(13)

1.3. COMANDOS DE TEXTO 5 ˆ Sobrescrito

˜ Espa¸co inquebr´avel, usado quando n˜ao desejamos que o compilador separe duas palavras (com espa¸co entre elas) em linhas diferentes

Para exibir esse caracteres no texto eles devem ser escritos com um \ na frente. Portanto digitar no arquivo fonte:

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

Produzir´a a seguinte sa´ıda:

& $ # % { }ˆ ˜

A necessidade das chaves nos dois ´ultimos s´ımbolos ´e porque o uso da \ faz com que eles produzam acentos.

Outro caractere que requer aten¸c˜ao especial s˜ao as aspas. Para que pro- duzam o efeito desejado, de “abre” e “fecha” nas aspas duplas elas devem ser abertas com dois acentos graves e fechadas com duas ap´ostrofes. Para aspas simples o procedimento ´e an´alogo.

1.3.1 Definindo e redefinindo comandos

Para criar um novo comando usamos: \def{nome do comando}{instru¸c˜oes}, sendo que o nome do comando deve come¸car com \ e ´e como ele ser´a cha- mado e as instru¸c˜oes s˜ao os comandos a serem executados cada vez que ele for chamado. Isto pode ser util para concatenar dois ou mais comandos, ou trocar uma chamada grande de comando por uma menor.

Tamb´em ´e poss´ıvel redefinir comandos j´a existentes com:

\renewcommand{cmd}[args][padrao]{defini¸c˜ao}

Onde cmd ´e nome de um comando ´a existente e que come¸ca com \, args ´e um inteiro de 1 a 9 que indica a quantidade de argumentos recebida pelo comando, se n˜ao for especificado ´e asumida como zero, padrao ´e usado para indicar que o primeiro argumento do comando ´e opcional e especificar o seu valor edefini¸c˜ao cont´em a redefini¸c˜ao dos comandos atrav´es de novos coman- dos, sendo que a ocorrˆencia de um parˆametro da forma #n ser´a substitu´ıda pelo texto do n-´esimo argumento passado quando o comando for chamado .

1.3.2 Modificadores de texto

E poss´ıvel modificar a forma, tamanho e tipo das letras do texto atrav´´ es de comandos LATEX. Apresentamos alguns deles e o resultado produzido:

\textbf{Texto} Produz um texto em negrito: Texto

\textit{Texto} Produz um texto em it´alico: Texto

(14)

\textrm{Texto} Produz um texto padr˜ao: Texto

\texttt{Texto} Produz um texto estilo m´aquina de escrever: Texto

\textsf{Texto} Produz um texto em sanserif: Texto

\textsc{Texto} Produz um texto em caixa alta: Texto

\underline{Texto} Produz um texto sublinhado: Texto

Com exce¸c˜ao deste ´ultimo, os comandos anteriores funcionam somente no modo texto, para que funcionem no modo matem´atico, em geral, basta trocar o text por math nesses comandos. Em rela¸c˜ao ao tamanho, da menor para maior:

\tiny Texto Produz: Texto

\scriptsize Texto Produz: Texto

\footnotesize Texto Produz: Texto

\small TextoProduz: Texto

\normalsize Texto Produz: Texto

\large TextoProduz:

Texto

\Large TextoProduz:

Texto

\LARGE TextoProduz:

Texto

\huge Texto Produz:

Texto

\Huge Texto Produz:

Texto

Note que o texto nesses casos n˜ao vem entre chaves. Assim que o tamanho da fonte ´e modificado ela permanece neste tamanho at´e que seja alterada novamente, no nosso texto ap´os cada exemplo retornamos para\normalsize.

Tambem ´e poss´ıvel utilizar o pacotecolor para produzir um texto colorido.

Por exemplo: \color{blue}Texto Produzir´a Texto.

Novamente, alterar a cor do texto altera para o restante do documento, portanto foi preciso executar\color{black} para voltar `a cor original ap´os o exemplo. Outra maneira de fazer isto seria colocando tudo entre chaves, ou seja, {\color{blue}Texto} modificar´a apenas a cor de Texto e n˜ao do restante do documento.

Para criar uma nova cor podemos usar o padr˜ao RGB e (preferencial- mente) no preˆambulo do documento utilizar:

\definecolor{nome da cor}{RGB}{#vermelho,#verde,#azul}”.

Por exemplo, o comando \definecolor{roxinho}{RGB}{140,20,100}

produz esta cor.

Tamb´em podemos estar interessados em enfatizar determinada parte do

(15)

1.3. COMANDOS DE TEXTO 7 texto com \emph{texto}. Em geral isto implica em deix´a-lo it´alico, mas em uma linha j´a it´alica ele voltar´a `a formata¸c˜ao original, como podemos ver a seguir:

\emph{Enfatizar texto j´a enfatizado gera um texto

\emph{normal} como resultado.}

Enfatizar texto j´a enfatizado gera um texto normalcomo resultado.

1.3.3 Espa¸ camento

Alguns comandos permitem introduzir ou remover manualmente um es- pa¸camento no texto:

• \hspace{tamanho}produz um espa¸camento horizontal de tamanho de- finido pelo usu´ario. O tamanho pode ser negativo, funcionando como recuo, e deve vir com unidade de medida, por exemplo, cm.

• \vspace{tamanho} produz um espa¸camento vertical de tamanho defi- nido pelo usu´ario.

• \hfill indroduz espa¸cos entre os textos `a direita e a esquerda dele para preencher a largura da p´agina.

• \vfill indroduz espa¸cos entre os textos `a direita e a esquerda dele para preencher a altura da p´agina.

• \\[tamanho] produz um espa¸camento vertical de tamanho definido pelo usu´ario antes de iniciar uma nova linha.

• \newline inicia uma nova linha.

• \newpage inicia uma nova p´agina.

• \noindent remove o espa¸camento antes do in´ıcio do par´agrafo

Podemos tamb´em usar o pacote setspacepara modificar o espacamento entre as linhas, o que ´e feito atrav´es dos comandos:

• \doublespacing: Linhas com espa¸camento duplo.

(16)

• \onehalfspacing: Linhas com espa¸camento 1,5.

• \singlespacing: Linhas com espa¸camento simples.

Ap´os o uso de um desses comandos espa¸camento permanece o especifi- cado, at´e que um novo comando de espa¸camento seja dado.

1.3.4 Links

Podemos fazer referˆencias internas e externas atrav´es do pacotehyperref.

Na sua declara¸c˜ao ´e possivel passar op¸c˜oes de customiza¸c˜ao dos links e do documento pdf gerado como:

• driver: driver do compilador, pdftex para gerar pdf, este ´e um item obrigat´orio.

• bookmarks (=true,false): mostra ou esconde os bookmarks quando apresentando o documento.

• unicode(=false,true): permite o uso de caracteres unicode nos book- marks.

• pdftoolbar (=true,false): mostra ou esconde a barra de ferramentas do visualizador.

• pdfmenubar (=true,false): mostra ou esconde a barra de menu do visualizador.

• pdffitwindow (=true,false): ajusta o tamanho inicial da p´agina na janela.

• pdftitle (={texto}):Define o t´ıtulo do documento a ser mostrado na se¸c˜ao info do visualizador.

• pdfauthor (={texto}): Define o autor do documento a ser mostrado na se¸c˜ao info do visualizador.

• pdfnewwindow (=true,false): Indica se uma nova janela deve ser aberta caso um link aponte para fora do documento.

(17)

1.4. AMBIENTES 9

• colorlinks(=false,true): Contorna os links com frames coloridos (false) ou colore o texto dos links (true). Essa cor pode ser configurada usando as op¸c˜oes (com os valores default):

linkcolor (=red): Cor dos links internos (se¸c˜oes, p´aginas...) citecolor (=green): Cor de itens de cita¸c˜ao (bibliografia)

filecolor (=magenta): Cor de links para arquivos color of file links urlcolor (=cyan): Cor de links URL

Neste documento declaramos no preˆambulo:

\usepackage[pdftex,plainpages=false,pdfpagelabels,pagebackref, colorlinks=true,citecolor=black,linkcolor=black,urlcolor=black, filecolor=black,bookmarksopen=true]{hyperref}

Para criar um link fazemos\href{url}{texto}. A url ´e o endere¸co do site ou do arquivo que queremos referenciar e o texto ´e o que ser´a impresso no documento.

1.3.5 Strings Especiais

Existem algumas strings prontas que podem ser chamadas atrav´es de comandos. Muitos deles ser˜ao apresentados e utilizados ao longo do texto, e neste momento damos destaque para \LaTeX que produz a string LATEX.

Por ser um comando ele ignorar´a os espa¸cos subsequentes, portanto para que seja produzido um espa¸co em branco ap´os a string (nessa e em todas outras)

´

e preciso incluir uma barra \ ap´os o comando.

1.4 Ambientes

Um ambiente ´e uma regi˜ao do texto que tem um tratamento especial. Um ambiente ´e iniciado com \begin e terminado cum \end, seguidos do nome do ambiente entre chaves

1.4.1 Listas

Atrav´es do ambiente itemize podemos escrever os itens em uma lista com bullets:

(18)

\begin{itemize}

\item Primeiro item

\item Segundo item

\item ...

\end{itemize}

• Primeiro item

• Segundo item

• ...

Usar uma lista numerada com enumerate:

\end{enumerate}

\item Primeiro item

\item Segundo item

\item ...

\end{enumerate}

1. Primeiro item 2. Segundo item 3. ...

Ou ainda usar uma lista personalizada com description:

\begin{description}

\item[1-] Primeiro item

\item[2-] Segundo item

\item[3-] ...

\begin{description}

1- Primeiro item 2- Segundo item 3- ...

E possivel ainda aninhar uma lista dentro de outra, come¸cando uma lista´ nova dentro de um item.

1.4.2 Verbatim

Algumas vezes pode ser de interesse digitar o texto livremente sem que o compilador de fato interprete os comandos, como fizemos v´arias vezes texto para ilustar exemplos de comandos. Para isto ´e poss´ıvel utilizar o ambiente verbatim. Todo o texto que estiver dentro deste ambiente ´e apresentado exatamente como digitado, incluindo quebras de linha e comandos.

Uma maneira mais compacta de produzir o mesmo efeito para textos mais curtos ´e atrav´es do comando \verb|texto|. Tudo o que vier entre |

´e mostrado da forma que foi digitado. O uso do | como delimitador nesse comando n˜ao ´e exclusivo, tamb´em funcionaria com outros caracteres desde que n˜ao sejam letras, * ou espa¸co.

1.4.3 Alinhamento

Podemos modificar o alinhamento do texto atrav´es de alguns ambientes:

(19)

1.4. AMBIENTES 11

• flushleft: Alinha o texto `a esquerda.

• flushright: Alinha o texto `a direita.

• center: Centraliza o texto.

1.4.4 Cita¸ c˜ oes

Para dar destaque `a cita¸c˜oes ou exemplos podemos usar o ambientequote.

Um exemplo de sa´ıda para o uso deste ambiente pode ser visto a seguir:

Esta ´e uma cita¸c˜ao.

1.4.5 Modo matem´ atico

O ambiente matem´atico ´e bastante utilizado nos documentos acadˆemicos de LATEXda ´area das ciˆencias exatas pois ´e nele em que s˜ao escritas f´ormulas, equa¸c˜oes e outros elementos matem´aticos. Um pacote bastante utilizado para aumentar ainda mais as possibilidades de escita matem´atica ´e o amsmath, recomendamos utiliz´a-lo, muitos dos comandos apresentados aqui assumir˜ao este pacote carregado.

Podemos inserir uma f´ormula no meio de um par´agrafo com texto atrav´es de$formula$, ou dar a ela um destaque especial, fazendo com que seja inse- rida em uma nova linha atrav´es de $$formula$$. O resultado ´e o seguinte:

Algumas f´ormulas simples como $x^2$ podem vir no pr´oprio par´agrafo, outras como $$E = mc^2$$

podem merecer um destaque maior.

Algumas f´ormulas simples comox2 podem vir no pr´oprio par´agrafo, outras como

E =mc2

podem merecer um destaque maior.

Um terceira forma de entrar no modo matem´atico ´e utilizando o ambiente equation que produz uma equa¸c˜ao destacada e numerada (ou sem n´umero se vier acompanhada de um asterisco: equation*). Ao inv´es do n´umero

´

e poss´ıvel definir um texto espec´ıfico para a equa¸c˜ao atrav´es do comando

\tag{texto}. Neste caso, quando o a equa¸c˜ao for referenciada aparecer´a o texto da tag e n˜ao um n´umero de equa¸c˜ao. Um exemplo:

(20)

\begin{equation}

A^{i}_{j} = B^{j}_{i}

\tag{transposta}

\end{equation}

Aij =Bij (transposta)

Utilizando a equa¸c˜ao no mesmo par´agrafo pode ser necess´ario instruir o com- pilador para que mostre corretamente a f´ormula, colocando ´ındices embaixo do s´ımbolo de somat´orio e n˜ao ao lado, por exemplo. Isto ´e feito atrav´es do comando\displaystyle dentro da equa¸c˜ao, imediatamente antes do trecho que queremos que seja exibido corretamente.

Mais adiante apresentaremos, sem esgotar o assunto, alguns dos comandos utilizados para produzir escrita matem´atica.

1.4.6 Tabelas

Uma tabela ´e especificada pelo ambiente tabular. E possivel utilizar´ linhas horizontais e verticais sem se preocupar com a largura das colunas que

´e calculada automaticamente pelo LATEX. A cria¸c˜ao de uma tabela ´e feita da seguinte forma:

\begin{tabular}{espec}

O argumento espec especifica a quantidade e alinhamentos das colunas:

• |adiciona uma linha vertical;

• lindica uma coluna alinhada `a esquerda;

• r indica uma coluna alinhada `a direita;

• cindica uma coluna com texto centralizado;

• p{largura} indica uma coluna especial com texto justificadocapaz de quebrar linhas, com a largura especificada com unidade de medida.

Para preencher a tabela usamos & para passar para a pr´oxima coluna,

\\ para terminar uma linha e partir para uma nova e \hline para criar uma linha horizontal. ´E poss´ıvel tamb´em adicionar linhas parciais com o comando \cline{j-i} onde j e i s˜ao as colunas que conter˜ao a linha. Para que a tabela seja criada com sucesso ´e preciso que todas as linhas contenham o mesmo numero de colunas que o declarado na especifica¸c˜ao da mesma.

(21)

1.4. AMBIENTES 13 Para mesclar colunas de c´elulas podemos usar o comando

\multicolumn{num}{formato}{texto}

que concatena o n´umero de colunas especificado pornum com o alinhamento especificado por formato e possui como conte´udo texto

Uma tabela pode ser inserida dentro do ambiente table o que faz dela um objeto flutuante. Vantagens de utilizar esse tipo de ambiente ´e a posi-

¸c˜ao correta da tabela no texto, sem que seja quebrada em das p´aginas, por exemplo, faz com que a tabela apare¸ca em um ´ındice de tabelas e tamb´em a inser¸c˜ao de r´otulos e legendas. Para usar este ambiente primeiramente ´e preciso usar o comando

\begin{table}[pos]

Onde pos indica a posi¸c˜ao desejada para se posicionar a tabela verical- mente na p´agina e pode ser:

• h, no local onde o texto ocoreu;

• t, no topo da p´agina;

• b, no fim da p´agina;

• p, em uma p´agina especial contendo somente objetos flutuantes;

• !, ignora alguns parˆametros internos;

Caso seja passada mais de uma op¸c˜ao, a preferˆencia ´e da que apare- ceu primeiro, caso nenhuma op¸c˜ao seja passada ´e utilizado [tbp]. Para adicionar uma legenda usamos ainda dentro do ambiente table o comando

\caption[legenda curta]{legenda longa} onde a legenda longa ´e a que ser´a exibida junto com a tabela e a legenda curta, opcional, ser´a exibida no

´ındice.

Muitas vezes, conforme o LATEX n˜ao encontra posi¸c˜ao adequada para in- serir um objeto flutuante, de acordo com o especificado pelo usu´ario, ele vai acumulando-os em uma pilha e desalocando conforme surgem as oportu- nidades. Para for¸car um esvaziamento do buffer, descarregando os objetos flutuantes acumulados no arquivo, podemos utilizar os comandos\clearpage e \cleardoublepage que adicionam todas as figuras remanescentes na pilha e iniciam uma nova p´agina.

A seguir apresentamos uma tabela criada como objeto flutuante e os co- mandos utilizados para que fosse gerada:

(22)

Centro Direita Esquerda N´umeros

1 2 3

4 5 6

Tabela 1.1: Uma tabela simples

\begin{table}[ht]

\begin{center}

\begin{tabular}{|c|r|l|}

\hline

Centro & Direita & Esquerda \\

\hline

\hline

\multicolumn{3}{|c|}{N´umeros}\\

\hline

1 & 2 & 3 \\ \cline{2-3}

4 & 5 & 6 \\

\hline

\end{tabular}

\caption{Uma tabela simples}

\end{center}

\end{table}

Para mesclar facilmente as linhas das c´elulas podemos usar o pacote multirowque possui o comando\multirowque funciona de maneira an´aloga ao\multicolumn, sendo que ´e poss´ıvel passar como posi¸c˜ao um *, indicando que o compilador deve procurar pelo melhor ajuste, e ´e preciso deixar a posi-

¸c˜ao correspondente da coluna cujas linhas est˜ao sendo mescladas em branco.

Um pequeno exemplo:

Centro Direita Direita Esquerda

N´umeros 1 2 3

4 5 6

\begin{tabular}{|c|r|r|l|}

\hline

Centro & Direita & Direita & Esquerda \\

(23)

1.4. AMBIENTES 15

\hline

\multirow{2}{*}{N´umeros} & 1 & 2 & 3 \\

& 4 & 5 & 6 \\

\hline

\end{tabular}

1.4.7 Figuras

Para inserir figuras no documento ´e preciso primeiro carregar o pacote graphicx com o driver adequado, por exemplo:

\usepackage[pdftex]{graphicx}

Com o driver acima podemos incluir figuras em .png e .jpg atrav´es do comando:

\includegraphics[opt]{arquivo}

Comoopt podemos passar as op¸c˜oes:

• width: Redimenciona a figura para a largura especificada

• height: Redimenciona a figura para a altura especificada

• angle: Rotaciona a figura no sentido hor´ario (em graus)

• scale: Redimensiona a figura na propor¸c˜ao especificada.

E arquivo ´e o nome do arquivo com a figura, com o caminho. Caso n˜ao seja especificado o caminho o compilador ir´a assumir que a figura est´a no mesmo diret´orio que o arquivo fonte. ´E possivel especificar um caminho

´

unico para todas as figuras atrav´es do comando \graphicspath{caminho}

no preˆambulo do documento, lembrando que o caminho deve conter a barra no final.

Assim como nas tabelas, existe um ambiente espec´ıfico para tratar uma figura como um objeto flutuante chamado figure que permite inserir legen- das, aparecer em um ´ındice de figuras e funciona de maneira simular `a vista na se¸c˜ao 1.4.6.

A seguir um exemplo de inser¸c˜ao de figura e os comandos efetuados:

\begin{figure}[h!t]

\centering

\includegraphics[scale = 2]{figura.jpg}

\caption{Uma figura qualquer}

\end{figure}

(24)

Figura 1.1: Uma figura qualquer

1.4.8 Mini-p´ aginas

Para escrever um peda¸co do texto em duas colunas, inclusive podendo inserir figuras e tabelas, ou para dar certos destaque para algum peda¸co do texto ´e poss´ıvel criar uma mini-p´agina. Cada mini-p´agina ´e criada da seguinte forma:

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

Ondepos´e o alinhamento vertigal da mini-p´agina (b,t,c) e alargura´e a largura da p´agina. Para produzir duas colunas podemos fazer por exemplo:

\begin{minipage}{5cm}

Primeira coluna

\end{minipage}

\framebox{

\begin{minipage}{6cm}

Segunda coluna

\end{minipage}

}

Produzindo:

Primeira coluna Segunda coluna

Obs: O comando \framebox utilizado na segunda coluna fez com que a p´agina estivesse dentro de uma caixa. Opcionalmente ele pode receber como primeiro argumento a largura da caixa e como segundo a posi¸c˜ao.

(25)

E poss´ıvel ainda alternar entre duas e uma coluna com os comandos´

\twocolumn[titulo] e \onecolumn onde o t´ıtulo ´e um argumento opcio- nal para aparecer no in´ıcio da p´agina. Esses comandos iniciam uma nova p´agina com a quantidade de colunas especificada.

1.4.9 Bibliografia

Para incluir uma se¸c˜ao com as referˆencias bibliogr´aficas devemos usar o ambiente thebibliography, seguido de um parˆametro com o n´umero m´a- ximo de referˆencias que ser˜ao inclu´ıdas.

Cada entrada ´e adicionada precedida do comando:

\bibitem[r´otulo]{marcador}

Comomarcadorusamos uma palavra com a qual faremos referencia desta entrada bibliogr´afica durante o texto atrav´es do comando\ref{marcador}.

Como r´otulo passamos como deve aparecer a referˆencia no texto, caso n˜ao seja especificado s˜ao gerados n´umeros. Por exemplo:

Temos uma refer^encia em

\cite{referencia}.

\begin{thebibliography}{99}

\bibitem[REFe]{referencia}

Uma referencia qualquer.

\end{thebibliography}

Temos uma referˆencia em [REFe].

Referˆ encias Bibliogr´ aficas

[REFe] Uma referencia qualquer.

17

Para trabalhar com muitas referˆencias pode ser indicado utilizar o pro- grama BibTeX que vem junto com a distribui¸c˜ao LATEX. Com ele ´e poss´ıvel criar uma base bibliogr´afica pessoal unificada em um arquivo separado e s´o in- cluir no documento as referˆencias que de fato apareceram no texto e tamb´em com a formata¸c˜ao correta de t´ıtulo, autor, editora em cada referencia. Exis- tem sites que disponibilizam as entradas no formato do BibTeX de diversos

17

(26)

livros, artigos e outros documentos. Para inserir um arquivo de bibliografia no documento fazemos:

\bibliographystyle{estilo}

\bibliography{arquivo}

Onde estilo ´e o estilo de cita¸c˜ao e pode ser plain, com referencias em ordem alfab´etica e r´otulos num´ericos,alpha, com referencias em ordem alfab´e- tica e r´otulos com nome do autor e ano de publica¸c˜ao, unsrt, com referˆencias em ordem de cita¸c˜ao e r´otulos num´ericos, abbrv, com referencias em ordem alfab´etica e r´otulos num´ericos e compactos (e outros mais vindos de outros pacotes) e arquivo ´e o nome do arquivo com as entradas, sem extens˜ao.

1.5 F´ ormulas matem´ aticas

Como vimos anteriormente, para digitar f´ormulas matem´aticas ´e preciso estar em um ambiente matem´atico. Veremos agora como escrever o texto dessas f´ormulas, assumindo novamente pacotes como amsmath e amssymb carregados.

Caracteres como + − = < > / : ! 0 | [ ] ( ) podem ser digitados diretamente. Chaves s˜ao interpretadas como delimitadores de grupo e para serem impressas devem vir com\ como no modo texto. Espa¸cos em branco s˜ao ignorados pelo compilador e, como padr˜ao, todas as letras s˜ao escritas em it´alico.

1.5.1 Alfabeto grego

A tabela 1.2 apresenta a lista de caracteres do alfabeto grego e o comando correspondente, a primeira coluna s˜ao as mai´usculas. As letras que n˜ao aparecem na lista s˜ao ma´ıusculas correspondentes `as mai´usculas do alfabeto romano tradicional.

1.5.2 S´ımbolos e operadores

Apresentamos agora alguns s´ımbolos bastante frequentes, assumindo que o pacote amssymbfoi carregado. Existem muitos s´ımbolos definidos e a lista completa com estes s´ımbolos pode ser vista em:

http://www.ctan.org/tex-archive/info/symbols/comprehensive/.

(27)

1.5. F ´ORMULAS MATEM ´ATICAS 19

Γ \Gamma α \alpha κ \kappa σ \sigma

∆ \Delta β \beta κ \varkappa ς \varsigma

Θ \Theta γ \gamma λ \lambda τ \tau

Λ \Lambda δ \delta µ \mu υ \upsilon

Ξ \Xi \epsilon ν \nu φ \phi

Π \Pi ε \varepsilon ξ \xi ϕ \varphi

Σ \Sigma ζ \zeta o o χ \chi

Υ \Upsilon η \eta π \pi ψ \psi

Φ \Phi θ \theta $ \varpi ω \omega

Ψ \Psi ϑ \vartheta ρ \rho z \digamma

Ω \Omega ι \iota % \varrho ∂ \partial

Tabela 1.2: Letras gregas

Um outro site bastante ´util ´e o Detexify2que permite ao usu´ario desenhar o s´ımbolo que deseja conhecer e apresenta algumas sugest˜oes de resultados.

1.5.3 Equa¸ c˜ oes com varias linhas

E poss´ıvel criar uma equa¸c˜´ ao de multiplas linhas atrav´es do ambiente align ou inv´es do equation, que funciona de maneira bastante semelhante ao tabulare tamb´em ´e um ambiente matem´atico:

\begin{align}

f(x) &= 2x^5 + 3x^4 + x^3

\nonumber \\

&\qquad + 2x^2 + 5x + 8 \\

&= g(x) - h(x)

\end{align}

f(x) = 2x5+ 3x4+x3

+ 2x2+ 5x+ 8 (1.1)

=g(x)−h(x) (1.2)

Pode padr˜ao todas as linhas s˜ao numeradas, para suprimir a numera¸c˜ao de uma linha espec´ıfica basta usar o comando \nonumber nesta linha, antes do

\\ como fizemos no exemplo. Assim como emequation´e poss´ıvel espeficiar uma tag ao inv´es de n´umero para a equa¸c˜ao.

O pacoteamsmathfornece ambientes similares para trabalhar com multi- plas linhas, s˜ao eles: flalign, gather, multlineand split.

(28)

1.5.4 Constru¸ c˜ ao de F´ ormulas

Podemos criar expoentes e ´ındices usando os comandos ˆ e , respecti- vamente. Isso indica que o caractere seguinte ao comando ser´a sobrescrito ou subescrito, para colocar mais de um caractere no ´ındice ou expoente ´e necess´ario coloc´a-los entre chaves. Caso um mesmo objeto possua tanto ex- poente quanto ´ındice a ordem em que estes elementos aparecem no texto ´e irrelevante. Por exemplo, utilizando: \displaystyle\sum_{i = 1}^ntemos

n

X

i=1

.

Fra¸c˜oes s˜ao criadas com \frac{numerador}{denominador}, ou em sua vers˜ao reduzida com \tfrac e ra´ızes com \sqrt[n]{radicando}. Se o ar- gumento opcional [n] for omitido, ent˜ao a raiz quadrada ´e gerada. Por exemplo,$$\frac{\sqrt[3]{xy}}{2}$$ produz:

3

xy 2

Para adicionar limites em somat´orios e integrais, em especial quando a f´ormula estiver sendo exibida no mesmo par´agrafo do texto podemos usar o comando \limits para adicionar os limites em cima e abaixo do s´ımbolo, por exemplo, $\int\limits_a^b f(x)dx$ produz

b

R

a

f(x)dx.

Podemos ainda estar interessados em empilhar dois s´ımbolos, isto ´e feito com o comando\stackrel. Por exemplo:

$a \stackrel{\infty}{\rightarrow}b$produz a→ b.

1.5.5 F´ ormulas matem´ aticas

Existem alguns comandos prontos para inserir f´ormulas matem´aticas. A diferen¸ca de utiliz´a-los ao inv´es de simplesmente digitar o nome da fun¸c˜ao no texto ´e que a fun¸c˜ao aparecer´a em romano normal, enquanto o argumento vir´a em it´alico, enquanto no outro caso seria tudo em it´alico, ou seja, o primeiro caso produz: sinx e o segundo senx.

A lista com fun¸c˜oes matem´aticas ´e apresentada pela tabela 1.3

E temos ainda algumas outras defini¸c˜oes para limites como: \varinjlim,

\varprojlim, \varliminf, \varlimsup que produzem: lim−→ lim←− lim lim.

Como podemos ver, as fun¸c˜oes est˜ao definidas em inglˆes. Podemos usar o pacote amsmathpara definir novos operadores atrav´es do comando

(29)

1.5. F ´ORMULAS MATEM ´ATICAS 21

\arccos \coth \hom \limsup \sec

\arcsin \csc \inf \ln \sin

\arctan \deg \ker \log \sinh

\arg \det \lg \max \sup

\cos \dim \lim \min \tan

\cosh \exp \liminf \Pr \tanh

\cot \gcd

Tabela 1.3: Fun¸c˜oes Matem´aticas

\DeclareMathOperator{comando}{texto}, Por exemplo, declarando no preˆambulo:

\DeclareMathOperator{\sen}{sen}

Produzimos senxao digitarmos $\sen x$.

1.5.6 Tamanho autom´ atico de delimitadores

Os comandos \left( e \right) s˜ao utilizados para ajustar automanti- camente os parˆentesis para o tamanho da f´ormula. Os parentesis podem ser substitu´ıdos por outros delimitadores apresentados na tabela 1.4.

() () kk \lVert \rVert bc \lfloor \rfloor [] [] hi \langle \rangle  \lgroup \rgroup

{} \lbrace \rbrace de \lceil \rceil z{ \lmoustache \rmoustache

|| \lvert \rvert

| \vert \ \backslash k \Arrowvert

k \Vert | \arrowvert  \bracevert

/ /

Tabela 1.4: Delimitadores matem´aticos

Com excess˜ao das trˆes ´ultimas linhas, todo delimitador iniciado por um

\left deve vir com seu \right correspondente. Caso o desejo seja de re- almente utilizar somente um dos dois delimitadores, ´e possivel substituir o outro por um “fantasma”, trocando o caractere ou comando do delimitadore por um ponto ‘.’.

Eventualmente pode ser necess´ario controlar o tamanho dos delimitado- res manualmente. Os comandos \bigl \Bigl \biggl \Biggl \bigr \Bigr

(30)

\biggr \Biggrfuncionam para os mesmos delimitadores da tabela 1.4 e pro- duzem na ordem em que apareceram:

x!

1.5.7 Matrizes

Podemos escrever facilmente uma matriz atrav´es dos ambientes matriciais fornecidos pelo pacoteamsmath. Os elementos das colunas s˜ao separados por

\& e as linhas por \\. Os diferentes comandos s˜ao usados para especificar o delimitador a ser utilizado na matriz: matrix (nada),pmatrix(, bmatrix[, Bmatrix{, vmatrix| and Vmatrix||. Segue um exemplo:

$$

\begin{pmatrix}

1 & 2 & 3 \\

4 & 5 & 6 \\

7 & 8 & 9 \\

\end{pmatrix}

$$

1 2 3 4 5 6 7 8 9

Reticˆencias

Podemos estar interessados em representar reticˆencias dentro (ou fora) de uma matriz. A seguir apresentamos os comandos e os resultados produzidos:

\ldots . . . \cdots · · · \vdots ... \ddots . ..

1.5.8 Espa¸ cos

Podemos alterar o espa¸camento entre os s´ımbolos dentro do ambiente matem´atico. Como unidade de medida vamos considerar o \quad que equi- vale ao espa¸co utilizado pelo caractereMna fonte que estiver sendo utilizada.

Temos ent˜ao:

• \qquad: dois \quad;

• \,: 3/18 de um \quad;

(31)

1.6. ELEMENTOS DO DOCUMENTO 23

• \:: a 4/18 de um\quad;

• \;: 5/18 de um \quad;

• \!: -3/18 de um \quad.

1.5.9 Fontes

Podemos, como no modo texto, modificar o estilo de fonte utilizada dentro do ambiente matem´atico. Seguem alguns exemplos de modifica¸c˜ao:

\mathbf{AaBbCc} Produz um texto em negrito: AaBbCc

\mathit{AaBbCc} Produz um texto em it´alico: AaBbCc

\mathrm{AaBbCc} Produz um texto padr˜ao: AaBbCc

\mathtt{AaBbCc} Produz um texto estilo m´aquina de escrever: AaBbCc

\mathsf{AaBbCc} Produz um texto em sanserif: AaBbCc

\mathcal{ABC}Produz um texto em caligrafia: ABC

\mathbb{ABCR} Produz um texto em estilo de lousa, requer amssymb:

ABCR

1.6 Elementos do Documento

Apresentaremos a seguir os principais elementos que comp˜oe um docu- mento.

1.6.1 T´ıtulo

Podemos inserir informa¸c˜oes importantes sobre o documento como t´ıtulo, autor e data logo no in´ıcio do documento. Para fazer isso devemos usar os comandos:

\title{titulo}

\author{autor}

\date{data}

\thanks{agradecimentos}

\maketitle

O titulo ´e o t´ıtulo do documento. ´E possivel inserir quebras de linha e figuras dentro dele. Em autor escrevemos o autor do documento, po- dendo inserir mais de um autor separando-os pelo comando \and. A data

(32)

´e opcional, contendo a data em que o documento foi feito. ´E poss´ıvel uti- lizar um comando especial, \today, que produz a data do dia atual. Os agradecimentos tamb´em s˜ao opcionais e s˜ao gerados como nota de rodap´e na p´agina do t´ıtulo. O comando \maketitleadiciona os elementos do t´ıtulo em uma p´agina separada, exceto para a classe article em que o t´ıtulo ´e gerado sem criar uma nova p´agina ap´os sua cria¸c˜ao. O t´ıtulo que aparece no presente tutorial foi gerado atrav´es destes comandos.

1.6.2 Cap´ıtulos e se¸ c˜ oes

Para facilitar a leitura de um documento ´e recomend´avel separa-lo em partes. Podemos usar, da divis˜ao mais externa para a mais interna:

\part[mini-titulo]{titulo}

\chapter[mini-titulo]{titulo}

\section[mini-titulo]{titulo}

\subsection[mini-titulo]{titulo}

\subsubsection[mini-titulo]{titulo}

\paragraph[mini-titulo]{titulo}

\subparagraph[mini-titulo]{titulo}

A numera¸c˜ao das partes, cap´ıtulos, se¸c˜oes e subse¸c˜oes ´e feita automati- camente, conforme esses comandos s˜ao inseridos. Para omitir a numera¸c˜ao basta usar * ap´os o comando, por exemplo \section*{titulo}. O titulo

´e o t´ıtulo que ser´a apresentado, e mini-titulo ´e uma vers˜ao resumida do t´ıtulo, opcional, para ser exibida no ´ındice. A classe article n˜ao suporta

\chapter.

Os n´ıveis de cada uma dessas subdivis˜oes s˜ao:

\part -1

\chapter 0

\section 1

\subsection 2

\subsubsection 3

\paragraph 4

\subparagraph 5

Essas informa¸c˜oes podem ser ´uteis para modificar a forma de numera¸c˜ao das divis˜oes. O argumento secnumdepth do comando\setcounter permite alterar a profundidade que vai chegar a numera¸c˜ao, de acordo com os n´ıveis

(33)

1.6. ELEMENTOS DO DOCUMENTO 25 apresentados na tabela anterior. O padr˜ao ´e numerar at´e o n´ıvel 2, mas por exemplo, se quisermos apenas partes, cap´ıtulos e se¸c˜oes numerados podemos usar \setcounter{secnumdepth}{1}. Da mesma forma, para inserir nume- ra¸c˜ao nas subsubse¸c˜oes podemos fazer: \setcounter{secnumdepth}{3}

Ao usar o classebooktemos ainda alguns comandos adicionais, referentes

`

a numera¸c˜ao de cap´ıtulos e p´aginas:

• \frontmatter: Deve ser o primeiro comando dado ap´os o inicio do documento. Muda a numera¸c˜ao para numerais romanos e n˜ao numera se¸c˜oes e subse¸c˜oes, mas permite que elas apare¸cam no ´ındice.

• \mainmatter:Deve vir antes do primeiro cap´ıtulo do livro. Usa uma nova numera¸c˜ao de p´agina com algarismos ar´abicos.

• \appendix:Usado para iniciar a presen¸ca de cap´ıtulos adicionais, como apendices. Numera os cap´ıtulos com letras.

• \backmatter:Deve ser inserido antes dos ´ultimos itens do livro, como bibliografia e ´ındice remissivo.

1.6.3 ´ Indices

Alguns simples comandos geram automaticamente os ´ındices de conte´udo, figuras e tabelas. Respectivamente s˜ao:

\tableofcontents

\listoffigures

\listoftables

Os ´ındices s˜ao gerados no lugar onde foi dado o comando. Os itens que foram gerados com comandos seguidos de * n˜ao entram nos ´ındices, entre- tanto ´e poss´ıvel adiciona-los manualmente atrav´es de

\addcontentsline{tipo}{profundidade}{titulo}”,

imediatamente antes da declara¸c˜ao do item. O tipo ´e o tipo de unidade e pode ser: tocpara conte´udo de texto, como cap´ıtulos e se¸c˜oes,lofpara figu- ras e lotpara tabelas. Aunidade ´e a unidade do documento, pode serpart, chapter,section,subsection,subsubsection,paragraph,subparagraph, figure outable. O titulo ´e o texto que deve ser apresentado na entrada da unidade inserida no ´ındice.

(34)

Para que os ´ındices funcionem corretamente ´e necessario compilar o textos duas vezes, eventualmente trˆes vezes. O compilador indicar´a esta necessidade atrav´es de warnings.

Assim como a numera¸c˜ao das partes, ´e poss´ıvel alterar a profundidade dos itens de texto exibidos no sum´ario. Isto pode ser feito com o argumento tocdepth do comando \setcounter, de maneira similar `a vista na se¸c˜ao 1.6.2.

1.6.4 Cabe¸ calhos e rodap´ es

A customiza¸c˜ao dos cabe¸calhos e rodap´es, na parte direita, esquerda e central, pode ser feita atrav´es do uso do pacote fancyhdr. Al´em de inserir textos fixos, ou mesmo figuras, ´e poss´ıvel inserir informa¸c˜ao vari´avel como n´umero de p´agina ou nome da se¸c˜ao. Alguns exemplos:

• \leftmark: Nome do cap´ıtulo atual (em mai´usculas);

• \rightmark: Nome da se¸c˜ao atual (em mai´usculas);

• \thepage: N´umero da p´agina atual;

• \chaptername: Nome “cap´ıtulo” na linguagem atual;

• \thechapter: N´umero do cap´ıtulo atual;

• \thesection: N´umero da se¸c˜ao atual.

Para usar o pacote devemos declarar o pacote, o estilo da p´agina utilizado, que ´e o do pacote e tamb´em remover o cabe¸caho e rodap´e atuais atrav´es dos comandos:

\usepackage{fancyhdr}

\pagestyle{fancy}

\fancyhf{}

Para que os comandos \leftmark e \rightmark produzam o texto sem ser em todas mai´usculas devemos digitar antes de \pagestyle{fancy}:

\renewcommand{\chaptermark}[1]{\markboth{\MakeUppercase{#1}}{}}

\renewcommand{\sectionmark}[1]{\markright{\MakeUppercase{#1}}{}}

(35)

1.6. ELEMENTOS DO DOCUMENTO 27 Podemos configurar a altura do cabe¸calho para ter medida size atrav´es de \setlength{\headheight}{size}.

Por padr˜ao, os cabe¸calhos vem com uma linha horizontal separando-os do resto da p´agina. E poss´ıvel alterar a espessura da linha para´ size , ou mesmo removˆe-la (passando tamanho 0), e especificar uma linha para o rodap´e atrav´es dos comandos:

\renewcommand{\headrulewidth}{size}

\renewcommand{\footrulewidth}{size}

Para alterar a parte esquerda, central e direita do cabe¸calho, esquerda, central e direita do rodap´e devemos usar respectivamente:

\lhead{Cabe¸calho da esquerda}

\chead{Cabe¸calho do centro}

\rhead{Cabe¸calho da direita}

\lfoot{Rodap´e da esquerda}

\cfoot{Rodap´e do centro}

\rfoot{Rodap´e da direita}

As classesbook e report possuem op¸c˜ao de p´agina dupla, neste caso, os comandos anteriores funcionam para as p´aginas ´ımpares. ´E poss´ıvel diferen- ciar o cabe¸calho e rodap´e das p´aginas pares e ´ımpares passando um texto opcional para as p´aginas pares atrav´es de um texto entre colchetes antes do texto que vem entre as chaves.

Todos os comandos apresentados para uso de cabe¸calho e rodap´e devem vir no preˆambulo do documento.

1.6.5 Nota de rodap´ e

Uma nota de rodap´e pode ser inserida ap´os a palavra ou frase a qual se re- fere atrav´es do comando: \footnote[numero]{texto}. Onumero ´e opcional, e pode ser usado para for¸car um determinado numero ao inv´es do autom´atico que seria gerado pelo compilador o texto´e o que vai aparecer na nota no final da p´agina.

Exemplo:

Temos uma nota aqui.

\footnote{nota de rodap´e}

Temos uma nota aqui. a

anota de rodap´e

(36)

1.7 Referˆ encias Cruzadas

Podemos usar o comando \label{rotulo} para dar um r´otulo para di- ferentes partes do texto como se¸c˜oes, figuras, tabelas, equa¸c˜oes, cap´ıtulos...

Tudo o que possui um r´otulo pode ser referenciado atrav´es dos comandos

\ref{rotulo} e \pageref{rotulo} que imprimem, respectivamente, a nume- ra¸c˜ao do objeto referenciado e o n´umero da p´agina em que aparece. Por exemplo:

Colocando um rotulo aqui

\label{sec:exemplo}.

Podemos ver um exemplo de refer^encia na se¸c~ao

\ref{sec:exemplo} da

p´agina \pageref{sec:exemplo}.

Colocando um rotulo aqui . Podemos ver um exemplo de referˆencia na se¸c˜ao 1.7 da p´agina 28.

Para que as referˆencias funcionem corretamente ´e necess´ario compilar o documento mais de uma vez.

Se, por algum motivo, n˜ao se sabe se o r´otulo estar´a definido ou n˜ao ´e poss´ıvel utilizar o pacote\hyperrefe o comando \hyperref[rotulo]{texto}.

Caso o rotulo esteja definido o documento ser´a criado com um link para o objeto notexto, caso contr´ario imprimir´a somente o texto, sem link.

(37)

Cap´ıtulo 2

L A TEX nem t˜ao B´asico

2.1 Separando em v´ arios arquivos

Para grandes documentos pode ser mais organizado quebrar o arquivo fonte em v´arios arquivos separados, em geral, um principal, com o prˆem- bulo e declara¸c˜oes e um arquivo ou mais para cada cap´ıtulo. Os comandos

\include{arquivo}e\input{arquivo} adicionam oarquivo.tex no momento em que aparecem no texto, com a diferen¸ca que o primeiro adiciona em uma nova p´agina e o segundo n˜ao.

Como n˜ao ´e poss´ıvel utilizar mais de uma vez o comando\begin{document}

em um mesmo documento sem que haja erro de compila¸c˜ao, a simples se- para¸c˜ao do arquivo em v´arias n˜ao permite que cada arquivo seja compilado individualmente. Caso esse seja o interesse, como compilar cada cap´ıtulo de um livro, existem duas op¸c˜oes:

A primeira ´e utilizar no preˆambulo do documento o comando

\includeonly{\textit{arquivos}}, onde os arquivos devem vir sem exten- s˜ao e separados por v´ırgulas, sem espa¸cos. Apenas os arquivos que estiverem nesta lista e que foram adicionados com \include ser˜ao processados.

A outra forma ´e atrav´es do pacote subfiles. No documento principal declaramos o pacote adicionamos os arquivos com \subfile{arquivo}. Os subdocumentos devem ter a seguinte estrutura:

\documentclass[nome do arquivo principal.tex]{subfiles}

\begin{document}

conte´udo...

\end{document}

29

(38)

Com isso podemos chamar o LATEXpara compilar tanto o arquivo principal quanto os subarquivos em documentos separados.

2.2 Macros e condi¸ c˜ oes

O pacote etoolbox fornece uma s´erie de ferramentas e macros. Uma bastante ´util ´e o \ifdef que executa determinada a¸c˜ao caso a condi¸c˜ao seja verdadeira e outra se for falsa. Seu uso ´e:

\ifdef{comando}{verdadeiro}{falso}

O comando pode ser definido no texto atrav´es de um \def.

2.3 Inserindo c´ odigo fonte

O pacote listingsutf8, que vem junto com o pacote oberdiek (essa informa¸c˜ao pode ser ´util para instal´a-lo) permite inserir um arquivo de c´odigo diretamente no documento.

Para adicionar o arquivo fonte.ext usamos:

\lstinputlisting[opt]{fonte.ext} Algumas das op¸c˜oes s˜ao:

• language: Linguagem do fonte, por exemplo:Octave, Python, C, R...

• inputencoding: encoding do arquivo fonte, pode ser passado mais de um, por exemplo utf8/latin1.

• showspaces: vari´avel booleana que indica se os espa¸cos devem ser mos- trados como undersores.

• showstringspaces: vari´avel booleana que indica se os espa¸cos entre strings devem ser mostrados como undersores.

• breaklines: vari´avel booleana que indica se deve utilizar quebra de linha autom´atica.

• label: r´otulo para identificar o c´odigo fonte.

• caption: legenda do c´odigo fonte.

Um exemplo de escolha de op¸c˜oes ´e:

[language=Python, inputencoding=utf8/latin1, showspaces =false, showstringspaces=false, breaklines=true, label=fonte]

(39)

2.4. INSERINDO ARQUIVOS EM PDF 31

2.4 Inserindo arquivos em pdf

O pacotepdfpages permite incluir p´aginas ou um documento inteiro em .pdf dentro do documento. Isso deve ser feito atrav´es do comando:

\includepdf[pages=i-j]{arquivo.pdf}!

No nome do arquivo a ser inserido neste caso ´earquivo.pdf e o intervalo de p´aginas vai de i aj. Para incluir o documento inteiro basta passar somente

−.

2.5 Algoritmos

O pacote algorithm2e serve para colocar algoritmos no documento e permite usar portuguˆes como idioma.

Apresentamos a seguir um c´odigo utilizado para criar um algoritmo gen´e- rico e o resultado produzido. Para maiores detalhes sobre o uso deste pacote sugerimos a leitura da documenta¸c˜ao do mesmo dispon´ıvel em

\begin{algorithm}[H]

\SetAlgoLined

\Entrada{Conjunto de dados $X$ \\

\Saida{Vetor resposta $Y$}

\Inicio{

Atribua valores iniciais para as vari´aveis \\

\Repita{que alguma certa condi¸c~ao seja verdadeira}{

\Para{$i \leftarrow 1$ a $N$}{

a¸c~ao 1 \\

a¸c~ao 2 \\

} } }

\label{alg:algoritmo}

\caption{Este ´e um algoritmo}

\end{algorithm}

(40)

Algoritmo 2.1:Este ´e um algoritmo Entrada: Conjunto de dados X Sa´ıda: Vetor resposta Y

1 in´ıcio

2 Atribua valores iniciais para as vari´aveis

3 repita

4 para i←1 a N fa¸ca

5 a¸c˜ao 1

6 a¸c˜ao 2

7 fim

8 at´e que alguma certa condi¸c˜ao seja verdadeira;

9 fim

2.6 ´ Indice Remissivo

Para criar um ´ındice remissivo devemos usar o pacote makeidx e dar o comando \makeindex no preˆambulo do documento para inicializa-lo.

Cada entrada do ´ındice ´e adicionada logo ap´os a ocorrˆencia da mesma da seguinte forma:

\index{chave}, onde achave ´e o texto que aparecer´a no ´ındice (com a p´agina correspondente). Se uma mesma chave aparecer mais de uma vez no texto ela aparecer´a uma ´unica vez no ´ındice, com os n´umeros das paginas das ocorrˆencias. ´E poss´ıvel incluir subentradas e subsubentradas de uma entrada colocando ‘!’ entre elas:

\index{entrada!subentrada!subsubentrada}.

Para imprimir o ´ındice no documento com todas as entradas, geralmente no final do texto, utilizamos\printindex.

Para que o ´ındice seja exibido corretamente ´e preciso interpretar o arquivo de ´ındice .idx criado pelo LATEX atrav´es do programa makeindex que vem junto com a distribui¸c˜ao. Ele deve ser chamado com o nome do arquivo de ´ındice, geralmente o mesmo que o fonte do texto, sem extens˜ao como argumento, entre as compila¸c˜oes do texto pelo LATEX.

(41)

2.7. CARREGANDO A HIFENIZA ¸C ˜AO CORRETAMENTE 33

2.7 Carregando a hifeniza¸ c˜ ao corretamente

Pode ser que o compilador precise “aprender” a hifenizar algumas pala- vras desconhecidas. Isto pode ser feito atrav´ez do comando \hyphenation, passando a separa¸c˜ao correta das palavras com h´ıfens e separando palavras com v´ırgula, por exemplo:

\hyphenation{pa-la-vra1, pa-la-vra2}

Al´em disso, algumas vezes, mesmo utilizando o pacote babel com o idi- oma em portuguˆes do brasil o texto pode apresentar alguns problemas de hifeniza¸c˜ao, como por exemplo o warning:

"No hyphenation patterns were loaded for(babel) the language ’Portuguese’(babel)

I will use the patterns loaded for \language=0 instead"

Apesar de gerar o documento, a hifeniza¸c˜ao n˜ao estar´a correta. Para resolver o problema ´e preciso habilitar ou instalar o idioma na sua distri- bui¸c˜ao LATEX. Este processo ´e um pouco dependente de distribui¸c˜ao, vamos apresentar brevemente como proceder no TeXLive e no MikTeX:

TeXLive

Em geral o problema ´e solucionado instalando o seguinte pacote atrav´es do terminal:

texlive-lang-portuguese.

MikTeX

Junto com o MikTeX (2.8) vem um programa de configura¸c˜oesmo_admin.exe que aparece comosettings dentro da pastaMaintenancedo MikTeX do menu iniciar.

A figura 2.1 mosta a tela do programa. ´E preciso certificar que a caixa com portuguese est´a checada.

Ap´os selecionar a linguagem desejada e darOK o programa avisar´a que ´e preciso reconstruir os arquivos de formato, basta dar OK e a atualiza¸c˜ao ser´a feita automaticamente.

(42)

Figura 2.1: Corrigindo a hifeniza¸c˜ao no windows

(43)

Cap´ıtulo 3 Miscelanea

3.1 Apresenta¸ c˜ oes

Uma maneira bastante simples e elegante de criar apresenta¸c˜oes com o LATEX ´e utilizando o pacote beamer. Primeiramente, devemos trocar a classe do documento para beamer.

Podemos criar as informa¸c˜oes do documento atrav´es dos comandos

\author{...},\title{...},\institute{...},\subtitle{...},\date{...}.

Essas informa¸c˜oes s˜ao impressas com o comando\titlepage e tamb´em s˜ao disponibilizadas no rodap´e das p´aginas dos slides, podendo apresentar uma vers˜ao abreviada das informa¸c˜oes caso sejam passadas informa¸c˜oes com os colchetes opcionais.

Beamer vem com uma s´erie de temas que permitem modificar a aparˆencia dos slides

Cada p´agina ´e criada atrav´es do ambienteframe. Podemos passar a op¸c˜ao [plain] para remover toda a decora¸c˜ao do frame.

3.2 Teoremas

Podemos criar um ambiente para escrita de teoremas, axiomas, etc, atra- v´es do comando \newtheorem{chave}[contador]{texto}[secao]

no preˆambulo do documento.

O chave ´e uma chave para identificar o teorema, contador ´e a chave de um teorema j´a definido, indicando que a numera¸c˜ao deste novo teorema deve seguir a do teorema especificado e ´e opcional. O texto ´e o texto com o nome

35

(44)

do teorema que ser´a impresso, por exemplo, Teorema, Corol´ario, Axioma. . . e, finalmente, secao ´e opcional e refere-se `a unidade seccional a qual o teorema deve obter sua numera¸c˜ao (section, chapter, . . . ).

Ap´os definido o teorema ele pode ser utilizado no texto atrav´es de:

\begin{chave}[descr]

Este ´e um teorema

\end{chave}

Sendo que o parˆametro opcionaldescr´e uma descri¸c˜ao breve, como t´ıtulo, autor ou data do teorema, para aparecer entre parˆenteses antes do texto do teorema.

O pacote amsthm permite ainda configurar o estilo de teorema com as op¸c˜oes: definition (t´ıtulo em negrito), plain (t´ıtulo em negrito e corpo em it´alico) ou remark (t´ıtulo em it´alico) e tamb´em fornece um ambiente proof que pode ser utilizado para demonstra¸c˜oes.

Vamos ilustrar o uso desses comandos com alguns exemplos:

Primeiro definimos:

\theoremstyle{definition} \newtheorem{teo}{Teorema}

\theoremstyle{plain} \newtheorem{cor}[teo]{Corol´ario}

\theoremstyle{remark} \newtheorem{nota}{Nota}[section]

E ent˜ao podemos usar nossos teoremas:

\begin{teo} \label{teo:1}

Este ´e um teorema simples.

\end{teo}

\begin{cor}[2012]

Uma consequ^encia imediata do teorema \ref{teo:1}.

\end{cor}

\begin{nota}

Uma observa¸c~ao simples

\end{nota}

\begin{proof}

Basta ver que

$$2 + 2 = 4$$

\end{proof}

Teorema 1. Este ´e um teorema sim- ples.

Corol´ario 2 (2012). Uma consequˆen- cia imediata do teorema 1.

Nota 3.2.1. Uma observa¸c˜ao simples Demonstra¸c˜ao. Basta ver que

2 + 2 = 4

(45)

3.3. GERANDO C ´ODIGO EM HTML 37

Podemos ainda utilizar o comando \qedhere para exibir o s´ımbolo de fim da demonstra¸c˜ao na linha atual e n˜ao em uma linha linha nova, que ´e o padr˜ao do ambiente proof.

Para criar teoremas sem numera¸c˜ao podemos usar \newtheorem*

3.3 Gerando c´ odigo em html

Eventualmente pode ser de interesse gerar uma vers˜ao em .html do do- cumento. Existem alguns programas para isso e sugerimos aqui o tex4ht.

Para isso o documento deve ser compilado com o programahtlatexao inv´es de pdflatex.

A instala¸c˜ao do tex4ht pode ser um pouco trabalhosa, e tamb´em requer alguns programas adicionais como o GhostScript. Um manual de instala¸c˜ao no windows pode ser encontrado aqui.

Este pacote apresenta alguns problemas de compatibilidade com outros pacotes, como por exemplo o hypcap, ent˜ao, para permitir que um mesmo arquivo gere facilmente tanto .pdf quanto .html utilizamos os seguintes co- mandos no preˆambulo:

\makeatletter

\@ifpackageloaded{tex4ht}{

\DeclareGraphicsExtensions{.png,}

}{

\usepackage{pacote incompativel}

}

\makeatother

O comando \DeclareGraphicsExtensionspermite que as figuras sejam inseridas sem precisar incluir a extens˜ao, no caso, png.

O comando define \makeatletter temporariamente o caractere @ como um caractere, para que possa ser utilizado para alterar em comandos e ma- cros internas, e depois \makeatother faz com que ele volte a ter sua fun¸c˜ao original.

Finalmente, a macro\@ifpackageloaded{pacote}{verdadeiro}{falso}. Exe- cuta determinada a¸c˜ao se o pacote foi carregado e outra se n˜ao foi. No nosso caso, a condi¸c˜ao ser´a verdadeira caso o documento esteja sendo gerado com o htlatex.

(46)

3.4 Unidades de Medida

Muitos comandos recebem alguma medida como parˆametro. Al´em das unidade tradicionais como mil´ımetros (mm) e cent´ımetros (cm) podemos passar medidas referentes ao texto ou `a p´agina, por exemplo:

• \linewidth: Representa o tamanho atual da linha, considerando o ambiente em que est´a inserida, como uma lista, e ´e vari´avel.

• \textwidth:´E a largura total do bloco de texto e ´e constante.

• \columnwidth: ´E a largura total da coluna, ´e diferente da largura do texto para mais de uma coluna, e ´e constante.

Esses comandos podem ser utilizados como se fossem unidades de medida, 0.5\linewidth, significa metade da linha, por exemplo.

(47)

Referˆ encias Bibliogr´ aficas

[1] AZEREDO, A. D., Pequeno Manual de Introdu¸c˜ao ao LATEX. (2001) Dispon´ıvel em: http://paginas.ucpel.tche.br/∼lebrao/manual.pdf

[2] OETIKER, T., PARTL, H., HYNA, I., SCHLEGL, E. (2008) The Not So Short Introduction to LATEX. Dispon´ıvel em:

http://tobi.oetiker.ch/lshort/lshort.pdf

[3] SANTOS, R. J. Introdu¸c˜ao ao LATEX. (2002) Dispon´ıvel em:

http://www.mat.ufmg.br/∼regi/topicos/intlat.html

[4] VAZ, C. L. D. Aprendendo LATEX. (2001) Dispon´ıvel em:

http://www.lac.inpe.br/∼margarete/...0/apostila latexpdf.pdf

[5] LATEX Wikibook Dispon´ıvel em: http://en.wikibooks.org/wiki/LaTeX

39

Referências

Documentos relacionados

ENSINO MÉDIO ACALCULIA, OUTROS DESPREPARO DIFICULDADES E TRANSTORNOS DA APRENDIZAGEM DA MATEMÁTICA MILLS, 2011 http://www.mathlearningdifficulties.com/ DISLEXIA

O arrematante pagará no ato o valor de 5% referente ao sinal e princípio de pagamento calculados sobre o valor da arrematação e a comissão do leiloeiro, correspondente

São aceitáveis estabelecimentos que não se qualifiquem como “colônia agrícola, industrial” (regime semiaberto) ou “casa de albergado ou estabelecimento adequado”

O projeto “Novos Rumos para Caçapava – Fortalecendo Relacionamentos”, foi desenvolvido para a Prefeitura Municipal de Caçapava com o intuito de atender as

Dessa forma, o objetivo do presente estudo é identi- ficar, entre os indicadores antropométricos de obesidade geral e abdominal, aqueles que apre- sentam associação com a

6.2.3 Auditoria inicial do Sistema de Gestão Integrado e Avaliação do Processo Produtivo De acordo com o nível de certificação pretendido, o OCP avalia o Sistema de Gestão

Como s˜ ao muitas configura¸ c˜ oes e muitas dependˆ encias, podemos usar um SAT solver para verificar se o cliente escolhe op¸ c˜ oes de configura¸ c˜ ao consistentes.. Para

O Governo do Estado da Paraíba, em cumprimento ao que determina o artigo 37, inciso II, da Constituição Federal, e a Secretaria de Estado da Administração, no uso das