18

I'm using the listings package to put a box around some source code in a document and also to provide some syntax hilighting. Is there an easy way that I could create a table of contents which just listed the code listings? I have already used the figure listing for actual figures and I would rather not mix figures and code listings. Is there perhaps a way I could build two distinct figures collections?

37

One could use the \lstlistoflistings macro that is part of the listings package.

\documentclass{article}

\usepackage{listings}

\begin{document}

\lstlistoflistings

\section{foo}

\begin{lstlisting}[caption={A listing}]
    Some source code
\end{lstlisting}

\end{document}
| improve this answer | |
  • Compared to the solution of stimms, could you say which one would be nicer? Defining this code environment looks more consistent to table and figure. – Albert Jul 7 at 21:37
12

I figured this out. What I did was

\usepackage{caption}
\DeclareCaptionType{code}[Code Listing][List of Code Listings] 
\begin{document}
...
\listofcodes
...
\begin{code}
\begin{lstlisting}
    Some source code
\end{lstlisting}
\caption[This here is a caption]{caption}
\end{code}

This creates a table of blocks of code. Super nifty.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.