summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/jvlisting/examples.tex
blob: 218780eeaf487b5987280de00848360168601be4 (plain)
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'.