# Manual de LaTeX/Introducción a la creación de proyectos en LaTeX

Durante esta guía hemos visto lo que es posible hacer y cómo se puede lograr, pero la pregunta es: quiero escribir un texto adecuado con LaTeX, ¿qué hacer entonces? ¿Por dónde debo empezar? Esta es una breve guía paso a paso sobre cómo iniciar un documento correctamente, manteniendo una buena estructura de alto nivel. Se trata de organizar sus archivos utilizando las capacidades modulares de LaTeX. De esta forma será muy fácil realizar modificaciones incluso cuando el documento esté casi terminado. Todas estas son solo sugerencias, pero puede inspirarse en ellas para crear su propio documento.

## Estructura del Proyecto

Cree una estructura clara de todo el proyecto de esta manera (estas es además una buena practica para mantener un proyecto organizado):
* cree un directorio solo para el proyecto. Nos referiremos a eso en las siguientes partes como directorio raíz.
* cree otros dos directorios dentro de la raíz, uno para documentos LaTeX, el otro para imágenes. Dado que tendrá que escribir su nombre con bastante frecuencia, elija nombres cortos. Una sugerencia sería simplemente tex e img.
* cree su documento (lo llamaremos document.tex, pero puede usar el nombre que prefiera) y su propio paquete (por ejemplo, mystyle.sty); este segundo archivo le ayudará a mantener el código más limpio.
Si siguió todos esos pasos, estos archivos deberían estar en su directorio raíz, usando "/" para cada directorio:

## Hacer que LaTeX procese varios archivos

A medida que crece su trabajo, su archivo LaTeX puede volverse difícil de manejar y confuso, especialmente si está escribiendo un artículo largo con secciones discretas y sustanciales o un libro completo. En tales casos, es una buena práctica dividir su trabajo en varios archivos. Por ejemplo, si está escribiendo un libro, tiene mucho sentido escribir cada capítulo en un archivo .tex separado. LaTeX lo hace muy fácil gracias a dos comandos:
y

## Comparando ambos métodos: \input o \include

Las diferencias entre estas dos formas de incluir archivos se explican a continuación. Lo que tienen en común es que procesan el contenido de filename.tex antes de continuar con el resto del archivo base (el archivo que contiene estas declaraciones). Cuando el compilador procesa su archivo base y llega a uno de los comandos \input o \include, lee filename.tex y procesa su contenido de acuerdo con los comandos de formato especificados en el archivo base. De esta manera, puede poner todas las opciones de formato en su archivo base y escribir el contenido usando \input o \include en los archivos que contienen la contenido de su trabajo. Esto significa que la parte importante de su proceso de trabajo, es decir, la escritura, se mantiene en gran medida separada de las opciones de formato. ¡Esta es una de las principales razones por las que LaTeX es tan bueno para escribir en serio! Por lo tanto, tratará únicamente con texto y comandos muy básicos como \section, \ emph, etc. Su documento estará ordenado y será mucho más fácil de trabajar.
El segundo método para incluir un archivo, \include{filename}, difiere del primero en algunas formas importantes. No puede anidar declaraciones con \include dentro de un archivo agregado a través de \include, mientras que \input le permite llamar archivos que ellos mismos llaman otros archivos, ad infinitum (bueno, casi!). Sin embargo, puede usar \include en un archivo que contenga uno o más comandos \input. Resista la tentación de anidar archivos de esta manera simplemente porque el sistema puede hacerlo: ¡terminará con otro tipo de complejidad!
Otra diferencia importante es que usar \include forzará un salto de página (lo que lo hace ideal para los capítulos de un libro), mientras que el comando \input no lo hace (lo que a su vez lo hace ideal para su uso dentro de un artículo largo con secciones discretas, que por lo general no usan salto de página por sección).
En el caso de \input, la extensión del nombre de archivo .tex es opcional. Sin embargo, cuando se usa \include, se debe evitar la extensión, de lo contrario, el proyecto no compilará el archivo adicional.
Trabajar en partes discretas de sus documentos tiene consecuencias sobre cómo se compila el archivo base; estos se tratarán a continuación.

