Как создать автоматический список элементов, используемых в LaTeX-документе?
Я хочу добавить элементы в LaTeX-документ. Скажем, например, что я хочу добавить подсказки в документ. Я создаю команду, поэтому я могу вызвать что-то похожее на это:
hint{foocareful}{Be careful with foo!}{foo is a very precious item and can easily be broken. Be careful, especially don't throw foo.}
это будет отформатировано особым образом, чтобы читателю было легко распознать его как подсказку. Он получает метку, на которую можно ссылаться в Примере с 'foocareful'.
в приложении я хочу добавить список всех подсказок с ссылками на них. Что-то например:
begin{enumerate}
...
item Be careful with foo! (pageref{foocareful})
...
end{enumerate}
но, естественно, я не хочу поддерживать этот список вручную. Как я могу автоматически создать такой список?
2 ответов
один из способов сделать это-использовать float
пакета. Я думаю, что по крайней мере,floatrow
пакет также может делать то, что вы хотите, а также может быть более гибким. Хотя, увидимся.
вот пример того, что вы пытаетесь сделать с помощью 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}
не делали этого годами, но я бы посмотрел исходный код LaTeX для \tableofcontents и \listoffigures. Я думаю, что механизм является общим, и вы можете расширить его, чтобы включить свои собственные списки.