%%
%% This is file `examples.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% jvlisting.dtx  (with options: `examples')
%% 
%% Copyright (C) 2011  Jochen Voss <voss@seehuhn.de>
%% 
%% This work 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.  The latest version of this
%% license is in
%% 
%%     http://www.latex-project.org/lppl.txt
%% 
%% and version 1.3 or later is part of all distributions of LaTeX version
%% 2005/12/01 or later.
%% 
%% This work has the LPPL maintenance status `maintained' and the current
%% Maintainer of this work is Jochen Voss <voss@seehuhn.de>.
%% 
%% This work consists of the files jvlisting.dtx and the derived files
%% jvlisting.sty, jvlisting.ins and examples.tex.

\documentclass{article}

\usepackage[text={6in,9in},centering]{geometry}
\usepackage{jvlisting}
\setlength{\listingskipamount}{2\baselineskip}

\begin{document}

\begin{listing}
  def cumsum(iterable):
      return reduce(lambda res, x: res+[res[-1]+x], iterable, [0])[1:]
\end{listing}

\newcounter{lineno}
\newcommand{\typesetnline}[1]{\addtocounter{lineno}{1}%
  \noindent\hskip\listingindent\llap{{\it\scriptsize\arabic{lineno}: }}%
  \strut #1\par\penalty\listingpenalty}
\NewListingEnvironment{nlisting}{0}{\prelistingskip}%
  {\setcounter{lineno}{0}\listingfont}{\typesetnline}{\postlistingskip}
\begin{nlisting}
  for i in [1, 2, 3]:
      for j in ['a', 'b', 'c']:
          print str(i)+j
\end{nlisting}

\newwrite\outfile
\newcommand{\copytypeset}[1]{\immediate\write\outfile{#1}%
  \ListingTypesetLine{#1}}
\NewListingEnvironment{copylisting}{1}{\prelistingskip}%
  {\immediate\openout\outfile=#1\listingfont}{\copytypeset}%
  {\immediate\closeout\outfile\postlistingskip}

\begin{copylisting}{listing1.c}
  #include <stdio.h>

  int
  main()
  {
    puts("hello, world!");
    return 0;
  }
\end{copylisting}

\newcommand{\pfxtypeset}[1]{\noindent\hskip\listingindent\strut
  \pfx#1\par\penalty\listingpenalty}
\NewFileListingCommand{\prefixfilelisting}{2}{\prelistingskip}%
  {\listingfont\def\pfx{#2}}{\pfxtypeset}{\postlistingskip}
\prefixfilelisting{listing1.c}{c> }

\filelisting{listing1.c}

\end{document}

\endinput
%%
%% End of file `examples.tex'.
