VidaGeek.net

Linux, Open-source, Programação e Produtividade

Archive for the ‘Latex’ Category

Tabelas assimétricas no LaTeX

O post de hoje tem, novamente, a colaboração do nosso leitor Cacio Gazola. Mas desta vez foi ele que escreveu a base. Segue o texto adaptado:

Eu estava precisando fazer uma tabela assimétrica (onde uma célula da tabela ocupa várias colunas na mesma linha, sem afetar as outras linhas) e pesquisando nos blogs e fóruns a fora, nada encontrei. Apenas o conteúdo basico sobre tabela.

Até que encontrei, no wiki do LaTeX, uma dica interessante: o uso do \multicolumn {}{}{} para fazer o trabalho. Achei interessante pois em todos os tutoriais só mostram a aplicação do \multicolumn para a criação de texto em múltiplas colunas.

Dentro do ambiente \begin{table} e do \begin{array} funciona perfeitamente, e deve ter os seguintes argumentos: \multicolumn{número de colunas}{disposição do texto}{texto da célula}. As disposições possíveis são as mesmas disponíveis para tabela e array (l, c, r). Também suporta o caractere | para criar a borda interna da grade da tabela (por exemplo: {c|}). Com isso é possivel mudar a disposição do texto dentro desta célula, independente do indicado em \begin{table} por exemplo.

Segue um exemplo:
\begin{displaymath}
\begin{array}{rrrrrrr}
(1\times 2^3) & + & (1\times 2^2) & + & (0\times 2^1) & + & (0\times 2^0) \\
\Downarrow & &\Downarrow & &\Downarrow & & \Downarrow \\
8_d & + & 4_d & + & 0_d & + & 0_d \\
\hline
\multicolumn{7}{c}{\textcolor{red}{12_d}}
\end{array}
\end{displaymath}

Tabela

Observe que todas as células devem ficar alinhadas a direita, menos a última que vai ocupar toda a linha e será centralizada.

Pois bem, aí me bateu um dúvida: se existe um multicolumn será que existe um multirow? E não é que existe!?

Ainda não cheguei a usar, mas encontrei uma página com as dicas de como fazê-lo:
http://andrewjpage.com/index.php?/archives/43-Multirow-and-multicolumn-spanning-with-latex-tables.html

Assim como o multicolumn, é necessário adicionar o pacote multirow no preâmbulo. Os dois juntos dão liberdade para criar tabelas totalmente assimétricas.

