Un documento básico

En este capítulo vamos a crear nuestro primer documento, muy emocionante todo. Pero antes tenemos que hablar de estructura, entornos y sintaxis. ¡Ánimo!

Un documento y sus partes

Un documento escrito en LaTeX tiene esta pintaEste ejemplo está adaptado del repo de apuntes de programación de mi señor hermano y mío. Es una versión simplificada.:

\documentclass[a4paper,10pt]{article}

%%%%%%%%%%%% PREÁMBULO %%%%%%%%%%%%%%%%%%%%%

% Paquetes

\usepackage[utf8]{inputenc}
\usepackage[spanish,es-tabla]{babel}
\usepackage[T1]{fontenc}

\usepackage{listings}

% Comandos

\renewcommand{\lstlistingname}{Código}
\renewcommand{\lstlistlistingname}{Índice de fragmentos de código fuente}

% Opciones

\title{Python 2.*}
\author{Ondiz Zarraga}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}
\maketitle

\begin{abstract}
Este documento es una pequeña guía de Python 
\end{abstract}

\tableofcontents

\section{Sobre el lenguaje}

\begin{itemize}
    \item Interpretado
    \item Indentación obligatoria
    \item Distingue mayúsculas - minúsculas
    \item No hay declaración de variables (\textit{dynamic typing})
    \item Orientado a objetos  
    \item Garbage colector: quita los objetos a los que no haga referencia nada
\end{itemize}

\end{document}

El documento tiene dos cosas llamativas:

Los comandos son la manera en la que nos comunicamos con LaTeX y un entorno es el pedazo donde se aplica un formato.

Un entorno superimportante es el entorno document, ahí dentro irá el contenido de nuestro documento. Todo lo que va entre la definición de documento (\documentclass) y el inicio del entorno document se conoce como preámbulo y es donde se cargan paquetes (\usepackage), se definen comandos y se establecen opciones.

Nuestro primer documento

Ahora que sabemos cómo es un documento vamos a empezar a escribir uno. El documento más básico que podemos hacer es este:

\documentclass{article}

\begin{document}
    Hola
\end{document}

Esto podemos compilarlo con el botoncillo de compilar de nuestro IDE, en la terminal o con Pandoc.

Para compilar en la terminal haríamos (imaginemos que nuestro documento se llama hola.tex):

pdflatex hola.tex

Evidentemente podéis compilar también con xelatex de manera equivalente. Si quisiéramos utilizar Pandoc tendríamos que hacer lo siguiente:

pandoc hola.tex -o hola.pdf

En los tres casos el resultado es el mismo excepto porque Pandoc no nos deja archivos auxiliares por ahí bailando.

¡Ya hemos escrito un documento! Debo reconocer que no es un documento demasiado interesante, para hacer algo más chulo tenemos que aprender un poco más de sintaxis.

Un poco de sintaxis

Para poder escribir un documento un poco más interesante tenemos que aprendernos unos pocos comandos, hoy os voy a hablar de algunos sencillos para que le vayáis cogiendo el truco, en las siguientes entregas entraremos más en detalle.

Antes de nada una cosa, aun no hemos aprendido a establecer las opciones de idioma y por lo tanto tendremos problemas en los idiomas con acentos. Si queréis poneros a jugar ya, ponedme esto en el preámbulo, justo debajo de \documentclass:

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

Hablo de ello más en detalle en A vueltas con el idioma.

Título, capítulos y secciones

Una cosa importante de LaTeX es que nos desacopla el contenido del documento de su formato. Con esto quiero decir que nosotros le diremos cuál es el título del documento y dónde comienzan las secciones y él les dará el formato correspondiente según el tipo de documento y las opciones que hayamos establecido previamente.

Pongamos por ejemplo los tipos de documento article y book. Como su nombre indica, el primero se utiliza para escribir artículos y el segundo libros. Como LaTeX es muy listo, cuando le digamos que escriba el título, para el caso del artículo nos lo escribirá en la parte superior de la página con el texto debajo, pero para el caso del libro nos creará una portada. Para ambos casos la sintaxis es exactamente la misma:

\documentclass{article} % O book

% Definimos el título
\title{Título del documento}

\begin{document}
    \maketitle % Creamos el título
\end{document}

Del mismo modo, nosotros solo le tenemos que decir el título de la sección o el capítulo y él le dará el formato correspondiente. Otra diferencia entre las clases article y book es que article no tiene capítulos, como es lógico.

Para definir capítulos y secciones utilizamos los comandos \chapter y \section en el cuerpo del documento, es decir, después de \begin{document}. Por ejemplo:

\chapter{Capítulo numerado}
\section{Primera sección}
\subsection{Primera subsección}

\chapter*{Capítulo sin numerar}
\section*{Sección sin numerar}

