January 24th, 2009Como hacer un trabajo profesional con LaTeX
¿Qué es LaTeX?
LaTeX es un lenguaje de marcado de uso obligatorio para todo aquel que quiera realizar un trabajo, tesis o cualquier texto con calidad profesional. Su uso está orientado especialmente a la composición de artículos científicos, lo que no implica que no se pueda usar en otros ámbitos. Trabajar con LaTeX no es igual que trabajar con cualquier procesador de textos del estilo de OpenOffice u Microsoft Office. No necesitaremos ningún editor especial (aunque posteriormente veremos algunos), únicamente necesitaremos escribir en cualquier archivo la estructura de nuestro documento (por ejemplo, con el Bloc de Notas o el editor GEdit) y utilizar un compilador para que nos genere el documento. Así pues, al escribir nuestros documentos con LaTeX, no estaremos viendo realmente como va a ser nuestro resultado final aunque, creerme, el compilador nos reordenará nuestros párrafos, dará el formato adecuado a cada uno de nuestros textos y nos guardará el resultado en un archivo PDF, DVI o Postscript. Si todavía no sabes muy bien de que va la cosa, no te preocupes, será más fácil de lo que parecerá y al terminar de leer este documento serás capaz de crear una memoria/proyecto/tesis como en este ejemplo. El índice que seguirá este tutorial consta de los siguientes temas:
- Estructura básica de un documento en LaTeX
- Dando formato al texto
- Posicionamiento del texto
- Creando una portada y un índice
- Capítulos: secciones y subsecciones
- Enumeraciones y listas
- Código fuente
- Compilando documentos LaTeX desde MS-Windows y GNU-Linux Ubuntu
- Algunas plantillas de LaTeX
Este tutorial es la segunda edición de otro más antiguo que hice y que aún conservo. Podéis encontrar la versión anterior aquí.
1. Estructura básica de un documento LaTeX
La estructura básica de un archivo de código LaTeX es la siguiente:
- %Tamanyo y tipo de documento que queremos escribir
- \documentclass[10pt,graphicx,caption,rotating]{article}
- %Paquetes para el idioma, las tildes, etc.
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- Aquí empezaremos a escribir nuestro documento. Pueden ser trabajos, tesis, cartas, etc.
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 1.1: Estructura básica de un documento LaTeX
Como podemos ver en el código 1.1 la línea 2 nos indica que clase de documento queremos crear. En ese caso un documento de tipo artículo y con un tamaño de letra 10 por defecto. Las líneas de la 5 a la 7 nos indican paquetes que se van a utilizar en el documento. Los paquetes añaden nueva funcionalidad y formatos a nuestro documento LaTeX. Estos paquetes se aprenden a usar según avancen nuestros conocimientos en el uso de LaTeX. Por ahora, dejaremos éstos por defecto en nuestro tutorial.
Podemos añadir comentarios en LaTeX (que no aparecerán en el resultado final) añadiendo % al principio de una línea. Los comentarios nos servirán como “notas mentales” mientras escribimos el documento. Podemos ver varios comentarios en las líneas 1,4,9 y 15.
LaTeX tiene una estructura por bloques, es decir, cada una de las secciones que queramos escribir (enumeraciones, portada, tablas, etc.) se escriben entre bloques que empiezan con \begin{…} y terminan con \end{…}.En la estructura básica existe un bloque en el que se nos permite empezar a escribir el documento: entre \begin{document} y \end{document} (líneas 10 y 14). Para finalizar, hemos escrito un ejemplo de texto en la linea 12 (que no tiene por qué pertenecer a la estructura). El resultado de este pequeño ejemplo se muestra a continuación:
2. Dando formato al texto
Ahora que tenemos la estructura básica de un documento en LaTeX, empezaremos a escribir dentro de él. Todo aquello que escribamos, lo deberemos hacer dentro del bloque document como vimos anteriormente.
Otra de las características esenciales en un documento es el formato que tiene el texto. Para aplicar un formato a un texto, tendremos que usar palabras clave que veremos en la siguiente lista y encerrar el texto entre corchetes:
- \textit{texto aquí}
Con esta expresión, el texto “texto aquí” se transformará en itálica.
- \textbf{texto aquí}
Con esta expresión, el texto “texto aquí” se transformará en negrita.
- \underline{texto aquí}
Con esta expresión, el texto “texto aquí” se subraya.
- \large{texto aquí}
Con esta expresión, el texto “texto aquí” se verá mucho más grande.
- \huge{texto aquí}
Con esta expresión, el texto “texto aquí” se verá muchísimo más grande.
Pongamos en práctica lo comentado anteriormente con un ejemplo. Escribamos éste ejemplo más completo:
- %Tamanyo y tipo de documento que queremos escribir
- \documentclass[10pt,graphicx,caption,rotating]{article}
- %Paquetes para el idioma, las tildes, etc.
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- \textit{España es un país} en el que \underline{cada} vez \textbf{más gente} usa \textit{LaTeX}.
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 2.1. Ejemplo de texto con formato.
No es común el uso de las etiquetas \large{…} y \huge{…} en párrafos. Ésta clase de etiquetas son más comunes en las portadas. El resultado del código 2.1 podemos verlo a continuación:
2.1. Antiguo problema con las tildes y las eñes
No hace mucho, la gente que escribía documentos en LaTeX tenía que usar las tildes y las eñes de una forma muy especial. Esta forma consistía en poner una barra y una tilde antes de la letra a tildar, de esta manera: \’a. Lo mismo pasaba con las eñes: \~n. En la actualidad disponemos de unos paquetes para evitar esto:
- %Paquetes para el idioma, las tildes, etc.
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
Si en algún momento tenéis problemas con vuestros documentos y las tildes, aseguraros de tener correctamente estas líneas escritas.
3. Posicionamiento del texto
A la hora de posicionar el texto, tenemos las tres posiciones básicas: izquierda, centrado y a la derecha. Éstas se definen mediante bloques, en los cuales en el interior escribimos el texto.
-
Izquierda (por defecto):
\begin{flushleft} … \end{flushleft}
-
Derecha:
\begin{flushright} … \end{flushright}
-
Centrado:
\begin{center} … \end{center}
A continuación vemos un ejemplo de su implementación y su resultado.
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- \begin{flushleft}
- Izquierda
- \end{flushleft}
- \begin{center}
- Centrado
- \end{center}
- \begin{flushright}
- Derecha
- \end{flushright}
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 3.1. Posicionamiento del texto.
4. Creando una portada y un índice
El diseño de una portada es algo imprescindible en un trabajo, tesis o memoria. Las portadas son algo personal de cada uno, pero durante esta sección aprenderemos a crear una de las portadas predeterminadas que yo suelo usar.
Para crear una portada, crearemos un nuevo bloque dentro del bloque document llamado titlepage. El bloque titlepage encerrará todo lo relacionado con la creación de la portada. Ahora haremos uso de los formatos \large{…} y \huge{…} para resaltar el título y otra información que necesitemos. Otra de las características de las portadas es el espacio entre párrafos que marcaremos mediante la expresión \\ o la expresión \\[3cm] (el número 3 es un ejemplo, podemos aplicar cualquier tamaño) al final de cada linea. A continuación vemos el ejemplo completo de mi portada:
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- %Abrimos el bloque para escribir la portada
- \begin{titlepage}
- \begin{center}
- {\Large PROCESADORES DE TEXTO AVANZADOS}\\
- {\Large Ingeniería en Informática}\\[2cm]
- {\Large Curso 2008-2009}\\[3cm]
- {\Huge Práctica 1:}\\
- {\Huge Uso del \LaTeX}\\[4cm]
- {\Large Alumno: Miguel Ángel Domínguez Coloma}\\[3cm]
- {\Large Escuela Técnica Superior de Ingeniería Informática}
- \end{center}
- \end{titlepage}
- %Cerramos el bloque para escribir la portada
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 4.1. Ejemplo completo de portada.
El resultado del código 4.1 es mostrado en la siguiente imagen:
Para crear un índice, ponemos a continuación de la portada la siguiente instrucción:
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- %Generamos un indice de los contenidos
- \tableofcontents
- \newpage
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 4.2. Añadiendo un índice.
Ya que aun no hemos generado ningún contenido, el índice aparecerá vacío. Sin embargo, el ejemplo mostrado a continuación nos da una idea de como se genera el índice en un trabajo ya terminado:
5. Capítulos: secciones y subsecciones
Los capítulos o secciones, en cualquier trabajo, nos ayudan a envolver trozos de texto, imágenes, código, etc. bajo el mismo nombre, ayudándonos a tener el documento bien organizado. Además, nos servirán para la generación del índice. Por ejemplo, en este tutorial, las secciones serían todos aquellos títulos numerados y en grande. En LaTeX ocurre lo mismo. Además, genera los números automáticamente sin tener que escribirlos nosotros mismos. Esto nos ayuda a no tener que preocuparnos de que número de sección estamos trabajando, y en el caso de insertar uno nuevo, se reconfigurarían los números de nuevo. Podemos crear dos tipos de secciones: secciones y subsecciones. Las secciones se numeran por un número y las subsecciones dentro de una sección se enumeran con dos números: el primero es el número de sección y el segundo el número de subsección. Podemos tener hasta tres tipos de niveles para las secciones: sección ,\section{T\’itulo}, subsección \subsection{T\’itulo} y \subsubsection{T\’itulo}. Esta explicación se verá mejor siguiendo el siguiente ejemplo:
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- %Comenzamos nuestro documento
- \section{Estructura b’asica de un documento en LaTeX}
- La estructura b’asica de un archivo de c’odigo LaTeX es la siguiente…
- \section{Dando formato al texto}
- \subsection{Tildes y e\~nes}
- Ahora que tenemos la estructura b’asica…
- \subsection{Formato del texto}
- \subsubsection{Formato}
- Otra de las caracter’isticas esenciales en un documento…
- \subsubsection{Ejemplo de c’odigo}
- Pongamos en pr’actica lo comentado anteriormente…
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 5.1. Secciones y subsecciones.
Como podemos ver en el código 5.1 a las secciones no se las requiere señalar el fin de sección. Una vez que aparece una nueva sección del mismo nivel, se indica explicitamente que la anterior ya ha terminado. No es recomendable usar secciones de tercer nivel si nuestro documento no es muy extenso, ya que se generan multitud de títulos y dividimos nuestro trabajo en demasiadas secciones. El resultado obtenido está representado en la siguiente imagen.
6. Enumeraciones y listas
Disponemos de dos clases de listas en LaTeX: enumeradas y no enumeradas. Las listas, al contrario de las secciones, siguen el modelo de bloque, es decir, hay que indicar el comienzo y el fin de cada lista:
- Listas no enumeradas
\begin{itemize}
…
\end{itemize} -
Listas enumeradas
\begin{enumerate}
…
\end{enumerate}
Los elementos añadidos dentro de las listas comenzarán por el código \item. Los elementos en las listas enumeradas no necesitan que les añadamos el número de la secuencia, LaTeX la genera automáticamente. Veamos un ejemplo de los dos tipos de listas:
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- % Listas ordenadas
- \textbf{Vida diaria:}
- \begin{enumerate}
- \item Levantarse
- \item Ir a la universidad
- \item Trabajar
- \item Dormir
- \end{enumerate}
- % Listas no ordenadas
- \textbf{Trabajos pendientes:}
- \begin{itemize}
- \item Trabajo de redes
- \item Trabajo de bases de datos
- \item Trabajo de sistemas operativos
- \end{itemize}
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 6.1. Listas enumeradas y no enumeradas.
Las listas podemos anidarlas y crear listas dentro de listas. Como podemos ver, los elementos de las listas no necesitan indicar el fin de cada elemento, una vez que encuentra otro elemento \item, se añade uno nuevo automáticamente. El resultado del código 6.1 es el siguiente:
7. Código fuente
En LaTeX podemos añadir código fuente, en el caso de que estemos redactando una memoria en la que necesitemos añadir lineas de código. Para ello, añadiremos el código entre los bloques \begin{verbatim} y \end{verbatim}. A continuación, vemos un ejemplo de la insercción de un código entre estos bloques:
- \documentclass[10pt,graphicx,caption,rotating]{article}
- \usepackage[activeacute,spanish]{babel}
- \usepackage[utf8]{inputenc}
- %Abrimos el bloque para escribir el documento
- \begin{document}
- %Codigo fuente
- \begin{verbatim}
- public class Server()
- {
- public Server()
- {
- // Inicializar servidor
- }
- public void Stop()
- {
- // Parar el servidor
- }
- }
- \end{verbatim}
- \end{document}
- %Cerramos el bloque para escribir el documento
Código 7.1. Listas enumeradas y no enumeradas.
El resultado del código 7.1 podemos verlo a continuación:

