Buscar en este blog

miércoles, 27 de febrero de 2008

Objetos Flotantes 1: Tablas en LaTeX

Un objeto Flotante permite que principalmente una tabla o una figura se vea mejor en el documento, dándole un espacio necesario para su ubicación.

Existen dos entornos que generan espacios en el documento, table y figure.
Es preferible usar el entorno table para colocar dentro una tabla (colocar dentro el entorno tabular) y el entorno figure para colocar figuras. La explicación aparece cuando empezamos a usar los comandos \caption.


El entorno table:
Este entorno tiene la siguiente estructura:
\begin{table}[pos]

Aquí puede ir el entorno \tabular (ver más abajo)
\end{table}
El argumento pos puede ser h (here), t (top), b(bottom), p (page of floats; el objeto quedará en una página solamente de tablas o figuras) que indica dónde será puesto el objeto flotante. Esto es sólo una sugerencia para LaTeX, ya que LaTeX lo posicionará donde mejor quede visualmente (de acuerdo a su criterio).


Lo Elemental Para Crear Una Tabla:

Básicamente, para crear una tabla se necesita usar el entorno
tabular. Se debe declarar el número de columnas que va a tener la tabla.

La estructura es la siguiente:

\begin{tabular}{xxx}
col1 fila1 & col2 fila1 & ... \
\
col1 fila2 & col2 fila2 & ... \\
col1 fila3 & col2 fila3 & ... \\
\end{tabular}

Cada x representa una variable que puede ser: l (columna con contenido ajustado a la izquierda), c (columna con contenido centrado), r (columna con contenido ajustado a la derecha), p{ancho} (columna párrafo con el texto verticalmente alineado hacia la parte superior). Al poner cada una de estas letras o variables se generará una nueva columna.
La variable x también puede ser un símbolo '' o '', que generará una división simple o doble entre columnas, respectivamente.

Para cambiar de una columna a otra se usa el símbolo '&' y para cambiar de fila se usa el comando '\\'. Otro comando útil es el \hline, que genera una línea horizontal completa entre filas, y el '\cline{x-y}', que genera una línea horizontal solamente entre la columna 'x' y la columna 'y'.


Ejemplo 1:
\begin{tabular}{ccc}
Nombre & Apellido & Nota \\
\hline
Jorge & López & 5 \\
Pedro & Muñoz & 6 \\
\end{tabular}

Ejemplo 2:

\begin{tabular}{lccrr}
\hline
Lugar & Manos & Pies & Dedos & Precio
\\
\h
line 1 & 4 & 1 & 3 &13000\\
\cline{2-4} 2 & 5 & 2 & 4 & 21000\\
3 & 0 & 1 & 12 & 500\\
\cline{1-2} \cline{4-4} 4 & 1 & 2 &1 & 7600\\
\hline \hline
\end{tabular}




Anteriormente se nombró la varible p{ancho}. El argumento 'ancho' corresponde al ancho que tendrá esa columna. Se definirá con unidades de medida que a continuación se detallan:

- pt: un punto equivale a 1/72 pulgadas.
- mm: milímetro.
- cm: centímetro.
- in: pulgada.
- ex: esta unidad equivale a la altura de una x en el fondo actualmente usado.
- em: esta unidad corresponde a una M (mayúscula) en el fondo actualmente usado.

Ejemplo 3:
\begin{tabular}{p{4cm}p{3cm}}
Este espacio t
iene un ancho de cuatro centímetros. & Y este espacio tiene un ancho de tres centímetros.
\end{tabular}

El comando \multicolumn
Este comando tiene la forma \multicolumn{número de columnas}{posición}{texto}. Se posicionará siempre al comenzar una fila o inmediatamente después de un '&'.

Para empezar a usar este comando (bastante útil), se debe primero usar el entorno tabular definiendo, como ya se sabe, el número total de columnas de la tabla. Luego, si se desea, dentro de alguna columna hacer una división de dos o más columnas es necesario usar el comando \multicolumn. Es importante que el número de columnas sea menor o igual al total de columnas de la tabla y la posición puede ser l,c,r o p{}. Si se usa p{} al principio del entorno tabular y además en el comando \multicolumn es importante que no haya contradicciones entre las dimensiones escogidas para cada caso.

Ejemplo 4:
\begin{tabular}{cccc}
\multicolumn{2}{c}{Colores} & \multicolumn{2}{c}{Tamaños}\\
\hline
rojo & verde & grande & pequeño\\
amarillo & azul & gigante & diminuto
\end{tabular}



Obs: Si se desea una línea divisoria entre la palabra Colores y Tamaño, entomces basta con cambiar
\multicolumn{2}{c}{Colores} por \multicolumn{2}{c}{Colores}, por ejemplo.

\multirow package
Este comando sirve para que, a partir de una fila, se generen otras filas adicionales en columnas distintas. Para esto es necesario utilizar \usepackage{multirow} en el preámbulo del documento.

Ahora, para generar múltiples filas se usa el comando \multirow, que tiene la forma \multirow{número de filas}{ancho}{texto}. Como se puede apreciar, es similar al comando \multicolumn y sólo difieren en el argumento 'ancho'. Aquí hay dos opciones, colocar una medida fija (dependiendo del espacio que se desee ocupar) o usar el argumento '*' (asterisco), que permite ajustarse de manera natural al contenido.

Este comando se usa al principio de una fila o luego de un '&'. Bajo este comando simplemente se deben dejar celdas en blanco hasta que termine la función del comando.

Ejemplo 5:
\begin{tabular}{lll}
\multicolumn{3}{c}{Campeonato}\\

\cline{2-3}
& \multicolumn{1}{c}{Día}& \multicolumn{1}{c}{Actividad} \\
\cline{2-3}
\multirow{3}{*}{Primera etapa} & Lunes 20 & Paseo\\
& Martes 21 & Prueba 1 \\
& Miércoles 22 & Prueba 2 \\
\hline
\multirow{2}{*}{Segunda etapa} & Jueves 23& Prueba final\\
& Viernes 24& Premiación\\
\end{tabular}


En este último ejemplo se intentó usar todos los comandos conocidos anteriormente.

Nota: Las imágenes adjuntadas aquí tienen menor calidad que las producidas en LaTeX (en LaTeX, no existe pixelación).
Cualquier comentario, sugerencia o duda sobre esta información por favor enviar un mail (jonysatie@gmail.com)

4 comentarios:

Francisco dijo...

vc sabe como colocar latex no blogspot?

Francisco

Snowserf dijo...

una consulta sabes hacer esto mismo pero incluyendo graficos en formato eps en vez de texto en la tabla? buen tip de latex

jonysatie dijo...

Para aulas.mat

Supongo que la pregunta en español fue si es posible colocar latex en blogspot.com
La respuesta es que existe una herramienta similar, pero que no tiene la misma calidad que LaTeX, se llama MimeTeX por lo que tengo entendido.
Para ver de qué se trata, tienes este link:
http://www.fmat.cl/index.php?showtopic=14139

Para snowserf:
Lo único que tienes que hacer es usar el \usepackage{graphicx} en el preámbulo de tu documento y luego, cuando creas la tabla, poner el comando que se utiliza para agregar gráficos (digamos imágenes) que es \includegraphics{archivo.eps}.

Si tienes errores en la compilación puede deberse a la salida que se utiliza (pdf, ps, dvi). Si no te resulta con pdf trata con ps.
Suerte en eso.

Silvi dijo...

me pillo la tecnologia jeje