Material de portada/contraportada

Tabla de contenido, lista de figuras, lista de tablas
Sinopsis, una de:

\tableofcontents
\listoffigures
\listoftables

Produce una tabla de contenido, o una lista de figuras, o una lista de tablas. Pon el comando en el archivo de entrada donde deseas que se coloque la tabla o la lista. No escribas las entradas; por ejemplo, normalmente las entradas de la tabla de contenido se genera automáticamente a partir de los comandos de seccionado \chapter, etc.
Este ejemplo ilustra el primer comando, \tableofcontents. LaTeX producirá una tabla de contenido en la primera página del libro.

\documentclass{book}
% \setcounter{tocdepth}{1}
\begin{document}
\tableofcontents\newpage
  ...
\chapter{...}
  ...
\section{...}
  ...
\subsection{...}
  ...
\end{document}

Descomentar la segunda línea haría que esa tabla contuviera los listados de capítulos y secciones, pero no listados de subsecciones, porque el comando \section tiene nivel 1. Véase Seccionado, para nivel números de las unidades de corte. Para obtener más información sobre el tocdepth véase Seccionado/tocdepth.
Otro ejemplo del uso de \tableofcontents está en Plantilla de libro Larger.
Si deseas un salto de página después de la tabla de contenido, escribe un comando \newpage después del comando \tableofcontents, como arriba.
Para hacer la tabla de contenido, LaTeX almacena la información en un archivo auxiliar llamado root-file.toc (véase Dividir la entrada). Por ejemplo, este archivo LaTeX test.tex

\documentclass{article}
\begin{document}
\tableofcontents\newpage
\section{Primera sección}
\subsection{Primera subsección}
  ...

escribe estas líneas en test.toc.

\contentsline {section}{\numberline {1}Primera sección}{2}
\contentsline        {subsection}{\numberline        {1.1}Primera
                       subsección}{2}

Cada línea contiene un solo comando, \contentsline (véase \contentsline). El primer argumento, el section o subsection, es la unidad de seccionamiento. El segundo argumento tiene dos componentes. El gancho \numberline determina cómo el número de sección, 1 o 1.1, aparece en la tabla de contenido (véase \numberline). El resto del segundo argumento de \contentsline, ‘Primera sección’ o ‘Primera subsección’, es el texto del título de la sección. Finalmente, el tercer argumento, ‘2’, es el número de página en el que comienza esta unidad de seccionado.
Para componer estas líneas, la clase “document” proporciona \l@section-unit comandos como \l@section{text}{pagenumber} y \l@subsection{text}{pagenumber}. Estos comandos a menudo usan el comando \@dottedtocline (véase \@dottedtocline).
Una consecuencia de la estrategia de LaTeX de usar archivos auxiliares es que para obtener la información correcta en el documento debes ejecutar LaTeX dos veces, una vez para almacenar la información y la segunda vez para recuperarla. En el curso normal de escribir un documento los autores ejecutan LaTeX un número de veces, pero puedes notar que la primera vez que compilas un nuevo documento, la página de la tabla de contenido estará vacía excepto por su encabezado ‘Contenido’. Simplemente ejecuta LaTeX de nuevo.
Los comandos \listoffigures y \listoftables producen un lista de figuras y lista de tablas. Su información se almacena en archivos con extensión .lof y .lot. Funcionan de la misma manera como \tableofcontents pero este último es más común, así que lo usamos para la mayoría de los ejemplos.
Puede agregar material manualmente a la tabla de contenido, la lista de figuras y la lista de tablas. Por ejemplo, agrega una línea sobre un sección a la tabla de contenido con \addcontentsline{toc}{section}{text}. (véase \addcontentsline). Agregar material arbitrario, es decir, sin línea material, con \addtocontents, como con el comando \addtocontents{lof}{\protect\vspace{2ex}}, que agrega espacio vertical a la lista de figuras (véase \addtocontents).
Líneas en la tabla de contenido, la lista de figuras y la lista de tablas, tienen cuatro partes. Primero es una sangría. A continuación hay una caja en la que se colocan números de seccionado, y luego el tercer recuadro contiene el título del texto, como ‘Primera sección’. Finalmente hay una caja contra el margen derecho, dentro de la cual LaTeX pone el cuadro del número de página. Para la sangría y el ancho del cuadro numérico, véase \@dottedtocline. El cuadro del margen derecho tiene ancho \@tocrmarg y el número de página está justo en ese espacio, dentro de un cuadro de ancho \@pnumwidth. De manera predeterminada \@tocrmarg es 2.55em y \@pnumwidth es 1.55em. Cámbialos como con \renewcommand{\@tocrmarg}{3.5em}.
CTAN tiene muchos paquetes para la tabla de contenido y listas de figuras y tablas (véase CTAN). El paquete tocloft es conveniente para ajustar algunos aspectos del valor predeterminado, como el espaciado. Y, tocbibbind agregará automáticamente la bibliografía, índice, etc. a la tabla de contenido.
Para cambiar el encabezado de la página de la tabla de contenido, haz algo como estos comandos antes de llamar a \tableofcontents, etc.

