Подтвердить что ты не робот

Как создать автоматический список элементов, используемых в 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}

Но, естественно, я не хочу поддерживать этот список вручную. Как я могу автоматически создать такой список?

4b9b3361

Ответ 1

Один из способов сделать это - использовать пакет 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}

Ответ 2

Не делал этого в течение многих лет, но я бы посмотрел исходный код LaTeX для \tableofcontents и\listoffigures. Я думаю, что механизм является общим, и вы можете расширить его, включив в него свои собственные списки.