Cómo escribir una tesis con LaTeX

Si ahora estás escribiendo tu tesis, es muy probable que hayas decidido hacerla con LaTeX. ¡Sabia decisión! 🙂 En la siguiente entrada, mostraré cómo crear el esqueleto de una tesis con dicho herramienta. Después sólo te quedará escribir su contenido… ¡Al ataque!
Una tesis suele tener los siguientes apartados:
  • Título
  • Dedicatoria (aquí comienza la numeración con números romanos)
  • Agradecimientos
  • Resumen
  • Índice de contenidos
  • Índice de figuras
  • Índice de tablas
  • Capítulo 1 (aquí comienza la numeración con números arábigos)
  • Capítulo 2
  • Capítulo 3
  • Apéndice A
  • Apéndice B
  • Bibliografía
A continuación, vamos a ver cada uno de ellos en detalle…


En primer lugar, nuestro archivo de LaTeX debería de ser algo similar a lo siguiente:

documentclass[a4paper,openright,12pt]{book}
usepackage[spanish]{babel}
usepackage[latin1]{inputenc}

begin{document}

end{document}

Donde el comando “openright” sirve para que los capítulos empiecen a la derecha. Si quieres que empiece donde toque, derecha o izquierda, puedes poner “openany”. Y “12pt” indica el tamaño de la letra.

El paquete {inputenc} se usa para poder escribir símbolos no anglosajones (á, ü, ñ, ¡! ¿?…) directamente, sin necesidad de usar ningún código especial. Para hacer esto, hay varios tipos de codificación (latin1, utf8, etc…). La opción correcta que elijamos, depende del editor de LaTeX, su versión, y muchas otras cosas. Y a priori, es difícil saber cuál es la correcta. Peor aún, cuando tenemos un error debido a esto, el mensaje de error suele ser muy confuso. TeXnicCenter, por ejemplo, nos da el siguiente mensaje:

! Missing $ inserted.

Si te da error con [latin1], quizás te funcione correctametne con [utf8]. Prueba las dos opciones, a ver cuál te funciona a ti.

usepackage[latin1]{inputenc}
usepackage[utf8]{inputenc}


Una última cosa antes de empezar. En esta entrada resumo los comandos más importantes para escribir una tesis. Pero seguramente necesites hacer cosas un poco más avanzadas. Como, por ejemplo, editar los encabezados, añadir una lista con la nomenclatura o acrónimos, añadir una lista al inicio con tus artículos, etc. A continuación puedes ver algunos enlaces a otras entradas donde explico estos temas. También te recomiendo que busques más cosas, por los distintos contenidos del blog.

  • Cómo editar los encabezados y pies de página (click aquí).
  • Cómo escribir la tesis en B5 (click aquí).
  • Cómo añadir una lista con la nomenclatura o acrónimos (click aquí).
  • Cómo añadir al inicio de la tesis, una lista con nuestros artículos (click aquí). 
  • Cómo añadir al final de cada capítulo, la bibliografía usada en dicho capítulo (click aquí). 
  • Contenidos del blog (click aquí).


1) Título.

La página de título se puede crear fácilmente con el comando begin{titlepage}. En otra entrada, muestro cómo hacer un título más bonito (click aquí), pero por ahora, podemos utilizar un título muy sencillo como este:

begin{titlepage}
begin{center}
begin{Huge}
textsc{Un buen título es muy importante}
end{Huge}
end{center}
end{titlepage}

A continuación, queremos añadir una página en blanco sin numerar. Para ello podemos utilizar las siguientes líneas de código. La tercera línea es importante si no queremos que esta página sea numerada.

newpage
$ $
thispagestyle{empty} % para que no se numere esta pagina


2) Dedicatoria.
A continuación, podríamos poner una dedicatoria. Por ejemplo, con el siguiente código:

chapter*{}
pagenumbering{Roman} % para comenzar la numeracion de paginas en numeros romanos
begin{flushright}
textit{Dedicado a \
mi familia}
end{flushright}

Es muy común que las primeras hojas de la tesis (índice, dedicatoria, etc.) estén numeradas con números romanos, y para ello, se añade el comando “pagenumbering{Roman}”. Por cierto, el formato de la numeración depende del lenguaje que estemos usando en el paquete {babel}. Si trabajamos en inglés, con {roman} los números romanos serán en minúsculas, y con {Roman} en mayúsculas.

Sin embargo, si trabajamos en español, los números romanos serán en mayúsculas con ambos comandos, ya que en español se considera incorrecto ponerlos en minúsculas. Aún así, si trabajando en español, quieres que los números romanos estén en minúsculas, puedes hacerlo escribiendo:

