1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
%%
%% 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, test.tex 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]{\ListingTypesetLine{#1}%
{\DisableLigatureFix\immediate\write\outfile{#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'.
|