\documentclass[a4paper]{article}

\usepackage[left=0pt, right=0pt, top=0pt, bottom=0pt]{geometry}

\usepackage{tikz}
\usepackage{fontspec}
\usepackage{contour}

\setmainfont{Atkinson Hyperlegible}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\usetikzlibrary{arrows.meta}

\definecolor{one}{RGB}{243,155,154}
\definecolor{two}{RGB}{176,0,68}
\definecolor{three}{RGB}{213,173,0}
\definecolor{four}{RGB}{227,0,11}
\definecolor{five}{RGB}{0,150,94}
\definecolor{six}{RGB}{149,107,37}
\definecolor{seven}{RGB}{255,204,0}
\definecolor{fifteen}{RGB}{247,171,99}
\definecolor{sixteen}{RGB}{94,107,175}
\definecolor{twentyone}{RGB}{227,0,11}
\definecolor{twentytwo}{RGB}{253,195,0}
\definecolor{twentythree}{RGB}{228,142,0}
\definecolor{twentyfour}{RGB}{140,29,117}
\definecolor{twentysix}{RGB}{243,155,154}

\input{shapes.tex}

\begin{document}
\begin{center}
\hspace{0pt}
\vfill

\pgfdeclarelayer{bg}
\pgfdeclarelayer{lines}
\pgfdeclarelayer{stops}
\pgfdeclarelayer{labels}
\pgfdeclarelayer{legend}
\pgfsetlayers{bg,lines,stops,labels,main,legend}

\contourlength{.2ex}

\def\offsetanchor#1#2{\pgfmathparse{#2*tan(#1/2)}\pgfmathresult}