usepackage[spanish, es-lcroman]{babel} 

Cada vez que escribimos “pagenumbering”, creamos un contador con el número de página, empezando a contar por 1. Hay veces que queremos contar una página extra en blanco, la página del título, etc. con lo que la numeración no debería empezar en 1. Para hacer esto, justo después de pagenumbering, hay que añadir “setcounter{page}{x}”, donde x es el valor con el que quieres que empiece la numeración.

pagenumbering{Roman}
setcounter{page}{3}

Una cosa más. Hay una diferencia importante entre “chapter{}” y “chapter*{}”. El segundo comando crea un capítulo, pero no añade automáticamente la palabra “Capítulo 1” al inicio, ni lo añade al índice de secciones. Si queremos que aparezca en el índice habrá que indicarlo con el comando “addcontentsline”, como verás en el punto siguiente.


3) Agradecimientos y Resumen.
Agradecimientos y Resumen se puede hacer de manera similar a la dedicatoria, pero añadiendo un título y los comandos “addcontentsline” y “markboth”.

Con addcontentsline{toc}{chapter}{texto1}, conseguimos que aparezca en la lista de contenidos, con el texto “texto1”

Y con markboth{texto1}{texto2} definimos el encabezado de esta sección. “texto1” corresponde al encabezado de las páginas impares, y “texto2” corresponde al de las páginas pares.

chapter*{Agradecimientos} % si no queremos que añada la palabra “Capitulo”
addcontentsline{toc}{chapter}{Agradecimientos} % si queremos que aparezca en el índice

markboth{AGRADECIMIENTOS}{AGRADECIMIENTOS} % encabezado
 
¡Muchas gracias a todos!

chapter*{Resumen} % si no queremos que añada la palabra “Capitulo”
addcontentsline{toc}{section}{Resumen} % si queremos que aparezca en el índice
markboth{RESUMEN}{RESUMEN} % encabezado

Una bonita historia


4) Índice de contenidos, figuras y tablas.
Los índices se crean automáticamente con los siguientes comandos (una de las muchas ventajas de LaTeX). Por defecto, los índices no aparecen indicados en el índice de contenidos. Para que sí que aparezcan, podemos utilizar el comando addcontentsline{toc}{tipo1}{nombre2}. Donde con “tipo1” indicamos, dentro del índice, qué categoría queremos que tenga (igual que un capítulo, igual que una sección, etc…). Mientra que con “nombre2” definimos el título que tendrá en el índice.

Es importante la instrucción cleardoublepage, para que enumere correctamente los índices de figuras y tablas. Si no, indicaría erróneamente la página del capítulo anterior.

tableofcontents % indice de contenidos

cleardoublepage
addcontentsline{toc}{chapter}{Lista de figuras} % para que aparezca en el indice de contenidos
listoffigures % indice de figuras

cleardoublepage
addcontentsline{toc}{chapter}{Lista de tablas} % para que aparezca en el indice de contenidos
listoftables % indice de tablas


5) Capítulos

Los capítulos están formando por secciones, subsecciones, subsubsecciones y párrafos.

chapter{Introducción}label{cap.introduccion}
pagenumbering{arabic} % para empezar la numeración con números
Érase una vez…
section{sección1}
Bla bla bla

subsection{subsección1}
Ble ble ble
subsubsection{subsubsección1}
Bli bli bli
paragraph{párrafo1}
Blo blo blo

En el primer capítulo (y solo en ese) es importante añadir la instrucción “pagenumbering{arabic}”, para que se inicie ahí la numeración de las páginas, con números arábigos.

Por encima de los capítulos, un documento también se puede dividir en partes.

part{Primera Parte}
chapter{Introducción}
chapter{Nudo}
part{Segunda Parte}
chapter{Desenlace}

Cuando dividimos nuestro documento en partes, la numeración de los capítulos es siempre creciente. Por ejemplo: Parte 1 / Capitulo 1 / Capitulo 2 / Parte 2 / Capítulo 3 / Capítulo 4… Pero a veces, queremos que el número del capítulo comience en 1, en cada parte. Es decir: Parte 1 / Capitulo 1 / Capitulo 2 / Parte 2 / Capítulo 1 / Capítulo 2… Para hacer esto segundo, antes de begin{document}, podemos añadir las siguientes líneas:

makeatletter
@addtoreset{chapter}{part}
makeatother

Cuando creamos nuestro documento, obtendremos una cosa así:

