%%
%% The LaTeX Companion, 2ed (second printing August 2004)
%%
%% Example 3-4-40 on page 174.
%%
%% Copyright (C) 2004 Frank Mittelbach, Michel Goossens,
%%    Johannes Braams, David Carlisle, and Chris Rowley
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%

\documentclass{ttctexa}
\pagestyle{empty}
\setcounter{page}{6}
\setlength\textwidth{183.0pt}

\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 defined before
\StopShownPreambleCommands
\begin{document}
\lstset{frame=single,frameround=tftt,
        language=Pascal,captionpos=b}
\lstlistoflistings
          %
\bigskip  % normally the above is in the
\noindent % front matter section, but here ...
          %
The Pascal code in listing~\ref{foo} shows\ldots
\lstinputlisting
   [caption={[Pascal listing]Pascal},label=foo]
   {pascal.src}
\end{document}