Como veis, podemos usar los comandos de sección y capítulo con el asterisco para que no nos las numere. Otra cosa interesante es el grado de anidación, tenemos secciones, subsecciones, subsubsecciones, párrafos (\paragraph) y subpárrafos (\subparagraph), cada uno con su formato definido. La clase bookLa clase book no es la única que tiene partes y tal, pero de momento así nos vale. también tiene por encima de las secciones, capítulos y partes (\part). Más adelante aprenderemos a personalizar todos estos formatos porque si hay algo bueno que tiene LaTeX es que nos deja cambiar absolutamente todo y con relativa facilidad (gracias a StackExchange, especialmente).

Listas

Si sois como yo os gustará especialmente este apartado: las listas. LaTeX tiene dos tipos de listas: las numeradas y las sin numerar. Son respectivamente los entornos enumerate e itemize. Se usan exactamente igual, así que solo pongo el ejemplo de uno de ellos:

\begin{itemize}
    \item Primer ítem
    \item Segundo ítem
\end{itemize}

Lo mejor es que podemos mezclar y anidar estos dos entornos que el simbolito y la indentación cambiarán solos sin que nos tengamos que preocupar. Por ejemplo,

\begin{enumerate}
    \item Primer ítem
    \item Segundo ítem con subítems
    \begin{itemize}
        \item Ítem sin numerar
    \end{itemize}
    \item Tercer ítem
\end{enumerate}

Quedará así:


  1. Primer ítem
  2. Segundo ítem con subítems
    • Ítem sin numerar
  3. Tercer ítem

Imágenes

Hoy solo vamos a ver como colocar una única imagen, que lo de las imágenes tiene un poco de lío. Lo que debemos saber es lo siguiente:

Aquí tenemos un ejemplo de cómo insertar una imagen con en el entorno figure:

\begin{figure}[h] % opción de posicionamiento
    \caption{Pie de imagen}
    \centering % imagen centrada
    % Imagen 50% de ancho del texto
    \includegraphics[width=0.5\textwidth]{ruta_a_la_imagen}
\end{figure}

Una cosa importante de LaTeX son los objetos flotantes, es decir, los que si no les obligamos, se colocan en el hueco que mejor les venga del documento. Esto es lo que nos ocurre con las imágenes al usar el entorno figure. Nos ayuda a que no haya huecos chungos en el documento pero a veces junta todas las imágenes en una misma página o al final del documento. Para evitar esto tenemos las opciones de posicionamiento, de las que hablaremos cuando profundicemos en las imágenes.

Tablas

Para mí las tablas son lo peor de todo LaTeX. Son la cosa menos amigable que se puede echar uno a la cara. Con un IDE la cosa mejora, pero imaginaros cómo será el tema que la mitad de las veces las creo online aquí y luego pego el resultado.

Lo que debemos de saber de las tablas es lo siguiente:

Aquí tenemos un ejemplo de tabla sencilla:

\begin{table}
    \begin{tabular}{|ll|}
      \hline % Separador
      Columna 1 & Columna 2 \\
      1         & 2         \\
      3         & 4         \\
      \hline
    \end{tabular}
    \caption {Pie de tabla}
\end{table}

Al igual que con la imágenes, profundizaremos en las tablas más adelante.

Ecuaciones

Las ecuaciones son la razón por la que mucha gente se pasa a LaTeX. Son muy cucas y escribirlas, una vez cogido el callo, no es un infierno (de nuevo, ¡hola, Word!). Pero no nos vamos a engañar, al principio es muerte y destrucción. Hay dos tipos de ecuaciones en LaTeX: las que van dentro de la línea y las que tienen línea propia. Las primeras van entre signos de dólar y las segundas dentro del entorno equation. Aquí tenemos un ejemplo:

Imaginemos que $a=1$ en la siguiente ecuación:
\begin{equation}
    ax^2 + 1 = 0
\end{equation}

Del mismo modo que ocurría con las secciones, si utilizamos el asterisco la ecuación no estará numerada.

El lío con las ecuaciones es que todo se define con comandos, por ejemplo, \frac{numerador}{denominador} se usa para escribir una fracción y \omega para la letra griega omega. Los que uséis un IDE lo tenéis más fácil porque suelen tener una barrita con los símbolos más usados, a los demás les tocará investigar.

También tenemos otras herramientas que nos pueden ayudar a escribir ecuaciones:

Las ecuaciones se merecen una entrada propia y la tendrán.

Bonus: opción Markdown

Si tenemos instalado Pandoc todo lo que hemos explicado aquí podemos conseguirlo escribiendo en Markdown (sabor Pandoc) y convirtiendo a pdf. Por ejemplo, podemos meter una imagen como:

![Pie de imagen](/ruta){width=0.7 #etiqueta}

Referencias

LaTeX/Document Structure en Wikibooks

Environments en ShareLaTeX

Latex Standard Environments

LaTeX documentclass options illustrated

Sections and chapters en ShareLaTeX

LaTeX/Tables en Wikibooks

Inserting images en ShareLaTeX

The Comprehensive LaTeX Symbol List

Short Math Guide for LaTeX

Anterior: Qué necesito, Siguiente: Insertando figuras [Contenido]