Construção de um relatório académico em LaTeX – Parte II
Por Ricardo Fernandes para o PPLWARE
Insira imagens e tabelas nos relatórios
Depois de termos apresentado na parte I os passos base para a construção de um relatório académico, hoje vamos ensinar como inserir imagens.
Depois da construção de um relatório académico em Latex na Parte I deste artigo, encontramos num tipo de documento um pouco limitado, pois este contém apenas texto, mas como todos sabem um relatório deve/pode conter mais do que simples texto.
São necessários diagramas, imagens e outros elementos gráficos, para que um relatório possa contribuir para a passagem de conhecimento entre indivíduos de forma eficiente. Muitos de nós utilizam ferramentas de produção de composição gráfica que fazem um excelente trabalho, mas ficamos um pouco desiludidos ao ver que, quando as incluímos no relatório, estas perdem qualidade e por vezes até ficam deformadas. Quem busca outro nível de excelência no que diz respeito à apresentação dos seus trabalhos, pergunta-se se existe então uma forma de melhorar estes aspectos e consequentemente apresentar melhores trabalhos, mais profissionais e com custo menor.
O sistema LaTeX, que prima pela sua excelente aparência, está repleto de pacotes e ferramentas que tornam possível a compatibilidade com os mais diversos formatos e extensões. Como tal, o LaTeX é uma tecnologia aberta ao mundo e que permite que a utilizemos conjuntamente com outras aplicações. A maior parte das aplicações de terceiros podem exportar imagens em formatos PNG e JPEG. Estes formatos tem suporte em LaTeX mas por vezes podem dar algumas dores de cabeça. O ideal, em LaTeX, é usar o formato EPS (Encapsulated PostScript), e este é o formato aceite pelo latex por defeito. Trata-se de um formato vectorial que permite o rasterize (transformar em pixels para apresentar ou imprimir) e permite também a inclusão de imagens. Este formato permite obter imagens com qualidade muito superior às imagens com bitmap, quando não se tratam de imagens fotográficas. Isto quer dizer que, para diagramas, texto e qualquer outro tipo de gráfico, deve ser usado em LaTeX preferencialmente este formato. Se possível deve ser usado este formato para todos os gráficos, pois torna-se assim mais fácil a inclusão de gráficos no documento. Mas vamos passar aos aspectos práticos:
Inclusão de uma imagem em LaTeX
Para a inclusão de imagens em LaTeX necessitamos de adicionar o pacote graphicx utilizando as seguintes marcas:
%\usepackage{graphicx} \begin{figure} \includegraphics[scale=1]{imagem} \end{figure} |
Neste caso trata-se de inserção de uma imagem chamada "imagem", e com o seu tamanho original (escala 1). Trata-se do modo mais simples de inserção, visto o formato EPS ser o formato de eleição do LaTeX.
Compilação: PdfLaTeX vs. Latex
Quando produzimos um documento em LaTeX, por vezes o modo de compilação que devemos seguir pode ser diferente. Isto deve-se ao facto de existirem extensões e mecanismos externos que necessitam ser exportados para um determinado formato, e depois convertidos para outros. Em que medida é relevante falar-se disto? Por vezes recebemos um erro de compilação a dizer que o compilador não encontrou informação sobre os limites da imagem, e por isso, não sabe onde "cortar" ( LaTeX Error: Cannot determine size of graphic in imagem.jpg (no BoundingBox)). Isto acontece apenas quando usamos o método Latex , pois este só permite utilizar gráficos EPS, pelo que teremos que ser nós a especificar onde cortar para que o erro desapareça. Isto pode ser feito com duas formas:
- Utilizar o programa ebb.exe (ebb imagem.xx) na consola de modo a ser criado um ficheiro .bb com a informação sobre a "Boundary box". Depois utilizar esses valores como parâmetros na inclusão da respectiva imagem.
- Dar como parâmetro as resolução da imagem.
O segundo método é menos trabalhoso, mas resulta da mesma forma. Utilizaremos então o seguinte (apenas para quando não estamos a compilar com pdflatex):
%\usepackage{graphicx} %para uma imagem com resolução 350x480 \begin{figure}[h!] % "h!" ou "H" para que a imagem fique onde especificamos %xx representa PNG, JPEG e PDF \includegraphics[scale=1,bb = 0 0 350 480]{imagem.xx} \end{figure} |
Por outro lado quando utilizamos pdflatex também não podemos introduzir ficheiros EPS, pelo que teremos primeiro de os converter para PDF. Para mais informação consultar este link .
Colocar imagem ao centro, esquerda e direita
Para colocar a imagem nestas 3 posições diferentes, teremos de colocar imediatamente antes da marca \includegraphics as seguintes marcar:
- Esquerda : \flushleft
- Centro: \center
- Direita: \flushright
Posição da imagem na página
Em LaTeX podemos ditar a posição de um objecto na página de acordo com as nossas preferências. Por vezes, por inexistência de espaço numa dada página, objectos tais como tabelas e imagens, são movidos para a próxima página sem qualquer indicação da nossa parte. Quando queremos que um determinado objecto se mantenha numa página, sempre que possível, devido à sua informação relevante no contexto da página, normalmente tentamos fazê-lo manualmente. Ora, no LaTeX existe forma de o fazer automaticamente, especificando preferências. Desta forma podemos especificar algumas regras para a colocação de figuras no documento. As nossas preferências serão satisfeitas dependendo do espaço livre na página. Isto tenta minimizar o facto de por vezes termos espaços em branco numa dada página por mau aproveitamento do espaço.Dado que os objectos ( imagens e tabelas) contêm referências e a descrição, torna-se viável utilizá-los por vezes um pouco deslocadas do texto que as refere. Isto fornece um carácter flutuante ao objecto. É precisamente isso que é dado, um pouco de liberdade (mas utilizando as nossas preferências) para que a imagem flutue de posição. Este pacote é usado da seguinte forma:
\begin{figure}[preferência(s) de posição] %conteúdo ... \end{figure} |
em que a preferência de posição pode ser uma das seguintes, ou um conjunto das mesmas:
- h - posicionar aproximadamente no mesmo local onde o objecto foi especificado no código fonte.
- t - posicionar no topo da página.
- b - posicionar no fundo da página.
- p - pôr numa página especial apenas para objectos flutuantes.
- ! - sobrepõe os paramentos incumbidos de determinar uma "boa" posição para o objectos.
- H - coloca o objecto precisamente no local especificado no código fonte. Pode ser usado h! em vez de H. Esta requer o pacote float.
Para utilizar a colocação de objectos de forma automática e "inteligente" usar htpb onde as ordem das mesmas não é relevante.
Para informações adicionais sobre manipulação de imagens ver aqui e aqui .
Inserir tabelas
Inserir tabelas é outra das necessidades que temos ao produzir um relatório. Existem vários pacotes para o efeito e diversas ferramentas também. A inserção de tabelas pelo método manual pode-se tornar bastante entediante, e até fazer-nos perder bastante tempo à procura da resolução de erros de compilação, ou no design da própria tabela. Por isso vou aqui apresentar a forma mais simples de fazer uma tabela e iremos passar rapidamente para as ferramentas WYSIWYG que nos irão ajudar bastante. Estas ferramentas permitem-nos ter uma ideia de como será a tabela e depois geram o respectivo código LaTeX. Ora uma forma muito simples de fazer uma tabela é a seguinte:
\begin{table} \center \begin{tabular}{|c|c|} \hline (1,1) & (1,2) \\ \hline (2,1) & (2,2) \\ \hline \end{tabular} \caption{Tabela muito simples} \end{table}<strong> </strong> |
Isto produz o seguinte resultado:
Como podem, ver apenas para produzir esta simples tabela é necesário bastante código, por isso torna-se necessário utilizar ferramentas que possam agilizar este processo. Tais ferramentas não são muito divulgadas, infelizmente, pois produzem resultados muito bons. Temos por exemplo as seguintes e que são as que eu uso:
O kile e o Texmaker contêm construtores de tabelas utilizando a filosofia WYSIWYG.
Latable
Tablas
Este software permite a construção de tabelas complexas, permitindo agregação de células e aplicação de cores de texto e fundo. Espero ter ajudado com estas dicas. Penso que com isto será muito mais fácil alguém iniciar-se ao LaTeX, ficar com uma boa impressão e, assim, continuar a produzir os seus documentos nesta tecnologia.
Este artigo tem mais de um ano
Para fazer figuras com várias subimagens:
\begin{figure}
\centering
\subfloat[]{\includegraphics[width=0.45\textwidth]{images/1.jpg}\label{fig:1}}
\hfil
\subfloat[]{\includegraphics[width=0.45\textwidth]{images/2.jpg}\label{fig:2}}
\hfil
\subfloat[]{\includegraphics[width=0.45\textwidth]{images/3.jpg}\label{fig:3}}
\hfill
\subfloat[]{\includegraphics[width=0.45\textwidth]{images/4.jpg}\label{fig:4}}
\caption{blablabla}\label{fig:123456}
\end{figure}
Para continuar a imagem na página a seguir, e manter a caption:
\begin{figure}
\centering
\ContinuedFloat
\subfloat[]{\includegraphics[width=0.45\textwidth]{images/5.jpg}\label{fig:5}}
\hfill
subfloat[]{\includegraphics[width=0.45\textwidth]{images/6.jpg}\label{fig:6}}
\caption{blablabla}\label{fig:123456}
\end{figure}
Cara, tenho 6 imagem em um ambiente figura. Segui sua dica, mas não está dando certo. Estou usando o ABNTex2 no Share Latex. O \ContinuedFloat prescisa de algum pacote?
Não faço ideia do que seja o ABNTex2. De qualquer modo, o \ContinuedFloat precisa do pacote subfig, mas calculo que já estejas a usar porque o \subfloat também pertence a esse pacote.
Realmente, isto requer mesmo tutoriais. Mas quem quiser usar um editor, o Lyx é recomendado ou há melhores? Já agora, o LateX3 já está maduro o suficiente?
A extenção das imagens (JPG, PNG, …) pode ser omitida que o compilador vai procurar o ficheiro com a extenção correcta, o que facilita a vida a quem tem de fazer documentos que precisam de ser compilados tanto em LaTeX (.eps) como em PDFLatex (.jpg, .pdf, .png, …), segue um exemplo:
\usepackage{graphicx}
(…)
\begin{figure}
\begin{center}
\includegraphics[width=0.5\columnwidth]{imagem1}
\end{center}
\caption{Exemplo de uma imagem sem inserir a extenção da mesma}
\label{fig:imagem1}
\end{figure}
O PDFLAtex vai buscar o ficheiro imagem1.jpg (ou outra extenção suportada), o LaTex vai procurar imagem1.eps
Reparem tb que defini a largura da imagem em função da largura da coluna (50% neste caso).
Sempre que posso evito imagens em .jpg ou .png, prefiro imagens em PDF desenhadas numa ferramente que as grave de forma vectorial. Normalmente uso o OpenOffice Draw e converto para PDF. Como o PDF resultante fica sempre numa folha A4 com o desenho sozinho é necessário “recortar” a folha para tirar o espaço em branco que está a mais – o que faço com o pdfcrop.
O problema da instalação dos “templates” é um problema sério em latex.
Alguém consegue instalar o revtex4.1?
Cumprimentos
Recorde-se que o uso do Português está (bastante) facilitado se, no preâmbulo do documento, se considerarem os comandos:
\usepackage[portuguese]{babel} % uso da língua portuguesa
\usepackage[latin1]{inputenc} % escrita dos caracteres portugueses
\usepackage[T1]{fontenc} % hifenização (mais) correcta
I Love Latex.
Diferenças para o word? Todas.
Experimentem fazer no word coisas como:
http://yfrog.com/f/9glatex5j/
Para trabalhos básicos, o word, chega. Para coisas lindas, profissionais e com qualidade ímpar, Latex não tem pai.
boas..
tal como outros colegas também eu tenha alguma relutância em começar a usar latex, embora aceite que fica um trabalho mais profissional.
era bom era existir uma ferramentas destas para formulas matemáticas etc, sendo que colocava-mos a info tipo office e ele apresentava neste formato mais limpo.
cmps
Para além de existirem macros para excel, existe ainda este bonito site:
http://www.codecogs.com/latex/eqneditor.php
Ajuda qualquer principiante a fazer as equações. Ao fim de 4 ou 5 equações, já nem precisas do site, começas a memorizar e a ser bastante intuitivo.
Acho o Latex um pouco complicado. :s
Conhecem o txt2tags?
http://txt2tags.sourceforge.net/pt/
O txt2tags é mais fácil de intuitivo de utilizar, do que o Latex.
E pode ser convertido para vários formatos (inclusive o Latex)
HTML
XHTML
SGML
LaTeX
Lout
Man page
Wikipedia (MediaWiki)
Google Code Wiki
DokuWiki
MoinMoin
MagicPoint
PageMaker
Vejam a diferença:
txt2tags:
= My Title =
A __paragraph__ with **bold** and //italic//.
Today is %%date(%c).
Here is a nice pic: [img/t2tpowered.png].
| John | 33 | Male |
| Mary | 19 | Female |
Latex:
\section*{My Title}
A \underline{paragraph} with \textbf{bold} and \textit{italic}.
Today is Mon Sep 6 20:01:16 2010.
Here is a nice pic: \includegraphics{img/t2tpowered.png}.
\begin{center}\begin{tabular}{|l|c|r|}
\hline John & 33 & Male \\
\hline Mary & 19 & Female \\
\hline \end{tabular}\end{center}
Versão online do txt2tags.
http://txt2tags.sourceforge.net/pt/online.php
Cumprimentos
Correcção:
O txt2tags é mais fácil de intuitivo de utilizar, do que o Latex.
O txt2tags é mais fácil e intuitivo de utilizar, do que o Latex.
Criei uma imagem no Latex com as instruções \begin{picture}…\end{picture} e tentei inúmeras vezes colocar um texto ao lado da imagem e alinhado com esta. Poderiam explicar-me como o fazer?
Obrigado
Excelentes tutoriais. Muito Obrigado 5*
Boas! Estou a iniciar-me no LateX mas estou com um problema:
Inseri uma foto mas no pdf aparece a preto e branco, mas a foto é a cores.. Já andei na net a ver se arranjava solucao e ainda nao encontrei nenhuma. Se alguem me conseguir ajudar, agradeço desde já.
\usepackage{graphicx}
\usepackage{color}
…
\begin{figure}[h!]
\caption{\textit{Exemplo}}
\center
\includegraphics[ scale=0.5,bb = 10 0 169 180]{photo.jpg}
\end{figure}
Onde posso baixar este software chamado Tablas? O link disponibilizado está corrompido.