Como criar uma lista de uma automática de itens usados ??em um LaTeX-documento?
-
08-07-2019 - |
Pergunta
Eu quero adicionar itens em uma LaTeX-documento. Digamos, por exemplo, que eu quero adicionar sugestões para o documento. Eu criar um comando, para que eu possa chamar de algo semelhante a isto:
\hint{foocareful}{Be careful with foo!}{foo is a very precious item and can easily be broken. Be careful, especially don't throw foo.}
Esta será formatado de modo especial, para tornar mais fácil para o leitor a reconhecê-lo como uma dica. Ela recebe um rótulo, que pode ser referenciada no exemplo com 'foocareful'.
No apêndice eu quero adicionar uma lista de todas as dicas com referências a eles. Algo como:
\begin{enumerate}
...
\item Be careful with foo! (\pageref{foocareful})
...
\end{enumerate}
Mas, naturalmente, eu não quero manter esta lista à mão. Como posso criar automaticamente essa lista um?
Solução
Uma maneira de fazer isso é usar o pacote float
. Eu acho que, pelo menos, o pacote floatrow
também pode fazer o que quiser, e também pode ser mais flexível. Vê-lo ir, no entanto.
Aqui está um exemplo de algo que você está tentando fazer 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}
Outras dicas
Você não fez isso em anos, mas eu gostaria de olhar para o código-fonte LaTeX para \ tableofcontents e \ listoffigures. Eu acho que o mecanismo é genérica e pode expandi-lo para incluir suas próprias listas.