El uso de bloques para añadir código fuente en nuestro documento de LaTeX implica un cambio de letra a “Courier New” y se imprimen los espacios y tabuladores tal y como añadimos el código.
8. Compilando documentos desde MS-Windows y GNU-Linux Ubuntu
Para crear crear documentos en LaTeX necesitaremos dos cosas: por una parte un compilador y por otra un editor. El editor, como dijimos anteriormente, es opcional, pero nos ayuda con la sintaxis.
8.1. Instalación para MS-Windows
Para MS-Windows, necesitaremos descargarnos e instalar los siguientes programas en orden: MikTeX (buscar un enlace que se llama Download “Basic MikTeX” Installer para descargarlo y la instalación es de esas de “Siguiente“, “Siguiente“, …); y TeXnicCenter (buscar un enlace que se llama TeXnicCenter Setup, Version … y al lado pondrá SourceForge.net que deberéis pulsar para descargarlo y la instalación es igual de fácil que la anterior pero con la palabra “Next”).
Una vez que tenemos los dos programas instaladas, ejecutaremos el programa de “TeXnicCenter“. La primera vez que lo abramos, nos saldrá unas ventanas para configurarlo. Cuando lleguemos a una ventana que nos pide la localización de los archivos TeX, LaTeX, etc, tendremos que buscar, en la carpeta donde instalamos MikTeX, la siguiente ruta:

