¿Cómo crear automáticamente una lista de elementos utilizados en un documento LaTeX?
-
08-07-2019 - |
Pregunta
Quiero agregar elementos en un documento LaTeX. Digamos, por ejemplo, que quiero agregar pistas al documento. Creo un comando para poder llamar a algo similar a esto:
\hint{foocareful}{Be careful with foo!}{foo is a very precious item and can easily be broken. Be careful, especially don't throw foo.}
Esto se formateará de manera especial, para facilitar que el lector lo reconozca como una pista. Obtiene una etiqueta a la que se puede hacer referencia en el ejemplo con 'cuidado cuidadoso'.
En el apéndice quiero agregar una lista de todas las sugerencias con referencias a ellas. Algo así como:
\begin{enumerate}
...
\item Be careful with foo! (\pageref{foocareful})
...
\end{enumerate}
Pero, naturalmente, no quiero mantener esta lista a mano. ¿Cómo puedo crear automáticamente dicha lista?
Solución
Una forma de hacerlo es usar el paquete float
. Creo que, al menos, el paquete floatrow
también puede hacer lo que quiera, y también puede ser más flexible. Hasta luego, sin embargo.
Aquí hay un ejemplo de algo como lo que está intentando hacer usando float
:
\documentclass{article}
\usepackage{float}
\floatstyle{boxed}
\newfloat{hintbox}{H}{hnt}
\floatname{hintbox}{Hint}
\newcommand\hint[2]{%
\begin{hintbox}
#2
\caption{#1}
\end{hintbox}}
\begin{document}
\section{Hello}
\hint{Be careful with foo!\label{foocareful}}{%
foo is a very precious item and can easily be broken.
Be careful, especially don't throw foo.}
\hint{Don't worry about bar!\label{foocareful}}{%
Unlike foo, bar is pretty easily to get along with.}
\section{End}
\listof{hintbox}{List of Hints}
\end{document}
Otros consejos
No he hecho esto en años, pero miraría el código fuente de LaTeX para \ tableofcontents y \ listoffigures. Creo que el mecanismo es genérico y puede expandirlo para incluir sus propias listas.