Minicurso Latex
Minicurso Latex
Minicurso Latex
Engenharia Elétrica
2
TeX e LaTeX
• TeX é um programa desenvolvido por Donald Knuth (um compilador) para a formatação de
textos matemáticos.
• LaTeX é um conjunto de macros para o TeX, desenvolvido por Leslie Lamport, para uso da
AMS (American Mathematics Society), e é o seu padrão até hoje.
• É código livre e multiplataforma, podendo ser facilmente estendido com a adição de novos
macros.
• TeX é modular. Por isso, é possível escrever grandes códigos, que serão formatados
automaticamente pelo compilador.
3
Sumário
• Parte 1: O sistema LaTeX e criação de documentos: estudo do preâmbulo, comandos básicos
e ambientes usuais.
Para mais informações sobre alguns tópicos que não serão abordados mas merecem destaque:
1)Pacote para desenhos (geometria, grafos, circuitos e outros):
http://www.texample.net/media/pgf/builds/pgfmanualCVS2012-11-04.pdf
2)Pacote para plotar gráficos de funções:
http://pgfplots.sourceforge.net/pgfplots.pdf
3)Usando LaTeX para reações químicas:
http://latex-community.org/know-how/434-chemistry-molecules
4
Minicurso de LaTeX
Parte 1 - o sistema latex e
a criação de documentos
PET – Engenharia Elétrica
www.pet.ele.ufes.br
[email protected]
5
O sistema LaTeX
Recursos
7
O sistema LaTeX
Compiladores
• Existe outro compilador, mais recente, que fornece uma saída em .pdf, o pdftex. Esse será o
compilador usado. No entanto, não será necessário usá-lo manualmente pelo terminal, pois é
padrão das IDE’s.
• O pdftex, bem como os outros compiladores, também pode lidar com arquivos .ind e .bbl
(índice remissivo e bibliografia).
• Não será usado o pdftex manualmente. Seu uso não é tão simples como os outros. Se
necessário, é melhor compilar a saída em .dvi e converter para .pdf usando dvipdfm.
\documentclass{article}
\usepackage[brazil]{babel}
\title{T\'itulo}
\author{Autor}
\begin{document}
\maketitle
Isso \'e um documento.
\end{document}
9
O sistema LaTeX
Um documento básico
• O código do slide anterior foi separado em
duas partes propositalmente. É possível
\documentclass{article}
interpretar pelos termos utilizados que o
documento em si só é iniciado com \usepackage[brazil]{babel}
\begin{document}. Logo, a parte inicial do
código tem outra função que não é conter \title{T\'itulo}
texto a ser exibido no documento. \author{Autor}
10
Corpo do texto
Caracteres especiais
Alguns caracteres são tratados como especiais
pelo LaTeX. Ao todo, são 10 e tem como
significados:
• “\” - Caractere de escape. Todo comando em
• “$” - Entrada e saída do modo matemático
LaTeX é precedido por esse caractere.
(uma abreviação de um begin e um end).
Também, caso se deseja digitar algum dos
Para texto centralizado é usado “$$”
caracteres especiais no texto, basta digitá-lo
precedido por “\”.
• “%” - Comentários. A partir desse caractere, a
linha se torna um comentário.
• “&”, “^”, “_”, “#” e “~” - Serão explicados no
momento que forem necessários.
• “{ }” - Abre escopo para passagem de
parâmetros.
11
Preâmbulo
Classe do documento
article
• É um preset de diversas configurações sobre a
estrutura do texto, margens, enumeração das
páginas, etc. A classe do documento sempre é book
definida na primeira linha do código por meio
do comando \documentclass[…]{…}.
Para mais informações sobre a criação de novas classes de documento e escrita de pacotes:
http://latex-project.org/guides/clsguide.pdf
12
Preâmbulo
Classe article
\documentclass{article}
\usepackage[brazil]{babel}
• Durante o curso, usaremos a classe article.
\begin{document}
\tableofcontents
• Um documento dessa classe pode ser
Isso \'e um documento.
dividido em seções com o uso de
\section{Se\c{c}\~ao 1}
Isso \'e uma se\c{c}\~ao.
\section{“nome da seção”}
\end{document}
13
Preâmbulo
Uso de pacotes
babel
14
Preâmbulo • inputenc : faz com que o compilador avalie
Pacotes a codificação do arquivo .tex para que
reconheça, entre outros símbolos, os
acentos (caso seja usado com UTF-8).
Algumas das funções dos pacotes são:
• geometry : permite comandos que alteram
• babel : adiciona padrões em um idioma a geometria da página do documento.
diferente do inglês para o documento. Por
exemplo, escreve “Teorema” ao invés de
“Theorem”. É necessário quando para o \documentclass[a4paper, 12pt]{article}
uso da sintaxe com acento.
\usepackage{amsmath, amssymb}
\usepackage[brazil]{babel}
• amsmath, amssymb, amsthm, amsfonts:
\usepackage[utf8]{inputenc}
conjunto de funções matemáticas da AMS.
Fornece ambientes de equação, teoremas
e símbolos matemáticos.
15
Corpo do texto \usepackage{geometry}
Formatando a página .
.
.
\geometry{
paperwidth=210mm,
• Quando se define a documentclass,
paperheight=297mm,
automaticamente a página já recebe suas
textwidth=150mm,
dimensões. No entanto, as vezes esse padrão
textheight=210mm,
não atende à demanda.
top=30mm,
bottom=30mm,
• Para alterar as dimensões do texto nas left=30mm,
páginas de modo simplificado, usa-se o right=30mm
pacote geometry. }
Corpo do texto \begin{verbatim}
\#include <iostream>
Escrita do documento \end{verbatim}
\documentclass[twocolumn]{article}
17
• Para espaçamentos verticais,
Corpo do texto \vspace{“comprimento”}
Comandos de formatação
• Analogamente aos espaços, para quebras de
• Os compiladores LaTeX reconhecem um linha, LaTeX não reconhece uma quebra de
espaço ou n espaços apenas como um linha no código como uma nova linha no
caractere espaço. Por isso, para espaçamentos documento. Caso exista uma linha (ou mais)
horizontais, usa-se: em branco entre duas linhas de código, então
será acionada uma nova linha ao documento.
\hspace{“comprimento”}
18
Corpo do texto • Já os comandos para tipo da letra podem ser
escritos num escopo ou apenas para um trecho
Comandos de formatação de texto.
\bf \textbf{texto}
• O tamanho da fonte, bem como a fonte em si \it ou \textit{texto}
podem ser alteradas independentemente da \tt \texttt{texto}
classe de documento escolhida.
19
Corpo do texto \newcommand{\implica}{\Longrightarrow}
Definindo um comando \newcommand{\limite}[1]{\lim_{x \rightarrow #1}}
\newcommand{nome}[arg]{def}
20
Corpo do texto
Ambientes
• LaTeX é altamente baseado no conceito de
ambientes, que é semelhante ao de escopo. \begin{ambiente}
21
• flushright: Alinha o texto à direita.
Os ambientes desse slide foram escritos propositalmente sem os comandos \begin e \end. Alguns
ambiente possuem essa característica para economia de código.
22
• enumerate: Gera um ambiente onde, por
Corpo do texto padrão, os itens criados são enumerados.
23
Corpo do texto \newenvironment{meuambiente}{ 1, 2, 3,
4... \newline }{ \newline fim! }
Novo ambiente
\begin{meuambiente}
Texto no meu ambiente!
• O comando para se definir um novo ambiente é
\end{meuambiente}
\newenvironment{…}[…]{…}{…} . O primeiro
argumento a ser passado é o nome do
ambiente. Após, o numero de parâmetros que
recebe e por fim, os comandos a serem
executados no início e no fim do ambiente.
24
Minicurso de LaTeX
Parte 2 – modo matemático
e formulação de equações
PET – Engenharia Elétrica
www.peteletricaufes.com
[email protected]
25
Modo matemático \documentclass{article}
\usepackage[brazil]{babel}
\usepackage{amsmath,amssymb,amsfonts}
Modo livre \begin{documents}
Segundo o teorema de Fermat, $\forall x, y, z
• Podemos usar $ … $ para digitar textos no \in \mathbb{N}$, n\~ao existe $n \in
modo matemático. \mathbb{N}$, $n \geq 2$, tal que
\frac{num}{denom}
26
\documentclass{article}
27
Modo matemático Sejam $\alpha$, $\beta$ e $\gamma$
elementos de um espac{c}o $\Omega$.
Símbolos matemáticos
• Caracteres que não estão nos teclados são
representados por comandos especiais em
LaTeX (letras gregas, símbolos de somatórios,
produtórios, integrais, etc.). Uma matriz real quadrada $M \in
\mathcal{M}_n$ tem os elementos no
• As letras gregas são, em geral, representadas conjunto $\mathbb{R}$
pelo seu nome em inglês por extenso com a
primeira letra maiúscula ou minúscula conforme
a letra a ser representada.
$$ \vec{x}_n = \underbrace{\vec{y}_1 +
• A notação vetorial pode ser introduzida como um \vec{z}_1 + \cdots + \vec{y}_n +
“acento” no modo matemático por meio de \vec{z}_n}_{2n \, termos} $$
\vec{…}. Quando o símbolo que representa o
vetor é muito extenso, usa-se \overrightarrow{…}
$\overline{…}$ $\underbrace{…}$
29
$$ \frac{d}{dx} f(x) = \lim_{h \rightarrow
Modo matemático 0}f(x) = \frac{f(x + h) - f(x)}{h}$$
Cálculo
31
Modo matemático
Delimitadores
• Quando se deseja evidenciar alguma operação
ou uma série de operações, são usados $$ x = \left[ \left( \frac{p}{q} \right) \int_a^b
diferentes delimitadores. Os parênteses “()” e f(t) dt \right] $$
colchetes “[]” são usados normalmente e as
chaves, por serem reservadas, são usadas por
meio de “\{ \}”.
32
Modo matemático
Ambientes de equação \begin{eqnarray}
|z|^2 & = & x^2 + y^2 \nonumber \\
& = & (x + iy)(x - iy) \nonumber \\
• O ambiente equation pode ser usado para
& = & z \bar{z}
apenas uma equação. Para duas ou mais, podem
\end{eqnarray}
ser usados vários equation, mas recomenda-se o
ambiente eqnarray.
33
Modo matemático
Ambientes de teorema
\newtheorem{teo}{Teorema}[section]
• O LaTeX possui ambientes que se enumeram …
automaticamente segundo capítulo ou seção para \begin{teo}
que sejam incluídos enunciados de teoremas, Este \’e o teorema 1 da seção 1.
corolários, proposições, etc. São definidos pelo \end{teo}
comando \newtheorem{…}{…}[…] no preâmbulo.
\newtheorem{apelido}{nome}[enumeração]
34
Modo matemático Posição do Texto em relação a Coluna
ou Célula
C, l, r, b, t, p e h • C (Center - Centro) : Texto centralizado
35
Modo matemático
C, l, r, b, t, p e h
Posição do Ambiente em relação ao Texto
• T (Top - Topo) : Linha do topo do ambiente se mantêm na
mesma altura da linha do texto anterior e posterior x-
\begin{array}[t]{c}
• B (Bottom – Base) : A linha debaixo do array se mantém na a\\
mesma altura da linha do texto anterior e posterior b
\end{array}
-
• P (Page – Página) : O ambiente (imagem, tabela ou matriz) é
\begin{array}[b]{c}
gerado numa página vazia
x\\
y
• H (Here – Aqui) : Permite que o ambiente (imagem, tabela ou \end{array}
matriz) seja colocado junto do texto onde foi escrito
36
Modo matemático $$
Escrita de matrizes W=
\left[ \begin{array}{cc}
• A escrita de matrizes pode ser feita com o uso de y_1(t) & y_2(t) \\
diversos ambientes, porém o que mais garante y_1'(t) & y_2'(t)
liberdade para a formatação é o ambiente array. \end{array} \right]
Deve ser usado apenas dentro do modo $$
matemático.
37
Modo matemático
Sistemas de equações \left\{ \begin{array}{ccc}
a_{11}x_1 + a_{12}x_2 + \cdots + a_{1n} & = & b_1 \\
a_{21}x_1 + a_{22}x_2 + \cdots + a_{2n} & = & b_2 \\
• Para a escrita de sistemas de equações, é usado \vdots & & \vdots \\
o mesmo ambiente array, com uma chave como a_{m1}x_1 + a_{m2}x_2 + \cdots + a_{mn} & = & b_m \\
delimitador esquerdo e nenhum delimitador no \end{array} \right.
lado direito. Por conveniência, também pode ser
alterado o alinhamento das entradas substituindo
o c por r ou l.
$\left\{$ $\right.$
38
\begin{table}[htp]
www.pet.ele.ufes.br
[email protected]
40
Inclusão de figuras \begin{figure}[htp]
\centering
Figuras \includegraphics[width=10cm]{exemplo.eps}
\caption{Figura de exemplo}
\label{fig-exemplo}
• A inclusão de figuras no LaTeX é facilitada. É \end{figure}
necessário o uso do pacote graphics e do
ambiente figure.
\begin{figure}
\includegraphics{…}
\usepackage{graphics} \end{figure}
41
\begin{figure}[htp]
\centering
42
Glossário \makeindex
Índice remissivo \begin{document}
Podemos definir uma \index{coisa} coisa como...
\printindex
• Podemos criar um índice remissivo usando o \end{document}
pacote makeidx.
43
Glossário
Gerando o índice
teste.idx
• Para compilarmos o índice, primeiro compilamos
o documento com o compilador pdfLatex.
+ makeIndex
• O compilador irá gerar como saída um arquivo
.idx.
teste.ind
• Agora, compilamos o documento com o
compilador makeIndex. O arquivo .idx será
processado, gerando um arquivo .ind.
44
BibTeX Para que um item do seu arquivo \texttt{.bib}
aparec{c}a, ele deve ser citado \cite{goossens93,
Bibliografia greenwade93}.
\bibliographystyle{plain}
\bibliography{testebib}
• A bibiografia pode ser adcionada em um arquivo
LaTeX de duas maneiras principais: internamente
e externamente.
\bibliographystyle{estilo}
\bibliography{arquivo}
45
BibTeX @book{goossens93,
author = "Michel Goossens and Frank Mittelbach
Bibliografia and Alexander Samarin",
title = "The LaTeX Companion",
year = "1993",
• A construção do arquivo .bib é bastante simples. publisher = "Addison-Wesley",
Criamos as referências de acordo com suas address = "Reading, Massachusetts"
classes (artigo, livro, relatório, dissertação, tese, }
etc.) e especificamos suas características (título, @article{greenwade93,
author = "George D. Greenwade",
autor, ano de publicação, etc.).
title = "The {C}omprehensive {T}ex {A}rchive
{N}etwork ({CTAN})",
@article author year = "1993",
journal = "TUGBoat",
@manual title volume = "14",
@book year number = "3",
pages = "342--351"
@conference edition }
@masterthesis month
@phdthesis
46
BibTeX
Bibliografia @article{Xarticle,
@book{Xbook,
author = "",
author = "", title = "",
title = "", publisher = "",
• Para cada classe de referência, existem campos
journal = "", %volume = "",
obrigatórios e opcionais. Para as duas classes
%volume = "", %number = "",
mais comuns, article e book, se encontram ao
%number = "", %series = "",
lado. Os opcionais estão como comentários nos
%pages = "", %address = "",
códigos.
year = "XXXX", %edition = "",
%month = "", year = "XXXX",
• Outro estilo muito usado de bibliografia é o alpha. %note = "", %month = "",
} %note = "",
• As referências implementadas pelo LaTeX não }
seguem estritamente as normas da ABNT. O
pacote abnTeX2 contém sua própria sintaxe de
bibliografia.
47
BibTeX
Gerando bibliografia
• Tendo escrito o arquivo .bib e adicionado os teste.bib
comandos ao final do documento e as citações,
compilamos o documento com pdfLatex.
+ BibTeX
• Em seguida, compilamos o documento com o
compilador BibTeX. O arquivo .bib será
processado e irá gerar um arquivo .bbl. teste.bbl
• Elementos pós-textuais:
• Parte interna:
Referências (obrigatório)
Folha de rosto (obrigatório)
Glossário (opcional)
Dados de catalogação-na-publicação (opcional)
11
Apêndice (opcional)
Errata (opcional)
Anexo (opcional)
Índice (opcional)
49
abnTeX2 \titulo{Modelo Canônico de\\ Trabalho Acadêmico
A classe com \abnTeX}
\autor{Equipe \abnTeX}
\local{Brasil}
• A classe abnTeX2 implementa todas as regras da \data{2012}
ABNT e é atualizada anualmente por um grupo \orientador{Lauro César Araujo}
de programadores voluntários. É código-aberto e \coorientador{Equipe \abnTeX}
está disponível na internet. \instituicao{Universidade do Brasil -- UBr}
\tipotrabalho{Tese}
\preambulo{Modelo canônico de trabalho
• A classe já vem inclusa na biblioteca padrão das monogáfico acadêmico em conformidade com as
distribuições de LaTeX. normas ABNT apresentado à comunidade de
usuários \LaTeX.}
…
• Toda a funcionalidade da classe está descrita na \imprimircapa
documentação e pode ser facilmente explorada \imprimirfolhaderosto
nos modelos.
\textual
50