%% 
%%  Ein Beispiel der DANTE-Edition
%%  
%%  2. Auflage
%% 
%%  Beispiel 14-03-13 auf Seite 699.
%% 
%%  Copyright (C) 2016 Herbert Voss
%% 
%%  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.
%% 
%% 
%% ==== 
% Show page(s) 1
%% 
%% 
\documentclass[ngerman]{exaarticle}
\pagestyle{empty}
\setlength\textwidth{352.81416pt}
\usepackage{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[scaled=0.85]{beramono}
\setlength{\parindent}{0em}
\usepackage{listings,xcolor,microtype}
\newcommand*\DTKlstfont{\small\ttfamily\SetTracking{encoding=*}{-60}\lsstyle}
\lstdefinestyle{DTKlstBase}{basicstyle=\DTKlstfont,basewidth=0.55em,keepspaces,
 identifierstyle=\slshape,keywordstyle=\bfseries,stringstyle=\itshape,
 commentstyle=\itshape,columns=fullflexible,tabsize=2,frame=single,
 extendedchars=true,showspaces=false,showstringspaces=false,breaklines=true,
 breakindent=0.5em,backgroundcolor=\color{black!10},breakautoindent=true,captionpos=t,
 aboveskip=\medskipamount,belowskip=\medskipamount,xrightmargin=\fboxsep,
 emphstyle=\DTK@lst@colorbox{lightgray},prebreak=,postbreak=\mbox{$\hookrightarrow$},
 literate={Ã¤}{{\ä}}1 {Ã¶}{{\ö}}1 {Ã¼}{{\ü}}1 {Ã„}{{\Ä}}1 {Ã–}{{\Ö}}1
          {Ãœ}{{\Ü}}1 {ÃŸ}{\ss}1}
\lstdefinestyle{DTKlstNumber}{style=DTKlstBase,numbers=left,numberstyle=\tiny\ttfamily,
     numbersep=1em,xleftmargin=1.5em,}
\lstdefinestyle{DTKlstNoNumber}{style=DTKlstBase,numbers=none,xleftmargin=\fboxsep}
%StartShownPreambleCommands
\usepackage{listings,xcolor,microtype}
\lstnewenvironment{Python}[1][]{\lstset{style=DTKlstNumber,language=Python,#1}}{}
%StopShownPreambleCommands
\begin{document}
\begin{Python}
def bubblesort(iterable):
  seq = list(iterable)
  for passesLeft in range(len(seq)-1, 0, -1):
    for index in range(passesLeft):
      if seq[index] > seq[index + 1]:
        seq[index], seq[index + 1] = seq[index + 1], seq[index]
  return seq
\end{Python}
\end{document}