\renewcommand{\contentsname}{Tabla de contenido}
\renewcommand{\listfigurename}{Traza}
\renewcommand{\listtablename}{especificaciones}

Paquetes de internacionalización como babel o polyglossia cambiará estos encabezados según el idioma base elegido.

\@dottedtocline
Sinopsis:

\@dottedtocline{section-level-num}{indent}{numwidth}{text}{pagenumber}

Usado internamente por LaTeX para formatear una línea de entrada en la tabla de contenido, lista de figuras o lista de tablas. Los autores no ingresan directamente los comandos \@dottedtocline.
Este comando suele utilizarlo \l@section, \l@subsection, etc., para dar formato a las líneas de contenido. Por ejemplo, el archivo article.cls contiene estas definiciones:

\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}

En este ejemplo, \@dottedcline parece haber recibido solo tres argumentos. Pero rastrear el código interno muestra que recoge los argumentos finales text y pagenumber en la sinopsis desde una llamada a \contentsline (véase \contentsline).
Entre el cuadro para el texto del título de una sección y el cuadro del margen derecho, estos comandos \@dottedtocline insertan líderes punteados, es decir, puntos espaciados uniformemente El espacio de punto a punto viene dado por el comando \@dotsep. De manera predeterminada es 4.5 (está en unidades matemáticas, también conocido como mu, que son 1/18 em. Cámbialo usando \renewcommand, como en \renewcommand{\@dotsep}{3.5}.
En la clase book estándar, LaTeX no usa líderes punteados para las entradas de la tabla Part y Chapter, y en la clase article estándar no usa líderes punteados para las entradas de la sección.

\addcontentsline
Sinopsis:

\addcontentsline{ext}{unit}{text}

Agrega una entrada al archivo auxiliar con extensión ext.
Lo siguiente resultará en una línea ‘Apéndices’ en la tabla de contenido.

\addcontentsline{toc}{section}{\protect\textbf{Apéndices}}

Aparecerá al mismo nivel de sangría que las secciones, estará en negrita, y se le asignará el número de página asociado con el punto donde aparece el comando en el archivo de entrada.
El comando \addcontentsline escribe información en el archivo root-name.ext, donde root-name es el nombre del archivo raíz (véase Dividir la entrada). Escribe que información como el texto del comando \contentsline{unit}{text}{num}, dónde num es el valor actual del contador unit (véase \contentsline). El caso más común es la tabla de contenido y allí num es el número de página de la primera página de unit.
Este comando es invocado por los comandos de seccionado \chapter, etc. (véase Seccionado), y también por \caption dentro de un entorno flotante (véase Flotantes). Pero también lo utilizan directamente los autores. Por ejemplo, un autor que escribe un libro cuyo estilo es tener un prefacio sin numerar puede usar el \chapter* con asterisco. Pero ese comando omite la información de la tabla de contenido, que se puede ingresar manualmente, como aquí.

\chapter*{Preface}
\addcontentsline{toc}{chapter}{\protect\numberline{}Prefacio}

En el archivo root-name.toc LaTeX pondrá la línea \contentsline {chapter}{\numberline {}Prefacio}{3}; nota que el número de página ‘3’ es generado automáticamente por el sistema, no ingresado manualmente.
Todos los argumentos para \addcontentsline son obligatorios.
ext 	Por lo general, una de las cadenas toc para la tabla de contenido, lof para la lista de figuras, o lot para la lista de tablas. La extensión del nombre de archivo del archivo de información.
unit 	Una cadena que depende del valor del argumento ext, normalmente una de:
toc 	Para la tabla de contenido, este es el nombre de una unidad seccional: part, chapter, section, subsection, etc.
lof 	Para la lista de figuras: figure.
lot 	Para la lista de tablas: table.
text 	El texto de la entrada. Debes \protect cualquier comando frágil (véase \protect) utilizado en él.
El comando \addcontentsline tiene una interacción con \include (véase \include e \includeonly). Si los usas en el mismo nivel, como con \addcontentsline{...}{...}{...}\include{...} entonces las líneas en la tabla de contenido pueden aparecer en el orden incorrecto. La solución es mover \addcontentsline al archivo que se incluye.
Si usas una unidad que LaTeX no reconoce, como con el error tipográfico aquí

\addcontentsline{toc}{section}{\protect\textbf{Apéndices}}

entonces no obtienes un error sino que el formato en la tabla de contenido no tendrá sentido.

\addtocontents
Sinopsis:

\addtocontents{ext}{text}

Agrega text, que puede ser texto o comandos de formato, directamente a el archivo auxiliar con extensión ext. Este es el más utilizado para la tabla de contenido, así que esa es la discusión aquí, pero también se aplica a la lista de figuras y la lista de tablas.
Esto pondrá un espacio vertical en la tabla de contenido después del encabezado ‘Contenido’.

\tableofcontents\newpage
\addtocontents{toc}{\protect\vspace*{3ex}}

Esto pone la palabra ‘Página’, en negrita, encima de la columna del número de página y después del encabezado.

\tableofcontents
\addtocontents{toc}{~\hfill\textbf{Página}\par}
\chapter{...}

Esto agrega una línea que anuncia el trabajo de un nuevo autor.

\addtocontents{toc}{%
  \protect\vspace{2ex}
  \textbf{Capítulos de N. Otro autor}\par}

La diferencia entre \addtocontents y \addcontentsline es que este último es estrictamente para líneas, como con una línea que da el número de página para el comienzo de un nuevo subconjunto de capítulos. Como muestran los ejemplos anteriores, \addtocontents es para material como el espaciado.
El comando \addtocontents tiene dos argumentos. Ambos son requeridos.
ext 	Por lo general, uno de: toc para la tabla de contenido, lof para la lista de figuras, o lot para la lista de tablas. La extensión del archivo contiene la información.
text 	El texto, y posiblemente los comandos, que se van a escribir.
Los comandos de seccionado como \chapter usan el comando \addcontentsline para almacenar información. Este comando crea líneas en el archivo auxiliar .toc que contiene el comando \contentsline (véase \addcontentsline). A diferencia de el comando \addtocontents coloca el material directamente en ese archivo.
El comando \addtocontents tiene una interacción con \include (véase \include e \includeonly). Si los usas en el mismo nivel, como con \addtocontents{...}{...}\include{...} entonces las líneas en la tabla de contenido pueden aparecer en el orden incorrecto. La solución es mover \addtocontents al archivo que se incluye.

\contentsline
Sinopsis:

\contentsline{unit}{text}{pagenumber}

Utilizado internamente por LaTeX para componer una entrada de la tabla de contenido, lista de figuras o lista de tablas (véase Tabla de contenido etc.). Los autores no ingresan directamente los comandos \contentsline.
Por lo general, la adición de material a estas listas la realizan automáticamente los comandos \chapter, \section, etc. para la tabla de contenido, o por el comando \caption dentro de un entorno \figure o \table (véase figure y véase table). De este modo, donde el archivo raíz es thesis.tex y contiene la declaración \tableofcontents, el comando \chapter{Capítulo Uno} produce algo como esto en el archivo thesis.toc.

\contentsline {chapter}{\numberline {1}Capítulo uno}{3}

Si el archivo contiene la declaración \listoffigures entonces un entorno figure que involucra \caption{Test} producirá algo como esto en thesis.lof.

\contentsline      {figure}{\numberline      {1.1}{\ignorespaces
Test}}{6}

Para agregar material manualmente, usa \addcontentsline{filetype}{unit}{text}, donde filetype es toc, lof o lot (véase \addcontentsline).
Para manipular cómo se escribe el material \contentline, consulta el paquete tocloft.
Ten en cuenta que el paquete hyperref cambia la definición de \contentsline (y \addcontentsline) para agregar más argumentos, para hacer hipervínculos. Esta es la fuente del error El argumento de \contentsline tiene una } adicional cuando se agrega/elimina el uso del paquete hyperref y ya se ejecutó una compilación. Soluciona este error eliminando el archivo .toc o .lof o .lot y ejecutando LaTeX de nuevo.

