work2.pdf

Upload: fabio-nascimento

Post on 28-Mar-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

  • Elementos de Tex(Latex) 1

    Jose Antonio da Silva Neto 2

    Fevereiro de 2002

    1Trabalho fomentado pela Revista [email protected]

  • Sumario

    1 Introducao 2

    2 Um pouco de historia 4

    3 O sistema Tex 63.1 Rudimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    4 O sistema Latex 94.1 A sintaxe basica . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.2 Acentuacao no modo texto . . . . . . . . . . . . . . . . . . . . . 114.3 A inclusao de formulas dentrodo texto . . . . . . . . . . . . . . 124.4 A inclusao de formulas forado texto . . . . . . . . . . . . . . . 134.5 Acentuacao no modo matematico . . . . . . . . . . . . . . . . . . 154.6 Slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.7 Detalhes... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.8 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . 17

    5 Running Latex 185.1 Instalando o sistema . . . . . . . . . . . . . . . . . . . . . . . . . 185.2 Os editores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.2.1 O Editor WinEdt . . . . . . . . . . . . . . . . . . . . . . . 195.2.2 O Editor Oxford . . . . . . . . . . . . . . . . . . . . . . . 195.2.3 Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    5.3 Rodando o Latex . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.3.1 Compilando o Latex . . . . . . . . . . . . . . . . . . . . . 205.3.2 O formato DVI . . . . . . . . . . . . . . . . . . . . . . . . 21

    5.4 PostScript e PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . 215.5 Criando figuras e carregando no codigo fonte . . . . . . . . . . . 225.6 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . 23

    1

  • Captulo 1

    Introducao

    Em primeiro lugar o que e o processador de textos Tex(Latex) ? E precisodeixar claro que o Tex nao e um editor de textos como o Word do Windowsou o Kword do Linux. Um processador de texto e um ambiente de formatacaografica, ou seja, e necessario programar o texto a ser criado e depois compilaro codigo fonte. O sistema Tex nao possui uma interface grafica do tipo WYSI-WYG(what you see is what you get), e o usuario so vera o resultado final dotexto apos sucessivas compilacoes porque erros de sintaxe vao ser naturalmentedetectados. Caro leitor, nao se ofenda com o paragrafo anterior pois como ja foiexplicado , trata-se de uma linguagem de programacao orientada para a criacaode textos e portanto erros de sintaxe sao quase inevitaveis.Um ponto e fundamental(mais uma vez!): o Tex(Latex) e uma linguagem deprogramacao , quase tudo deve ser definido, como se acentua uma palavra, comose inclui uma formula num texto, como se enumera uma formula(isto e muitocomum e necessario em artigos cientficos), etc.A motivacao para este artigo e a de que o sistema Tex(Latex) deve sair dopedestal do mundo academico e alcancar um publico maior. E o leitor da Geeksera o presenteado.O Tex(Latex) e um sistema fantastico, mas como se trata de uma linguagem deprogramacao (a ultima vez, eu prometo) exige um auto-treinamento persistente,mas o retorno em qualidade grafica nao e alcancado pelos editores de texto con-vencionais.Neste artigo usaremos de todos os recursos didaticos para convencer o leitor.A sequencia deste artigo e a seguinte: primeiro vamos contar um pouco dahistoria do Tex(Latex), qual foi a moticacao do seu criador, o Professor DonaldKnuth para criar o sistema, depois apresentaremos a sintaxe basica do Tex, ser-emos sucintos pois nossa atencao sera focalizada no seu sucessor, o sistema demacros Latex, de Leslie Lamport, macros sao comandos que encapsulam varioscomandos de uma vez. O sistema Latex visa uma simplificacao da sintaxe dosistema e consequentemente, facilitar a vida do usuario.Veremos tambem como criar slides no Latex(basta uma linha de comando). Osistema de Donald Knuth e tao flexvel que permite a criacao de fontes de letras

    2

  • e a sua consequente incorporacao ao sistema. Isto e possvel atraves dos progra-mas Metafont e Metapost, infelizmente, por exigir uma teoria mais complexa,nao apresentaremos os mesmos neste artigo; mas depois que o leitor absorver omaterial aqui apresentado, sera capaz de aprender a usar estes programas, paraisso indicamos as referencias [7],[8],[9],[10], que se encontram no CD alem de [3].Para uma utilizacao adequada do sistema e fundamental que se utilise um edi-tor de codigo nativo. Atencao : se o leitor for um usuario Windows NAO useprogramas como WordPad ou o Word, estes programas nao foram projetadospara suportar um codigo do tipo Tex(Latex), o qual precisa ser salvo com umaextensao .tex. Apresentaremos os diversos editores disponveis na WEB, tantopara Windows como para Linux(Unix)(O leitor encontrara um pacotao nestaedicao da Geek) :

    Oxford Editor : para Windows (freeware) Winedit5.2 : este e o melhor editor Tex para Windows mas infelizmentee proprietario (shareware)

    Emacs : Editor generico, baseado em Lisp, do legendario mestre RichardStallmann, disponvel para Windows e Linux (freeware)

    vi, joe, pico, ...: todos para Linux,...Para terminar avisamos ao leitor que o codigo fonte original deste artigo

    tambem esta disponvel na revista para fins de estudo.

    3

  • Captulo 2

    Um pouco de historia

    O pai do sitema Tex e o professor Donald Knuth[1] do departamento de Cienciada Computacao da Universidade de Stanford USA. Donald Knuth e mundial-mente reconhecido no meio academico pela sua competencia na arte de progra-mar e tambem pela sua monumental obra: The art of computer programming;trata-se de uma sequencia de livros apresentando os fundamentos da computacao: desde matematica para computacao , ate topicos avancados como projeto decompiladores(ainda nao publicado).O leitor pode estar se perguntando: Porque criar um processador de texto, noqual temos que programar para obter um texto ? Poderamos usar editoresWYSIWYG, como os ja citados anteriormente, nao e ? A motivacao do pro-fessor Knuth foi a seguinte: quando os computadores comecaram a se dissemi-nar, Knuth pecebeu que as qualidade tipografica dos seus documentos(e livros)comecaram a cair(devido aos editores de texto ?), diante deste fato ele decidiucriar um sitema de formatacao grafica fortemente baseado em programacao ematematica que servisse para manter e melhorar a qualidade grafica de seusproprios livros, isto foi no ano de 1977.Foram oito anos de trabalho contnuo, e nas palavras do proprio Knuth: naoteria comecado se tivesse consciencia das dificuldades que encontraria pela frente.Finalmente, no ano de 1984 o sistema Tex estava terminado. Como exemplo deseu perfeccionismo, Knuth requisitou a contratacao de especialistas em designde letras(verdadeiros artistas), para criarem as fontes que seriam incorporadasao sistema basico.Depois de terminado, o sistema Tex foi oficialmente adotado pela AMS(AmericanMathematical Society) para ser utilizado como o sistema padrao de confeccaode artigos cientficos.O sistema Tex e tao flexvel que, como ja foi dito, e possvel criar novas fontesgraficas e incorpora-las ao sistema, isto e feito atraves do programa Metafont.Apesar da flexibilidade do Tex, o mesmo exige muitas definicoes no codigo fontede qualquer texto a ser compilado. Como foi o primeiro sistema, podemos clas-sifica-lo como um Assembler. Tendo em vista este fato, Leslie Lamport criouo sistema Latex[2], nesse sistema, ao contrario do Tex, temos uma estrutura

    4

  • padrao pre-definida, que usando a mesma analogia, podemos classifica-lo comoum Pascal, veremos que sera muito mais facil e produtivo trabalhar com oLatex.

    Este foi um breve resumo da historia do Tex, nos proximos captulos apre-sentaremos o Tex e o Latex . Mas devido a` praticidade ja citada nos concen-traremos no estudo do Latex.Seremos repetitivos, um recurso didatico poderoso que adotaremos.

    5

  • Captulo 3

    O sistema Tex

    Como ja foi enfatizado anteriormente, o sistema Tex[1]de Donald Knuth per-mite o controle grafico de um texto, pois trata-se de um processador de textos.Devido ao grande numero de comandos envolvidos, apresentaremos uma breveintroducao ao sistema e nos concentraremos no estudo do seu sucessor, o sistemaLatex, que sera minuciosamente estudado no proximo captulo.

    3.1 Rudimentos

    Como toda linguagem de programacao , o Tex possui os seus comandos, taiscomandos sao(em sua maioria) invocados utilizando a barra deitadapara aesquerda \. Um outro conceito fundamental e o de que o Tex e composto dedois ambientes: o modo grafico e o modo matematico. O modo texto e de-fault, quanto ao modo matematico, o mesmo e chamado por exemplo atravesdo smbolo delimitador $(portanto um smbolo reservado do sistema) .Exemplo:

    A desigualdade $1

  • O comando de acentuacao e identico para outros acentos no modo texto, porexemplo, \^a tera como resultado : a .Vamos a seguir apresentar um texto basico em Tex, para termos uma ideia maisdetalhada de como o Tex opera.

    % O Tex ignora tudo numa linha ap\os um% Aqui est\a o t\\i tulo\leftline { exemplo 1: carregandotexto simples }\vskip 1cm % salta um espa\co vertical de 1 cm

    E facil criar um texto basico em Tex, pois para o Tex nao importa como vocequebra as linhas do texto, pois ele trata um final de linha como uma indicacaopara deixar um espaco em branco relacao ao proximo caracter.Continuando o texto:

    \hskip 1cm Esta linha ser\a deslocada de um cent\\i metro paraa direita\vskip 0.5cm{\leftskip 0.5cm A margem esquerda destalinha ter\a uma tabula\c c\~ao de 0.5 cm e pularemos uma linha{\rightskip 0.5cm A margem direita desta linha ter\a uma tabula\cc\~ao de 0.5cm e iniciaremos uma nova linha com o comando }\par

    Interpretacao

    O smbolo % indica ao compilador que a linha do texto e um comentario eque nao devera ser compilada.

    \\i e o comando para o compilador tirar o pingo da letra i e colocar umacento agudo na mesma.

    \c c e comando para chamar o c-cedilha c. O comando \leftline e um tabulador de linha, toda linha entre ossmbolos {} sera deslocada para a extremidade esquerda da linha corrente.

    \vskip 0.5cm diz ao compilador para deixar um espaco em branco de 0.5cm entre as respectivas linhas.

    \hskip 1cm tabula a linha de 1cm para a direita. \leftskip e \rightskip sao tabuladores para as margens esquerda edireita de uma linha delimitada pelos smbolos {}.

    \par diz ao compilador que se trata de um final de linha.Um pouco complicado, nao ?Vamos a um outro exemplo

    {\it aqui est\~ao umas poucas palavras na fonte it\alico}{\bf umas poucas palavras em negrito}

    7

  • Como existem outras lnguas alem do ingles, sao necessarios recursos de acen-tuacao , como em :

    {\it tch\^e } ou{\it ferom\^onio-pandem\^onio }

    Interpretacao :Como nos editores de texto convencionais, o Tex possui acesso a varios tipos defontes de letras e smbolos

    \it diz ao compilador para gerar em italico a frase entre os smbolos {}. \bf gera uma frase em negrito entre os smbolos {}.

    Com estes exemplos ja percebemos que o Tex se parece com um Assem-blerpara os processadores de Texto, apesar de ser extremamente flexvel epermitir toda sorte de estruturas graficas, mas para sermos capazes de gerartais estruturas, seria necessario apresentarmos um grande numero de comandosprimitivos e como criar estruturas mais complexas com estes comandos. Nasreferencias[1],[4] o leitor podera se aprofundar na complexidade do Tex. Acre-ditamos que para termos mais produtividade e necessario um analogo do C ouPascal para um processador de texto. O analogo desejado e o sistema Latex, oqual sera apresentado com razoavel detalhe no captulo a seguir.

    8

  • Captulo 4

    O sistema Latex

    Um sucessor do sistema Tex, visando facilitar a vida do usuario e o sistemaLatex de Leslie Lamport[2],[5],[6]. Ao contrario do Tex, o Latex ja vem commacro-comandos pre-definidos como o tamanho da linha de texto por exemplo.Alem disso a analogia com o Pascal nao e gratuita, pois o Latex possui umaestrutura basica que deve ser sempre obedecida.

    4.1 A sintaxe basica

    A versao atual do Latex que utilizaremos e o Latex2, a estrutura basica de umum texto em Latex e a seguinte:

    \documentclass[10pt]{report}\begin{document}\chapter{Primeiro texto}Viva a GeekEste programa \e um teste\end{document}

    Vamos as explicacoes :

    a barra deitadapara a esquerda \ precede a maioria dos comandos. \documentclass[10pt]{report} informa ao compilador a classe do do-cumento, definindo o tamanho da fonte [10pt] e o tipo de documento{report}, o qual e um relatorio. Outros tipos de documento sao porexemplo o article(artigo) e book(livro), o que implicara em apresentacoesdo compilado diferentes, assim como algumas restricoes de sintaxe.Outrostamanhos de fonte disponveis sao 11pt e 12pt.

    \begin{document} e o incio do texto a ser compilado. Para o leitor

    9

  • que ja teve um mnimo de contato com a linguagem Pascal, esta ultimaexplicacao parecera familiar.

    \chapter{Primeiro texto} este comando imperativo diz ao compiladorque e o incio de um captulo com o nome Primeiro texto.

    Como secoes em captulos sao naturais, o sistema preve o comando\section{...} o qual provocara uma indexacao automatica atrelada ao captuloem questao.

    Exemplo:

    \chapter{Primeiro texto}Viva a GeekEste programa \e um teste\section{ Viva a Geek again}

    O compilado e :Captulo 1 Primeiro textoViva a GeekEste programa e um testeSecao 1 Viva a Geek again

    E recursivamente podemos incluir subsecoes atraves do comando\subsection{...}

    Retomando a explicacao da sintaxe do primeiro exemplo temos:

    Viva a Geeke o incio do texto per si e as duas barras \\ sao necessariaspara que o compilador pule uma linha, o mesmo efeito pode ser obtidosimplesmente deixando uma linha em branco entre duas linhas consecuti-vas.

    \end{document} Da ate para adivinhar nao ? Com este comando encer-ramos o programa.

    Aconselhamos ao leitor a sempre fixar os comandos\begin{document} e \end{document} para nao esquecer e ja evitar um bugdesnecessario.Como o Latex e apenas uma evolucao do Tex, entao temos como no Tex doismodos no sistema: o modo texto e o modo matematico.Na secao a seguir estudamos com mais detalhe a acentuacao no modo texto.

    10

  • 4.2 Acentuacao no modo texto

    Como vimos na secao anterior, e necessario fornecer ao compilador a regra deacentuacao para cada letra a ser acentuada. Para facilitar a vida do leitorvamos apresentar um macro com uma sequencia de definicoes . Fazemos issoporque existem slabas que se apresentam frequentemente na lngua portuguesa.

    Exemplo 1:a regra \e dada por: ...Como ja vimos, o comando \e indica ao compilador para por um acento agudona letra e.

    Exemplo 2:A diferen\c ca \e dada porTemos aqui uma novidade. O c cedilha nao faz parte da lingua inglesa, mas nanossa sim! Para termos o c cedilha temos que usar o comando \c c.

    Exemplo 3:

    A associa \c c\~ao dos professores \e mal remunerada...

    O comando \c c\~ao produz a sada cao , os outros comandos ja foram ex-plicados anteriormente.

    Exemplo 4:O in\\i cio da festa foi marcante...

    Para colocarmos um acento agudo na letra i e um pouco complicado pois deve-mos explicar ao compilador para retirar o pingoda letra i e colocar um acentoagudo. Isto e feito com o comando \\i. Ao inves de continuarmos citandoacento por acento, vamos apresentar ao leitor um micro pacote, que aconsel-hamos seja includo em cada codigo fonte.O pacotinho acento.tex

    \def\cao {\c c\~ao }\def\co {\c co}\def\ca {\c ca}\def\y {\\i}\def\coes {\c c\~oes }

    Observacao : respeite os espacos em branco nas definicoes acima, principal-mente nas terminacoes , isto evita que o sistema cole palavras adjacentes.Chame o editor(mostraremos como fazer isso num captulo posterior) e crie umarquivo com o nome(sugestao)acento.tex e insira as linhas acima. O comando \def e um meio de definirum macro, finalmente salve o arquivo. Para incluir o arquivo acima no textoa ser compilado, inclua o comando \input acento.tex depois do comando

    11

  • \documentclass{10pt}[report].A vantagem de tal tipo de macro e que quando o usuario quiser por exemplo es-crever execao simplesmente escreva no editor exe\cao que o compilador faraa identificacao automaticamente. O usuario pode e claro criar outros pacotescom o comando \def, basta dar um rotulo para o comando e entre chaves {},definir a identificacao .

    Abaixo segue uma tabela com uma coletanea de acentos(apenas para servircomo referencia):

    o` \o o \~o o \v o o \c oo \o o \= o o \H o o. \d oo \^o o \. o oo \t oo o

    \b o

    o \" o o \u o

    4.3 A inclusao de formulas dentrodo texto

    Para incluir formulas matematicas dentro do texto utiliza-se o comando $...$.Exemplo1:

    A integral de uma fun\cao cont\y nua no intervalo $[0,1]$\e dada por: $\int_{0}^{1} f(x)dx $

    Interpretacao :

    \int_{0}^{1} este comando invoca o sinal de integral juntamente comos comandos _{0}^{1} que definem subndices e superndices.

    O compilado sera :

    A integral de uma funcao contnua no intervalo [0, 1] e dada por : 10f(x)dx

    Observacao : O uso do underscore _ e do smbolo ^ sao os comandos basicospara se incluir subndices e superndices em quaisquer formulas.

    Exemplo 2:

    Seja a equa\cao do segundo grau: $ ax^{2} + bx + c = 0$

    Interpretacao :

    So temos que explicar o comando x^{2} , e como no exemplo anterior estecomando e apenas para incluir um superndice na variavel x.

    O compilado sera :Seja a equacao do segundo grau: ax2 + bx+ c = 0

    12

  • Exemplo 3:

    Dada a progress\~ao geom\etrica infinita ( com $x

  • \[\sum_{n=1}^{\infty} x^{n} = \frac{1}{1-x}\]

    O compilado sera :

    n=1

    xn =1

    1 x

    O comando

    \begin{equation}...\end{equation}

    Neste comando formatamos uma equacao matematica destacando-a no texto,podemos incluir o comando de referencia e a equacao sera enumerada automati-camente.Se nao quisermos que a formula seja enumerada entao precisamos de mais umcomando. Veremos como fazer tudo isto!Exemplo

    \begin{equation}\label{campovec}X = f^{1}(x,y)\frac{\partial}{\partial x} +

    f^{2}(x,y)\frac{\partial}{\partial y}\end{equation}

    Interpretacao :

    O comando \label{campovec} indica ao compilador que a equacao acimapodera ser referenciada no texto atraves do comando \ref{campovec} .

    O compilado sera :

    X = f1(x, y)

    x+ f2(x, y)

    y(4.1)

    Se nao quiseremos que a formula seja enumerada basta acrescentar o comando\nonumber antes do comando \end{equation}.Infelizmente este comando e limitado, se queremos apresentar mais de umaformula matematica de uma unica vez, e devidamente tabuladas. O comando aseguir da conta do recado.O comando:

    \begin{eqnarray}...\end{eqnarray}

    Com este comando podemos incluir de uma unica vez uma sequencia ar-bitraria de equacoes matematicas alinhadas, o qual e possvel atraves do smbolo& .Exemplo:

    14

  • \begin{eqnarray}\sum_{n=1}^{\infty} x^{n} &=& \frac{1}{1-x} \nonumber\\A\times (B\cup C) &=& (A\times B)\cup (A\times C) \nonumber\end{eqnarray}

    Interpretacao :

    O comando &=& indica ao compilador para tomar o smbolo = como pontode referencia para a tabulacao (alinhamento) das equacoes .

    \nonumber evita que o compilador enumere cada equacao

    O compilado sera :

    n=1

    xn =1

    1 xA (B C) = (AB) (A C)

    Tambem podemos evitar a enumeracao das equacoes utilizando o comando

    \begin{eqnarray*}...\end{eqnarray*}

    Uma pergunta natural e a seguinte: a sintaxe para acentuacao numa linhade texto e a mesma dentro do modo matematico ? Nao. A seguir veremos comoacentuar no modo matematico.

    4.5 Acentuacao no modo matematico

    Quando queremos acentuar e fazer espacamento no modo matematico e necessarioinvocar comandos especficos para isso:Exemplo:

    \begin{eqnarray*}A\, solu \mbox {\c c}\tilde{a}o\,\, da\,\, equa\mbox {\c c}\tilde{a}o\,&do&\, segundo\, grau\, \acute{e} dada por :\\x &=& \frac{-b\pm\sqrt{b^{2} - 4ac}}{2a}\end{eqnarray*}

    Interpretacao :

    \, e o comando para que o compilador deixe um espacoem branco entreduas palavras consecutivas. Este comando evita que as palavras fiquemgrudadas

    15

  • \pm e o comando para o smbolo matematico (ver tabela anterior). \sqrt e o comando para o smbolo da raiz quadrada O compilado sera;

    Asolucao da equacao do segundo grau e dada por :

    x =bb2 4ac

    2aA seguir temos uma tabela com os principais comandos de acentuacao no

    modo matematico

    a \hat{a} a \acute{a} a \bar{a} a \dot{a}a \check{a} a` \grave{a} ~a \vec{a} a \ddot{a}a \breve{a} a \tilde{a}

    4.6 Slides

    Para obtermos um texto compilado para Slides devemos usar a seguinte sintaxe :

    \begin{slide}\begin{center}Geeks and Gnus of the World, come to the Open Source Side\end{slide}

    Interpretacao :

    a maioria dos comandos ja foi apresentada, seguindo o padrao\begin{...}...\end{...}, o center e para centralizar o texto na pagina,e o slide indica ao compilador para criar um compilado do tipo slide.

    Para termos slides com textos coloridos devemos incluir o seguinte comando:

    \textcolor{red}{Geeks are great people}

    4.7 Detalhes...

    Certos comandos utilizados neste artigo nao poderiam deixar de ser citados:

    Ja que o sistema compila o codigo fonte, entao como fizemos para digitarcomandos sem que os mesmos fossem compilados ? Usamos o comando\verb...++, o sinal de + delimita os caracteres que nao devem ser com-pilados. Para textos longos usamos o comando\begin{verbatim}...\end{verbatim}.

    Nada e perfeito. Um problema serio no Latex e a divisao silabica emportugues. Se o sistema nao fizer a divisao silabica corretamente numfinal de linha, temos que informar ao compilador o How To. Exemplo:para definir a divisao silabica da palavra informar fazemos fa\-ze-\mos.

    16

  • 4.8 Consideracoes Finais

    Acreditamos que ja inclumos o mnimo necessario da sintaxe do Latex paraque o leitor ja tenha condicoes de criar os seus proprios documentos. Para maisinformacoes veja o material [5],[6] que foi includo no CD desta edicao da Geek.

    17

  • Captulo 5

    Running Latex

    Originalmente, como citado anteriormente, o sistema Tex(Latex) foi desen-volvido no ambiente Unix. Mas atualmente o sistema foi portado para o Win-dows por Chrishan Schenk[11], trata-se do ambiente Tex(Latex) MikTex.No CDda revista o leitor encontrara versoes do sistema Latex para Windows(MikTex)e Linux.

    5.1 Instalando o sistema

    Temos duas possiblidades de instalacao :

    O sistema Latex no Windows e o pacote MikTex, instale-o como qual-quer aplicativo Windows, mas para os usuarios do Windows 98, e precisoapresentar alguns detalhes. O MikTex precisa de um pacote de rotinasC++ que o Windows 98 normalmente nao possui, e o pacote da Microsoftvc6redistsetup_enu, este pacote o leitor tambem encontra no CD. E umpacote auto-extract, rode-o, descompactando para um diretorio da suaescolha, depois localize o executavel vcredist.exe; instale-o, e finalmenteo leitor podera instalar o MikTex. Uma ultima informacao importante,depois de instalar o MikTex, atraves de um editor carregue o arquivo au-toexec.bat e verfique se o seguinte PATH foi includo neste arquivo:SET PATH=C:\texmf\miktex\binSe ja estiver no autoexec.bat entao beleza, e so rebotar o sistema para atu-alizacao dos arquivos de configuracao . Caso contrario inclua este PATHexatamente como foi escrito acima, respeitanto os espacos em branco eletras maiusculas e minusculas, finalmente salve as modificacoes e reboteo sistema.

    No Linux a maioria das distribuicoes ja inclui o Latex, o qual e automati-camente instalado durante a instalacao do sistema operacional. Se a suadistribuicao nao inclui o Latex, instale o mesmo do modo usual no Linux;atraves do gerenciador de pacotes do KDE por exemplo.

    18

  • 5.2 Os editores

    Um ferramenta basica que o usuario do sistema deve ter a disposicao sao editoresnativos. Vamos apresentar os principais:Observacao : os editores que serao apresentados estao no CD.

    5.2.1 O Editor WinEdt

    E o melhor editor de codigo Tex para Windows, atualmente encontra-se naversao 5.3 beta. Este editor possui multplos recursos, como destaque em coresdos comandos, inumeras paletas com muitos smbolos internos do sistema(o queevita recorrer aos manuais), e praticamente todos os plugins para os programasrelacionados como: Tex, Latex, DVI,dvips,dvipdf,etc,etc,etc. O unico incove-niente e que o programa e proprietario. Mas quem puder adquirir o registro,vale a pena o custo. Para maiores informacoes ver no site da empresa [12].

    5.2.2 O Editor Oxford

    E um editor muito interessante, apesar de que e bem inferior em recursos emrelacao ao Winedt, mas quebra o galho. Tambem possui recursos de destacarcomandos, enumerar as linhas de codigo, etc. E uma alternativa interessantepara o Winedt( o editor Oxford e para o ambiente Windows) pois alem de serfuncional a versao 1.6 e Free.

    5.2.3 Emacs

    Este e o sumo sacerdote dos editores de texto. Seu criador trata-se nada menosdo que o Mestre Richard Stallmann, ex-pesquisador do MIT, fundador da Open-Software Foundation. O editor Emacs e generico, ou seja, nao e apenas paraeditar codigos para o Latex, o leitor pode usa-lo para criar fontes de outraslinguagens. Stallmann utilizou, para criar o Emacs, a linguagem funcional Lisp,uma das linguagens mais poderosas para manipulacao simbolica, uma possvelexplicacao da versatilidade do Editor Emacs. Existem disponveis versoes doEmacs para Windows, Linux(Unix) e MacOS. Nao deve nada aos editores an-teriores. Enjoy it!

    5.3 Rodando o Latex

    Depois de instalar os editores, carregue um deles(pelo Explorer do Windows eatraves de um terminal no Linux), comece criando a estrutura basica ja descritanos captulos anteriores. Aqui segue um conselho: utilize uma estrutura modularpara programar em Latex, veja o modelo que foi utilizado para criar este artigo.

    \documentclass[10pt]{report}\input acento.tex\usepackage[brazil]{babel}

    19

  • \begin{document}\title{ Elementos de Tex(Latex) \footnote{Trabalho fomentado pela RevistaGeek}}\author{Jos\e Antonio da Silva Neto \footnote{[email protected]}}\date{Fevereiro de 2002}\maketitle\tableofcontents\input intro.tex\input hist.tex\input stex.tex\input slatex.tex\input rod.tex\input bib.tex\end{document}

    Varios comandos ja foram explicados, vamos aos restantes:

    o comando \input serve para carregar um modulo no arquivo principal o comando\usepackage[brazil]{babel} e extremamente importante poisso com este comando faremos o Latex ser portado para a lngua por-tuguesa. Nao se esquecadeste comando!

    os comandos \title \author \ date e \maketitle foram utilizadospara montar a capa deste artigo, acreditamos que o leitor ja consegueinterpretar a sintaxe destes comandos. Quanto ao comando \footnote,ele e usado para criar notas de rodape vinculadas. Repare na capa desteartigo.

    todos os \input restantes carregam os varios modulos que compoem esteartigo.

    Aconselhamos tal estrutura, porque a mesma e mais um instrumento deestruturacao do codigo, alem disso, tal modo de edicao permitira ao leitor acompilacao em separado dos modulos, para isso escreva na frente do comando\input o comando %. Isso fara com que o compilador ignore o modulo setado.

    Depois de digitar um pouco de codigo, compile-o. Como fazer isso ? Veja aseguir:

    5.3.1 Compilando o Latex

    Depois de criado um codigo inicial, salve-o com a extensao .tex; isto e funda-mental para ser um formato valido para o compilador. A seguir temos duaspossibilidades( Windows e Linux):

    No Windows va ate o DOS(se o leitor usar o Winedt e so clicar no coneLatex da interface), depois entre no diretorio onde foi salvo o arquivo fontee digite: latex arquivo.tex

    20

  • No Linux abra um terminal e repita o ultimo comandoAo apertar Enter o compilador sera chamado pelo sistema operacional e

    comecara a compilacao , se for detectado qualquer erro de sintaxe o processo einterrompido e o compilador escrevera na tela a descricao do erro, indicando alinha de codigo onde se encontra o erro e terminara com um sinal de interrogacao?. Se for digitada a letra eo sistema chamara um editor que carregara otexto com o codigo que contem o erro na posicao correta. No Linux, tendo oEmacs instalado, este editor e que sera chamado, mas no Windows e chamadoo Notepad..., Sorry!

    Por outro lado, se o leitor quiser que o seu programa seja compilado mesmocom erros, faca o seguinte: se o processo for interrompido da forma anterior,digite apos o sinal ?a letra q. Com isto o sistema entra no estado debatchmodee compila ate o fim, com erro e tudo! Mas e claro que para termosum texto sem aberracoes e necessario debugar tudo.

    Qual e o compilado do Latex ?

    5.3.2 O formato DVI

    Por default o sistema Tex(Latex) cria um arquivo visualizavel com a extensao.dvi(device independent). O qual so e acessvel com um visualizador adequado.Temos aqui novamente duas possibilidades

    Yap e Xdvi

    o Yap e o visualizador de formato .dvi default do MikTex, e so clicar emcima do arquivo .dvi que ele carregara automaticamente o arquivo. Nainterface do Yap o leitor encontrara um bom numero de recursos, comoqualquer aplicativo windows.

    No Linux o visualizador DVI default e o Xdvi, e um pouco limitado poisnao podemos imprimir o compilado atraves dele por exemplo. Mas quebrao galho.

    A partir do formato DVI o que podemos fazer com este compilado ? Noambiente Latex tambem estao disponveis mais dois formatos, e o que veremosa seguir:

    5.4 PostScript e PDF

    O formato PostScript(PS) e muito utilizado no ambiente academico, sendo entaonatural que o Latex fornecarecursos para conversao de DVI para PS. Temosnovamente duas possibilidades:

    No Windows, e mais especialmente usando o WinEdt, e so clicar no conedvi/ps que o arquivo DVI sera convertido automaticamente. Outra possi-bilidade e entrar no DOS, e no diretorio adequado digitar

    21

  • dvips arquivo.dvi que o conversor sera ativado. Para visualizar o ar-quivo PS, utilize o programa Ghostview, que tambem esta disponvel noCD, este visualizador tem mais uma vantagem, pois tambem abre ar-quivos.pdf(ver explicacao a seguir)

    No Linux, abra um terminal e digite dvips arquivo.dvi, o efeito serao mesmo ja descrito. Como no Windows, utilize o programa Ghostviewpara visualizar o arquivo.ps

    Um outro formato disponvel e o PDF, este formato ao contrario do PS emuito mais conhecido na WEB, pois esta se tornando o padrao para documentos.Again, duas possibilidades:

    No Windows e no WinEdt e so usar interface grafica clicando no coneconveniente(dvi/pdf), ou via DOS digitando dvipdfm arquivo.dvi. Paravisualizar o arquivo PDF no Windows use o AcrobatReader, o qual egratuito.

    No Linux abra um terminal e digite o mesmo comando anterior; mas o pa-cote dvipdfm nao e instalado por Default, sendo necessario uma instalacaoem separado. Para visualizar o arquivo PDF estao disponveis o Acrobat-Reader(o qual e chamado atraves do comando acroread arquivo.pdf), eo xpdf, que tambem e chamado atraves do comando xpdfm arquivo.pdf

    5.5 Criando figuras e carregando no codigo fonte

    Vamos terminar este artigo, explicando de maneira sucinta como criar e carregarfiguras no Latex. E possvel utilizando a sintaxe do Latex criar na racafigurasaltamente complexas, mas o codigo necessario e muito grande, uma alterna-tiva muito interessante e utilizar programas com interface do tipo WYSIWYGnas quais desenhamos diretamente o que queremos e depois carregamos para ocodigo fonte Latex, existem varios programas para desenho, vamos apresentarapenas dois. Observacao : o leitor encontrara ambos no CD.

    O freehand da empresa Macromedia e um dos mais populares pacotes paradesenho no ambiente Windows. Utilizando varios recursos pre-definidos,o usuario cria facilmente as figuras desejadas. Depois de criar a figura,salve-a no formato .eps (Encapsulated PostScript). Depois veremos comoinclu-la num programa Latex.

    Para Linux o programa padrao e o Xfig, como no freehand, e simples criarfiguras com ele. Novamente salve as figuras no formato eps.

    Bem, como fazer para incluir as figuras num programa Latex ? Podemosusar os comandos epsfbox{...} ou \includegraphics[...]{arquivo.eps} :

    Para usar o comando epsfbox{...} temos que incluir depois do comando\documentclass[10pt]{report}, o pacote \usepackage{epsfig}.

    22

  • Quanto ao comando\includegraphics[...]{arquivo.eps}, para usar o mesmo, temos queincluir como acima o pacote \usepackage[dvips]{graphicx}

    Como exemplo vamos usar o comando epsfbox{...}

    Gostou do gatinho ?So mais alguns detalhes:

    O comando \epsfbox{...} informa ao compilador apenas para carregarum arquivo.eps, o \center e apenas para centralizar a figura na pagina.

    O comando \includegraphics[...]{arquivo.eps} e um pouco maiselaborado, o leitor pode no tem entre [ ] incluir parametros de orientacaoespacial. Por exemplo, \includegraphics[angle=45]{arquivo.eps}, oque provocara uma rotacao de 45 graus da figura no sentido anti-horario.

    5.6 Consideracoes Finais

    Este artigo foi escrito com o intuito de apresentar o mnimo necessario do sistemaTex(Latex) para que o leitor consiga criar documentos basicos no sistema. Aarea de tipografia computacional e extremamente ampla, e nunca tivemos aarrogancia de querer explorar todas as possibilidades da mesma. Esperamosque este artigo seja util para o leitor da Geek, e aprendendo o material desteartigo, o leitor interessando podera estudar com proveito a literatura descritanas referencias bibliograficas. A limitacao do uso do sistema e definida peloproprio usuario. O ceu e o limite!

    Foi um prazer.Muito obrigado.Jose Antonio da Silva [email protected]

    23

  • Referencias Bibliograficas

    [1] Donald Knuth, The TexBook , Addison Wesley Publishing Company, 1986

    [2] Leslie Lamport, Latex A Document Preparation System, Users Guide andReference Manual, Addison Wesley Publishing Company, 2001

    [3] Donald Knuth, The Metafontbook, Addison Wesley Publishing Company,1986

    [4] Paul W. Abrahams, Tex for the Impatient, Addison Wesley, 1990

    [5] Tobias Oetiker, The Not So Short Introduction to Latex2 , 1999 - Estearquivo esta no CD desta edicao

    [6] David R. Wilkins , Getting Started with Latex, 1995 - Este arquivo estano CD desta edicao

    [7] John D.Hobby, A Users Manual for Metapost, AT&T Bell Laboratories -Este arquivo esta no CD desta edicao

    [8] John D.Hobby, Introduction to Metapost, AT&T Bell Laboratories ,1992 -Este arquivo esta no CD desta edicao

    [9] John D.Hobby, Drawing Graphs with Metapost, AT&T Bell Laboratories -Este arquivo esta no CD desta edicao

    [10] John D.Hobby, A Metafont like System with Postscript Output, AT&T BellLaboratories - Este arquivo esta no CD desta edicao

    [11] http://www.miktex.org

    [12] http://www.winedt.com

    24