Elementos flotantes

Por Paco Aldarias Raya

Impreso: 2 de enero 2009

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacolatex

Con Linux Debian. En Valencia (España)

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General


1 Tablas

1.1 Tabla sin lineas


Tabla 1: Ejemplo de tabla sin lineas
A B
11 12
21 22


En latex sería:

\begin{table}
\begin{center}
\begin{tabular}{lr}
A          & B    \\
11         & 12     \\
21         & 22     \\
\end{tabular}
\end{center}
\caption{Ejemplo de tabla sin lineas}
\label{tablasinlineasin}
\end{table}


1.2 Tabla simple

Tabla sin líneas.


Tabla 2: Ejemplo de tabla
11 12 13
21 22 23
31 32 33


En latex sería:

\begin{table}[hptbH]
\begin{center}
\begin{tabular}{|l ||r ||c |}
\hline \hline
11         & 12    & 13  \\   \hline \hline
21         & 22    & 23 \\    \hline
31         & 32    & 33 \\    \hline
\end{tabular}
\end{center}
\caption{Ejemplo de tabla}

\end{table}

1.3 Tabla de longuitud controlada

Cuando tenemos tablas cuya longuitud se sale de la anchura de la página, debemos usar la orden p que indica la longuitud de la tabla. Un ejemplo sería la tabla 3.


Tabla 3: Ejemplo de tabla controlada
texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto
texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto texto


En latex sería:

\begin{table}[hptbH]
\begin{center}
\begin{tabular}{lp{.5\linewidth}}
\hline
texto texto texto texto texto texto &
texto texto texto texto texto texto
texto texto texto texto texto texto \\
texto texto texto texto texto texto &
texto texto texto texto texto texto
texto texto texto texto texto texto \\
\hline
\end{tabular}
\end{center}
\caption{Ejemplo de tabla controlada}
\label{tablac1}
\end{table}

La expresión:

p{.5\linewidth}
indica la lonquitud de la linea menos 0.5

1.4 Tabla especial

0 16 31
A B
C D

En latex sería:

\begin{tabular}{|c|c|}
        \multicolumn{1}{l}{\hspace{-0.9em}0} &
        \multicolumn{1}{r}{\hspace{-0.9em}16 \hfill 31}  \\
        \hline
        A & B \\
        \hline
        C & D \\
        \hline
\end{tabular}

1.5 Tabla grandes:longtable

Deberemos usar el paquete longtable para tablas grandes y el colortb para los colores.

COMPARATIVA TEMARIO
[gray]0.7 PT PS
   
1. Representación y comunicación de la información. 1. Representación y comunicación de la información.

2. Elementos funcionales de un ordenador digital. Arquitectura. 2. Elementos funcionales de un ordenador digital.

3. Componentes, estructura y funcionamiento de la Unidad Central de Proceso. 3. Componentes, estructura y funcionamiento de la Unidad Central de Proceso.

 

\usepackage{longtable}
\usepackage{colortbl}

\begin{longtable}{| p{0.48\linewidth} | p{0.48\linewidth} |}
%\hline 
\multicolumn{2}{c}{\textbf{COMPARATIVA TEMARIO}} \\ \hline 
\rowcolor[gray]{0.7} \textbf{PT}&\textbf{PS}  \\ \hline 
\endfirsthead
%\hline 
\multicolumn{2}{c}{\textbf{COMPARATIVA TEMARIO (Continuación)}} \\
\rowcolor[gray]{0.7} \textbf{PT}&\textbf{PS} \\ \hline 
\endhead
1. Representación y comunicación de la información.
&  
1. Representación y comunicación de la información.

\\ \hline \hline
2. Elementos funcionales de un ordenador digital.  
Arquitectura.
&  
2. Elementos funcionales de un ordenador digital. 


\\ \hline \hline

3. Componentes, estructura y funcionamiento 
de la Unidad Central de  Proceso.
&  
3. Componentes, estructura y funcionamiento 
de la Unidad Central de  Proceso.
\\ 

\hline

\end{longtable}


2 Imágenes