\begin{tikzpicture}[
    river/.style = {
      line width=0.5cm,
      cyan!50,
      rounded corners=0.5cm,
      -{Triangle Cap},
    },
    railway line/.style = {
      color=gray,
      line width=0.075cm,
      rounded corners=0.5cm,
    },
    railway/.style = {
      railway line,
      {Latex[length=5mm]}-{Latex[length=5mm]},
    },
    stop/.style = {
      rounded corners=0.1cm, 
      line width=0.05cm,
      fill=white, 
      draw,
      shape=stop,
      anchor=center,
      minimum height=0.2cm,
    },
    stop1/.style = {
      stop,
      minimum width=0.2cm, 
    },
    stop2/.style = {
      stop,
      minimum width=0.4cm, 
    },
    stop3/.style = {
      stop,
      minimum width=0.6cm, 
    },
    stop4/.style = {
      stop,
      minimum width=0.8cm, 
    },
    line/.style = {
      line width=0.15cm,
      rounded corners=0.1cm,
    },
    label/.style = {
      font=\scriptsize,
    },
    line name/.style = {
      label, 
      color=white, 
      minimum width=1em, 
      minimum height=1em, 
      inner sep=0pt,
    },
  ]

  % \begin{pgfonlayer}{legend}
  %   % \draw[railway line] (-7,-8.5) -- ++(0,0.5);
  %   \node[stop2] (Legend2) at (-7,-8.5) {};
  %   \node[stop1, above=0.4cm of Legend2.two half] (Legend1) {};
  %   \node[stop1, above=0.3cm of Legend1] (Legend0) {};
  %   \draw[line] (Legend2.south two half) -- (Legend1.north center) -- (Legend0);
  %   \draw[line] (Legend2.south one half) -- ++(0,0.5) -- ++(-0.3,0);
  %   \node[stop2] (Legend2) at (-7,-8.5) {};
  %   \node[stop1, above=0.4cm of Legend2.two half] (Legend1) {};
  %   \node[stop1, above=0.3cm of Legend1] (Legend0) {};
  %   \node[line name, fill=black, above=0.2cm of Legend0] {\bf E};
  %   \node[label, left=0.05cm of Legend1] {Karlsplatz};
  %   \node[label, left=0.05cm of Legend0] {Museum};
  %   \node[label, left=0.05cm of Legend2] {Bahnhof};
  %
  %   \node[label, anchor=west] at (-6.7,-8.5) {Halt mit Umstieg};
  %   \node[label, anchor=west] at (-6.7,-8.0) {Halt};
  %   \node[label, anchor=west] at (-6.7,-7.5) {Endhaltestelle};
  % \end{pgfonlayer}

  \begin{pgfonlayer}{bg}
    % \draw[help lines, color=gray!10] (-10, -15) grid[step=0.1] (10, 10);
    % \draw[help lines, color=gray!50] (-10, -15) grid (10, 10);
    \draw[river] (10,1.5) -- (-1.5, 1.5) -- ++(-5.5,5.5);
  \end{pgfonlayer}

  \begin{pgfonlayer}{stops}
    \node[stop3, rotate=90] (Hauptbahnhof) at (-0.5, -1.4) {};
    \node[stop3, rotate=90] (Betriebshof) at (-0.5, 0.4) {};
    \node[stop2] (Jahnstr) at (0, 2.1) {};
    \node[stop2, above=0.3cm of Jahnstr] (Bunsengymnasium) {};
    \node[stop2, above=0.3cm of Bunsengymnasium] (Technologiepark) {};
    \node[stop2, rotate=-45] (Heiligenbergschule) at ($(Technologiepark)+(0.5,0.7)$) {};
    \node[stop2, rotate=90] (Volkshochschule) at (0.5,0.5) {};
    \node[stop2, rotate=90] (Campus Bergheim) at (1.1,0.5) {};
    \node[stop2, rotate=90] (Altes Hallenbad) at (1.7,0.5) {};
    \node[stop4] (Bismarckplatz) at (3.0,0.9) {};
    \node[stop2] (Brückenstr) at (2.8,2.1) {};
    \node[stop2, above=0.3cm of Brückenstr] (Kußmaulstr) {};
    \node[stop2, above=0.3cm of Kußmaulstr] (Blumenthalstr) {};
    \node[stop2, rotate=45] (Kapellenweg) at ($(Blumenthalstr)+(-0.5,0.7)$) {};
    \node[stop4] (Hans Thoma Platz) at ($(Heiligenbergschule)!0.5!(Kapellenweg)+(0,0.9)$) {};
    \node[stop3, above=0.6cm of Hans Thoma Platz.two quarter, anchor=one half] (Biethsstr)  {};
    \node[stop3, above=0.6cm of Biethsstr.center, anchor=center] (Burgstr) {};
    \node[stop4, rotate=90] (Seegarten) at (2.3,-1.5) {};
    \node[stop4, rotate=90] (Stadtbücherei) at (1.8,-1.5) {};
    \node[stop3, rotate=90] (Stadtwerke) at (0.7,-1.4) {};
    \node[stop1,rotate=45] (Gneisenaustr Süd) at ($(Hauptbahnhof.center)-(2.5,-1.6)$) {};
    \node[stop1, rotate=45, above left=0.5cm of Gneisenaustr Süd.center, anchor=center] (Berufsschule) {};
    \node[stop1, rotate=45, above left=0.5cm of Berufsschule.center, anchor=center] (Ochsenkopf) {};
    \node[stop1] (SRH Campus) at ($(Ochsenkopf.center)-(0.3,-0.6)$){};
    \node[stop1, above=0.3cm of SRH Campus] (Wieblingen Mitte) {};
    \node[stop1, above=0.3cm of Wieblingen Mitte] (Taubenfeld) {};
    \node[stop2] (Römerkreis Süd) at (1.3,-2.1) {};
    \node[stop2, rotate=45] (Christuskirche) at ($(Römerkreis Süd)-(-0.5,0.7)$) {};
    \node[stop2] (Weststadt Südstadt) at ($(Christuskirche)-(-0.5,0.7)$) {};
    \node[stop2, below=0.3cm of Weststadt Südstadt] (Bergfriedhof) {};
    \node[stop2, below=0.3cm of Bergfriedhof] (Bethanienkrankenhaus) {};
    \node[stop2, below=0.3cm of Bethanienkrankenhaus] (Rheinstr) {};
    \node[stop2, below=0.3cm of Rheinstr] (Markscheide) {};
    \node[stop2, below=0.3cm of Markscheide] (Eichendorffplatz) {};
    \node[stop2, below=0.3cm of Eichendorffplatz] (Rohrbach Markt) {};
    \node[stop2, below=0.3cm of Rohrbach Markt] (Ortenauer Str) {};
    \node[stop2, below=0.3cm of Ortenauer Str] (Freiburger Str) {};
    \node[stop2, below=0.3cm of Freiburger Str] (Rohrbach Süd) {};
    \node[stop1, below=0.4cm of Rohrbach Süd.two half] (Zementwerk) {};
    \node[stop1, below=0.3cm of Zementwerk] (Johannes-Reidel-Str) {};
    \node[stop1, below=0.3cm of Johannes-Reidel-Str] (Georgi-Marktplatz) {};
    \node[stop1, below=0.3cm of Georgi-Marktplatz] (Kurpfalzcentrum) {};
    \node[stop1, below=0.3cm of Kurpfalzcentrum] (Moltkestr) {};
    \node[stop1, below=0.3cm of Moltkestr] (Leimen Friedhof) {};
    \node[stop1] (Ringstr) at ($(Stadtwerke.one half)-(-0.1,0.2)-(0.6,0.6)$) {};
    \node[stop1, below left=0.3cm of Ringstr] (Montpellierbrücke) {};
    \node[stop2, rotate=45, anchor=two half] (Hauptbahnhof Süd) at (-1.7, -2.3) {};
    \node[stop1] (Czernybrücke) at (-1.6, 0.2) {};
    \node[stop2, rotate=45, anchor=two half] (Gadamerplatz) at (-2.5,-1.5) {};
    \node[stop1, rotate=45, above left=1cm of Gadamerplatz.two half, anchor=center] (Eppelheimer Terrasse) {};
    \node[stop1, anchor=center] (Henkel Teroson Str) at ($(Eppelheimer Terrasse)+(-0.5,0.5)-(0.3,0.0)$){};
    \node[stop1, left=0.3cm of Henkel Teroson Str] (Marktstr) {};
    \node[stop1, left=0.3cm of Marktstr] (Kranichweg Stotz) {};
    \node[stop1, left=0.3cm of Kranichweg Stotz] (Jakobsgasse) {};
    \node[stop1, left=0.3cm of Jakobsgasse] (Eppelheimer Rathaus) {};
    \node[stop1, left=0.3cm of Eppelheimer Rathaus] (Eppelheim Kirchheimer Str) {};
    \node[stop1] (Rudolf-Diesel-Str) at ($(Hauptbahnhof Süd.one half)-(-1.0,1.0)-(0,0.5)$) {};
    \node[stop1, below=0.3cm of Rudolf-Diesel-Str] (Messplatz) {};
    \node[stop1, below=0.3cm of Messplatz] (Ilse-Krall-Str) {};
    \node[stop1, below=0.3cm of Ilse-Krall-Str] (Albert-Fritz-Str) {};
    \node[stop1, below=0.3cm of Albert-Fritz-Str] (Odenwaldstr) {};
    \node[stop1, below=0.3cm of Odenwaldstr] (Kirchheim Rathaus) {};
    \node[stop1, below=0.3cm of Kirchheim Rathaus] (Kirchheim Friedhof) {};
  \end{pgfonlayer}

  \begin{pgfonlayer}{lines}
    \pgfmathparse{0.1*tan(45/2)}
    \let\offset\pgfmathresult

    \draw[railway] ($(0.1,-3.5)-(7.2,-7.2)$) 
      node[label, above, anchor=south west] {Mannheim}
      -- (0.1,-3.5) 
      -- ++(3,0) 
      -- ++(4.5,4.5) 
      -- ++(1,0) 
      node[label, below, anchor=north] {Neckargemünd};
    \draw[railway] ($(0.1,-3.5)-(7.2,-7.2)$) 
      -- (0.1,-3.5) 
      -- ++(0,-3) 
      -- ++(0,-4.7)
      node[label, right, anchor=south west] {Karlsruhe};

    \draw[line, twentysix]
      (Burgstr.center)
      -- (Biethsstr.center)
      -- (Hans Thoma Platz.three quarter)
      -- ($(Hans Thoma Platz.south three quarter)-(0,\offset)$)
      -- (Kapellenweg.one half)
      -- ($(Blumenthalstr.north one half)-(0,\offset)$)
      -- (Kußmaulstr.one half)
      -- (Brückenstr.one half)
      --(Bismarckplatz.one half) 
      {[rounded corners=0.2cm]
        -- ($(Bismarckplatz.south one half)-(0,0.1)$)
        -- (Altes Hallenbad.two half) 
      }
      -- (Campus Bergheim.two half) 
      -- (Volkshochschule.two half) 
      -- (Betriebshof.two half)
      % -- ($(Betriebshof.two half)-(1.0,0)$);
      -- ($(Czernybrücke)+(0.4,0.4)$)
      -- (Czernybrücke)
      -- ($(Gadamerplatz.one half)+(-0.4,0.4)$)
      -- (Gadamerplatz.one half)
      -- (Hauptbahnhof Süd.one half)
      -- ($(Hauptbahnhof Süd.one half)-(-1.0,1.0)$)
      -- (Rudolf-Diesel-Str)
      -- (Messplatz)
      -- (Ilse-Krall-Str)
      -- (Albert-Fritz-Str)
      -- (Odenwaldstr)
      -- (Kirchheim Rathaus)
      -- (Kirchheim Friedhof)
      ;

    % \draw (Technologiepark.north center) -- 
    %   node[rotate=-45,stop2,name=Heiligenbergschule] {} (Hans Thoma Platz.south center);

    \draw[line, twentyone] 
      (Hauptbahnhof.two half) 
      -- ($(Hauptbahnhof.north two half)-(0.1,0)$)
      |- (Betriebshof.one half)
      {[rounded corners=0.2cm]
      -| (Jahnstr.one half) 
      }
      -- (Bunsengymnasium.one half) 
      -- (Technologiepark.one half) 
      -- ($(Technologiepark.north one half)+(0,\offset)$)
      -- (Heiligenbergschule.south one half) -- (Heiligenbergschule.north one half) 
      -- ($(Hans Thoma Platz.south one half)+(0,\offset)$) -- (Hans Thoma Platz.one half);

    \draw[line, twentyone]
      (Jahnstr.one half)
      {[rounded corners=0.3cm] 
        |- (Volkshochschule.one half)
      }
      -- (Campus Bergheim.one half)
      {[rounded corners=0.2cm]
      -- (Altes Hallenbad.one half) 
      % -- ($(Altes Hallenbad.south one half)+(1.3,0.0)$)
      }
      {[rounded corners=0.2cm]
      -| ($(Seegarten.south two half)+(0.2,0)$)
      }
      -- (Stadtbücherei.two half)
      -- (Stadtwerke.two half)
      {[rounded corners=0.2cm]
      -- (Hauptbahnhof.two half)
      };


    \draw[line, twentytwo]
      (Bismarckplatz.two half)
      {[rounded corners=0.8cm]
        |- (Stadtbücherei.north one half)
      }
      -- (Stadtbücherei.one half)
      -- ($(Stadtwerke.one half)-(-0.1,0.2)$)
      -- (Ringstr)
      -- (Montpellierbrücke)
      -- ($(Hauptbahnhof Süd.two half)+(1.0,-1.0)$)
      -- (Hauptbahnhof Süd.two half)
      -- (Gadamerplatz.two half)
      -- (Eppelheimer Terrasse)
      -- ($(Eppelheimer Terrasse)+(-0.5,0.5)$)
      -- (Henkel Teroson Str)
      -- (Marktstr)
      -- (Kranichweg Stotz)
      -- (Jakobsgasse)
      -- (Eppelheimer Rathaus)
      -- (Eppelheim Kirchheimer Str)
    ;

    \draw[line, twentythree] 
      (Bismarckplatz.three quarter) 
      {[rounded corners=0.6cm]
        |- (Stadtbücherei.north two quarter)
      }
      -- (Stadtbücherei.two quarter)
      -| ($(Römerkreis Süd.south two half)+(0,\offset)$)
      -- (Christuskirche.two half)
      -- ($(Weststadt Südstadt.north two half)+(0,\offset)$)
      -- (Weststadt Südstadt.two half)
      -- (Bergfriedhof.two half)
      -- (Bethanienkrankenhaus.two half)
      -- (Rheinstr.two half)
      -- (Markscheide.two half)
      -- (Eichendorffplatz.two half)
      -- (Rohrbach Markt.two half)
      -- (Ortenauer Str.two half)
      -- (Freiburger Str.two half)
      -- (Rohrbach Süd.two half)
      -- (Zementwerk)
      -- (Johannes-Reidel-Str)
      -- (Georgi-Marktplatz)
      -- (Kurpfalzcentrum)
      -- (Moltkestr)
      -- (Leimen Friedhof)
      ;

    \draw[line, twentyfour] 
      (Rohrbach Süd.one half)
      -- (Freiburger Str.one half)
      -- (Ortenauer Str.one half)
      -- (Rohrbach Markt.one half)
      -- (Eichendorffplatz.one half)
      -- (Markscheide.one half)
      -- (Rheinstr.one half)
      -- (Bethanienkrankenhaus.one half)
      -- (Bergfriedhof.one half)
      -- (Weststadt Südstadt.one half)
      -- ($(Weststadt Südstadt.north one half)-(0,\offset)$)
      -- (Christuskirche.one half)
      -- ($(Römerkreis Süd.south one half)-(0,\offset)$)
      % (Römerkreis Süd.one half) 
      |- (Stadtwerke.one half)
      {[rounded corners=0.3cm]
      -- ($(Hauptbahnhof.south one half)+(0.1,0)$)
      -| ($(Betriebshof.north center)-(0.3,0)$)
      }
      {[rounded corners=0.5cm]
        -| (Jahnstr.two half)
      }
      -- (Bunsengymnasium.two half) 
      -- (Technologiepark.two half) -- ($(Technologiepark.north two half)-(0,\offset)$)
      -- (Heiligenbergschule.south two half) -- (Heiligenbergschule.north two half) 
      -- ($(Hans Thoma Platz.south two quarter)-(0,\offset)$) -- (Hans Thoma Platz.two quarter)
      -- (Biethsstr.one half)
      -- (Burgstr.one half);


    \draw[line, five, -{Latex[length=5mm]}]
      (Burgstr.two half) 
      -- ($(Burgstr.two half)+(0,1.0)$) 
      node[right, anchor=west, label] {Weinheim}
      node[below right=0.3cm, line name, fill=five, rounded corners=0pt] {\bf 5}
      ;
    \draw[line, five, -{Latex[length=5mm]}]
      (Taubenfeld) 
      -- ++(0,0.3)
      -- ++(-0.5,0.5)
      node[above left=-0.2cm, label, anchor=south east] {Mannheim}
      node[below left, line name, fill=five, rounded corners=0pt, anchor=north east] {\bf 5}
      ;
    \draw[line, five]
      (Burgstr.two half)
      -- (Biethsstr.two half)
      -- (Hans Thoma Platz.two half)
      -- ($(Hans Thoma Platz.south two half)+(0,\offset)$)
      -- (Kapellenweg.two half)
      -- ($(Blumenthalstr.north two half)+(0,\offset)$)
      -- (Blumenthalstr.two half) 
      -- (Kußmaulstr.two half) 
      -- (Brückenstr.two half) 
      -- (Bismarckplatz.two quarter) 
      {[rounded corners=0.4cm]
      |- (Seegarten.north three quarter) 
      }
      -- (Stadtbücherei.three quarter) 
      -- (Stadtwerke.three quarter)
      -- (Hauptbahnhof.three quarter)
      -- ($(Hauptbahnhof.center)-(0.9, 0)$)
      -- (Gneisenaustr Süd.center)
      -- (Berufsschule.center)
      -- (Ochsenkopf.center)
      -- ($(Ochsenkopf.center)-(0.3,-0.3)$)
      -- (SRH Campus.center)
      -- (SRH Campus.center)
      -- (Wieblingen Mitte.center)
      -- (Taubenfeld.center)
      ;

  \end{pgfonlayer}

  \begin{pgfonlayer}{labels}
    \node[font=\scriptsize, color=white] at (4.0,1.5){Neckar};
    \node[font=\scriptsize, color=white, rotate=-45] at (-3.5,3.5) {Neckar};
    \foreach\stop/\placement/\anchor/\rotate in {
      Hauptbahnhof/left/north/0,
      Betriebshof/above left/north west/0,
      Jahnstr/left/east/0,
      Brückenstr/right/west/0,
      Kußmaulstr/right/west/0,
      Blumenthalstr/right/west/0,
      Kapellenweg/right/west/0,
      Bismarckplatz/below right/north west/0,
      Jahnstr/left/east/0,
      Bunsengymnasium/left/east/0,
      Technologiepark/left/east/0,
      Heiligenbergschule/left/east/0,
      Hans Thoma Platz/right/west/0,
      Biethsstr/right/west/0,
      Volkshochschule/above right/west/60,
      Campus Bergheim/above right/west/60,
      Altes Hallenbad/above right/west/60,
      Seegarten/right/east/-30,
      Stadtbücherei/right/east/-30,
      Stadtwerke/right/east/-30,
      Römerkreis Süd/right/west/0,
      Ringstr/below right/west/-45,
      Montpellierbrücke/below right/west/-45,
      Gneisenaustr Süd/right/west/45,
      Berufsschule/right/west/45,
      Ochsenkopf/right/west/45,
      SRH Campus/left/east/0,
      Wieblingen Mitte/left/east/0,
      Taubenfeld/left/east/0,
      Christuskirche/right/west/0,
      Weststadt Südstadt/right/west/0,
      Bergfriedhof/right/west/0,
      Bethanienkrankenhaus/right/west/0,
      Rheinstr/right/west/0,
      Markscheide/right/west/0,
      Eichendorffplatz/right/west/0,
      Rohrbach Markt/right/west/0,
      Ortenauer Str/right/west/0,
      Freiburger Str/right/west/0,
      Rohrbach Süd/right/west/0,
      Zementwerk/right/west/0,
      Johannes-Reidel-Str/right/west/0,
      Georgi-Marktplatz/right/west/0,
      Kurpfalzcentrum/right/west/0,
      Moltkestr/right/west/0,
      Leimen Friedhof/right/west/0,
      Hauptbahnhof Süd/left/east/45,
      Gadamerplatz/left/east/45,
      Eppelheimer Terrasse/left/east/45,
      Czernybrücke/above/south/45,
      Henkel Teroson Str/below/east/45,
      Marktstr/below/east/45,
      Kranichweg Stotz/below/east/45,
      Jakobsgasse/below/east/45,
      Eppelheimer Rathaus/below/east/45,
      Eppelheim Kirchheimer Str/below/east/45,
      Rudolf-Diesel-Str/left/east/0,
      Messplatz/left/east/0,
      Ilse-Krall-Str/left/east/0,
      Albert-Fritz-Str/left/east/0,
      Odenwaldstr/left/east/0,
      Kirchheim Rathaus/left/east/0,
      Kirchheim Friedhof/left/east/0,
      Burgstr/right/west/0%
    } \node[label, \placement=0.05cm of \stop, rotate=\rotate, anchor=\anchor] {\contour{white}{\stop}};
    % \node[label, right=0.05cm of Altes Hallenbad, rotate=60, anchor=south west, align=left] {Altes Hallenbad};
    % \node[label, right=0.05cm of Campus Bergheim, rotate=60, anchor=south west, align=left] {Campu Bergheim};
    \node[line name, fill=twentytwo, left=0.2cm of Eppelheim Kirchheimer Str] {\bf 22};
    \node[line name, fill=twentysix, right=0.2cm of Kirchheim Friedhof] {\bf 26};
    \node[line name, fill=twentythree, left=0.2cm of Leimen Friedhof] {\bf 23};
    \node[line name, fill=twentyfour, left=0.2cm of Rohrbach Süd] {\bf 24};
    \node[line name, fill=twentyone, left=0.2cm of Hans Thoma Platz] {\bf 21};
    \node[line name, fill=twentysix, left=0.2cm of Burgstr] {\bf 26};
    \node[line name, fill=twentyfour, left=0.6cm of Burgstr] {\bf 24};
    \node[line name, fill=twentytwo, right=0.2cm of Bismarckplatz] {\bf 22};
    \node[line name, fill=twentythree, right=0.6cm of Bismarckplatz] {\bf 23};
  \end{pgfonlayer}


  % \node[draw, fill=white, color=black, shape=stop] (test) at (Hauptbahnhof) {};

  % \draw[line, color=twentyfour]
  %   (Hauptbahnhof) -- (Betriebshof) -- 
  %   (Jahnstr) -- (Bunsengymnasium) --
  %   (Technologiepark) -- (Heiligenbergschule) -- 
  %   (Hans Thoma Platz);
  % \draw[line, color=twentyone] 
  %   ($(Hauptbahnhof)-(0.1,0)$) -- ($(Betriebshof)-(0.1,0)$) -- 
  %   ($(Jahnstr)-(0.1,0)$) -- ($(Bunsengymnasium)-(0.1,0)$) --
  %   ($(Technologiepark)-(0.1,0)$) -- ($(Heiligenbergschule)-(-45:0.1)$) -- 
  %   ($(Hans Thoma Platz)-(0.1,0.2)$) -- ($(Hans Thoma Platz)-(0.1,0)$);

  %
  % \node[stop, shape=rectangle, minimum width=0.5cm, shift={(-0.1cm, 0cm)}] at (Hans Thoma Platz) {};
  %
  % \node[stop, shape=rectangle, minimum width=0.3cm, shift={(-0.05cm, 0cm)}] at (Hauptbahnhof) {};
  % \node[label, anchor=west] at (Hauptbahnhof) {Hauptbahnhof};
  %
  % \node[stop, shape=rectangle, minimum width=0.3cm, shift={(-0.05cm, 0cm)}] at (Betriebshof) {};
  % \node[label, anchor=west] at (Betriebshof) {Betriebshof};
  %
  % \node[stop, shape=rectangle, minimum width=0.3cm, shift={(-0.05cm, 0cm)}] at (Jahnstr) {};
  % \node[label, anchor=west] at (Jahnstr) {Jahnstr};
  %
  % \node[stop, shape=rectangle, minimum width=0.3cm, shift={(-0.05cm, 0cm)}] at (Bunsengymnasium) {};
  % \node[label, anchor=west] at (Bunsengymnasium) {Bunsengymnasium};
  %
  % \node[stop, shape=rectangle, minimum width=0.3cm, shift={(-0.05cm, 0cm)}] at (Technologiepark) {};
  % \node[label, anchor=west] at (Technologiepark) {Technologiepark};

  % \draw[stop, shift={(-0.1cm,-0.1cm)}] 
  %   (Hans Thoma Platz) 
  %   rectangle ++(0.2cm,0.2cm) 
  %   node[right, label] {Hans-Thoma-Platz};
  % \draw[stop] (Heiligenbergschule) circle node[right, label, anchor=north west] {Heiligenbergschule};
  % \draw[stop] (Technologiepark) circle node[right, label, anchor=north west] {Technologiepark};
  % \draw[stop] (Bunsengymnasium) circle node[right, label] {Bunsengymnasium};
  % \draw[stop] (Jahnstr) circle node[right, label] {Jahnstr};
  % \draw[stop] (Betriebshof) circle node[right, label] {Betriebshof};
  % \draw[stop] (Hauptbahnhof) circle node[right, label] {Hauptbahnhof};
\end{tikzpicture}

\vfill
\hspace{0pt}
\end{center}
\end{document}
% vim: nospell conceallevel=0