Fíjate que, por defecto, las subsubsecciones y los párrafos no aparecen en el índice de contenidos, ni tampoco se numeran (1.1.1.1).  Para elegir qué cosas queremos añadir en el índice de contenidos, y qué cosas queremos que se numeren, antes de begin{document}, podemos añadir las siguientes dos líneas:
setcounter{secnumdepth}{3} % para que ponga 1.1.1.1..
setcounter{tocdepth}{4} % para que añadir las secciones en el índice…

Donde los números entre llaves indican hasta dónde queremos que aparezca en el índice y numere:
-1 = partes
0 = capítulos
1 = secciones
2 = subsecciones
3 = subsubsecciones
4 = párrafos

Por ejemplo, en este segundo caso, hubieramos obtenido:

Una cosa más. Siempre que añadimos un capítulo, sección, etc… podemos darle un título alternativo, que será usado en el índice de contenidos. Esto es muy útil si tenemos títulos muy largos. El título alternativo se indica entre corchetes. Esto también funciona con tablas y figuras, donde es especialmente útil.
chapter[Introducción]{Introducción y muchas cosas}






6) Apéndices
Para añadir apéndices, podemos usar el comando appendix. LaTeX entenderá que a partir de este comando, los capítulos siguientes son apéndices. Los numera con letras mayúsculas, y pone “Apéndice” en vez de “Capítulo”.

appendix
chapter{Más cosas}label{aped.A}
Aún faltan cosas por decir.

chapter{Y más cosas aún}label{aped.B}
Y más cosas aún.





7) Bibliografía

Por último añadimos la bibliografía.
Con el comando bibliographystyle definimos el estilo de la bibliografía. Mientras que con bibliography{yyyy} definimos el fichero donde tenemos la bibliografía (que será “yyyy.bib”). Puedes consultar esta otra entrada donde hablo sobre los distintos estilos de bibliografía (click aquí). 

cleardoublepage
addcontentsline{toc}{chapter}{
Bibliografía}
bibliographystyle{acm} % estilo de la bibliografía.
bibliography{yyyy} % yyyy.bib es el fichero donde está salvada la bibliografía.





A continuación muestro todos los comandos seguidos:

documentclass[a4paper,openright,12pt]{book}
usepackage[spanish]{babel}
usepackage[utf8]{inputenc} 

setcounter{secnumdepth}{3} %para que ponga 1.1.1.1 en subsubsecciones
setcounter{tocdepth}{3} % para que ponga subsubsecciones en el indice

begin{document}

begin{titlepage}
begin{center}
begin{Huge}
textsc{Un buen título es muy importante}
end{Huge}
end{center}
end{titlepage}

% para crear una cara en blanco
newpage
$ $
thispagestyle{empty} % para que no se numere esta página

chapter*{}
pagenumbering{Roman} % para comenzar la numeración de paginas en números romanos
begin{flushright}
textit{Dedicado a \
mi familia}
end{flushright}

chapter*{Agradecimientos} % si no queremos que añada la palabra “Capitulo”
addcontentsline{toc}{chapter}{Agradecimientos} % si queremos que aparezca en el índice
markboth{AGRADECIMIENTOS}{AGRADECIMIENTOS} % encabezado

¡Muchas gracias a todos!

chapter*{Resumen} % si no queremos que añada la palabra “Capitulo”
addcontentsline{toc}{chapter}{Resumen} % si queremos que aparezca en el índice
markboth{RESUMEN}{RESUMEN} % encabezado

Se trata de una bonita historia.

tableofcontents % indice de contenidos

cleardoublepage
addcontentsline{toc}{chapter}{Lista de figuras} % para que aparezca en el indice de contenidos
listoffigures % indice de figuras

cleardoublepage
addcontentsline{toc}{chapter}{Lista de tablas} % para que aparezca en el indice de contenidos
listoftables % indice de tablas

chapter{Introducción}label{cap.introduccion}
pagenumbering{arabic}
Érase una vez…
section{sección1}
Bla bla bla
subsection{subsección1}
Ble ble ble
subsubsection{subsubsección1}
Bli bli bli
paragraph{párrafo1}
Blo blo blo

chapter{Nudo}label{cap.nudo}
La historia continúa con…

chapter{Desenlace}label{cap.desenlace}
El final de la historia es sorprendete…

appendix
chapter{Más cosas}label{aped.A}
Aún faltan cosas por decir.

chapter{Y más cosas aún}label{aped.B}
Y más cosas aún.

cleardoublepage
addcontentsline{toc}{chapter}{Bibliografía}
bibliographystyle{acm} % estilo de la bibliografía.
bibliography{yyyy} % yyyy.bib es el fichero donde está salvada la bibliografía.

end{document}

Deja un comentario