En LATEX las imágenes son elementos flotantes. Los documentos dvi sólo puede visualizar imágnes eps. Sin embargo, los pdf y html si admiten imagenes de los tipos, .bmp, jpg, gif, png, pdf.

LaTeX, por sí solo, no soporta *.jpg, es posible que esté ocurriendo alguna conversión jpg a eps.

Hay dos opciones:

  1. Convierte por tu cuenta el jpg (o de donde proceda) a eps (con ImageMagick o algún otro programa) y asegúrate de que la calidad del eps es la que te interesa. Luego ya lo puedes insertar con includegraphics

  2. Utiliza pdflatex en lugar de latex. Obtendrás directamente un pdf, no un dvi, y además soporta jpg y png (pero no eps, éstos los tendras que convertir a pdf). Personalmente, yo prefiero esta opción.


2.1 Convertir una imagen jpg a eps: convert

Desde consola como root:
apt-get install imagemagick

Desde consola en la carpeta donde esta la imagen:
convert imagen.jpg imagen.eps

2.2 Ejemplo de imagen jpg

Deberemos generar el documento con pdflatex para obtener un fichero pdf.

Figura 1: Ejemplo de imagen
Image iconos-tux

En latex sería:

...
\usepackage{graphicx}
...
\begin{document}
...
\begin{figure}[hbt]
\begin{center}
\includegraphics[width=0.90\textwidth]{iconos-tux}
\end{center}
\caption{Ejemplo de imagen}
\label{imagen}
\end{figure}

Nota: El 0.9 indica que coga el 90% de la anchura de la línea la imagen.

Podemos poner las imagenes en una carpeta así:

\graphicspath{{/home/angel/archivosps/}}


2.3 Poner varias imágenes juntas con figure

Si necesitas que cada figura tenga su "caption" tendrás que usar subfigure, sino puede que con poner las dos figuras dentro de un entorno figure pueda ser suficiente:

\begin{figure}[p]
 \includegraphics{figura1.png}
 \hbox{\separacion}}
 \includegraphics{figura2.png}
  \caption{etiqueta común}
\end{figure}


2.4 Poner varias imágenes juntas con minipage

\begin{figure}
\begin{minipage}[t]{.45\textwidth}  %0.45 por el ancho del texto
%aquí metes tu figura
\end{minipage}
\hfill %la siguiente figura estará separada en horizontal 0.1 por el ancho del texto (porque 0.45+045=0.90)
\begin{minipage}[t]{.45\textwidth}  %0.45 por el ancho del texto, como la anterior
%aquí metes tu segunda figura
\end{minipage}
\end{figure}

2.5 Poner una imagen y a la derecha un texto

\begin{figure}
  \begin{minipage}[c]{0.5\columnwidth}%
      \centering 
      /* el includegraphics */
  \end{minipage}%
  \hfill{}
  \begin{minipage}[c]{0.5\columnwidth}%
      /* la descripcion */
  \end{minipage}%
\caption{Titulo del ejemplo}
\end{figure}

Figura 2: Titulo del ejemplo
 
      Image iconos-tux  
   
      Texto  


2.6 Poner varias imágenes juntas con picture

Existe otro procedimiento, que permite colocar las figuras como a uno le dé la gana: con un entorno picture. Por ejemplo

\setlength{\unitlengtth}{1cm}\begin{picture}(12,6)
\put(0,0){\includegraphics[width=6cm]{figura1.ps}}
\put(6,0){\includegraphics[width=6cm]{figura2.ps}}
\end{picture}

Incluso así puedes evitar el problema de la línea en blanco, y puedes hacer que una figura se superponga sobre otra (como si fueran fotos en una mesa).


3 Referencias a elementos flotantes

Para refrencias tablas, gráficos, debemos usar lo que contiene label.

Vease la tabla 1 , que esta en la pagina [*], y tambien la figura 1 , que esta en la pagina [*].

En latex sería:

Vease la tabla \ref{tabla} , que esta en la pagina \pageref{tabla},
y tambien la figura \ref{imagen} , que esta en la pagina \pageref{imagen}.


4 Cambiar las fuentes del caption