\nofiles
Sinopsis:

\nofiles

Evita que LaTeX escriba archivos auxiliares. La única salida serán los archivos .log y .pdf (o .dvi). Este comando debe ir en el preámbulo.
Debido al comando \nofiles este ejemplo no producirá un archivo .toc.

\documentclass{book}
\nofiles
\begin{document}
\tableofcontents\newpage
\chapter{...}
  ...

LaTeX no borrará ningún archivo auxiliar existente, por lo que si insertas el comando \nofiles después de ejecutar el archivo y obtener un .toc entonces la página de la tabla de contenido seguirá mostrando la información antigua.

\numberline
Sinopsis:

\numberline{number}

Escribe su argumento alineado a la izquierda en un cuadro. Esto se usa en un comando \contentsline para escribir el número de sección (véase \contentsline).
Por ejemplo, esta línea en un .toc hace que el 1.1 sea composición tipográfica a la izquierda.

\contentsline {subsection}{\numberline {1.1}Motivación}{2}

De forma predeterminada, LaTeX escribe los números de sección en un cuadro de longitud \@tempdima. Esa longitud la establecen los comandos \l@section, \l@subsection, etc. Poner números de sección dentro de una caja de ancho natural con \renewcommand{\numberline}[1]{#1~} antes de \tableofcontents.
Este comando es frágil, por lo que es posible que debas precederlo con \protect (véase \protect). Un ejemplo es el uso de \protect en este comando,

\addcontentsline{toc}{section}{\protect\numberline{}Resumen}

para obtener el \numberline en el comando \contentsline en el archivo .toc: \contentsline {section}{\numberline {}Resumen}{6} (LaTeX agrega automáticamente el número de página ‘6’; véase \addcontentsline).

Índices
Si le dices a LaTeX qué términos quieres que aparezcan en un índice, entonces puede producir ese índice, en orden alfabético y con los números de página mantenidos automáticamente. Esto ilustra los conceptos básicos.

\documentclass{article}
\usepackage{makeidx}  % Proporcionar comandos de indexación
  \makeindex
% \usepackage{showidx}  % Muestra notas al margen de las entradas
                          % del índice
  ...
\begin{document}
  ...
Teorema de Wilson\index{Teorema de Wilson}
dice que un número $n>1$ es primo si y solo si el factorial
de $n-1$ es congruente con $-1$
modulo~$n$.\index{congruencia!y el Teorema de Wilson}
   ...
\printindex
\end{document}

Como muestra, declara las entradas de índice con el comando \index (véase \index). Cuando ejecutas LaTeX, \index escribe su información, como ‘Teorema de Wilson’ y el número de página, a un archivo auxiliar cuyo nombre termina en .idx. A continuación, alfabetiza y hace otras manipulaciones, como ejecutar un comando externo, normalmente makeindex (véase makeindex), que escribe un archivo cuyo nombre termina en .ind. Finalmente, \printindex trae esta información manipulada en la salida (véase \printindex).
Por lo tanto, si el ejemplo anterior está en el archivo numth.tex entonces ejecutar ‘pdflatex numth’ guardará la entrada de índice y la información del número de página a numth.idx. Luego ejecutar ‘makeindex numth’ ordena alfabéticamente y guarda los resultados en numth.ind. Finalmente, ejecutar de nuevo ‘pdflatex numth’ mostrará el índice deseado, en el lugar donde está el comando \printindex en el archivo fuente.
Hay muchas opciones para la salida. Un ejemplo es que el signo de exclamación en \index{congruencia!y teorema de Wilson} produce una entrada principal de ‘congruencia’ con una subentrada de ‘y Teorema de Wilson’. Para obtener más información, véase makeindex.
Los comandos \makeindex y \printindex son independientes. Omitir el \makeindex evitará que LaTeX guarde las entradas de índice al archivo auxiliar. Omitir el \printindex hará que LaTeX no muestre el índice en la salida del documento.
Hay muchos paquetes en el área de indexación. El paquete showidx hace que cada entrada de índice se muestre en el margen de la página donde aparece el \index. Esto puede ayudar en la preparación del índice. El paquete multind, entre otros, admite múltiples índices. Consulta también la entrada de preguntas frecuentes de TeX sobre este tema, https://www.texfaq.org/FAQ-multind, y el tema de CTAN, https://ctan.org/topic/index-multi.

Producir el índice manualmente
Los documentos que son pequeños y estáticos pueden tener un índice producido manualmente. Esto creará una página separada etiquetada como ‘Index’, en formato de dos columnas.

\begin{theindex}
\item acorn squash, 1
\subitem maple estufado, 2
\indexspace
\item bacon, 3
\subitem maple estufado, 4
\end{theindex}

Ten en cuenta que el autor debe ingresar los números de página, lo cual es tedioso y que dará como resultado números incorrectos si el documento cambia. Esta es la razón por lo que en la mayoría de los casos, los métodos automatizados como makeindex son los mejores. Véase Índices.
Sin embargo, cubrimos los comandos para completado, y porque los métodos automatizados se basan en estos comandos. Hay tres niveles de entradas. Cómo muestra el ejemplo, una entrada principal usa \item, las subentradas usan \subitem, y el nivel más bajo usa \subsubitem. Las líneas en blanco entre entradas no tienen efecto. El ejemplo anterior incluye \indexspace para producir espacio vertical en la salida que usa algunos estilos de índice antes de que comience la primera entrada con una nueva letra.

\index
Sinopsis:

\index{index-entry-string}

Declara una entrada en el índice. Este comando es frágil (véase \protect).
Por ejemplo, como se describe en Índices, una forma de obtener un índice de lo que sigue es compilar el documento con pdflatex test, entonces procesar las entradas del índice con makeindex test y luego compilar de nuevo con pdflatex test.

% file test.tex
  ...
W~Ackermann (1896--1962).\index{Ackermann}
  ...
Ackermann function\index{Ackermann!function}
  ...
rate of growth\index{Ackermann!function!growth rate}

Las tres entradas de índice obtendrán un número de página, como ‘Ackermann, 22’. LaTeX formateará el segundo como un subelemento del primero, en la línea debajo de ella y con sangría, y la tercera como subelemento de la segunda. Tres niveles de profundidad es lo máximo que puede anidar subentradas. (Si agregas \index{Ackermann!function!growth rate!comparison} entonces makeindex dice ‘Escaneando archivo de entrada test.idx....hecho (4 entradas aceptadas, 1 rechazada)’ y el cuarto nivel del índice falla silenciosamente).
Si ingresas un segundo \index con el mismo index-entry-string, obtendrás una sola entrada de índice con dos números de página (a menos que caigan en la misma página). De este modo, agregar como por Ackermann.\index{Ackermann} más tarde en el mismo documento como el anterior dará una entrada de índice como ‘Ackermann, 22, 151’. Además, puedes introducir las entradas del índice en cualquier orden, por lo que la instancia \index{Ackermann!function} podría venir antes de \index{Ackermann}.
Obtiene un rango de páginas en la salida, como ‘Hilbert, 23--27’, como aquí.

W~Ackermann (1896--1962).\index{Ackermann}
  ...
D~Hilbert (1862--1943)\index{Ackermann!Hilbert|(}
  ...
Desaprobado de su matrimonio.\index{Ackermann!Hilbert|)}

Si el comienzo y el final del rango de páginas son iguales, entonces el sistema solo da un único número de página, no un rango.
Si indexas subentradas pero no una entrada principal, como con \index{Jones!program} e \index{Jones!results}, entonces el resultado es el elemento ‘Jones’ sin coma ni número de página, seguido de dos subelementos, como ‘programa, 50’ y ‘resultados, 51’.
Genera una entrada de índice que diga ‘ve’ usando un carácter de barra vertical: \index{Ackermann!function|see{P\'eter's function}}. En su lugar, puedes obtener ‘ve también’ con seealso. (El texto ‘ve’ está definido por \seename y ‘ve también’ por \alsoname. Los puedes redefinir utilizando un paquete de internacionalización como babel o polyglossia, o directamente como con \renewcommand{\alsoname}{Ve también}).
La característica ‘see’ es parte de una funcionalidad más general. Después de la barra vertical puedes poner el nombre de un comando de una sola entrada, como en \index{group|textit} (ten en cuenta la barra invertida que falta en el comando \textit) y el sistema aplicará ese comando al número de página, aquí dando algo como \textit{7}. Puedes definir tus propios comandos de una sola entrada, como \newcommand{\definedpage}[1]{{\color{blue}#1}} y entonces \index{Ackermann!function|definedpage} dará un número de página azul (véase Color). Otro ejemplo, menos práctico, es este,

\newcommand\indexownpage[1]{#1, \thepage}
  ... Epimenides.\index{self-reference|indexownpage}

que crea una entrada citando el número de página de su propia lista de índice.
Las dos funciones recién descritas se combinan, como aquí

\index{Ackermann!function|(definedpage}
  ...
\index{Ackermann!function|)}

que genera una entrada de índice como ‘function, 23--27’ donde los números del rango de páginas están en azul.
Considera una entrada de índice como ‘α-ring’. Entrado como $\alpha$-ring hará que se ordene alfabéticamente según el signo de dolar. En su lugar, lo puedes ingresar usando un signo de arroba, como \index{alpha-ring@$\alpha$-ring}. Si especificas una entrada con un signo de arroba que separa dos cadenas, pos@text, entonces pos da la posición alfabética de la entrada mientras text produce el texto de la entrada. Otro ejemplo es que \index{Saint Michael's College@SMC} produce una entrada de índice ‘SMC’ en orden alfabético en una ubicación diferente a su ortografía lo daría naturalmente.
Para poner un carácter !, @, | o " en una entrada de índice, escápala precediéndola con una comilla doble, ". (Las comillas dobles se eliminan antes de la alfabetización).
Varios paquetes en CTAN tienen funcionalidad adicional más allá de eso proporcionada por makeidx. Uno es index, que permite múltiples índices y contiene un comando \index*{index-entry-string} que imprime el index-entry-string además de indexarlo.
El comando \index escribe la información de indexación en el archivo root-name.idx. Específicamente, escribe texto del comando \indexentry{index-entry-string}{page-num}, donde page-num es el valor del contador \thepage. Alguna ocasión, cuando el comando \printindex se confunde, debes eliminar este archivo para comenzar con una pizarra nueva.
Si omites la llave de cierre de un comando \index entonces obtienes un mensaje como este.

¿Argumento fugitivo?  {Ackermann!function
!  ! El párrafo terminó antes de que \@wrindex se completara.

makeindex
Sinopsis, una de:

makeindex filename
makeindex -s style-file filename
makeindex options filename0 ...

Ordenar y procesar la información del índice en el archivo auxiliar filename. Este es un programa de línea de comandos. Se necesita uno o más archivos de índice sin procesar, archivos filename.idx y produce el archivo de índice real, el archivo filename.ind que ingresa \printindex (véase \printindex).
La primera forma del comando es suficiente para muchos usos, La segunda permite formatear el índice usando un archivo de estilo de índice, un archivo .isty. La tercera forma es la más general; ve la documentación completa en CTAN.
Este es un simple archivo .isty.

% book.isty
%   $ makeindex -s book.isty -p odd book.idx
% crea el índice como book.ind, comenzando en una página impar.
preamble
"\\pagestyle{empty}
\\small
\\begin{theindex}
\\thispagestyle{empty}"

postamble
"\n
\\end{theindex}"

La descripción aquí cubre solo algunos de los posibles formatos de índice en style-file. Para obtener una lista completa, consulta la documentación en CTAN.
Un archivo de estilo consta de una lista de pares: specifier y attribute. Estos pueden aparecer en el archivo en cualquier orden. Todos los attributes son cadenas, excepto donde se indique. Las cadenas son entre comillas dobles, " y la longitud máxima de una cadena tiene 144 caracteres. La \n es para una nueva línea y \t es para una tabulación. Las barras invertidas se escapan con otra barra invertida, \\. Si una línea comienza con un signo de porcentaje, %, entonces es un comentario.
preamble 	Preámbulo del archivo de índice de salida. Define el contexto en el que se encuentra el índice formateado. Predeterminado: "\\begin{theindex}\n".
postamble 	Postámbulo del archivo de salida del índice Predeterminado: "\n\n\\end{theindex}\n".
group_skip 	 Tradicionalmente, los elementos del índice se dividen en grupos, generalmente un grupo para entradas que comienzan con la letra ‘a’, etc. Este especificador da lo que se inserta cuando comienza un nuevo grupo. Predeterminado: "\n\n \\indexspace\n" (\indexspace es un comando que inserta una longitud elástica, de manera predeterminada es 10pt plus5pt minus3pt).
lethead_flag 	un entero. Rige lo que se inserta para un nuevo grupo o letra. Si es 0 (que es el valor predeterminado) entonces aparte de group_skip nada se insertará antes del grupo. Si es positivo entonces en una nueva letra el lethead_prefix y lethead_suffix serán insertada, con esa letra en mayúsculas entre ellas. Si es negativo entonces lo que se insertará es la letra en minúsculas. El valor predeterminado es 0.
lethead_prefix 	Si un nuevo grupo comienza con una letra diferente, entonces este es el prefijo insertado antes de la nueva letra del encabezado. Predeterminado: ""
lethead_suffix 	Si un grupo comienza con una letra diferente, entonces este es el sufijo insertado después del nuevo encabezado de carta. Predeterminado: "".
item_0 	Lo que se pone entre dos elementos level 0. Predeterminado: "\n \\item ".
item_1 	Colocar entre dos elementos level 1. Predeterminado: "\n \\subitem ".
item_2 	Coloca entre dos elementos level 2. Predeterminado: "\n \\subsubitem ".
item_01 	Lo que se coloca entre un elemento level 0 y un elemento level 1. Predeterminado: "\n \\subitem ".
item_x1 	Que se coloca entre un elemento level 0 y un elemento level 1 en el caso de que el elemento level 0 no tenga ningún número de página (como en \index{aaa|see{bbb}}). Predeterminado: "\n \\subitem ".
item_12 	Lo que se coloca entre un elemento level 1 y un elemento level 2. Predeterminado: "\n \\subsubitem ".
item_x2 	Que se pone entre un elemento level 1 y un elemento level 2, si el level 1 elemento no tiene números de página. Predeterminado: "\n \\subsubitem ".
delim_0 	Delimitador puesto entre una clave level 0 y su primer número de página. Predeterminado: una coma seguida de un espacio en blanco, ", ".
delim_1 	Delimitador puesto entre una clave level 1 y su primer número de página. Predeterminado: una coma seguida de un espacio en blanco, ", ".
delim_2 	Delimitador entre una clave level 2 y su primer número de página. Predeterminado: una coma seguida de un espacio en blanco, ", ".
delim_n 	Delimitador entre dos números de página para la misma clave (en cualquier nivel). Predeterminado: una coma seguida de un espacio en blanco, ", ".
delim_r 	Lo que se coloca entre los números de página inicial y final de un rango. Predeterminado: "--".
line_max 	Un entero. Longitud máxima de la línea de una entrada de índice en la salida, más allá de la cual la línea se envuelve. Predeterminado: 72.
indent_space 	Lo que se inserta al comienzo de una línea envuelta. Predeterminado: "\t\t".
indent_length 	Un número. La longitud de la sangría de la línea envuelta. El valor predefinido indent_space son dos tabulaciones y cada tabulación tiene ocho espacios, por lo que el el valor predeterminado aquí es 16.
page_precedence 	Un documento puede tener páginas numeradas de diferentes maneras. Por ejemplo, un libro puede tener las primeras páginas numeradas en minúsculas romanas mientras que la página principal de la materia están en árabe. Esta cadena especifica el orden en que aparecerán en el índice. El comando makeindex admite cinco tipos diferentes de números: minúsculas romanas r y numérico o árabe n y minúsculas alfabético a y mayúsculas R romano y A alfabético en mayúsculas. Predeterminado: "rnaRA".
Hay una serie de otros programas que hacen el trabajo que makeindex hace. Uno es xindy (https://ctan.org/pkg/xindy), que hace internacionalización y puede procesar índices para documentos marcados usando LaTeX y un número de otros idiomas. Está escrito en Lisp, altamente configurable, tanto en términos de marcado y en términos del orden de clasificación del texto, como descrito en su documentación.
Un programa de indexación más reciente compatible con Unicode es xindex, escrito en Lua (https://ctan.org/pkg/xindex).

\printindex
Sinopsis:

\printindex

Coloca el índice en la salida.
Para obtener un índice, primero debes incluir \usepackage{makeidx}\makeindex en el preámbulo del documento y compila el documento, entonces ejecuta el comando del sistema makeindex, y luego vuelve a compilar el documento. Véase Índices, para más discusión y un ejemplo del uso de \printindex.

Glosarios
Sinopsis:

\usepackage{glossaries} \makeglossaries
  ...
\newglossaryentry{label}{settings}
  ...
\gls{label}.
  ...
\printglossaries

El paquete glossaries te permite crear glosarios, incluidos múltiples glosarios, así como listas de siglas.
Para obtener el resultado de este ejemplo, compila el documento (por ejemplo con nombre de archivo pdflatex), entonces ejecuta el comando de línea de comandos makeglossaries filename y luego vuelve a compilar el documento.

\documentclass{...}
\usepackage{glossaries} \makeglossaries
\newglossaryentry{tm}{%
  name={Máquina de Turing},

  description={Un  modelo de  máquina  hace cálculos.   El modelo  es
                sencillo  pero  puede   calcular  cualquier  cosa  que
                cualquier dispositivo existente pueda calcular.  Es el
                modelo estándar utilizado en Informática.},
   }
\begin{document}
Todo comienza con la definición de \gls{tm}.
  ...
\printglossaries
\end{document}

Eso da dos cosas. En el texto principal genera ‘... definición de una máquina de Turing’. Además, en una unidad seccional separada encabezada ‘Glossary’ aparece una lista de descripción. En letra negrita dice ‘Máquina de Turing’ y el resto del artículo dice en tipo normal ‘Un modelo de máquina … Informática’.
El comando \makeglossary abre el archivo que contendrá la información de entrada, root-file.glo. Pon el comando \printglossaries donde deseas que aparezcan los glosarios en tu documento.
El paquete glossaries es muy poderoso. Por ejemplo, además los comandos \newglossaryentry y \gls, hay comandos similares para una lista de acrónimos. Consulta la documentación del paquete en CTAN.

\newglossaryentry
Sinopsis, una de:

\newglossaryentry{label}
{
  name={name},
  description={description},
  otras opciones, ...
}

o

\longnewglossaryentry{label}
{
  name={name},
  other options ...,
}
{description}

Declara una nueva entrada para un glosario. label debe ser único para el documento. Los ajustes asociados a la etiqueta son pares: key=value.
Esto pone el símbolo en negrita de la pizarra para los números reales ℝ, en el glosario.

\newglossaryentry{R}
{
  name={\ensuremath{\mathbb{R}}},
  description={los números reales},
}

Usa la segunda forma del comando si description abarca más de un párrafo.
Para obtener una lista completa de key, consulta la documentación del paquete en CTAN, pero aquí hay algunos.
name 	(Obligatorio). La palabra, frase o símbolo que estás definiendo.
description 	(Obligatorio). La descripción que aparecerá en el glosario. Si esto tiene más de un párrafo, entonces debe usar la segunda forma del comando dado en la sinopsis.
plural 	La forma plural de name. Refiérete a la forma plural usando \glspl o \Glspl (véase \gls).
sort 	Cómo colocar esta entrada en la lista de entradas que contiene el glosario.
symbol 	Un símbolo, como un símbolo matemático, además del nombre.

\gls
Sinopsis, una de:

\gls{label}
\glspl{label}
\Gls{label}
\Glspl{label}

Consulta una entrada del glosario. Las entradas se declaran con \newglossaryentry (véase \newglossaryentry).
Este

\newglossaryentry{N}{%
  name={los números naturales},
  description={Los números $0$, $1$, $2$, $\ldots$\@},
  symbol={\ensuremath{\mathbb{N}}},
  }
  ...
Considera \gls{N}.

da la salida ‘Considera los números naturales’.
La segunda forma de comando \glspl{label} produce el plural de name (de manera predeterminada intenta agregar una ‘s’). La tercera forma escribe en mayúscula la primera letra de name, al igual que la cuarta forma, que también toma el plural.