miércoles, 31 de agosto de 2011

Latex

1. Introducción
El objetivo de este documento es dar una introducción muy breve al procesador de texto LaTex que se ha convertido en el standard internacional para escribir documentos científicos, por supuesto no pretende ser exhaustivo, se dará una visión muy general para que el estudiante pueda hacerse una idea de las ventajas e inconvenientes de este procesador. Existe multitud de bibliografía sobre LaTex a la cual podrá acudir el estudiante para profundizar en los detalles y potencialidad de este procesador de texto. El procesador de texto LaTex funciona como un lenguaje de programación, el texto es un programa fuente que se compila, el resultado de la compilación es un fichero con extensión .dvi que es el fichero que visualizamos.

Para comenzar, un sencillo ejemplo de documento LaTex sería el siguiente
% Definimos el estilo del documento
\documentclass[12pt,a4paper,spanish]{book}
% Utilizamos el paquete para utilizar español
\usepackage{babel}
% Utilizamos un paquete para gestionar los acentos
% y las eñes
\usepackage[latin1]{inputenc}
% Utilizamos el paquete para gestionar imágenes jpg
\usepackage{graphicx}
% Definimos la zona de la pagina ocupada por el texto
\oddsidemargin -1.0cm
\headsep -2.4cm
\textwidth=18.5cm
\textheight=26cm
%Empieza el documento
\begin{document}
% Definimos titulo, autor, fecha.
\title{TITULO DE MI PROYECTO}
\author{MI NOMBRE}
\date{15 de Julio del 2007}
% Generamos titulo e indice de contenidos
\maketitle
\tableofcontents
% Definimos una primera pagina para los agradecimientos
\newpage
\thispagestyle{empty}
\section*{Agradecimientos}
Aquí ponemos los agradecimientos
% Empezamos capítulos
\chapter{Introducci\'on}
Aquí empieza la introducci\'on
\chapter{Estado del arte}
Aquí empieza el capítulo sobre estado del arte
% Termina el documento
\end{document}
Supongamos que el documento está guardado en el fichero proyecto.tex, la manera habitual de
procesar este fichero en línea de comando es la siguiente:
>latex proyecto.tex
Este comando compila el fichero LaTex y genera el fichero proyecto.dvi que contiene la versión compilada del documento. Como cualquier compilador, LaTex puede dar warning y errores al compilar, en principio LaTex intenta resolver el error e informa al usuario parandose en cada error, si despues de que LaTex pare, el usuario escribe el caracter x, entonces LaTex aborta la compilación, si el usuario escribe el caracter r, LaTex continua la compilación sin volver a detenerse por los errores. A partir del fichero .dvi podremos visualizar el documento, lo que se hace con el comando

>xdvi proyecto.dvi

tambien se puede pasar el documento a formato postcript haciendo

>dvips proyecto.dvi -o proyecto.ps

Esta forma de proceder a nivel de línea de comandos es propia de Linux, para aquellos que utilicen windows lo mejor es utilizar un editor que sirva de interfaz y haga mas transparente todo el procedimiento.

2. Los primeros pasos
2.1. Caracteres especiales
% : indica una linea de comentarios
\ : Principio de un comando LaTex
f g : indica principio y final de un bloque
2.2. Acentos y ñ
Los acentos se escriben con el comando \', por ejemplo la a acentuada se escribe \'a, la i acentuada es un poco especial, pues si no queremos que aparezca el punto de la i junto al acento debemos escribir \'{\i} la ñ se consigue haciendo \ñ, normalmente el símbolo ~ se consigue normalmente haciendo Alt+4. Una forma mas comoda y automatica de gestionar los acentos y las eñes es poner el comando \usepackage[latin1]{inputenc} al principio del documento, que incluye un paquete que reconoce y gestiona los acentos y eñes propias del castellano, y por tanto podemos escribir normalmente.

2.3. Estilo y Tamaño de los caracteres
Normalmente el estilo de los caracteres viene definido globalmente en el estilo que utilicemos para compilar el documento que viene definido en la primera linea del documento (\documentclass). Además de ello, podemos controlar el tamaño y estilo de los caracteres con comandos. Aquí van algunos ejemplos:
\large : Caracteres mas grandes
\small : Caracteres mas pequeños
\em : Caracteres resaltados
\bf : Caracteres en negrita

2.4. Algunos comandos utiles
\noindent : Elimina el sangría al empezar un parrafo.
\\ : Obliga a LaTex a cambiar a la línea siguiente
\sloppy : Indica a LaTex que debe minimizar el corte de las palabras para pasar de una línea a otra. Hay que tener en cuenta que la manera en que corta las palabras LaTex no es muy buena, y a veces corta las palabras mal, si queremos indicar a LaTex como debe cortar palabras, tendremos que hacerlo manualmente.
\hyphenation : Este comando se pone al principio del documento antes de \begin{document}. Por ejemplo
\hyphenation{pe-pe co-lo-nia} indica a LaTex como debe partir las palabras pepe y colonia al final de una línea.
\newpage : pasa a nueva pagina.
\newline : Obliga a LaTex a pasar a una nueva línea.
\parskip=3mm : Este comando se pone al principio del documento e indica que entre parrafo y parrafo
se deja un espacio de 3 milímetros.
\footnote{ texto } : Escribe una nota de pie de pagina
\label{NombreReferencia} : Establece una etiqueta en una pagina, formula, etc..
\ref{NombreReferencia} : Escribe el numero al que hace referencia la etiqueta correspondiente.
\pageref{NombreReferencia} : Pone el numero de pagina donde esta la etiqueta.
\hspace{1cm} : inserta un espacio horizontal de 1 centímetro.
\vspace{2cm} : inserta un espacio vertical de 2 centímetros.
\clearpage : Obliga a LaTex a dibujar todas las graficas y tablas pendientes.
\hline : Inserta una línea horizontal.
\bigskip : Inserta un espacio vertical grande.
\medskip : Inserta un espacio vertical mediano.
\smallskip : Inserta un espacio vertical pequeño
3. Formateo de Parrafos y Listas
Los parrafos se formatean incluyendolos entre dos comandos. Aquí van algunos de estos comandos :
\begin{center} texto... \end{center} : Centra el texto.
\begin{flushleft} texto... \end{flushleft} : Pega el texto a la izquierda.
\begin{flushright} texto... \end{flushright} : Pega el texto a la derecha.
\begin{itemize} texto... \end{itemize} : Genera una lista no numerada. Con el comando \item se van poniendo el punto del comienzo de cada frase de la lista.
\begin{enumerate} texto... \end{enumerate} : Hace una lista como la anterior, pero en este caso numerada. Por supuesto estos entornos de lista se pueden incluir unos dentros de otros para crear diferentes niveles en la lista.

\begin{minipage}[posicion][tamano] texto... \end{minipage} : Permite escribir un cuadro de texto dentro de una pagina

4. Estructura del Documento
Los estilos basicos de documentos son article,book y report, esta informacion se pone en el comando documentclass[opcion]{estilo} que aparece al principio del documento. Las partes en que se pueden dividir el documento son:
\part
\chapter
\section
\subsection
\subsubsection
\paragraph
\subparagraph
Las opciones del estilo ([opcion]) se ponen separadas por comas y son las siguientes :
titlepage : Pone la pagina de título separada.
11pt : Utiliza un tamaño de fuente de 11pt.
12pt : Utiliza un tamaño de fuente de 12pt.
twocolumn : Compila el documenta a 2 columnas.
twoside : Compila el documento para imprimir las paginas por delante y por detras.
spanish : Utiliza el español para escribir los títulos de las secciones del documento.
a4 : Compila el documento en un tamaño de papel dina A4

5. Graficos y tablas
El formato standard para los graficos que maneja LaTex es el postcript. Tambien se pueden incluir imágenes en formato JPG siempre que se incluya al principio del documento el paquete que gestiona
graficos \usepackage{graphicx}. Por ejemplo, un grafico en formato postcript se incluye de la siguiente forma :
% Empieza la figura
\begin{figure}[ptb]
% Centramos la figura
\begin{center}
% Incluimos el grafico y definimos el ancho y alto, la
% figura se encuentra en el fichero Proyeccion1.ps
\includegraphics[
height=6.4057cm,
width=5.8205cm
]{Proyeccion1.ps}
\end{center}
% Ponemos Leyenda al grafico
\caption{
% Ponemos etiqueta al grafico
\label{MiFigura}%
Ejemplo de Grafico }%
\end{figure}
Un aspecto importante de las graficas y tablas es que LaTex no las pone en el sitio donde han sido definidas en el texto, LaTex las pone en el lugar que considera adecuado, es decir la grafica puede estar una o dos paginas despues del lugar donde se definio. Por ello es necesario poner una etiqueta a la grafica con el comando label, y en el texto se pone algo así como : en la figura \ref{NombreEtiqueta}
se muestra una imagen de ...
Para que LaTex pueda gestionar ficheros postcript es necesario incluir el paquete adecuado, lo cual se hace insertando al principio del documento el comando \usepackage[dvips,final]{epsfig}.

Cuadro 1: Titulo de mi tabla
a
b
c
d
e
f

A continuacion se muestra un ejemplo de como se inserta una tabla
% Empieza la tabla
\begin{table}
% Centramos la tabla
\begin{center}
% Definimos el titulo y la etiqueta de la tabla
\caption{\label{MiTabla} Titulo de mi tabla}
% Definimos el estilo de la tabla (3 columnas separadas por
% lineas verticales)
\begin{tabular}[t]{|l|l|l|}
\hline
a & b & c \\
\hline
d & e & f \\
\hline
\end{tabular}
\end{center}
\end{table}

Un ejemplo de manejo de imágenes

\begin{figure}
\begin{center}
\begin{tabular}{|c|c|}
\hline
\includegraphics[width=4cm, bb=0 0 640 480]{baby.jpg} &
\includegraphics[width=4cm, bb=0 0 640 480]{baby-rojo.jpg}
\\Imagen Original & Canal rojo
\\ \hline
\includegraphics[width=4cm, bb=0 0 640 480]{baby-verde.jpg} &
\includegraphics[width=4cm, bb=0 0 640 480]{baby-azul.jpg}
\\Canal verde & Canal azul
\\ \hline
\end{tabular}
\caption{ \label{baby}
Descomposicion de una imagen en color en el el canal de intensidad y sus 3 canales RGB}
\end{center}
\end{figure}

6. Escribiendo Matemáticas con LaTex
Uno de los puntos fuertes de LaTex es su versatilidad para escribir formulas matemáticas. Cuando escribimos una formula en mitad de una linea la insertamos entre dos caracteres $. por ejemplo aij se escribe como $a_{ij}$. Si queremos que la formula aparezca separada del texto y centrada escribiremos lo siguiente:
\begin{equation}
\label{integral}
f(x)=\int{f'(x)dx}+C
\end{equation}
lo cual produce la salida
f(x) =Z
f0(x)dx + C (1)
existe una enorme cantidad de comandos para escribir símbolos y formulas matematicas, no entraremos en ello aquí y aconsejamos mirar algun libro de texto sobre el tema.

6.1. Escribiendo teoremas, lemas, etc..
Para que LaTex numere los teoremas de forma automatica, es necesario definir contadores para losteoremas, lemas, etc. ello se hace con el comando \newtheorem{teorema}{Teorema} que se pone al principio del documento. Un teorema se escribe de la siguiente forma:
\begin{teorema}
\label{Pitagoras}
Dado un tri\'angulo rect\'angulo, la suma
de los cuadrados de los catetos
es igual a la hipotenusa al cuadrado
\end{teorema}
que da como resultado

Teorema 1 Dado un triangulo rectangulo, la suma de los cuadrados de los catetos es igual a la hipotenusa al cuadrado

7. Bibliografía y referencias cruzadas
Otro aspecto interesante de LaTex es la flexibilidad para introducir la bibliografía y la manera de hacer referencias en el texto. La bibliografía se escribe así:
\begin{thebibliography}{1}
\bibitem{La86} Leslie Lamport.
{\em "LaTex : A document Preparation System"}.
Addison-Wesley, 1986.
\bibitem{Ro93} Christian Rolland.
{\em "LaTex guide pratique"}.
Addison-Wesley, 1993.
\end{thebibliography}

Lo que da como resultado:
Referencias
[1] Leslie Lamport LaTex : A document Preparation System. Addison-Wesley, 1986.
[2] Christian Rolland LaTex guide pratique. Addison-Wesley, 1993.
La etiqueta de cada referencia es lo que acompaña al comando \bibitem, por ejemplo La86 es la etiqueta del primer libro y Ro93 es la etiqueta del segundo, aunque se puede poner lo que se quiera como etiqueta, una buena regla es poner las primeras letras de los apellidos del autor o autores y a continuacion el año.
Para hacer referencia en el texto a un documento de la bibliografía se utilizara el comando \cite, para hacer referencia a una etiqueta que se haya puesto en una formula, etc.. se utilizara el comando \ref. A continuacion veremos un ejemplo de utilizacion de citas y referencias.

En las referencias \cite{La86} y \cite{Ro93} se encuentra una descripci\'on en profundidad de las caracter\'{\i}sticas de LaTex. La figura \ref{MiFigura} que est\'a en la p\'agina \pageref{MiFigura}, la tabla \ref{MiTabla}, el teorema \ref{Pitagoras} y la f\'ormula \ref{integral} son ejemplos de como utilizar las etiquetas.

La salida de este texto es :
En las referencias [1] y [2] se encuentra una descripcion en profundidad de las características de LaTex. La figura 1 que esta en la pagina 6, la tabla 1, el teorema 1 y la formula 1 son ejemplos de cómo utilizar las etiquetas.
Una forma mas avanzada de manejar bibliografía es utilizar la aplicacion BibTex que acompaña al LaTex, con ella podemos, a partir de un fichero donde tenemos almacenado una gran cantidad de citas bibliograficas (que suele tener la extensión .bib) construir la bibliografía de nuestro documento. Esto es especialmente util cuando se hacen multiples documentos que comparten bibliografía.

No hay comentarios:

Publicar un comentario