Imagen 10.1. Apertura del programa TeXnicCenter.
Puede que no sea exactamente la misma, pero muy parecida (por el tema de la versión que se haya descargado). Y ahora solo hay que abrir un nuevo documento (como en cualquier programa) y escribir el archivo en LaTeX. Una vez que lo tengamos y queramos obtener el archivo PDF. Elegiremos “LaTeX => PDF”, después pulsaremos el botón llamado “Build” que está al lado y luego el de “View” más a su derecha, tal y como vemos en esta imagen.

Imagen 10.2. Cómo compilar un documento desde TeXnicCenter.
8.2. Instalación en GNU-Linux Ubuntu
Para Ubuntu, necesitaremos habilitar los repositorios universe y multiuniverse. Para ello, abriremos en modo root el archivo /etc/apt/sources.list de la siguiente forma desde consola:
- sudo gedit /etc/apt/sources.list
Ahora, buscaremos las siguientes lineas y quitaremos la almohadilla # del principio, dejándolo de la siguiente forma (la versión de Ubuntu dependerá de la instalada):
- deb http://es.archive.ubuntu.com/ubuntu/ [versionUbuntu] universe
- deb-src http://es.archive.ubuntu.com/ubuntu/ [versionUbuntu] universe
- deb http://es.archive.ubuntu.com/ubuntu/ [versionUbuntu] multiverse
- deb-src http://es.archive.ubuntu.com/ubuntu/ [versionUbuntu] multiverse
Ahora, siguiendo en consola, instalaremos el programa Kile, que a mi opinión es de los mejores para Linux:
- sudo apt-get update
- sudo aptitude install -y kile
Con esto nos instalará los compiladores de LaTeX y el programa Kile que es el editor. Lo siguiente será escribir el documento en LaTeX, compilarlo y verlo:
Imagen 10.3. Cómo compilar un documento desde Kile.
En la captura 10.3 podemos observar dos botones que nos ayudarán en el proceso de compilación del documento LaTeX. El primer botón remarcado compilará el documento. El segundo botón remarcado nos mostrará el documento generado.

9. Algunas plantillas de LaTeX
A veces, ciertas empresas incluyen plantillas en LaTeX que ofrecen a sus trabajadores y que formatean el texto de forma que siguen su mismo estándar. A veces las encontramos en Internet para su libre descarga. Algunas de las que he encontrado y he usado en mis trabajos, derivan de plantillas de universidad. Éstas ofrecen reformateo de títulos, secciones, listas, código fuente, etc. Además, ajustan los márgenes y nos ofrecen otro tipo de portadas. La más completa y llamativa que encontré proviene de Deusto (en la lista). A continuación iré dejando algunas plantillas que me han servido de ayuda:


