Colocando lo siguiente en el preámbulo de tu documento:

\usepackage[sf,sl]{caption2}
\renewcommand{\captionfont}{\small}

Con eso se te cambia el tipo a sans serif slanted de tamaño small.


5 Como hacer un logo

Veamos un ejemplo:

\documentclass{article}
\usepackage{graphicx}

\newsavebox{\logo}
\sbox{\logo}{\includegraphics{logo}}

\pagestyle{headings}

\makeatletter
  \def\@oddhead{%
        \usebox{\logo}\hfill%
        Nombre de la empresa%
        \hfill Telefono%
        }
\makeatother

\begin{document}

6 Utilidades

  1. Pasar las tablas excel a latex
    http://www.jam-software.com/freeware/

  2. Hacer tablas en entorno amigable:
    btw,LaTable
    http://www.g32.org/latable/

7 Poner una imagen de fondo

7.1 Poner una imagen de fondo con fancybox

Debemos poner antes del begin document:

\usepackage{fancybox}

Debemos poner después del begin document:

\thisfancyput(2cm,-19cm){\includegraphics[width=15cm]{imagen.jpg}}

7.2 Poner una imagen de fondo con eso-pic

Debemos poner antes del begin document:

\usepackage{eso-pic}
\newcommand\BackgroundPicture{%
   \put(0,0){%
     \parbox[b][\paperheight]{\paperwidth}{%       
       \vfill
          \centering
           \includegraphics[width=\paperwidth,height=\paperheight,%
                           keepaspectratio]{imagen.jpg}%
                        \vfill
             }}}  % The picture is centered on the page background

\AddToShipoutPicture{\BackgroundPicture}

8 Imágenes que no flotan

Esta es una pregunta bastante frecuente entre los novatos. ¿Cómo puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el que quiera LaTeX? La respuesta más obvia consiste en no poner la figura dentro de un entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. Sí, Quiero mi figura AQUI

Esta es una pregunta bastante frecuente entre los novatos. ¿Cómo puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el que quiera LaTeX? La respuesta más obvia consiste en no poner la figura dentro de un entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. Sí, Quiero mi figura AQUI

Esta es una pregunta bastante frecuente entre los novatos. ¿Cómo puedo hacer que una figura salga en el texto exactamente en el lugar que yo quiero, y no en el que quiera LaTeX? La respuesta más obvia consiste en no poner la figura dentro de un entorno figure, ya que es este entorno quien le dice a LaTeX que tiene permiso para ponerla donde prefiera. Sí,

\includegraphics
puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure simplemente indica que su contenido puede "flotar" a otra posición, y que su caption debe llevar la palabra "Figura", pero no que su contenido sea necesariamente un gráfico. Esto suele sorprender a los principiantes.

No obstante, esta solución muchas veces no es satisfactoria, ya que necesitamos que la figura tenga un pie, una numeración y aparezca en la "Lista de figuras" del documento, y todas estas características sólo se logran a través del comando

 \caption
, el cual sólo puede aparecer dentro del entorno figure (u otro flotante). En teoría, LaTeX admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece en el fuente, en lugar de "flotar" hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar.

En muchas ocasiones he leido que el posicionador [h!] es una orden más tajante, pero parece que LaTeX suele desobedecerla a menudo también (o quizás no esté implementada en todas las versiones de LaTeX). El caso es que colocar una figura "aqui, aunque quede fea, bajo mi responsabilidad" no parece fácil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayúscula)

Para quienes prefieren hacer las cosas de forma retorcida, es posible añadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes elegir el que más te guste. Usando capt-of, añadirías el pie de figura escribiendo

 \captionof{figure}{Texto del pie de figura}
, mientras que usando captdef el comando a usar sería
\figcaption{Texto del pie de figura}
. Ambos paquetes son flexibles y permiten añadir captions de tablas o de otros floats que puedas haber definido tú mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el "falso pie" van siempre juntos. puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure simplemente indica que su contenido puede "flotar" a otra posición, y que su caption debe llevar la palabra "Figura", pero no que su contenido sea necesariamente un gráfico. Esto suele sorprender a los principiantes.

