Hacer un índice de imágenes de tres archivos .jpg en diferentes archivos .tex en latex
.tex, la forma más eficiente es usar el comando estándar \listoffigures en un archivo central que compile a los demás mediante \include o \input.Para este ejemplo, organizaremos el proyecto con un archivo raíz y tres archivos
secundarios (uno para cada imagen):
• main.tex (Archivo principal con el índice)
• archivo1.tex (Contiene la primera imagen)
• archivo2.tex (Contiene la segunda imagen)
• archivo3.tex (Contiene la tercera imagen)
2. Código del archivo principal ( main.tex )
Este archivo configura el documento, genera el índice automáticamente y une
los demás archivos.
latex
\documentclass{report} % O 'article', 'book', etc.
\usepackage{graphicx}
% Necesario para insertar imágenes (.jpg)
\usepackage[utf8]{inputenc} % Soporte para acentos
\title{Proyecto con Índice de Imágenes}
\author{Tu Nombre}
\date{\today}
\begin{document}
\maketitle
% 1. Este comando genera el índice de imágenes automáticamente
\listoffigures
\clearpage
% 2. Llamada a los diferentes archivos .tex
\input{archivo1}
\input{archivo1}
\input{archivo2}
\input{archivo3}
\end{document}
Cada archivo individual debe contener el entorno figure . Es indispensable
usar \caption para que la imagen aparezca en el índice.
archivo1.tex
latex
\chapter{Primera Sección}
Aquí va el texto introductorio del primer archivo.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\linewidth]{imagen1.jpg} % Tu primer archivo .
\caption{Descripción de la primera imagen} % Esto aparece en el índice
\label{fig:imagen1}
\end{figure}
archivo2.tex
latex
\chapter{Segunda Sección}
Texto correspondiente al segundo archivo del proyecto.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\linewidth]{imagen2.jpg} % Tu segundo archivo
\caption{Descripción de la segunda imagen}
\label{fig:imagen2}
\end{figure}
archivo3.tex
latex
\chapter{Tercera Sección}
Texto final en el tercer archivo.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\linewidth]{imagen3.jpg} % Tu tercer archivo .
\caption{Descripción de la tercera imagen}
\label{fig:imagen3}
\end{figure}
Notas importantes para la compilación
• Compila dos veces: La primera vez que compiles main.tex , LaTeX
registrará la ubicación de las figuras. La segunda vez, renderizará el índice
correctamente.
• Ubicación: Asegúrate de que los archivos imagen1.jpg , imagen2.jpg y
imagen3.jpg estén en la misma carpeta que tus archivos .tex (o define la
ruta correcta en \graphicx ).
Si lo deseas, puedo ayudarte a personalizar el diseño del índice (cambiar el
título a "Índice de Ilustraciones", modificar márgenes) o explicarte cómo
organizar las imágenes en una carpeta independiente.
No me funcionó. Olvidé decir que ya tengo un archivo main.tex con un TOC. Te lo envío.
% author: Mkenya Daima
% source:
\documentclass[12pt,a4paper,twoside,openany]{book}
\usepackage[margin=1in]{geometry} % Parece que tiene que
llevarlo al cambiar el tamaño por defecto
\usepackage{setspace}
\usepackage{graphicx} % Required for inserting images
\usepackage{color}
\usepackage{caption}
\usepackage[spanish,german]{babel}
\usepackage[utf8]{inputenc} % inputenc allows the user to input
accented characters directly from the keyboard;
% utf8x : much broader but less compatible ;
latin1 : old?
% https://tex.stackexchange.com/
questions/44694/fontenc-vs-inputenc
\usepackage[T1]{fontenc}
\usepackage{hyphenat}
\hyphenation{}
\usepackage[style=ddmmyyyy]{datetime2}
\usepackage{titletoc}
\usepackage[hidelinks]{hyperref} % for external links and user-
defined links
\usepackage{relsize,etoolbox} % for small text
\usepackage{CJKutf8} % chinese characters
\usepackage{CJKutf8} % chinese characters
%\usepackage{lmodern} % Latin Modern family of fonts
\usepackage[sfdefault, regular]{roboto}
%\usepackage{fontspec} % not for pdflatex
\usepackage{float}
% Improved interface for floating objects ;
add [H] option
\doublespacing
\DeclareUnicodeCharacter{200B}{{\hskip 0pt}} % Fix LaTeX
Error: Unicode character (U+200B)
\urldef\wallice\url{https://en.wikipedia.org/wiki/Marc_Wallice#HIV}
\urldef\gaceta\url{https://dga.buap.mx/sites/all/libraries/pdf.js/web/
viewer.html?
file=https%3A%2F%2Fdga.buap.mx%2Fsites%2Fdefault%2Ffiles
%2FTiempo%2520Universitario%2F2008%2FGaceta%252014%2
5202008.pdf}
%\newfontfamily\unicodefont{Lucida Grande} % requires fontspec
\newenvironment{myfont}{\fontfamily{ppl}\selectfont}{\par}
%\newenvironment{myfont}
{\fontfamily{ccr}\fontseries{ml}\selectfont\small}{\par}
\DeclareTextFontCommand{\textmyfont}{\myfont}
\begin{document}
\frontmatter
% Remove page numbering and headers for the cover page
\thispagestyle{empty}
% Include the cover page
\input{frontmatter/portada} % Include the cover page
% Restore page style for the rest of the document
\clearpage
\pagestyle{plain}
%\input{frontmatter/foreword} % Include the foreword
%\input{frontmatter/preface} % Include the preface
\input{frontmatter/copyright}
\input{frontmatter/dedicatoria} % Include the acknowledgements
\input{frontmatter/dedicatoria} % Include the acknowledgements
\input{frontmatter/epigrafe}
\renewcommand*{\contentsname}{\centering Contenido}
\begin{singlespace} % Parece que así se ajustó y quita la página
en blanco luego del Contenido
\tableofcontents % Generate the table of contents
\end{singlespace}
\mainmatter
\include{mainmatter/prologo}
\include{mainmatter/18-}
\backmatter
\input{backmatter/backcover} % Include the back cover
\end{document}
( \usepackage[spanish,german]{babel} ). En LaTeX, el último idioma
declarado se vuelve el principal, por lo que el índice intentaba generarse con las
reglas de alemán.
Además, como estás usando \begin{singlespace} para que el contenido no
deje hojas en blanco, debemos meter el índice de figuras ahí mismo.
Aquí tienes la solución exacta. Copia y reemplaza tu bloque de contenido en tu
main.tex por este:
1. Modificación en main.tex
Busca la línea de \renewcommand*{\contentsname}... y reemplaza todo ese
bloque hasta el inicio de \mainmatter por el siguiente fragmento:
latex
% --- CONFIGURACIÓN DE LOS ÍNDICES ---
\renewcommand*{\contentsname}{\centering Contenido}
\renewcommand{\listfigurename}{\centering Índice de Figuras} % Nombra el índ
\begin{singlespace}
\tableofcontents% Genera tu índice general actual
\clearpage% Salto de página limpio
\listoffigures% ¡AQUÍ SE GENERA EL ÍNDICE DE FIGURAS!
\end{singlespace}
% ------------------------------------
\mainmatter
\include{mainmatter/prologo}
\include{mainmatter/18-}
separación de palabras en español, te sugiero invertir el orden en babel:
\usepackage[german,spanish]{babel} ).
Para que las dos figuras de tu archivo 18-.tex viajen correctamente hacia el
índice que acabamos de crear en el main , debes estructurarlas usando el
entorno figure y la opción [H] (ya que veo que tienes activado el paquete
float ).
Abre tu archivo mainmatter/18-.tex y asegúrate de que las dos imágenes
tengan esta estructura exacta:
latex
% --- FIGURA 1 ---
\begin{figure}[H]
\centering
\includegraphics[width=0.8\linewidth]{nombre_de_tu_imagen1.jpg} % Cambia
\caption{Descripción de la primera figura que saldrá en el índice}
\label{fig:imagen1}
\end{figure}
Texto intermedio de tu novela o capítulo...
\begin{figure}[H]
\centering
\includegraphics[width=0.8\linewidth]{nombre_de_tu_imagen2.jpg} % Cambia
\caption{Descripción de la segunda figura que saldrá en el índice}
\label{fig:imagen2}
\end{figure}
Recuerda compilar dos veces
Al compilar tu main.tex en Overleaf, presiona el botón de Recompile dos
veces seguidas. La primera vez creará los registros internos y la segunda
dibujará los nombres de las figuras con sus páginas correspondientes debajo de
tu sección de Contenido.
Si realizas este cambio, ¿el índice de figuras ya aparece con sus títulos o te
marca algún error en la línea del \listoffigures ?
¿Cómo hago para que el texto en \caption me aparezca small ?
tamaño pequeño (small) en todo el documento, no necesitas cambiar el código imagen por imagen. Solo debes aprovechar el paquete caption que ya tienes cargado en tu preámbulo de main.tex .
Busca en tu archivo main.tex la línea donde cargas el
paquete:
latex
\usepackage{caption}
Use code with caution.
Y reemplázala por esta configuración:
latex
\usepackage[font=small,labelfont=bf]{caption}
• font=small : Reduce el tamaño de todo el texto del
subtítulo (por ejemplo: "Descripción de la figura").
• labelfont=bf : Hace que la etiqueta Figura 1:
aparezca en negrita (bold), lo cual le da un toque
mucho más profesional y ayuda a que resalte del
resto del texto.
Si prefieres que la etiqueta Figura 1: también sea
normal (no negrita), usa simplemente:
latex
\usepackage[font=small]{caption}
Al hacer este cambio y volver a compilar, verás que todas tus imágenes adoptan el tamaño pequeño inmediatamente sin alterar el texto del índice.
¿Te gustaría también reducir el espacio de separación entre la imagen y su subtítulo, o prefieres dejarlo con la distancia por defecto?
Ya tienes una estructura sólida y automatizada para tu libro con su índice general, el índice de imágenes integrado correctamente y el formato estilizado para los subtítulos.
Cuando estés listo para continuar, puedes decirme si deseas ajustar los márgenes de las páginas de las imágenes, cambiar el estilo de los números de página o resolver cualquier otra duda que te surja durante la edición.
