LaTeXドキュメントで使用されるアイテムのリストを自動的に作成する方法は?

StackOverflow https://stackoverflow.com/questions/285816

  •  08-07-2019
  •  | 
  •  

質問

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}

しかし、当然、このリストを手作業で維持したくありません。このようなリストを自動的に作成するにはどうすればよいですか?

役に立ちましたか?

解決

それを行う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}

他のヒント

これを何年もやっていませんが、\ tableofcontentsと\ listoffiguresのLaTeXソースコードを見ます。このメカニズムは汎用的で、独自のリストを含めるように拡張できると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top