No obstante, esta solución muchas veces no es satisfactoria, ya que necesitamos que la figura tenga un pie, una numeración y aparezca en la "Lista de figuras" del documento, y todas estas características sólo se logran a través del comando

 \caption
, el cual sólo puede aparecer dentro del entorno figure (u otro flotante). En teoría, LaTeX admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece en el fuente, en lugar de "flotar" hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar.

En muchas ocasiones he leido que el posicionador [h!] es una orden más tajante, pero parece que LaTeX suele desobedecerla a menudo también (o quizás no esté implementada en todas las versiones de LaTeX). El caso es que colocar una figura "aqui, aunque quede fea, bajo mi responsabilidad" no parece fácil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayúscula)

Para quienes prefieren hacer las cosas de forma retorcida, es posible añadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes elegir el que más te guste. Usando capt-of, añadirías el pie de figura escribiendo

  \captionof{figure}{Texto del pie de figura}
, mientras que usando captdef el comando a usar sería
 \figcaption{Texto del pie de figura}
. Ambos paquetes son flexibles y permiten añadir captions de tablas o de otros floats que puedas haber definido tú mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el "falso pie" van siempre juntos. puede ser usado sin necesidad de estar dentro de un figure, pues el entorno figure simplemente indica que su contenido puede "flotar" a otra posición, y que su caption debe llevar la palabra "Figura", pero no que su contenido sea necesariamente un gráfico. Esto suele sorprender a los principiantes.

No obstante, esta solución muchas veces no es satisfactoria, ya que necesitamos que la figura tenga un pie, una numeración y aparezca en la "Lista de figuras" del documento, y todas estas características sólo se logran a través del comando

 \caption
, el cual sólo puede aparecer dentro del entorno figure (u otro flotante). En teoría, LaTeX admite el posicionador [h] para indicar que la figura aparezca en el punto en que aparece en el fuente, en lugar de "flotar" hacia otro punto. Por desgracia esto no es una orden tajante para LaTeX, sino una sugerencia que suele ignorar.

En muchas ocasiones he leido que el posicionador [h!] es una orden más tajante, pero parece que LaTeX suele desobedecerla a menudo también (o quizás no esté implementada en todas las versiones de LaTeX). El caso es que colocar una figura "aqui, aunque quede fea, bajo mi responsabilidad" no parece fácil. Pero en realidad es tan sencillo como incluir el paquete float y especificar el posicionador [H] (observar que va en mayúscula)

Para quienes prefieren hacer las cosas de forma retorcida, es posible añadir un caption en cualquier lugar del texto, sin estar necesariamente dentro de un entorno figure. Para ello puede usarse el paquete capt-of o el paquete captdef. Ambos proporcionan una funcionalidad muy similar, y en el fondo usan el mismo mecanismo, por lo que puedes elegir el que más te guste. Usando capt-of, añadirías el pie de figura escribiendo

 \captionof{figure}{Texto del pie de figura}
, mientras que usando captdef el comando a usar sería
\figcaption{Texto del pie de figura}
. Ambos paquetes son flexibles y permiten añadir captions de tablas o de otros floats que puedas haber definido tú mismo con ayuda del paquete float. Puede usarse un entorno tabular para asegurarse de que la figura y el "falso pie" van siempre juntos.

Más información en http://ltx.blogspot.com/2003/10/quiero-mi-figura-aqui.html

9 Generár gráficos

Programas:

10 Hacer una linea que ocupe toda la anchura

Definimos la macro:

\newcommand{\linea}{\noindent\rule{\textwidth}{.1pt}\\}

Ahora donde queramos poner una linea pondremos

\linea

Índice de Materias

caption
4
convert
2.1
imagenes
2
imagines juntas
2.3
imagines minipage
2.4
imagines picture
2.6
label
3
logo
5
pageref
3
ref
3
referencias
3
tabla
1.2

Sobre este documento...

Elementos flotantes

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html flota -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation -html_version 4.0,latin1

The translation was initiated by paco on 2009-01-02


paco 2009-01-02