From 9ae70dcc0a4bf70ea9535862c121ef2cfb564df6 Mon Sep 17 00:00:00 2001 From: Aada Date: Fri, 21 Jun 2024 20:28:58 +0200 Subject: introduce Mannheim --- .gitlab-ci.yml | 4 + rnv/mannheim.tex | 856 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 860 insertions(+) create mode 100644 rnv/mannheim.tex diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6bbe34..dcf65dc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,10 +7,12 @@ build-pdf: image: registry.gitlab.com/containers.ada/tectonic script: - "tectonic rnv/heidelberg.tex" + - "tectonic rnv/mannheim.tex" - "tectonic rnv/disc-five.tex" - "tectonic vag_freiburg/freiburg.tex" artifacts: paths: + - rnv/mannheim.pdf - rnv/heidelberg.pdf - rnv/disc-five.pdf - vag_freiburg/freiburg.pdf @@ -25,10 +27,12 @@ build-svg: image: registry.gitlab.com/containers.ada/pdf2svg script: - "pdf2svg rnv/heidelberg.pdf rnv/heidelberg.svg" + - "pdf2svg rnv/mannheim.pdf rnv/mannheim.svg" - "pdf2svg rnv/disc-five.pdf rnv/disc-five.svg" - "pdf2svg vag_freiburg/freiburg.pdf vag_freiburg/freiburg.svg" artifacts: paths: + - rnv/mannheim.svg - rnv/heidelberg.svg - rnv/disc-five.svg - vag_freiburg/freiburg.svg diff --git a/rnv/mannheim.tex b/rnv/mannheim.tex new file mode 100644 index 0000000..eb3cbf8 --- /dev/null +++ b/rnv/mannheim.tex @@ -0,0 +1,856 @@ +\documentclass[tikz]{standalone} + +\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} + +\pgfdeclarelayer{bg} +\pgfdeclarelayer{lines} +\pgfdeclarelayer{stops} +\pgfdeclarelayer{labels} +\pgfdeclarelayer{legend} +\pgfsetlayers{bg,lines,stops,labels,main,legend} + +\contourlength{.2ex} + +\begin{document} + +\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, + }, + stop5/.style = { + stop, + minimum width=1.0cm, + }, + stop6/.style = { + stop, + minimum width=1.2cm, + }, + stop7/.style = { + stop, + minimum width=1.4cm, + }, + line/.style = { + line width=0.15cm, + rounded corners=0.1cm, + }, + maybe line/.style = { + line, + line width=0.1cm, + }, + label/.style = { + font=\scriptsize, + }, + line name/.style = { + label, + color=white, + minimum width=1em, + minimum height=1em, + inner sep=0pt, + }, + ] + + \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] + (12,-2) + -- (10,0) + -- (7.8,0) + -- (2.8,5) + -- (-4,5); + \end{pgfonlayer} + + \begin{pgfonlayer}{stops} + % Quadrate + \node[stop5, rotate=-45] (ParadeplatzW) at ($(45:-0.55)+(135:-0.5)$) {}; + \node[stop4, rotate=45] (ParadeplatzE) at (135:-1.15) {}; + \node[stop4, rotate=45] (Wasserturm) at (135:-4) {}; + \node[stop4, rotate=45] (Strohmarkt) at (135:-2) {}; + \node[stop4, rotate=45] (Rathaus) at (135:2) {}; + \node[stop4, rotate=45] (Rheinstr) at (135:3.8) {}; + \node[stop6, rotate=-45] (Marktplatz) at ($(45:2)+(135:-0.4)$) {}; + \node[stop6, rotate=-45] (Abendakademie) at ($(45:3.8)+(135:-0.4)$) {}; + \node[stop5, rotate=-45] (Schloss) at ($(45:-3)+(135:-0.5)$) {}; + \node[stop5, rotate=45] (Universität) at ($(45:-4)+(135:-0.9)$) {}; + \node[stop3, rotate=90] (Nationaltheater) at (0:5) {}; + \node[stop2, rotate=-25] (Rosengarten) at (-25:4.5) {}; + \node[stop3, rotate=60] (Kurpfalzbrücke) at (60:4.3) {}; + \node[stop3, rotate=90] (MVV Hochhaus) at (90:4.3) {}; + \node[stop3, rotate=120] (Dalbergstr) at (120:4.3) {}; + \node[stop4, rotate=-45] (Kunsthalle) at ($(135:-4.7)-(45:1)$) {}; + \node[stop7, rotate=-45, below left=1.8cm of Kunsthalle.one half, anchor=one half] (Hauptbahnhof) {}; + \node[stop3, rotate=45] (Tattersall) at ($(Hauptbahnhof.center)!0.5!(Kunsthalle.center)+(135:-1.1)$) {}; + \node[stop3, rotate=-45] (Theresienkrankenhaus) at ($(Nationaltheater)+(0:0.8)+(45:1)$) {}; + \node[stop1] (Collini-Center) at ($(Abendakademie.three quarter)+(45:1)+(135:-1)$) {}; + \node[stop1] (Lessingstr) at ($(Collini-Center)+(135:-3.0)$) {}; + \node[stop1] (Gewerkschaftshaus) at (20:4.6) {}; + % + \node[stop1] (Fernmeldeturm) at ($(Lessingstr)+(135:-0.5)$) {}; + \node[stop1] (Holbeinstr) at ($(Fernmeldeturm)+(135:-0.4)+(0:0.4)$) {}; + \node[stop2, rotate=90, anchor=two half] (Neuostheim) at ($(Holbeinstr)+(0:0.5)$) {}; + \node[stop1] (Duale Hochschule) at ($(Neuostheim.two half)+(0:0.5)$) {}; + \node[stop1] (Pforzheimer Str) at ($(Duale Hochschule)+(0:0.5)$) {}; + \node[stop1] (Deutscher Hof) at ($(Pforzheimer Str)+(0:0.5)$) {}; + % Neckarstadt + \node[stop5, rotate=-45] (Alte Feuerwache) at ($(45:6)+(135:-0.1)$) {}; + \node[stop2, rotate=45] (Schafweide) at ($(Alte Feuerwache)+(45:0.6)+(135:-1.8)$) {}; + \node[stop5, rotate=-45] (Universitätsklinikum) at ($(Schafweide)+(135:-2)+(45:0.4)$) {}; + \node[stop3, rotate=-45, anchor=two half] (Lange Röttgerstr) at ($(Universitätsklinikum.center)+(45:0.8)$) {}; + \node[stop3, rotate=-45] (Bonifatiuskirche) at ($(Lange Röttgerstr)+(45:0.5)$) {}; + \node[stop2, rotate=-45, anchor=two half] (Exorzierplatz) at ($(Bonifatiuskirche.two half)+(45:0.5)$) {}; + \node[stop2, rotate=45] (Bibienastr) at ($(Universitätsklinikum.three quarter)+(45:0.4)+(135:-1.0)$) {}; + \node[stop2, rotate=90] (Hauptfriedhof) at ($(Bibienastr)-(135:1.0)+(0:0.4)$) {}; + \node[stop2, rotate=90] (Pfeifferswörth) at ($(Hauptfriedhof)+(0:0.5)$) {}; + \node[stop2, rotate=90] (Neckarplatt) at ($(Pfeifferswörth)+(0:0.5)$) {}; + \node[stop1] (Am Aubuckel) at ($(Neckarplatt)+(0:0.3)+(135:-0.6)$) {}; + \node[stop1] (Liebfrauenstr) at ($(Am Aubuckel)-(135:0.5)$){}; + \node[stop1] (Blücherstr) at ($(Liebfrauenstr)-(135:0.5)$){}; + \node[stop1] (Feudenheim Kirche) at ($(Blücherstr)-(135:0.5)$){}; + \node[stop1] (Neckarstr) at ($(Feudenheim Kirche)-(135:0.5)$){}; + \node[stop1] (Feudenheim) at ($(Neckarstr)-(135:0.5)$){}; + \node[stop2] (Carl-Benz-Str) at ($(Alte Feuerwache.center)+(45:0.5)+(90:1.4)$) {}; + \node[stop2, above=0.3cm of Carl-Benz-Str] (Neuer Messplatz) {}; + \node[stop2, above=0.3cm of Neuer Messplatz] (Herzogenriedstr) {}; + \node[stop1] (Neumarkt) at ($(Alte Feuerwache.one half)+(45:0.5)+(90:0.7)+(180:1.8)$) {}; + \node[stop1, left=0.3cm of Neumarkt] (Bgm-Fuchs-Str) {}; + \node[stop1, left=0.3cm of Bgm-Fuchs-Str] (Neckarstadt West) {}; + % Luzenberg + \node[stop2, above=0.3cm of Herzogenriedstr] (Untermühlaustr) {}; + \node[stop2, above=0.3cm of Untermühlaustr] (Luzenberg) {}; + \node[stop1] (Stolberger Str) at ($(Luzenberg.one half)+(90:0.3)+(135:0.3)$) {}; + \node[stop1] (Altrheinstr) at ($(Stolberger Str)+(135:0.5)$) {}; + \node[stop1] (Roche) at ($(Altrheinstr)+(135:0.5)$) {}; + \node[stop1] (Zellstofffabrik) at ($(Roche)+(135:0.5)$) {}; + \node[stop1] (Papyrus) at ($(Zellstofffabrik)+(135:0.5)$) {}; + \node[stop1] (Bürstädter Str) at ($(Papyrus)+(135:0.5)$) {}; + \node[stop1] (Hanfstr) at ($(Bürstädter Str)+(135:0.5)$) {}; + \node[stop1] (Sandhofen) at ($(Hanfstr)+(135:0.5)$) {}; + % Waldhof + \node[stop1, above=0.4cm of Luzenberg.two half] (Waldhof Bf) {}; + \node[stop1, above=0.3cm of Waldhof Bf] (Waldhof Nord) {}; + % Schönau + \node[stop1, above=0.3cm of Waldhof Nord] (Schönau Siedlung) {}; + \node[stop1, above=0.3cm of Schönau Siedlung] (Schönauschule) {}; + \node[stop1, above=0.3cm of Schönauschule] (Schönau) {}; + % Käfertal + \node[stop2, rotate=-45] (Boveristr) at ($(Exorzierplatz)+(45:0.5)$) {}; + \node[stop2, rotate=-45] (Käfertal Süd) at ($(Boveristr)+(45:0.5)$) {}; + \node[stop2, rotate=-45] (Mannheimer Str) at ($(Käfertal Süd)+(45:0.5)$) {}; + \node[stop2, rotate=-45] (Käfertal Bf) at ($(Mannheimer Str)+(45:0.5)$) {}; + \node[stop2, rotate=-45] (Bensheimer Str) at ($(Käfertal Bf)+(45:1.2)$) {}; + \node[stop1, rotate=-45] (Platz der Freundschaft) at ($(Bensheimer Str.two half)+(45:0.5)$) {}; + \node[stop1] (Hochuferstr) at ($(Bonifatiuskirche.one half)+(45:0.2)+(90:0.3)$) {}; + \node[stop1, above=0.3cm of Hochuferstr] (Landwehrsteg) {}; + \node[stop1, above=0.3cm of Landwehrsteg] (Ulmenweg) {}; + \node[stop1, above=0.3cm of Ulmenweg] (Jugendverkehrsschule) {}; + \node[stop1, above=0.3cm of Jugendverkehrsschule] (Hessische Str) {}; + \node[stop1, above=0.3cm of Hessische Str] (Speckweg) {}; + \node[stop1, above=0.3cm of Speckweg] (Herrmann-Gutzmann-Schule) {}; + \node[stop1, above=0.6cm of Herrmann-Gutzmann-Schule] (Erlöserkirche) {}; + \node[stop1, above=0.3cm of Erlöserkirche] (Waldstr) {}; + \node[stop1, right=0.6cm of Waldstr] (Carl-Benz-Bad) {}; + \node[stop1, above=0.3cm of Waldstr] (Freilichtbühne) {}; + \node[stop1, above=0.3cm of Freilichtbühne] (Waldfriedhof) {}; + \node[stop1, right=0.6cm of Waldfriedhof] (Käfertaler Wald) {}; + \node[stop2, rotate=45] (Im Rott) at ($(Käfertal Bf.two half)!0.65!(Bensheimer Str.two half)+(135:-1.7)$){}; + % Vogelstang + \node[stop2, rotate=45] (Vogelstang West) at ($(Im Rott)-(135:1.7)$){}; + \node[stop1] (Potsdamer Weg) at ($(Vogelstang West)+(45:0.7)$){}; + \node[stop1] (Vogelstang Zentrum) at ($(Potsdamer Weg)+(45:0.5)$){}; + \node[stop1] (Vogelstang) at ($(Vogelstang Zentrum)+(45:0.5)$){}; + \node[stop1] (Kiesäcker) at ($(Vogelstang West)-(45:0.5)$) {}; + \node[stop1] (Hölderlinstr) at ($(Kiesäcker)-(45:0.5)$) {}; + \node[stop1] (Talstr) at ($(Hölderlinstr)-(45:0.5)$) {}; + \node[stop1] (Adolf-Damaschke-Ring) at ($(Talstr)-(45:0.5)$) {}; + \node[stop1] (Ziethenstr) at ($(Adolf-Damaschke-Ring)-(45:0.5)$) {}; + % Wallstadt + \node[stop2, rotate=90, anchor=one half] (Wallstadt West) at ($(Vogelstang West.one half)-(135:0.4)+(0:0.4)$) {}; + \node[stop2, rotate=90] (Wallstadt Bf) at ($(Wallstadt West)+(0:0.5)$) {}; + \node[stop2, rotate=90] (Wallstadt Ost) at ($(Wallstadt Bf)+(0:0.5)$) {}; + \node[stop1] (Heddesheim Bf) at ($(Wallstadt Ost.one half)+(0:0.5)$) {}; + % Franklin + \node[stop1] (Franklinschule) at ($(Bensheimer Str.one half)+(45:0.2)+(90:0.5)$) {}; + \node[stop1, above=0.3cm of Franklinschule] (Franklin Mitte) {}; + \node[stop1, above=0.3cm of Franklin Mitte] (Sullivan) {}; + % Viernheim + \node[stop1, rotate=-45] (Tivoli) at ($(Platz der Freundschaft)+(45:0.5)$) {}; + \node[stop1, rotate=-45] (Kapellenberg) at ($(Tivoli)+(45:0.5)$) {}; + % Oststadt + \node[stop2, rotate=90, anchor=two half] (Werderstr) at ($(Tattersall.two half)+(135:-0.4)+(0:0.7)$){}; + \node[stop2, rotate=90, right=0.5cm of Werderstr.center, anchor=center] (Pestallozischule) {}; + \node[stop2, rotate=90, right=0.5cm of Pestallozischule.center, anchor=center] (Weberstr) {}; + \node[stop2, rotate=90, right=0.5cm of Weberstr.center, anchor=center] (Planetarium) {}; + \node[stop2, rotate=-45] (Luisenpark Technoseum) at ($(Planetarium)+(0:0.4)+(45:0.4)$){}; + \node[stop2, rotate=-45] (Carl-Benz-Stadion) at ($(Luisenpark Technoseum)+(45:0.5)$){}; + \node[stop2, rotate=-45] (Harrlach) at ($(Carl-Benz-Stadion)+(45:0.5)$){}; + \node[stop2, rotate=-45] (Lucas-Cranach-Str) at ($(Harrlach)+(45:0.5)$){}; + \node[stop2, rotate=-45] (Schwindstr) at ($(Lucas-Cranach-Str)+(45:0.5)$){}; + \node[stop1] (Technoseum Süd) at ($(Planetarium.two half)+(0:0.4)-(135:0.4)$){}; + \node[stop1] (Fahrlach) at ($(Technoseum Süd)-(135:0.5)$){}; + \node[stop1] (Husarenweg) at ($(Fahrlach)-(135:0.5)$){}; + \node[stop1] (Ulanenweg) at ($(Husarenweg)-(135:0.5)$){}; + \node[stop1] (Gerd-Dehof-Platz) at ($(Ulanenweg)-(135:0.5)$){}; + \node[stop1] (SAP Arena Süd) at ($(Gerd-Dehof-Platz)-(135:0.5)$){}; + % Schwetzingerstadt + \node[stop1] (Kopernikusstr) at ($(Tattersall.one half)+(135:-0.4)+(90:-0.7)$) {}; + \node[stop2, below=0.4cm of Kopernikusstr, anchor=one half] (Krappmühlstr) {}; + \node[stop2, below=0.3cm of Krappmühlstr] (Hochschule) {}; + % Neckarau + \node[stop1, below=0.4cm of Hochschule.one half] (Lettestr) {}; + \node[stop1, below=0.3cm of Lettestr] (Voltastr) {}; + \node[stop1, below=0.3cm of Voltastr] (Neckarau Bf) {}; + \node[stop2, below=0.4cm of Neckarau Bf, anchor=one half] (Friedrichstr) {}; + \node[stop1, below=0.4cm of Friedrichstr.one half] (Isarweg) {}; + % Lindenhof + \node[stop1] (Hauptbahnhof Süd) at ($(Hauptbahnhof.two quarter)-(45:2)-(0,1)$) {}; + \node[stop1, below=0.3cm of Hauptbahnhof Süd] (Windeckstr) {}; + \node[stop1, below=0.3cm of Windeckstr] (Diesterwegschule) {}; + \node[stop1, below=0.3cm of Diesterwegschule] (Meeräckerplatz) {}; + \node[stop1, below=0.3cm of Meeräckerplatz] (Markuskirche) {}; + \node[stop1, below=0.3cm of Markuskirche] (Franz-Sigel-Str) {}; + \node[stop1, below=0.3cm of Franz-Sigel-Str] (Freiheitsplatz) {}; + \node[stop1, below=0.3cm of Freiheitsplatz] (Neckarau West) {}; + \node[stop1, below=0.3cm of Neckarau West] (Tannhäuser Ring) {}; + \node[stop1, below=0.3cm of Tannhäuser Ring] (Stollenwörth) {}; + \node[stop1, below=0.3cm of Stollenwörth] (Rheingoldhalle) {}; + % Ludwigshafen + \node[stop5, rotate=-45] (Berliner Platz) at ($(45:-6)-(135:0.3)$) {}; + \end{pgfonlayer} + + \begin{pgfonlayer}{lines} + \pgfmathparse{0.1*tan(45/2)} + \let\offset\pgfmathresult + + \draw[line, one] + (Schönau) + -- (Schönauschule) + -- (Schönau Siedlung) + -- (Waldhof Nord) + -- (Waldhof Bf) + -- (Luzenberg.two half) + -- (Untermühlaustr.two half) + -- (Herzogenriedstr.two half) + -- (Neuer Messplatz.two half) + -- (Carl-Benz-Str.two half) + {[rounded corners=0.25cm] + -- ($(Alte Feuerwache.three quarter)+(45:0.5-\offset)$) + } + -- (Alte Feuerwache.three quarter) + -- (Abendakademie.three sixth) + -- (Marktplatz.three sixth) + -- (ParadeplatzW.two quarter) + -- (Schloss.two quarter) + {[rounded corners=0.5cm] + -- ($(Universität.center)+(135:0.6)$) + } + -- (Universität.center) + -- ($(Hauptbahnhof.two half)+(45:-1.2)$) + -- (Hauptbahnhof.two half) + {[rounded corners=0.2cm] + -- ($(Tattersall.one half)+(135:0.35)$) + } + -- (Tattersall.one half) + -- ($(Tattersall.one half)+(135:-0.4)$) + -- (Kopernikusstr) + -- (Krappmühlstr.one half) + -- (Hochschule.one half) + -- (Lettestr) + -- (Voltastr) + -- (Neckarau Bf) + -- (Friedrichstr.one half) + -- (Isarweg) + ; + + \draw[maybe line, one] + (Alte Feuerwache.three quarter) + -- ($(45:4.1)-(135:0.3)$) + arc[start angle=41, end angle=60, radius=4.1] + -- (Kurpfalzbrücke.one half) + arc[start angle=60, end angle=90, radius=4.1] + -- (MVV Hochhaus.one half) + arc[start angle=90, end angle=120, radius=4.1] + -- (Dalbergstr.one half) + arc[start angle=120, end angle=130, radius=4.1] + -- (Rheinstr.two half) + -- (Rathaus.two half) + {[rounded corners=0.4cm] + -- ($(ParadeplatzW.two quarter)+(45:0.85)$) + } + -- (ParadeplatzW.two quarter) + ; + + + \draw[line, two] + (Neckarstadt West) + -- (Bgm-Fuchs-Str) + -- (Neumarkt) + {[rounded corners=0.3cm] + -- ($(Alte Feuerwache.one half)+(45:0.5-\offset)+(90:0.7)$) + } + -- ($(Alte Feuerwache.one half)+(45:0.5)$) + -- (Alte Feuerwache.one half) + -- ($(45:4.5)+(135:0.3)$) + arc[start angle=49, end angle=60, radius=4.5] + -- (Kurpfalzbrücke.two half) + arc[start angle=60, end angle=90, radius=4.5] + -- (MVV Hochhaus.two half) + arc[start angle=90, end angle=120, radius=4.5] + -- (Dalbergstr.two half) + arc[start angle=120, end angle=136, radius=4.5] + -- (Rheinstr.two quarter) + -- (Strohmarkt.two quarter) + -- (Wasserturm.two quarter) + -- ($(135:-4.6)-(45:0.1)$) + {[rounded corners=0.01cm] + -- ($(135:-4.6)-(45:0.0)$) + } + arc[start angle=-45, end angle=-2.5, radius=4.6] + -- (Nationaltheater.one half) + {[rounded corners=0.3cm] + -- ($(Nationaltheater.one half)+(0:0.8+2*\offset)$) + } + -- (Theresienkrankenhaus.two half) + -- (Universitätsklinikum.two half) + -- ($(Universitätsklinikum.two half)+(45:0.3)$) + -- (Bibienastr.one half) + {[rounded corners=0.15cm] + -- ($(Bibienastr.one half)-(135:1.0+\offset)$) + } + -- (Hauptfriedhof.one half) + -- (Pfeifferswörth.one half) + -- (Neckarplatt.one half) + -- ($(Neckarplatt.one half)+(0:0.4)$) + -- (Am Aubuckel) + -- (Liebfrauenstr) + -- (Blücherstr) + -- (Feudenheim Kirche) + -- (Neckarstr) + -- (Feudenheim) + ; + + \draw[line, three] + (Sandhofen) + -- (Hanfstr) + -- (Bürstädter Str) + -- (Papyrus) + -- (Zellstofffabrik) + -- (Roche) + -- (Altrheinstr) + -- (Stolberger Str) + -- ($(Luzenberg.one half)+(90:0.3)$) + -- (Luzenberg.one half) + -- (Untermühlaustr.one half) + -- (Herzogenriedstr.one half) + -- (Neuer Messplatz.one half) + -- (Carl-Benz-Str.one half) + {[rounded corners=0.15cm] + -- ($(Alte Feuerwache.two quarter)+(45:0.5+1.5*\offset)$) + } + -- (Alte Feuerwache.two quarter) + -- (Abendakademie.one half) + -- (Marktplatz.one half) + {[rounded corners=0.3cm] + -- ($(45:0.1)+(135:0.1)$) + } + -- (ParadeplatzE.three quarter) + -- (Strohmarkt.three quarter) + -- (Wasserturm.three quarter) + -- ($(Wasserturm.three quarter)+(135:-0.6)$) + -- (Kunsthalle.two quarter) + -- (Hauptbahnhof.two quarter) + -- ($(Hauptbahnhof.two quarter)+(45:-2)$) + -- (Hauptbahnhof Süd) + -- (Windeckstr) + -- (Diesterwegschule) + -- (Meeräckerplatz) + -- (Markuskirche) + -- (Franz-Sigel-Str) + -- (Freiheitsplatz) + -- (Neckarau West) + -- (Tannhäuser Ring) + -- (Stollenwörth) + -- (Rheingoldhalle) + ; + + \draw[maybe line, three] + (Alte Feuerwache.two quarter) + ($(45:4.3)+(135:0.1)$) + arc[start angle=47, end angle=60, radius=4.3] + -- (Kurpfalzbrücke.center) + arc[start angle=60, end angle=90, radius=4.3] + -- (MVV Hochhaus.center) + arc[start angle=90, end angle=120, radius=4.3] + -- (Dalbergstr.center) + arc[start angle=120, end angle=133.5, radius=4.3] + -- (Rheinstr.three quarter) + -- (Rathaus.three quarter) + -- (ParadeplatzE.three quarter) + ; + + \draw[line, four] + (Herrmann-Gutzmann-Schule) + {[rounded corners=0.2cm] + -- ($(Erlöserkirche)!0.5!(Herrmann-Gutzmann-Schule)$) + -| (Carl-Benz-Bad) + } + -- (Käfertaler Wald) + (Waldfriedhof) + -- (Freilichtbühne) + -- (Waldstr) + -- (Erlöserkirche) + -- (Herrmann-Gutzmann-Schule) + -- (Speckweg) + -- (Hessische Str) + -- (Jugendverkehrsschule) + -- (Ulmenweg) + -- (Landwehrsteg) + -- (Hochuferstr) + -- ($(Bonifatiuskirche.one half)+(45:0.2)$) + -- (Bonifatiuskirche.one half) + -- (Lange Röttgerstr.one half) + -- (Universitätsklinikum.one half) + -- ($(Universitätsklinikum.one half)-(45:0.3)$) + -- (Schafweide.two half) + {[rounded corners=0.4cm] + -- ($(Alte Feuerwache.center)+(45:0.7)$) + } + -- (Alte Feuerwache.center) + -- (Abendakademie.two quarter) + -- (Marktplatz.two quarter) + -- ($(45:0.3)+(135:-0.1)$) + -- (ParadeplatzE.two half) + -- (Strohmarkt.two half) + -- (Wasserturm.two half) + -- ($(Wasserturm.two half)-(135:0.8)$) + -- (Kunsthalle.three quarter) + -- ($(Hauptbahnhof.three sixth)+(45:0.4)$) + -- ($(Hauptbahnhof.center)+(45:0.2)$) + -- (Hauptbahnhof.center) + -- ($(Hauptbahnhof.center)+(45:-1.6)$) + -- (Universität.one half) + {[rounded corners=0.4cm] + -- ($(Universität.one half)+(135:0.8)$) + } + -- (Berliner Platz.two quarter) + ; + + \draw[line, five] + (Deutscher Hof) + -- (Pforzheimer Str) + -- (Duale Hochschule) + -- (Neuostheim.two half) + -- (Holbeinstr) + -- ($(Fernmeldeturm)+(135:-0.4)$) + -- (Fernmeldeturm) + -- (Lessingstr) + -- (Collini-Center) + -- ($(Abendakademie.three quarter)+(45:1)$) + -- (Abendakademie.three quarter) + -- (Marktplatz.three quarter) + -- (ParadeplatzW.three quarter) + -- (Schloss.three quarter) + {[rounded corners=0.1cm] + -- ($(Universität.two half)+(135:0.2)$) + } + -- (Universität.two half) + -- ($(Hauptbahnhof.one half)-(45:0.8)$) + -- (Hauptbahnhof.one half) + -- (Kunsthalle.one half) + -- (135:-4.4) + arc[start angle=-45, end angle=2.5, radius=4.4] + -- (Nationaltheater.two half) + -- ($(Nationaltheater.two half)+(0:0.8-2*\offset)$) + -- (Theresienkrankenhaus.one half) + -- (Universitätsklinikum.center) + -- (Lange Röttgerstr.two half) + -- (Bonifatiuskirche.two half) + -- (Exorzierplatz.two half) + -- (Boveristr.two half) + -- (Käfertal Süd.two half) + -- (Mannheimer Str.two half) + -- (Käfertal Bf.two half) + -- (Bensheimer Str.two half) + -- (Platz der Freundschaft) + -- (Tivoli) + -- (Kapellenberg) + (Käfertal Bf.two half) + {[rounded corners=0.3cm] + -- ($(Käfertal Bf.two half)!0.65!(Bensheimer Str.two half)-(45:0.1)$) + } + -- (Im Rott.one half) + -- (Vogelstang West.one half) + {[rounded corners=0.15cm] + -- ($(Vogelstang West.one half)-(135:0.4)$) + } + -- (Wallstadt West.one half) + -- (Wallstadt Bf.one half) + -- (Wallstadt Ost.one half) + -- (Heddesheim Bf) + ; + + \draw[line, six] + (Rheinstr.one half) + -- (Rathaus.one half) + -- (ParadeplatzE.one half) + -- (Strohmarkt.one half) + -- (Wasserturm.one half) + -- ($(Wasserturm.one half)+(135:-1.0)$) + -- (Kunsthalle.two half) + {[rounded corners=0.3cm] + -- ($(Tattersall.two half)-(135:-0.95)$) + } + -- (Tattersall.two half) + (Rathaus.one half) + {[rounded corners=0.2cm] + -- ($(45:-0.3)+(135:0.3)$) + } + -- (ParadeplatzW.one half) + -- (Schloss.one half) + {[rounded corners=0.7cm] + -- ($(Universität.two quarter)+(135:0.8)$) + } + -- (Universität.two quarter) + -- ($(Hauptbahnhof.four sixth)-(45:1.4)$) + -- (Hauptbahnhof.four sixth) + -- ($(Hauptbahnhof.four sixth)+(45:0.25)$) + -- ($(Hauptbahnhof.center)+(45:0.5)$) + {[rounded corners=0.3cm] + -- ($(Tattersall.two half)-(135:-0.95)$) + } + -- (Tattersall.two half) + -- ($(Tattersall.two half)+(135:-0.4)$) + -- (Werderstr.two half) + -- (Pestallozischule.two half) + -- (Weberstr.two half) + -- (Planetarium.two half) + -- ($(Planetarium.two half)+(0:0.4-\offset)$) + -- (Luisenpark Technoseum.one half) + -- (Carl-Benz-Stadion.one half) + -- (Harrlach.one half) + -- (Lucas-Cranach-Str.one half) + -- (Schwindstr.one half) + -- (Neuostheim.one half) + (Planetarium.two half) + -- ($(Planetarium.two half)+(0:0.4)$) + -- (Technoseum Süd) + -- (Fahrlach) + -- (Husarenweg) + -- (Ulanenweg) + -- (Gerd-Dehof-Platz) + -- (SAP Arena Süd) + ; + + \draw[line, seven] + (Vogelstang) + -- (Vogelstang Zentrum) + -- (Potsdamer Weg) + -- (Vogelstang West) + -- (Kiesäcker) + -- (Hölderlinstr) + -- (Talstr) + -- (Adolf-Damaschke-Ring) + -- (Ziethenstr) + -- ($(Neckarplatt.two half)+(0:0.4)$) + -- (Neckarplatt.two half) + -- (Pfeifferswörth.two half) + -- (Hauptfriedhof.two half) + -- ($(Bibienastr.two half)-(135:1.0-\offset)$) + -- (Bibienastr.two half) + {[rounded corners=0.3cm] + -- ($(Universitätsklinikum.three quarter)+(45:0.5)$) + } + -- (Universitätsklinikum.three quarter) + -- (Theresienkrankenhaus) + {[rounded corners=0.2cm] + -- ($(Nationaltheater)+(0:0.8)$) + } + -- (Nationaltheater) + -- ($(Nationaltheater.center)-(0:0.4)$) + arc[start angle=0, end angle=35, radius=4.4] + -- ($(Abendakademie.two half)+(45:0.3)$) + -- (Abendakademie.two half) + -- (Marktplatz.two half) + -- (ParadeplatzW.two half) + -- (Schloss.two half) + -- (Universität.center) + -- (Universität.west) + {[rounded corners=0.2cm] + -- ($(Universität.west)+(45:-0.3)$) + -- ($(Berliner Platz.one half)+(45:0.4)$) + } + -- (Berliner Platz.one half) + ; + + % \draw[line, eight] + % (Berliner Platz) + % -- (Hauptbahnhof) + % ; + + \draw[line, fifteen] + (Käfertal Bf.one half) + -- (Mannheimer Str.one half) + -- (Käfertal Süd.one half) + -- (Boveristr.one half) + -- (Exorzierplatz.one half) + -- (Bonifatiuskirche.center) + -- (Lange Röttgerstr.center) + -- (Universitätsklinikum.two quarter) + {[rounded corners=0.3cm] + -- ($(Universitätsklinikum.two quarter)-(45:0.5)$) + } + -- (Schafweide.one half) + {[rounded corners=0.2cm] + -- ($(Alte Feuerwache.two half)+(45:0.5)$) + } + -- (Alte Feuerwache.two half) + -- (Abendakademie.four sixth) + -- (Marktplatz.four sixth) + -- (ParadeplatzW.center) + -- (Schloss.center) + {[rounded corners=0.3cm] + -- ($(Universität.three quarter)+(135:0.4)$) + } + -- (Universität.three quarter) + -- ($(Hauptbahnhof.three sixth)+(45:-1.0)$) + -- (Hauptbahnhof.three sixth) + (Käfertal Bf.one half) + {[rounded corners=0.4cm] + -- ($(Käfertal Bf.one half)!0.65!(Bensheimer Str.one half)+(45:0.1)$) + } + -- (Im Rott.two half) + -- (Vogelstang West.two half) + -- ($(Vogelstang West.two half)-(135:0.4-2*\offset)$) + -- (Wallstadt West.two half) + -- (Wallstadt Bf.two half) + -- (Wallstadt Ost.two half) + ; + + \draw[line, sixteen] + (Bensheimer Str.one half) + -- ($(Bensheimer Str.one half)+(45:0.2)$) + -- (Franklinschule) + -- (Franklin Mitte) + -- (Sullivan) + ; + + \end{pgfonlayer} + + \begin{pgfonlayer}{labels} + \foreach\stop/\placement/\anchor/\rotate in { + Duale Hochschule/below/west/-45, + Pforzheimer Str/below/west/-45, + Deutscher Hof/below/west/-45, + Neuostheim/below left/west/-45, + Strohmarkt/right/west/0, + Rathaus/left/east/0, + Rheinstr/left/east/0, + Marktplatz/left/east/0, + Abendakademie/left/east/0, + Schloss/left/east/0, + Universität/right/west/0, + Nationaltheater/left/north west/0, + Rosengarten/right/west/0, + Kunsthalle/left/east/0, + Alte Feuerwache/left/east/0, + MVV Hochhaus/left/north/0, + Im Rott/left/north/-45, + Vogelstang West/left/east/0, + Dalbergstr/right/east/0, + Berliner Platz/left/east/0, + Tattersall/right/west/45, + Werderstr/right/south west/45, + Pestallozischule/right/south west/45, + Weberstr/right/south west/45, + Planetarium/right/south west/45, + Luisenpark Technoseum/right/west/-45, + Technoseum Süd/left/east/45, + Fahrlach/left/east/45, + Husarenweg/left/east/45, + Ulanenweg/left/east/45, + Gerd-Dehof-Platz/left/east/45, + SAP Arena Süd/left/east/45, + Carl-Benz-Stadion/right/west/-45, + Harrlach/right/west/-45, + Lucas-Cranach-Str/right/west/-45, + Schwindstr/right/west/-45, + Hauptbahnhof/left/east/0, + Hauptbahnhof Süd/left/east/0, + Windeckstr/left/east/0, + Diesterwegschule/left/east/0, + Meeräckerplatz/left/east/0, + Markuskirche/left/east/0, + Franz-Sigel-Str/left/east/0, + Freiheitsplatz/left/east/0, + Neckarau West/left/east/0, + Lange Röttgerstr/right/west/-45, + Bonifatiuskirche/right/west/-45, + Exorzierplatz/right/west/-45, + Boveristr/right/west/-45, + Käfertal Süd/right/west/-45, + Mannheimer Str/right/west/-45, + Käfertal Bf/right/west/-45, + Bensheimer Str/right/west/-45, + Platz der Freundschaft/right/west/-45, + Tivoli/right/west/-45, + Kapellenberg/right/west/-45, + Wallstadt West/left/west/-45, + Wallstadt Bf/left/west/-45, + Wallstadt Ost/left/west/-45, + Heddesheim Bf/below/west/-45, + Potsdamer Weg/right/west/0, + Kiesäcker/right/west/-45, + Hölderlinstr/right/west/-45, + Talstr/right/west/-45, + Vogelstang Zentrum/right/west/0, + Vogelstang/right/west/0, + Franklinschule/left/east/0, + Franklin Mitte/left/east/0, + Sullivan/left/east/0, + Tannhäuser Ring/left/east/0, + Stollenwörth/left/east/0, + Rheingoldhalle/left/east/0, + Kurpfalzbrücke/left/east/0, + Kopernikusstr/left/east/0, + Hochschule/left/east/0, + Lettestr/left/east/0, + Voltastr/left/east/0, + Neckarau Bf/left/east/0, + Friedrichstr/left/east/0, + Isarweg/left/east/0, + Krappmühlstr/left/east/0, + Schafweide/left/east/0, + Hochuferstr/left/east/0, + Landwehrsteg/left/east/0, + Ulmenweg/left/east/0, + Jugendverkehrsschule/left/east/0, + Hessische Str/left/east/0, + Speckweg/left/east/0, + Herrmann-Gutzmann-Schule/left/east/0, + Erlöserkirche/left/east/0, + Waldstr/left/east/0, + Carl-Benz-Bad/right/west/0, + Carl-Benz-Str/left/east/0, + Neuer Messplatz/left/east/0, + Herzogenriedstr/left/east/0, + Untermühlaustr/left/east/0, + Luzenberg/left/east/0, + Stolberger Str/left/east/0, + Altrheinstr/left/east/0, + Roche/left/east/0, + Zellstofffabrik/left/east/0, + Papyrus/left/east/0, + Bürstädter Str/left/east/0, + Hanfstr/left/east/0, + Sandhofen/left/east/0, + Waldhof Bf/right/west/0, + Waldhof Nord/right/west/0, + Schönau Siedlung/right/west/0, + Schönauschule/right/west/0, + Schönau/right/west/0, + Käfertaler Wald/right/west/0, + Collini-Center/right/west/0, + Freilichtbühne/left/east/0, + Waldfriedhof/left/east/0, + Universitätsklinikum/left/east/-45, + Bibienastr/above left/east/45, + Hauptfriedhof/right/west/45, + Pfeifferswörth/right/west/45, + Neckarplatt/right/west/45, + Am Aubuckel/left/east/0, + Liebfrauenstr/left/east/0, + Blücherstr/left/east/0, + Feudenheim Kirche/left/east/0, + Neckarstr/left/east/0, + Feudenheim/left/east/0, + Adolf-Damaschke-Ring/right/west/-45, + Ziethenstr/right/west/-45, + Theresienkrankenhaus/right/west/0, + Lessingstr/right/west/0, + Fernmeldeturm/right/west/0, + Gewerkschaftshaus/left/east/45, + Neumarkt/above/east/-45, + Bgm-Fuchs-Str/above/east/-45, + Neckarstadt West/above/east/-45, + Wasserturm/left/east/0% + } \node[label, \placement=0.05cm of \stop, rotate=\rotate, anchor=\anchor] {\contour{white}{\stop}}; + \node[label, right=0.1cm of ParadeplatzE, rotate=0, anchor=west] {\contour{white}{Paradeplatz}}; + \node[label, line name, fill=one, left=0.2cm of Schönau] {\bf 1}; + \node[label, line name, fill=two, left=0.2cm of Neckarstadt West] {\bf 2}; + \node[label, line name, fill=two, right=0.2cm of Feudenheim] {\bf 2}; + \node[label, line name, fill=three, above=0.2cm of Sandhofen] {\bf 3}; + \node[label, line name, fill=three, right=0.2cm of Rheingoldhalle] {\bf 3}; + \node[label, line name, fill=four, above=0.2cm of Waldfriedhof] {\bf 4}; + \node[label, line name, fill=four, above=0.2cm of Käfertaler Wald] {\bf 4A}; + \node[label, line name, fill=five, right=0.2cm of Heddesheim Bf] {\bf 5A}; + \node[label, line name, fill=seven, above=0.2cm of Vogelstang] {\bf 7}; + \node[label, line name, fill=fifteen, right=0.2cm of Wallstadt Ost.east, anchor=south west] {\bf 15}; + \node[label, line name, fill=sixteen, right=0.2cm of Sullivan] {\bf 16}; + \node[label, line name, fill=sixteen, left=0.2cm of Bensheimer Str] {\bf 16}; + \end{pgfonlayer} + +\end{tikzpicture} + +\end{document} +% vim: nospell conceallevel=0 -- cgit v1.2.3