Esta guía explica cómo gestionar glosarios, acrónimos y símbolos usando el paquete glossaries en esta plantilla.
- 📋 Índice
- Introducción
- Configuración básica
- Definir términos
- Usar términos
- Acrónimos
- Símbolos
- Imprimir glosarios
- Personalización
- Compilación
- Solución de problemas
- Ejemplos completos
- Ejemplos visuales
- Recursos adicionales
- Ver también
El paquete glossaries permite:
- Glosario: Lista de términos con sus definiciones
- Lista de acrónimos: Siglas con su expansión
- Lista de símbolos: Notación matemática con descripción
- Enlaces automáticos al glosario
- Primera aparición expandida para acrónimos
- Ordenación automática
- Múltiples glosarios
% En el preámbulo
\usepackage[
acronym, % Crear lista de acrónimos
symbols, % Crear lista de símbolos
toc, % Añadir al índice
section=chapter, % Nivel de título
nogroupskip % Sin espacio entre grupos
]{glossaries}
% Crear los archivos de índices
\makeglossaries| Opción | Descripción |
|---|---|
acronym |
Crear lista separada de acrónimos |
symbols |
Crear lista separada de símbolos |
toc |
Incluir glosarios en el índice |
nonumberlist |
No mostrar números de página |
nopostdot |
Sin punto al final de descripciones |
nogroupskip |
Sin espacio entre letras |
section=chapter |
Glosario como capítulo |
numberedsection |
Glosarios numerados |
shortcuts |
Habilitar comandos cortos |
Es recomendable crear un archivo separado:
% archivo: glosario.tex
% Términos
\newglossaryentry{latex}{
name={\LaTeX},
description={Sistema de preparación de documentos}
}
% Acrónimos
\newacronym{ua}{UA}{Universidad de Alicante}Y cargarlo en el preámbulo:
\input{glosario}\newglossaryentry{clave}{
name={término},
description={definición del término}
}\newglossaryentry{algoritmo}{
name={algoritmo},
description={Conjunto ordenado de operaciones sistemáticas que
permite hacer un cálculo y hallar la solución de
un tipo de problema}
}\newglossaryentry{matriz}{
name={matriz},
plural={matrices},
description={Arreglo rectangular de números dispuestos en filas
y columnas}
}\newglossaryentry{pi}{
name={pi},
symbol={\ensuremath{\pi}},
description={Razón entre la longitud de una circunferencia y
su diámetro, aproximadamente 3.14159}
}| Campo | Descripción |
|---|---|
name |
Nombre del término (obligatorio) |
description |
Definición (obligatorio) |
plural |
Forma plural |
text |
Texto mostrado en el documento |
first |
Texto en primera aparición |
symbol |
Símbolo asociado |
sort |
Clave de ordenación |
parent |
Entrada padre (para jerarquía) |
see |
Referencias cruzadas |
% Término padre
\newglossaryentry{red}{
name={red},
description={Sistema de elementos interconectados}
}
% Términos hijos
\newglossaryentry{red_neuronal}{
name={red neuronal},
description={Red de neuronas artificiales},
parent={red}
}
\newglossaryentry{red_social}{
name={red social},
description={Estructura social de relaciones},
parent={red}
}\gls{clave} % término (automático singular/plural)
\Gls{clave} % Término (primera letra mayúscula)
\GLS{clave} % TÉRMINO (todo mayúsculas)
\glspl{clave} % términos (plural)
\Glspl{clave} % Términos (plural con mayúscula)
\GLSpl{clave} % TÉRMINOS (plural en mayúsculas)El \gls{algoritmo} propuesto mejora el rendimiento.
Los \glspl{algoritmo} de ordenación son fundamentales.
\Gls{algoritmo} de búsqueda binaria.Resultado:
- El algoritmo propuesto mejora el rendimiento.
- Los algoritmos de ordenación son fundamentales.
- Algoritmo de búsqueda binaria.
\glsname{clave} % Solo el nombre
\glsdesc{clave} % Solo la descripción
\glssymbol{clave} % Solo el símbolo
\glstext{clave} % Texto del documento\glstext*{clave} % Texto sin hiperenlace
\gls*{clave} % Término sin hiperenlace\glsfirst{clave} % Siempre como primera aparición
\glsreset{clave} % Resetear para que siguiente sea "primera"
\glsunset{clave} % Marcar como ya usado
\glsresetall % Resetear todos los términos\newacronym{sigla}{SIGLA}{Expansión completa}\newacronym{ua}{UA}{Universidad de Alicante}
\newacronym{eps}{EPS}{Escuela Politécnica Superior}
\newacronym{ia}{IA}{Inteligencia Artificial}
\newacronym{tfg}{TFG}{Trabajo Fin de Grado}
\newacronym{tfm}{TFM}{Trabajo Fin de Máster}
\newacronym{api}{API}{Application Programming Interface}
\newacronym{sql}{SQL}{Structured Query Language}
\newacronym{html}{HTML}{HyperText Markup Language}
\newacronym{css}{CSS}{Cascading Style Sheets}
\newacronym{url}{URL}{Uniform Resource Locator}% Primera aparición: "Inteligencia Artificial (IA)"
% Siguientes apariciones: "IA"
La \gls{ia} ha revolucionado la tecnología.
Los avances en \gls{ia} son notables.
% Forzar forma larga
\acrlong{ia} % Inteligencia Artificial
\Acrlong{ia} % Inteligencia Artificial (mayúscula)
% Forzar forma corta
\acrshort{ia} % IA
\Acrshort{ia} % IA
% Forzar forma completa
\acrfull{ia} % Inteligencia Artificial (IA)
\Acrfull{ia} % Inteligencia Artificial (IA)\newacronym[description={Sistema de gestión de bases de datos}]
{sgbd}{SGBD}{Sistema Gestor de Base de Datos}\newacronym[
longplural={Application Programming Interfaces},
shortplural={APIs}
]{api}{API}{Application Programming Interface}
% Uso
La \gls{api} de Google... % Primera: Application Programming Interface (API)
Las \glspl{api} modernas... % APIs\newglossaryentry{sym:pi}{
type=symbols,
name={\ensuremath{\pi}},
sort={pi},
description={Número pi, aproximadamente 3.14159}
}
\newglossaryentry{sym:euler}{
type=symbols,
name={\ensuremath{e}},
sort={e},
description={Número de Euler, aproximadamente 2.71828}
}
\newglossaryentry{sym:integral}{
type=symbols,
name={\ensuremath{\int}},
sort={integral},
description={Operador integral}
}\newglossaryentry{sym:velocidad}{
type=symbols,
name={\ensuremath{v}},
sort={v},
description={Velocidad},
symbol={\si{\meter\per\second}}
}
\newglossaryentry{sym:aceleracion}{
type=symbols,
name={\ensuremath{a}},
sort={a},
description={Aceleración},
symbol={\si{\meter\per\second\squared}}
}El valor de \gls{sym:pi} es fundamental en geometría.
La velocidad \gls{sym:velocidad} se mide en m/s.\printglossary[title={Glosario}]\printglossary[type=\acronymtype, title={Lista de Acrónimos}]\printglossary[type=symbols, title={Lista de Símbolos}]\printglossaries\printglossary[
type=main, % Tipo de glosario
title={Glosario}, % Título personalizado
toctitle={Glosario}, % Título en el índice
style=long, % Estilo de presentación
nonumberlist % Sin números de página
]% Cambiar estilo globalmente
\setglossarystyle{long}
% O por glosario individual
\printglossary[style=long]| Estilo | Descripción |
|---|---|
list |
Lista simple |
listgroup |
Lista con grupos por letra |
long |
Tabla con dos columnas |
long3col |
Tabla con tres columnas |
long4col |
Tabla con cuatro columnas |
longragged |
Como long pero alineado a izquierda |
altlong4col |
Alternativo de 4 columnas |
super |
Usando supertabular |
tree |
Formato de árbol (jerárquico) |
% Cambiar cómo se muestran los acrónimos en primera aparición
\setacronymstyle{long-short} % "Expansión (SIGLA)"
\setacronymstyle{short-long} % "SIGLA (Expansión)"
\setacronymstyle{long-short-desc}% Con descripción% Separador entre nombre y descripción
\renewcommand*{\glsnamefont}[1]{\textbf{#1}}
% Formato de descripción
\renewcommand*{\glsdescriptionfont}[1]{\textit{#1}}\newglossarystyle{mystyle}{
\setglossarystyle{long}% Basar en estilo existente
\renewenvironment{theglossary}%
{\begin{longtable}{lp{.7\textwidth}}}%
{\end{longtable}}%
\renewcommand*{\glossentry}[2]{%
\glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
\glossentrydesc{##1}\glspostdescription\space ##2\\}%
}El uso de glosarios requiere pasos adicionales de compilación:
# 1. Primera compilación
lualatex main
# 2. Generar índices de glosario
makeglossaries main
# 3. Compilar de nuevo
lualatex main
lualatex mainLa receta de latexmk en VS Code gestiona esto automáticamente.
# Básico
makeglossaries main
# Ver opciones
makeglossaries --help
# Modo silencioso
makeglossaries -q mainPara proyectos grandes, bib2gls ofrece más control:
% En el preámbulo
\usepackage[record]{glossaries-extra}
% Cargar desde archivo .bib
\GlsXtrLoadResources[
src={glossary}, % archivo glossary.bib
sort={es-ES} % ordenación en español
]Causa: Solo aparecen términos usados con \gls o similar.
Solución:
% Añadir todos los términos aunque no se usen
\glsaddall
% O términos específicos
\glsadd{termino1}
\glsadd{termino2}Causa: Se resetea entre compilaciones o hay error.
Solución:
% Verificar que usas \gls{} no \acrlong{}
\gls{ia} % Correcto - gestiona automáticamente
% Resetear solo si es necesario
% \glsreset{ia}Causa: El término no está definido o hay error tipográfico.
Solución:
% Verificar que la clave existe
\newglossaryentry{mi_termino}{...}
\gls{mi_termino} % Clave exactaCausas:
- No se ejecutó
makeglossaries - No hay términos usados en el documento
Solución:
# Ejecutar makeglossaries
makeglossaries main
# O añadir todos los términos
\glsaddall% Especificar clave de ordenación
\newglossaryentry{latex}{
name={\LaTeX},
sort={latex}, % Clave para ordenar
description={...}
}% Usar sort para evitar problemas
\newglossaryentry{alfa}{
name={\ensuremath{\alpha}},
sort={alfa},
description={Letra griega alfa}
}% ========================================
% TÉRMINOS DEL GLOSARIO
% ========================================
\newglossaryentry{aprendizaje_automatico}{
name={aprendizaje automático},
description={Rama de la inteligencia artificial que permite
a los sistemas aprender de los datos}
}
\newglossaryentry{red_neuronal}{
name={red neuronal},
plural={redes neuronales},
description={Modelo computacional inspirado en el cerebro biológico}
}
\newglossaryentry{dataset}{
name={dataset},
description={Conjunto de datos utilizado para entrenar o evaluar
modelos de aprendizaje automático}
}
\newglossaryentry{sobreajuste}{
name={sobreajuste},
description={Fenómeno donde un modelo aprende demasiado bien
los datos de entrenamiento, perdiendo capacidad
de generalización}
}
% ========================================
% ACRÓNIMOS
% ========================================
\newacronym{ia}{IA}{Inteligencia Artificial}
\newacronym{ml}{ML}{Machine Learning}
\newacronym{dl}{DL}{Deep Learning}
\newacronym{cnn}{CNN}{Convolutional Neural Network}
\newacronym{rnn}{RNN}{Recurrent Neural Network}
\newacronym{lstm}{LSTM}{Long Short-Term Memory}
\newacronym{gpu}{GPU}{Graphics Processing Unit}
\newacronym{cpu}{CPU}{Central Processing Unit}
\newacronym{api}{API}{Application Programming Interface}
\newacronym{rest}{REST}{Representational State Transfer}
% ========================================
% SÍMBOLOS
% ========================================
\newglossaryentry{sym:theta}{
type=symbols,
name={\ensuremath{\theta}},
sort={theta},
description={Parámetros del modelo}
}
\newglossaryentry{sym:loss}{
type=symbols,
name={\ensuremath{\mathcal{L}}},
sort={L},
description={Función de pérdida}
}
\newglossaryentry{sym:gradient}{
type=symbols,
name={\ensuremath{\nabla}},
sort={nabla},
description={Operador gradiente}
}% Preámbulo
\usepackage[acronym, symbols, toc]{glossaries}
\makeglossaries
\input{glosario}
% En el texto
\chapter{Introducción}
El \gls{aprendizaje_automatico} es una rama de la \gls{ia} que ha
experimentado un gran avance en los últimos años. Las \glspl{red_neuronal},
en particular las \gls{cnn}, han demostrado resultados excepcionales.
Para entrenar estos modelos se necesita un \gls{dataset} adecuado y
hardware especializado como \glspl{gpu}. El objetivo es minimizar
la función de pérdida \gls{sym:loss} ajustando los parámetros
\gls{sym:theta} mediante el \gls{sym:gradient}.
% Al final del documento
\printglossary[title={Glosario de Términos}]
\printglossary[type=\acronymtype, title={Lista de Acrónimos}]
\printglossary[type=symbols, title={Lista de Símbolos}]Estos ejemplos muestran cómo se visualizan los glosarios y acrónimos en el documento final.
% Simulación visual de un glosario
\section*{Glosario de Términos}
\begin{description}[leftmargin=3cm, style=nextline, font=\bfseries]
\item[algoritmo] Conjunto ordenado de operaciones que permite
hallar la solución de un problema.
\item[dataset] Conjunto de datos utilizado para entrenar o evaluar
modelos de aprendizaje automático.
\item[red neuronal] Modelo computacional inspirado en el cerebro
biológico, compuesto por capas de neuronas artificiales.
\item[sobreajuste] Fenómeno donde un modelo aprende demasiado bien
los datos de entrenamiento.
\end{description}Resultado:
% Simulación visual de lista de acrónimos
\section*{Lista de Acrónimos}
\begin{tabular}{@{}ll@{}}
\toprule
\textbf{Acrónimo} & \textbf{Significado} \\
\midrule
API & Application Programming Interface \\
CNN & Convolutional Neural Network \\
CPU & Central Processing Unit \\
GPU & Graphics Processing Unit \\
IA & Inteligencia Artificial \\
ML & Machine Learning \\
REST & Representational State Transfer \\
\bottomrule
\end{tabular}Resultado:
% Simulación visual de lista de símbolos
\section*{Lista de Símbolos}
\begin{tabular}{@{}cl@{}}
\toprule
\textbf{Símbolo} & \textbf{Descripción} \\
\midrule
$\theta$ & Parámetros del modelo \\
$\mathcal{L}$ & Función de pérdida \\
$\nabla$ & Operador gradiente \\
$\alpha$ & Tasa de aprendizaje \\
$\sigma$ & Función de activación sigmoide \\
$\mathbf{W}$ & Matriz de pesos \\
\bottomrule
\end{tabular}Resultado:
% Ejemplo de cómo aparecen los acrónimos en el texto
\noindent
\textbf{Primera aparición:}\\[0.5em]
La \textit{Inteligencia Artificial} (IA) está revolucionando
múltiples sectores.
\vspace{1em}
\textbf{Apariciones posteriores:}\\[0.5em]
La IA utiliza técnicas de \textit{Machine Learning} (ML)
para aprender de los datos.
\vspace{1em}
\textbf{Solo siglas:}\\[0.5em]
Las técnicas de ML y específicamente de \textit{Deep Learning} (DL)
han demostrado resultados excepcionales en tareas de
procesamiento de imágenes usando CNN y GPU.Resultado:
- Documentación de glossaries
- Guía de usuario de glossaries
- glossaries-extra - Extensión con más opciones
- BIBLIOGRAFIA.md - Gestión de referencias
- REFERENCIAS_CRUZADAS.md - Referencias internas
- ECUACIONES.md - Símbolos matemáticos