## Usando differentes directorios

Cuando el compilador LaTeX encuentra una referencia a un archivo externo en el archivo base, lo buscará en el mismo directorio. Sin embargo, en principio, puede hacer referencia a cualquier archivo de su sistema, utilizando directorios absolutos y relativos.
Un directorio absoluto es un directorio completo y un nombre de archivo con cada elemento especificado. Entonces, filename.tex podría tener el directorio completo,
Si hubiera creado el directorio myfiles para su proyecto de escritura, en su directorio texfiles, la dirección completa sería,
Obviamente, usar directorios absolutos es ineficaz si se refiere a un archivo en el directorio actual. Sin embargo, si necesita incluir un archivo que siempre se guarda en un lugar específico de su sistema, puede referirse a él con una ruta absoluta, por ejemplo,
En la práctica, generalmente se usa una ruta de archivo absoluta cuando uno tiene que hacer referencia a un archivo que está bastante lejos en el sistema de archivos (¡o quizás incluso en un servidor diferente!). Una advertencia: no deje espacios vacíos en los nombres de archivo, pueden causar un comportamiento ambiguo. No deje espacios o utilice guiones bajos _ en su lugar.
Sin embargo, es posible que deba hacer que su directorio sea portátil (a otra computadora o a una ubicación diferente de su disco duro), en cuyo caso deben usarse rutas "relativas" si desea evitar la reescritura innecesaria de los nombres de las rutas. O una ruta relativa puede ser simplemente una forma más eficiente y elegante de referirse a un archivo. Una ruta relativa es aquella que se define en relación con el directorio actual, en nuestro caso el que contiene el archivo base. LaTeX usa la notación estándar de UNIX: con un simple punto .Te refieres al directorio actual, y con dos puntos .. te refieres al directorio anterior, que es el que está arriba del directorio actual en el árbol del sistema de archivos. La barra / se utiliza para separar los diferentes componentes de un nombre de ruta: directorios y nombres de archivo. Entonces por ./ te refieres al directorio actual, por ../ te refieres al directorio anterior, por ../../ te refieres a un directorio que está dos pasos hacia arriba en el árbol del sistema de archivos. Escribiendo
tiene el efecto exactamente igual que escribir
pero si le resulta más conveniente poner todos sus archivos en un subdirectorio de su directorio actual, llamado myfiles, se referirá a ese archivo especificando
De hecho, en nuestro ejemplo de la ruta absoluta anterior, también podría hacer referencia a ese archivo relativamente:
Por supuesto, todos los sistemas de archivos de uso común (Linux, Mac OS X y Windows) también cuentan con la función UNIX ./, ../ descrita anteriormente. Sin embargo, tenga en cuenta que LaTeX usa barras diagonales / incluso en plataformas Microsoft Windows, que usan barras diagonales invertidas \ en los nombres de ruta. Las implementaciones de LaTeX para sistemas Windows realizan esta conversión por usted, lo que asegura que su documento será válido en todas las instalaciones.
Esta flexibilidad, inherente a la forma en que LaTeX se integra con los sistemas de archivos modernos, le permite ingresar archivos de una manera que se adapte a su configuración particular.
Cuando utilice directorios relativos dentro de un archivo LaTeX importado por \input o \include, es importante tener en cuenta que las rutas son relativas al directorio en el que se encuentra el archivo .tex principal, no en el directorio en el que se encuentra el archivo incluido (o de entrada). Es probable que esto sea un problema si usa una carpeta por capítulo, con las figuras en la carpeta de cada capítulo, y usa \include para leer la fuente del capítulo en un archivo LaTeX principal en una carpeta principal. Este problema se puede resolver utilizando el paquete import (ver más abajo). Este paquete agrega el comando \subimport, que permite importar archivos relacionados con el archivo donde se encuentra el comando.