%% %% The LaTeX Companion, 3ed %% %% Example 4-2-57 on page I-330 in "listings --- Pretty-printing program code". %% %% Copyright (C) 2022 Frank Mittelbach %% %% It may be distributed and/or modified under the conditions %% of the LaTeX Project Public License, either version 1.3c %% of this license or (at your option) any later version. %% %% See https://www.latex-project.org/lppl.txt for details. %% \documentclass{tlc3exa} \pagestyle{empty} \setcounter{page}{6} \setlength\textwidth{183.0pt} % for the book examples we shorten the vertical spaces \makeatletter \renewcommand\section{\@startsection{section}{1}{\z@}% {-1.25ex \@plus-1ex \@minus-.2ex}% {.5ex}% {\normalfont\large\bfseries}} \makeatother \begin{filecontents*}{pascal.src} for i:=1 to maxint do begin WrItE('This is stupid'); end. \end{filecontents*} \addtolength\textwidth{-20pt} %StartShownPreambleCommands \usepackage{listings} % pascal.src as before %StopShownPreambleCommands \begin{document} \lstset{frame=single,frameround=tftt, language=Pascal,captionpos=b} \lstlistoflistings % Normally the above is in the \bigskip % front matter section, but here ... \noindent % ... so we need to help a bit. The Pascal code in listing~\ref{foo} shows\ldots \lstinputlisting [caption={[Pascal listing]Pascal},label=foo] {pascal.src} \end{document}