2008-11-12 16 views
12

Chcę dodać elementy do dokumentu LaTeX. Powiedz na przykład, że chcę dodać wskazówki do dokumentu. Utworzyć polecenie, więc mogę nazwać coś podobnego do tego:Jak utworzyć automatyczną listę elementów używanych w dokumencie 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.} 

ten zostanie sformatowana w specjalny sposób, aby ułatwić czytelnikowi rozpoznać go jako podpowiedź. Otrzymuje etykietę, do której można się odwołać w przykładzie za pomocą "foocareful".

W dodatku, chcę dodać listę wszystkich wskazówek z odniesieniami do nich. Coś jak:

\begin{enumerate} 
    ... 
    \item Be careful with foo! (\pageref{foocareful}) 
    ... 
\end{enumerate} 

Ale oczywiście nie chcę, aby utrzymać tę listę ręcznie. Jak mogę automatycznie utworzyć taką listę?

Odpowiedz

9

Jednym ze sposobów jest użycie pakietu float. Myślę, że przynajmniej pakiet floatrow może również robić to, co chcesz, a także może być bardziej elastyczny. Do zobaczenia.

Oto przykład czegoś, jak starasz się zrobić za pomocą 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} 
+0

który działa jak chce. Dziękuję Ci. – Mnementh

+0

Wow, to niesamowite! – tobinharris

+0

Bardzo przydatny pakiet. –

2

Nie robiłem tego od lat, ale przyjrzałbym się kodowi źródłowemu LaTeX dla \ tableofcontents i \ listoffigures. Myślę, że mechanizm jest ogólny i można go rozszerzyć, aby zawierał własne listy.

Powiązane problemy