13

I am working on a C++ reference manual for myself and I want good-looking listings.

The Stack Overflow question entitled LaTeX source code listing like in professional books was very helpful but, for the life of me, I can't find anywhere on the Internet how to remove the "Listing #" part of the listing captions.

Below is a screenshot of what I have at the moment. I want to remove the front part of the listing caption; I don't want to remove the caption altogether, though, because I want to use it to show the name of the source file. Any ideas?

enter image description here

13

Use title instead of caption in the optional argument of the lstlisting environment. See p. 32 of the listings documentation for details.

\documentclass{article}

\usepackage{listings}

\begin{document}

\begin{lstlisting}[caption=foo]
#include <iostream>
\end{lstlisting}

\begin{lstlisting}[title=foo]
#include <iostream>
\end{lstlisting}

\end{document}
  • I know this is a very old comment, but I am experiencing a similar problem where this solution does not work. I gather it might be because of changes to updated packages. But if I use \begin{lstlisting}[title=foo] #include <iostream> \end{lstlisting} My listing title will show as : foo rather than just the title without a colon. – Bjarne Thorsted Mar 8 '17 at 7:56
3

The approach proposed by lockstep is straighforward, but your listings won't appear in the List of Listings if you follow it. If you want to avail of \lstlistoflistings, you'll need to use the caption key, not the title one.

In order not to print "Listing #: " in captions, simply remove #1#2 from the third argument of \DeclareCaptionFormat in the code from the accepted answer to the SO question entitled LaTeX source code listing like in professional books.

enter image description here

\documentclass{report}

\usepackage{color}
\usepackage{xcolor}
\usepackage{listings}

\usepackage{caption}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}

\begin{document}

\lstlistoflistings

\begin{lstlisting}[label=some-code,caption=Some Code]
public void here() {
    goes().the().code()
}
\end{lstlisting}

\end{document}

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.