Posts Relacionados:

  • Guia Latex - Parte IV: Estética (imagens e coloração)
  • Guia Latex - Parte III: Estruturando e marcando o texto
  • Guia Latex - Parte I: O que é e por que usar
  • Configuração de caminhos no LaTeX
  • UTF-8 no Latex
  • Guia Latex - Parte II: O Básico
  • Probabilidades no Banco Imobiliário
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 2 Comments
  • Filed under: Dicas, Latex
  • Um de nossos leitores, o Cacio Gazola, perguntou-nos recentemente como o LaTeX sabe onde procurar os pacotes, fontes e configurações. Eu não sabia, mas fui investigar. Descobri, achei interessante e resolvi compartilhar aqui.

    Os recursos extras da maioria das distribuições LaTeX (teTeX, TeX Live, fpTeX e miktex) ficam armazenados segundo um padrão criado pelo TeX Users Group. Esse padrão define uma estrutura de subdiretórios para agrupar cada tipo de recurso. As fontes de uma distribuição, por exemplo, devem ficar num subdiretório fonts/<tipo>/<origem>/<nome>/.

    Mas isso ainda não especifica o caminho completo: falta saber dentro de qual diretório existe essa estrutura. Então como o LaTeX sabe onde fica essa estrutura de diretórios? Em tempo de compilação, define-se um diretório-raiz principal para a distribuição. É nesse diretório que vão ficar os pacotes e fontes padrão da distribuição, bem como os arquivos de configuração.

    Mas você também pode criar um diretório-raiz seu, seguindo essa estrutura e com seus pacotes, e configurar o LaTeX para procurar pacotes nele. Como? Bom, isso depende de qual distribuição LaTeX você está usando e também de como ela foi compilada. Mas você pode descobrir onde ficam os arquivos de configuração principais da sua distribuição com o comando ‘texconfig conf’. A saída dele mostra as variáveis de configuração do seu ambiente LaTeX, inclusive a variável TEXMF, que contém os caminhos para todos os diretórios-raiz de pacotes LaTeX no seu sistema. É essa variável que você deve alterar, incluindo o caminho para seu diretório.

    Com tantos diretórios e subdiretórios, e ainda a possibilidade de pacotes em vários lugares diferentes, como o LaTeX encontra os pacotes? Aí entra um programa chamado kpathsea. Ele cria um índice de todos os pacotes instalados. O LaTeX, na hora de processar um documento, chama esse programa para descobrir onde estão os arquivos de cada pacote referenciado pelo documento (pelos comandos \usepackage). Para saber mais sobre esse programa, use o comando ‘texdoc kpathsea’. Lá o autor do programa também conta a história do surgimento do kpathsea.

    Posts Relacionados:

  • UTF-8 no Latex
  • Guia Latex - Parte I: O que é e por que usar
  • Mercado ou mundo acadêmico?
  • Guia Latex - Parte IV: Estética (imagens e coloração)
  • Guia Latex - Parte II: O Básico
  • Tabelas assimétricas no LaTeX
  • Guia Latex - Parte V: Criando referências
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 0 Comments
  • Filed under: Latex
  • Guia Latex - Parte V: Criando referências

    Após passar pelas outras partes desse tutorial, chegamos ao ponto em que gostaríamos de criar links externos ou internos para nossa aplicação e referências bibliográficas.

    Começamos essa parte pelos links externos, seguimos com links internos e a criação de índice remissivo e terminamos pelas referências bibliográficas, muito comuns e, de fato, estritamente necessárias em trabalhos acadêmicos.

    Links externos

    Para utilizar links externos da mesma forma que usamo-nas em HTML, podemos usar o pacote de referências do LaTeX e a tag simples href - bastante similar a HTML, certo?

    \usepackage{hyperref}
    % …

    \href{url}{texto}

    Alternativamente, quando queremos manter o próprio link na página e apenas fazê-lo ser “clicável”, podemos ainda lançar mão da tag url, que fica no pacote de mesmo nome:

    \usepackage{url}
    % …

    \url{http://vidageek.net}

    Links internos

    Dentro de documentos do tipo article, book ou report (os três tipos de documento padrão apresentados nessa série), não é preciso declarar pacote algum para usar links internos.

    Marcamos uma referência que será chamada mais tarde colocando uma marcação nela, uma etiqueta:

    \label{nomeDaEtiqueta}

    E, no lugar onde precisamos referenciá-las, podemos fazê-lo de duas formas: indicando a página que contém a label ou sua seção.

    %…

    \ref{nomeDaEtiqueta}
    % referencia para a section da label nomeDaEtiqueta

    \pageref{nomeDaEtiqueta}
    % referencia para a página em que a label aparece

    Repare que, para que essas referências funcionem, é preciso rodar pdflatex Duas vezes. Isso porque na primeira vez, o parser do pdflatex passa apenas registrando as Labels e onde colocar as referências, mas na segunda é que é capaz de saber o número da seção e da página, quando aplicável.

    Índice Remissivo

    Para criar o índice remissivo, basta colocarmos marcadores do tipo glossary pelo nosso texto e instalar um programinha que se chama “makeindex”. No linux, ele vem junto com o pacote tetex-extra e, no Mac e suponho que no Windows também, vem junto com o TexLive - se você segue nosso tutorial de início, já deve tê-lo instalado.

    Assim, vamos direto ao ponto de como usá-lo:

    \glossary{ancora no índice remissivo}
    % Marcação da linha para o índice remissivo

    Após terminar seu texto, você vai precisar rodar em sequência:

    pdflatex arquivo.tex
    makeindex arquivo.idx
    pdflatex arquivo.tex

    Novamente explicando o porquê: na primeira vez que usamos o pdflatex, ele agrupa as palavras do glossário (índice remissivo) no arquivo *.idx com as devidas referências. Então, usamos o makeindex para transformar esse *.idx em um adendo LaTeX pro arquivo original e, na segunda passagem do pdflatex, ele finalmente junta as duas informações.

    Então, agora, você já sabe colocar links internos, externos e até mesmo gerar seu índice remissívo/glossário de acordo com as necessidades do seu texto. Espero que essa sessão do Guia Latex tenha ajudado e a próxima que virá tratará da parte matemática do LaTeX, parte bastante elegante e apreciada pelos usuários acadêmicos de Latex.

    Posts Relacionados:

  • Guia Latex - Parte IV: Estética (imagens e coloração)
  • Guia Latex - Parte I: O que é e por que usar
  • Gentoo no Summer of Code
  • Guia Linux - Parte IV: Aplicativos
  • Guia Latex - Parte II: O Básico
  • Séries
  • Gerenciadores de dispositivos no Linux
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 5 Comments
  • Filed under: Dicas, Latex, Tutoriais
  • Continuando o Guia Latex, vamos aprender a colorir e colocar imagens em documentos LaTeX.

    Coloração

    Começaremos pela coloração, já que essa é uma parte muito mais simples e já acrescenta um grande diferencial ao texto.

    Para podermos usar o pacote com as cores, precisamos importá-lo. Usaremos para texto, o seguinte pacote:

    \usepackage[pdftex]{color,graphicx}

    E para as tabelas…
    \usepackage{colortbl}
    \usepackage[table]{xcolor}

    Excelente. Com esses pacotes à disposição, já podemos usar o comando para colorir o texto:

    \textcolor{cor}{texto a ser colorido}, onde a variável cor é uma cor escrita em inglês.

    red blue
    cyan yellow
    orange gray
    teal green

    Colocando imagens

    Muitos tutoriais de LaTeX passam a sensação de que toda imagem tem que estar dentro de um ambiente “figure”. Vamos deixar bem claro, logo de cara, que esse é apenas um environment que favorece colocar imagens, em uso geral - podemos colocar legendas facilmente nele.

    Para usarmos imagens, precisamos dos pacotes que lidam com elas:
    \usepackage{graphicx}

    E, no mais, de apenas um simples comando:

    \includegraphics[opções]{imagem.png}

    As opções são quatro e podem ser usadas conjuntamente, separadas por vírgulas (e não espaços):

    • width: corresponde à largura;
    • height: a altura da sua imagem;
    • scale: proporção do tamanho real da imagem.
    • angle: ângulo de rotação da imagem (sentido anti-horário);

    O formato da imagem pode ser jpg, png, pdf e algumas outras menos comuns. Outros pacotes, como o graphics, têm suporte a outros formatos.

    Ambiente figure

    Como mencionei mais cedo, o modo mais comum de vermos imagens apresentadas em LaTeX é num ambiente figure. Por que isso acontece?

    Esse ambiente procura o melhor lugar para se encaixar numa página, flutuando texto para cima ou para baixo conforme melhor disposição, seguindo, claro, uma heurística própria que infelizmente eu desconheço. Figure também possui uma tag própria de legenda, chamada caption.

    \begin{figure}
    \includegraphics[width=0.5\textwidth]{imagem.jpg}
    \caption{Minha imagem em latex}
    \end{figure}

    Com isso, você já é capaz de tratar figuras em LaTeX e colorir seu texto. Se restou alguma dúvida sobre esse assunto, incentivo perguntas - muito foi deixado de lado nesse breve tutorial. Divirtam-se!

    Posts Relacionados:

  • Guia Linux - Parte IV: Aplicativos
  • Gentoo no Summer of Code
  • Guia Latex - Parte III: Estruturando e marcando o texto
  • Guia Latex - Parte V: Criando referências
  • Guia Latex - Parte II: O Básico
  • Retrospectiva 2008
  • Séries
  • Acompanhe-nos por RSS, por Email ou via Twitter.
    Veja como ter um desconto no Dreamhost: um excelente servidor web.

  • 2 Comments
  • Filed under: Dicas, Latex, Tutoriais