\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,-3) -- (10,-1) -- (7.8,-1) -- (2.8,4) -- (-4,4); \end{pgfonlayer} \def\rad{2.8} \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:-\rad+0.1) {}; \node[stop4, rotate=45] (Strohmarkt) at (135:-2) {}; \node[stop4, rotate=45] (Rathaus) at (135:\rad/2) {}; \node[stop4, rotate=45] (Rheinstr) at (135:\rad-0.2) {}; \node[stop6, rotate=-45] (Marktplatz) at ($(45:\rad/2)+(135:-0.4)$) {}; \node[stop6, rotate=-45] (Abendakademie) at ($(45:\rad-0.2)+(135:-0.4)$) {}; \node[stop5, rotate=-45] (Schloss) at ($(45:-\rad+1)+(135:-0.5)$) {}; \node[stop5, rotate=45] (Universität) at ($(45:-\rad)+(135:-0.9)$) {}; \node[stop3, rotate=90] (Nationaltheater) at (0:4.2) {}; \node[stop2, rotate=-25] (Rosengarten) at (-25:\rad+0.4) {}; \node[stop3, rotate=60] (Kurpfalzbrücke) at (60:\rad+0.3) {}; \node[stop3, rotate=90] (MVV Hochhaus) at (90:\rad+0.3) {}; \node[stop3, rotate=120] (Dalbergstr) at (120:\rad+0.3) {}; \node[stop4, rotate=-45] (Kunsthalle) at ($(135:-\rad-0.4)-(45:0.7)$) {}; \node[stop7, rotate=-45, anchor=one half] (Hauptbahnhof) at ($(Kunsthalle.one half)-(45:1.7)$) {}; \node[stop3, rotate=45] (Tattersall) at ($(Hauptbahnhof.center)!0.5!(Kunsthalle.center)+(135:-1.1)$) {}; \node[stop3, rotate=-45] (Theresienkrankenhaus) at ($(Nationaltheater)+(0:1.6)+(45:0.3)$) {}; \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:\rad+0.5) {}; % \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:\rad+2)+(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:-0.4)$) -- (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:\rad+0.3)-(135:0.3)$) arc[start angle=41, end angle=60, radius=\rad+0.3] -- (Kurpfalzbrücke.center) arc[start angle=60, end angle=90, radius=\rad+0.3] -- (MVV Hochhaus.center) arc[start angle=90, end angle=120, radius=\rad+0.3] -- (Dalbergstr.center) arc[start angle=120, end angle=130, radius=\rad+0.3] -- (Rheinstr.two quarter) -- (Rathaus.two quarter) {[rounded corners=0.4cm] -- ($(ParadeplatzW.two quarter)+(45:0.45)$) } -- (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:\rad+0.1)+(135:0.3)$) arc[start angle=49, end angle=60, radius=\rad+0.1] -- (Kurpfalzbrücke.one half) arc[start angle=60, end angle=90, radius=\rad+0.1] -- (MVV Hochhaus.one half) arc[start angle=90, end angle=120, radius=\rad+0.1] -- (Dalbergstr.one half) arc[start angle=120, end angle=130, radius=\rad+0.1] -- (Rheinstr.two half) -- (Strohmarkt.two half) -- (Wasserturm.two half) {[rounded corners=0.01cm] -- ($(135:-\rad-0.5)+(45:0.3)$) } arc[start angle=-40.5, end angle=-2.5, radius=\rad+0.5] -- (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.3)+(135:0.1)$) } -- (ParadeplatzE.one half) -- (Strohmarkt.one half) -- (Wasserturm.one half) -- ($(Wasserturm.one half)+(135:-0.2)$) -- (Kunsthalle.one half) -- (Hauptbahnhof.one half) -- ($(Hauptbahnhof.one half)+(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:\rad+0.5)+(135:0.1)$) arc[start angle=47, end angle=60, radius=\rad+0.5] -- (Kurpfalzbrücke.two half) arc[start angle=60, end angle=90, radius=\rad+0.5] -- (MVV Hochhaus.two half) arc[start angle=90, end angle=120, radius=\rad+0.5] -- (Dalbergstr.two half) arc[start angle=120, end angle=133.5, radius=\rad+0.5] -- (Rheinstr.one half) -- (Rathaus.one half) -- (ParadeplatzE.one half) ; \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.1)+(135:-0.1)$) -- (ParadeplatzE.two quarter) -- (Strohmarkt.two quarter) -- (Wasserturm.two quarter) -- ($(Wasserturm.two quarter)-(135:0.6)$) -- (Kunsthalle.three quarter) -- ($(Tattersall.two half)-(135:-1.15)$) -- ($(Tattersall.two half)+(45:-0.2)-(135:-0.95)$) -- (Hauptbahnhof.center) -- ($(Hauptbahnhof.center)+(45:-0.8)$) -- (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.four sixth)+(45:1)$) -- (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.one half)-(45:0.2)$) -- (Hauptbahnhof.two quarter) -- (Kunsthalle.two quarter) -- ($(135:-\rad-0.3)$) arc[start angle=-45, end angle=2.5, radius=\rad+0.3] -- (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.three quarter) -- (Rathaus.three quarter) -- (ParadeplatzE.three quarter) -- (Strohmarkt.three quarter) -- (Wasserturm.three quarter) -- ($(Wasserturm.three quarter)+(135:-0.8)$) -- (Kunsthalle.two half) {[rounded corners=0.3cm] -- ($(Tattersall.two half)-(135:-0.95)$) } -- (Tattersall.two half) (Rathaus.three quarter) {[rounded corners=0.7cm] -- ($(45:0.1)-(135:0.1)$) } -- (ParadeplatzW.one half) -- (Schloss.one half) {[rounded corners=0.7cm] -- ($(Universität.two quarter)+(135:0.8)$) } -- (Universität.two quarter) -- ($(Hauptbahnhof.three sixth)-(45:0.6)$) -- (Hauptbahnhof.three sixth) {[rounded corners=0.3cm] -- ($(Tattersall.two half)-(135:-1.15)$) } -- (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) -- ($(0:\rad+0.5)$) arc[start angle=0, end angle=31, radius=\rad+0.5] -- ($(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)+(45:1.4)$) -- ($(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.center) (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/45, Rathaus/left/east/0, Rheinstr/left/east/0, Marktplatz/left/east/0, Abendakademie/left/east/0, Schloss/left/east/0, Universität/right/north west/0, Nationaltheater/left/north west/0, Rosengarten/right/west/0, Kunsthalle/right/west/0, Alte Feuerwache/left/east/0, MVV Hochhaus/right/south/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, left=0.1cm of ParadeplatzW, rotate=0, anchor=east] {\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