aboutsummaryrefslogtreecommitdiff
path: root/milano/trams.tex
diff options
context:
space:
mode:
authorstuebinm2024-09-28 01:59:41 +0200
committerstuebinm2024-09-28 01:59:41 +0200
commit469e1f71601559cb77dbceb090ea88363cbf2846 (patch)
tree1569f9ef17250a42e9cc0f605138f92c057223d1 /milano/trams.tex
parentec22b275c331536a5443e91533bb821c7426132f (diff)
milano: all lines
have not made commits so far. will try a circular circle line now, want this state saved.
Diffstat (limited to 'milano/trams.tex')
-rw-r--r--milano/trams.tex780
1 files changed, 780 insertions, 0 deletions
diff --git a/milano/trams.tex b/milano/trams.tex
new file mode 100644
index 0000000..ca2a2e4
--- /dev/null
+++ b/milano/trams.tex
@@ -0,0 +1,780 @@
+\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}{247,171,99}
+\definecolor{five}{RGB}{0,150,94}
+\definecolor{seven}{RGB}{255,204,0}
+\definecolor{nine}{RGB}{149,107,37}
+\definecolor{ten}{RGB}{166,15,128}
+\definecolor{twelve}{RGB}{94,107,175}
+\definecolor{fourteen}{RGB}{228,142,0}
+\definecolor{fifteen}{RGB}{225,117,0}
+\definecolor{sixteen}{RGB}{147,194,59}
+\definecolor{nineteen}{RGB}{227,0,11}
+\definecolor{twentyfour}{RGB}{253,195,0}
+\definecolor{twentyseven}{RGB}{140,29,117}
+\definecolor{thirtyone}{RGB}{243,155,154}
+\definecolor{thirtythree}{RGB}{94,107,175}
+
+\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}[
+ 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,
+ },
+ help line/.style = {
+ line width=0.05cm,
+ },
+ label/.style = {
+ font=\scriptsize,
+ align=center,
+ },
+ line name/.style = {
+ label,
+ color=white,
+ minimum width=1em,
+ minimum height=1em,
+ inner sep=0pt,
+ },
+ ]
+
+ % movable circle line
+ \newcommand{\polar}[1]{#1}
+
+ \begin{pgfonlayer}{stops}
+ \pgfmathsetmacro{\offset}{0.1*tan(45/2)}
+
+ \foreach\angle in {0,10,...,350} {
+ \draw[help line, color=gray!50] \polar{(0,0)} -- \polar{(\angle:8)};
+ \node at \polar{(\angle:8)} { \angle };
+ };
+
+
+ % core stations
+ \node[stop4, rotate=45] (Lega Lombarda) at (-1.1,4.5) {};
+ \node[stop4] (Lanza) at (0,3) {};
+ \node[stop4] (Cusani) at (0,2) {};
+ \node[stop6, below=1 of Cusani.east, anchor=east] (Cordusio) {};
+ \node[stop7, below=1.5 of Cordusio.west, anchor=west] (Duomo) {};
+
+ % right side
+ \node[stop3, rotate=90, anchor=east] (Missori) at ($(Duomo) + (1.5,-0.1)$) {};
+ \node[stop3, rotate=90] (Via Larga) at ($(Missori) + (1,1)$) {};
+ \node[stop3, rotate=90] (Augusto) at ($(Missori) + (2,1)$) {};
+
+ \node[stop2] (Piazza Fontana) at ($(Augusto) + (-0.5,1)$) {};
+ \node[stop2, rotate=45] (Crocetta) at ($(Missori) + (1,-1)$) {};
+
+ % left side
+ \node[stop2, rotate=90, left=2 of Cordusio.center, anchor=one half] (Ancona) {};
+ \node[stop2, rotate=-90, anchor=two half] (Cadorna) at ($(-3, 2) + (0,\offset)$) {};
+
+ \node[stop1] (Castello Cairoli) at (-1,2.5) {};
+ \node[stop1] (Ricasoli) at (-2,2.5) {};
+
+ \node[stop3, rotate=-45] (Via Torino Via S Maria Valle) at (-1,-2.3) {};
+
+ % ring
+ \node[stop2] (Centrale) at (4.2, 8) {};
+ \node[stop2, anchor=two half, rotate=90] (Monte Santo) at (2.2, 6) {};
+ \node[stop3, anchor=two half, rotate=45] (Repubblica) at ($(Monte Santo.two half) + (1,-1)$) {};
+ \node[stop3, anchor=center, rotate=45] (Vittorio Veneto) at ($(Repubblica.center) + (.9,-.9)$) {};
+ \node[stop1] (Porta Venezia) at (5, 3) {};
+ \node[stop2, below=1 of Porta Venezia, anchor=one half] (Viale Piave) {};
+ \node[stop3, rotate=90] (Piazza 5 Giornate) at (5,.1) {};
+ \node[stop1] (Monte Nero Via Spartaco) at (5, -2) {};
+ \node[stop1] (Viale Monte Nero Via Bergamo) at ($(Monte Nero Via Spartaco) - (1,1)$) {};
+ \node[stop1] (Porta Romana) at (3, -4) {};
+ \node[stop1] (Via Ripamonti Viale Sabotino) at (2.4, -4) {};
+ \node[stop1] (Porta Lodovica) at (.5, -4) {};
+ \node[stop2, rotate=90, anchor=two half] (24 Maggio) at (-.88,-4) {};
+ \node[stop2, rotate=90, anchor=two half] (Via Vigenavo) at (-1.7,-4) {};
+ \node[stop4, rotate=-40, anchor=north two half] (Piazzale Cantore) at (-2.3, -4) {};
+ \node[stop2, rotate=-45, anchor=two half] (Porta Genoa) at ($(Piazzale Cantore.two half) - (.5,.5)$){};
+ \node[stop2, rotate=45] (Piazzale Coni Zugna Via Solari) at ($(Piazzale Cantore.west) - (.4,-.4)$){};
+
+ \node[stop1] (Piazzale Aquileia) at (-5, -2) {};
+ \node[stop1] (Piazzale Baracca) at (-5,1) {};
+ \node[stop2, rotate=90, above=1 of Piazzale Baracca.north, anchor=center] (Quinto Alpini) {};
+ \node[stop2, rotate=45, anchor=two half] (Arco della Pace) at ($(Quinto Alpini) + (1,1.8)$) {};
+ \node[stop2, rotate=45] (Sempione Via Procaccini) at ($(Arco della Pace) + (-.5,.5)$) {};
+ \node[stop2] (Via Bramante) at (-2.6, 6) {};
+ \node[stop3] (Via Farini Via Ferrari) at (-1, 6) {};
+
+
+
+
+
+
+
+
+ % west
+ \node[stop1, left=2 of Piazzale Baracca] (De Angeli) {};
+ \node[stop1] (Segesta) at ($(De Angeli) + (-1,1)$) {};
+ \node[stop1, left=2 of Segesta] (San Siro Stadio) {};
+
+ \node[stop1, above left=1.65 of Quinto Alpini.north one half] (6 Febbraio) {};
+ \node[stop2, rotate=45, anchor=two half] (Domodossola) at ($(Sempione Via Procaccini.one half) + (-1,1)$) {};
+ \node[stop1, below left=1 of Domodossola.south one half] (Viale Boezio) {};
+
+
+
+ % Città studi
+ \node[stop3, rotate=90, anchor=one half] (Adalaide di Savoia) at ($(Viale Piave) + (2.4,0)$) {};
+ \node[stop2, rotate=135] (Valvassori Peroni) at ($(Adalaide di Savoia) + (2,2)$) {};
+ \node[stop1, above=1 of Valvassori Peroni.south one half, anchor=center] (Stazione Lambrate) {};
+ \node[stop1, right=1 of Valvassori Peroni.south two half, anchor=center] (Rimembranze di Lambrate) {};
+
+ \node[stop1] (Piazza Ferravilla) at ($(Adalaide di Savoia.south two half) + (1+\offset,-1)$) {};
+ \node[stop1, right=2 of Piazza Ferravilla] (Ortica) {};
+
+ % 33 & 5
+ \node[stop2, rotate=45, anchor=center] (Viale Tunisia) at ($(Adalaide di Savoia.north center) + (-2.3,2.3)$) {};
+ % 5
+ \node[stop2, rotate=-45, anchor=two half] (Via Vitruvio) at ($(Viale Tunisia) + (1.2,1.2)$) {};
+ % 1
+ \node[stop1] (Greco Rovereto) at ($(Via Vitruvio.two half) + (2,2)$) {};
+
+
+ % south
+ \node[stop1, below=2 of Porta Lodovica] (Agrippa) {};
+ \node[stop2, below=3 of 24 Maggio] (Piazza Abbiategrasso) {};
+ \node[stop2, below=3 of Piazza Abbiategrasso] (Via dei Missaglie Via Baroni) {};
+ \node[stop1, below left=1 of Via dei Missaglie Via Baroni.two half] (Via Grandi Via Bouzzi Rozzano) {};
+ \node[stop1, left=3 of Via Grandi Via Bouzzi Rozzano] (Via G Rossa) {};
+
+ \node[stop1, below=5 of Via Ripamonti Viale Sabotino] (Vigentino) {};
+
+ % south west
+ \node[stop1] (Via Valenza Alzaia Nav Grande) at ($(Porta Genoa.south one half) + (-.8,0)$) {};
+ \node[stop1] (Piazzale Negrelli) at ($(Via Valenza Alzaia Nav Grande.west) + (-2,-2)$) {};
+
+ \node[stop1] (Lorenteggio) at ($(Piazzale Coni Zugna Via Solari.north one half) - (4,4)$) {};
+
+ % south of Città studi
+ \node[stop2, rotate=90, right=2 of Piazza 5 Giornate.two half, anchor=two half] (Piazza Emilia) {};
+ \node[stop1] (Via Arconati) at ($(Piazza Emilia) + (0.2,-1)$) {};
+ \node[stop1, right=1 of Via Arconati] (Viale Molise) {};
+ \node[stop1, right=2 of Piazza Emilia.two half] (Repetti) {};
+ \node[stop1] (Viale Ungheria Via Mercante) at ($(Repetti) + (3,-3)$) {};
+ \node[stop1] (Viale Ungheria) at ($(Viale Ungheria Via Mercante) + (-.7,-.7)$) {};
+
+ \node[stop1, right=2 of Viale Monte Nero Via Bergamo.center, anchor=center] (Via Comelico) {};
+ \node[stop1] (Piazza Salgari) at ($(Via Comelico) + (1,-1)$) {};
+ \node[stop1, right=2 of Piazza Salgari] (Via Varsavia Via Monte Velino) {};
+ \node[stop1, above=0.5 of Via Varsavia Via Monte Velino] (Via Monte Velino) {};
+
+
+ % north west
+ \node[stop2, rotate=90] (Cenisio) at ($(Via Bramante) + (-.7,.7)$) {};
+ \node[stop2, rotate=90, left=1.5 of Cenisio.center, anchor=center] (Piazza Diocleziano) {};
+ \node[stop2, rotate=90, anchor=two half] (Piazza Firenze) at ($(Piazza Diocleziano.two half) + (-2.5,0)$) {};
+
+ \node[stop2, rotate=90, anchor=one half] (Via Mac Mahon Via Artieri) at ($(Piazza Diocleziano.north one half) + (-3.5,1.5)$) {};
+ \node[stop2, rotate=90, anchor=one half] (Piazza Castelli) at ($(Via Mac Mahon Via Artieri.one half) + (-1,0)$) {};
+
+ \node[stop1, below=1 of Via Mac Mahon Via Artieri.south one half, anchor=west] (Via Da Panicale) {};
+
+ \node[stop2, rotate=90] (Piazzale Accursio) at ($(Piazza Firenze) + (-2,0)$) {};
+ \node[stop2] (Piazzale Santorre di Santarosa) at ($(Piazza Castelli.north one half) + (-1,1)$) {};
+ \node[stop2, above=2 of Piazzale Santorre di Santarosa] (Roserio) {};
+
+ \node[stop1, left=3 of Piazzale Accursio.two half] (Piazzale Cimitero Maggiore) {};
+
+
+ % north
+ \node[stop2, above=1 of Via Farini Via Ferrari.one half, anchor=one half] (Via Farini Via Valtellina) {};
+ \node[stop2, above=1 of Via Farini Via Valtellina] (Via Farini Viale Stelvio) {};
+
+ \node[stop2, above=2.37 of Via Farini Viale Stelvio.two half, anchor=one half] (Ospedale Niguarda) {};
+ \node[stop1, above=2 of Ospedale Niguarda.one half] (Niguarda Parco Nord) {};
+ \node[stop1, left=2 of Via Farini Viale Stelvio.north one half] (Bausan) {};
+
+ \node[stop1] (Via Ugo Bassi) at ($(Via Farini Via Ferrari.two half) + (0,.7) + (.2,.2)$) {};
+
+ \node[stop2, anchor=one half] (Piazzale Lagosta) at ($(Via Ugo Bassi) + (2,1.2)$) {};
+
+ \node[stop2, rotate=90, above=1 of Centrale.one half, anchor=one half] (Viale Lunigiana) {};
+
+ \node[stop2, above=1.47 of Piazzale Lagosta.center, anchor=center] (Marche) {};
+ \node[stop2, above=1 of Marche.center, anchor=center] (Ca Granda) {};
+ \node[stop2, above=1 of Ca Granda] (Viale Testi Via S Marcellina) {};
+ \node[stop2, above=1 of Viale Testi Via S Marcellina] (Bicocca) {};
+ \node[stop1, right=3 of Bicocca] (Precotto Interno Deposito) {};
+
+ \node[stop1, above=3 of Bicocca.one half] (Primo Maggio) {};
+
+ \end{pgfonlayer}
+
+ \begin{pgfonlayer}{lines}
+ \pgfmathsetmacro{\offset}{0.1*tan(45/2)}
+ \pgfmathsetmacro{\line}{0.2}
+
+
+ \draw[line, one]
+ (Greco Rovereto)
+ -- (Via Vitruvio.two half)
+ -- (Viale Tunisia.east)
+ -- (Viale Tunisia.west)
+ {[rounded corners=0.3cm]
+ -- ($(Vittorio Veneto.south one half) + \line*(.7,-.7)$)
+ }
+ -- (Vittorio Veneto.one half)
+ -- (Repubblica.one half)
+ -- (Repubblica.north one half)
+ -- ($(Cordusio.two half) + (.3,0)$)
+ -- (Cordusio.two half)
+ -- (Cusani.two half)
+ -- ++(0,0.25)
+ -- ($(Cusani.one half) + (-.2,.25)$)
+ -- (Cadorna.one half)
+ -- (Quinto Alpini.two half)
+ -- ($(Quinto Alpini.north two half)$)
+ -- ++($(0,.2+2*\offset)$)
+ -- ($(Arco della Pace.south one half)$)
+ -- (Arco della Pace.one half)
+ -- (Sempione Via Procaccini.one half)
+ -- (Domodossola.two half)
+ -- ($(Piazza Firenze.south one half)$)
+ -- (Piazzale Accursio.one half)
+ -- (Piazzale Accursio.north one half)
+ {[rounded corners=1cm]
+ -- ++(-1.2,.5)
+ %% -- ($(Piazzale Santorre di Santarosa.south one half) - (0,1)$)
+ }
+ -- (Piazzale Santorre di Santarosa.south one half)
+ -- (Piazzale Santorre di Santarosa.one half)
+ -- (Roserio.one half)
+ ;
+
+ \draw[line, two]
+ % TODO north
+ (Bausan)
+ -- (Via Farini Viale Stelvio.north one half)
+ -- (Via Farini Viale Stelvio.one half)
+ -- (Via Farini Via Valtellina.one half)
+ -- (Via Farini Via Ferrari.one half)
+ -- ($(Lega Lombarda.north three quarter) + 2*\offset*(-.7,.7)$)
+ -- (Lega Lombarda.three quarter)
+ -- ($(Lanza.north three quarter) + (0,2*\offset)$)
+ -- (Lanza.three quarter)
+ -- (Cusani.three quarter)
+ -- (Cordusio.three quarter)
+ -- (Duomo.four sixth)
+ -- ($(Duomo.four sixth) - (0, 3 * \line + \offset)$)
+ -- (Via Torino Via S Maria Valle.center)
+ -- (Piazzale Cantore.north three quarter)
+ -- (Piazzale Cantore.three quarter)
+ -- (Porta Genoa.one half)
+ -- (Porta Genoa.south one half)
+ -- (Via Valenza Alzaia Nav Grande)
+ -- (Via Valenza Alzaia Nav Grande.west)
+ -- (Piazzale Negrelli)
+ ;
+
+ \draw[line, three]
+ (Duomo.three quarter)
+ -- ($(Duomo.three quarter) - (0, 3 * \line + 2 * \offset)$)
+ -- (Via Torino Via S Maria Valle.two half)
+ -- (24 Maggio)
+ -- (Piazza Abbiategrasso.one half)
+ -- (Via dei Missaglie Via Baroni.one half)
+ ;
+
+ \draw[line, four]
+ (Niguarda Parco Nord)
+ -- (Ospedale Niguarda.one half)
+ -- (Via Farini Viale Stelvio.two half)
+ -- (Via Farini Via Valtellina.two half)
+ -- (Via Farini Via Ferrari.center)
+ -- ($(Lega Lombarda.north two half)$)
+ -- (Lega Lombarda.two half)
+ -- ($(Lanza.north two half) + (0,3*\offset)$)
+ -- (Lanza.two half)
+ -- ++(0,-\line)
+ -- ($(Lanza.one half) + (-\line,-\line)$)
+ -- (Castello Cairoli)
+ -- (Ricasoli)
+ ;
+
+ \draw[line, five]
+ (Ortica)
+ -- (Piazza Ferravilla)
+ -- ($(Adalaide di Savoia.south two half) + (\offset, 0)$)
+ -- (Adalaide di Savoia.two half)
+ -- (Adalaide di Savoia.north two half)
+ -- (Viale Tunisia.two half)
+ -- (Viale Tunisia.north two half)
+ -- (Via Vitruvio.one half)
+ -- (Via Vitruvio.north one half)
+ -- ($(Centrale.south two half) + (0,2*\offset)$)
+ -- (Centrale.two half)
+ -- (Viale Lunigiana.south two half)
+ -- (Viale Lunigiana.two half)
+ -- (Viale Lunigiana.north two half)
+ {[rounded corners=0.2cm]
+ -- ($(Marche.south one half) - (0,\line)$)
+ }
+ -- (Marche.south one half)
+ -- (Marche.one half)
+ -- (Ca Granda.one half)
+ -- (Ca Granda.north one half)
+ -- (Ospedale Niguarda.north two half)
+ -- (Ospedale Niguarda)
+ ;
+
+ \draw[line, seven]
+ (Piazzale Lagosta.two half)
+ -- (Marche.two half)
+ -- (Ca Granda.two half)
+ -- (Bicocca.two half)
+ -- (Precotto Interno Deposito)
+ ;
+
+ \draw[line, nine]
+ (Centrale.center)
+ -- (Centrale.west)
+ -- ($(Monte Santo.east) + (0,2*\offset)$)
+ -- (Monte Santo.east)
+ -- (Monte Santo.west)
+ -- (Repubblica.center)
+ -- (Vittorio Veneto.center)
+ -- (Porta Venezia)
+ -- (Viale Piave.one half)
+ -- (Piazza 5 Giornate.one half)
+ -- (Monte Nero Via Spartaco)
+ -- (Viale Monte Nero Via Bergamo)
+ -- (Porta Romana)
+ -- (24 Maggio.two half)
+ -- (Via Vigenavo.two half)
+ -- (Piazzale Cantore.north two half)
+ -- (Piazzale Cantore.two half)
+ -- (Porta Genoa.two half)
+ ;
+
+ \draw[line, ten]
+ (24 Maggio.one half)
+ -- (Via Vigenavo.one half)
+ -- (Via Vigenavo.north one half)
+ -- ($(Porta Genoa.east) + (.4,0)$)
+ -- (Porta Genoa.east)
+ -- ($(Porta Genoa.west) + .1*(-.7,.7)$)
+ -- (Piazzale Cantore.two quarter)
+ -- ($(Piazzale Cantore.north one half) - \offset*(1,1)$)
+ %% -- (Piazzale Cantore.north one half)
+ %% -- (Piazzale Cantore.one half)
+ -- (Piazzale Coni Zugna Via Solari.south two half)
+ -- (Piazzale Coni Zugna Via Solari.two half)
+ -- (Piazzale Aquileia)
+ -- (Quinto Alpini.center)
+ -- ($(Quinto Alpini.two half) + (0,\line)$)
+ {[rounded corners=0.3cm]
+ -- ($(Arco della Pace.south two half) + \line*(.7,-.7)$)
+ }
+ -- (Arco della Pace.two half)
+ -- (Sempione Via Procaccini.two half)
+ -- ($(Via Bramante.west) - (\offset,0)$)
+ -- (Via Bramante)
+ -- (Via Farini Via Ferrari)
+ -- (Monte Santo.two half)
+ -- ($(Monte Santo.south two half) + (0,2*\offset)$)
+ -- ($(Centrale.south one half) $)
+ -- (Centrale.one half)
+ -- (Viale Lunigiana.one half)
+ ;
+
+ \draw[line, twelve]
+ % TODO
+ (Viale Molise)
+ -- (Via Arconati)
+ -- ($(Piazza Emilia.one half) + (.2,0)$)
+ -- (Piazza Emilia.one half)
+ -- (Piazza 5 Giornate.center)
+ -- (Augusto.center)
+ -- (Via Larga.center)
+ -- ++(-0.2,0)
+ -- ($(Missori.two half) + (.2,0)$)
+ -- (Missori.two half)
+ -- ($(Duomo.south three sixth)$)
+ -- (Duomo.three sixth)
+ -- (Cordusio.three sixth)
+ -- (Cusani.one half)
+ -- (Lanza.one half)
+ -- ($(Lanza.north one half)$)
+ -- (Lega Lombarda.one half)
+ -- ($(Via Bramante.south one half) - (0,\offset)$)
+ -- (Via Bramante.one half)
+ -- (Via Bramante.north one half)
+ {[rounded corners=0.35cm]
+ -- ++(0,.4)
+ }
+ -- (Cenisio.south one half)
+ -- (Cenisio.one half)
+ -- (Piazza Diocleziano.one half)
+ -- (Piazza Diocleziano.north one half)
+ {[rounded corners=0.5cm]
+ -- ($(Piazza Diocleziano.north one half) - (.5,0)$)
+ -- ($(Via Mac Mahon Via Artieri.two half) + (2,0)$)
+ }
+ -- (Via Mac Mahon Via Artieri.two half)
+ -- (Piazza Castelli.two half)
+ -- (Piazza Castelli.north two half)
+ {[rounded corners=0.3cm] -- ++(-.3,0)
+ -- (Piazzale Santorre di Santarosa.south two half)
+ }
+ -- (Piazzale Santorre di Santarosa.two half)
+ -- (Roserio.two half)
+ ;
+
+ \draw[line, fourteen]
+ % TODO
+ (Piazzale Cimitero Maggiore)
+ -- (Piazzale Accursio.two half)
+ -- (Piazza Firenze.two half)
+ -- (Piazza Diocleziano.north two half)
+ -- (Piazza Diocleziano.two half)
+ -- (Cenisio.two half)
+ -- ($(Cenisio.south two half)$)
+ {[rounded corners=0.55cm]
+ -- ++(.6,0)
+ }
+ -- ($(Via Bramante.north two half)$)
+ -- (Via Bramante.two half)
+ -- (Via Bramante.south two half)
+ -- (Lega Lombarda.two quarter)
+ -- ($(Lanza.north two quarter) + (0,\offset)$)
+ -- (Lanza.two quarter)
+ -- (Cusani.two quarter)
+ -- (Cordusio.four sixth)
+ -- (Duomo.center)
+ -- ($(Duomo.center) - (0, 3 * \line)$)
+ -- (Via Torino Via S Maria Valle.one half)
+ -- ($(Piazzale Cantore.north two quarter) + \offset*(2,2)$)
+ -- (Piazzale Cantore.one half)
+ -- ($(Piazzale Cantore.west) - (2*\offset,0)$)
+ %% -- ($(Piazzale Cantore.south two quarter) + (0,-\offset)$)
+ %% -- ($(Piazzale Cantore.south one half) + (-\offset,-\offset)$)
+ -- (Piazzale Coni Zugna Via Solari.one half)
+ -- (Piazzale Coni Zugna Via Solari.north one half)
+ -- (Lorenteggio)
+ ;
+
+ \draw[line, fifteen]
+ (Duomo.two half)
+ -- (Porta Lodovica)
+ -- (Agrippa)
+ -- (Agrippa.south)
+ -- (Piazza Abbiategrasso.north two half)
+ -- (Piazza Abbiategrasso.two half)
+ -- (Via dei Missaglie Via Baroni.two half)
+ -- (Via dei Missaglie Via Baroni.south two half)
+ {[rounded corners=0.5cm]
+ -- ($(Via Grandi Via Bouzzi Rozzano) + (.5,0)$)
+ -- (Via Grandi Via Bouzzi Rozzano)
+ }
+ -- (Via G Rossa)
+ ;
+
+ \draw[line, sixteen]
+ (San Siro Stadio)
+ -- (Segesta)
+ -- (De Angeli)
+ -- (Piazzale Baracca)
+ -- (Ancona.one half)
+ -- (Cordusio.one half)
+ -- (Duomo.one half)
+ {[rounded corners=0.5cm]
+ -- ($(Duomo.south one half) - (0,0.4)$)
+ }
+ -- (Missori.one half)
+ -- ++(0.2,0)
+ -- (Crocetta.two half)
+ -- (Viale Monte Nero Via Bergamo)
+ -- (Via Comelico)
+ -- (Piazza Salgari)
+ -- (Via Varsavia Via Monte Velino)
+ -- (Via Monte Velino)
+ ;
+
+ \draw[line, nineteen]
+ (Stazione Lambrate)
+ -- (Valvassori Peroni.south one half)
+ -- (Valvassori Peroni.one half)
+ {[rounded corners=0.2cm]
+ -- ($(Adalaide di Savoia.south one half) + (2*\offset,0)$)
+ }
+ -- (Adalaide di Savoia.one half)
+ -- (Viale Piave.two half)
+ -- ($(Piazza 5 Giornate.one half) + (.2,0)$)
+ -- (Piazza 5 Giornate.one half)
+ -- (Augusto.one half)
+ -- (Via Larga.one half)
+ -- ++(-0.1,0)
+ -- ($(Missori.two quarter) + (.3,0)$)
+ -- (Missori.two quarter)
+ {[rounded corners=0.3cm]
+ -- ($(Duomo.south two quarter) - (0,0.2)$)
+ }
+ -- (Duomo.two quarter)
+ -- (Cordusio.two quarter)
+ -- ($(Cordusio.north two quarter)$)
+ -- (Ancona.two half)
+ -- (Cadorna.two half)
+ -- (Quinto Alpini.one half)
+ -- (Quinto Alpini.north one half)
+ -- (6 Febbraio)
+ -- (Viale Boezio)
+ -- (Domodossola.south one half)
+ -- (Domodossola.one half)
+ -- (Piazza Firenze.west)
+ {[rounded corners=0.3cm]
+ -- ($(Piazza Firenze.east) + (0,\line)$)
+ -- (Via Da Panicale)
+ }
+ -- (Via Da Panicale.west)
+ -- (Via Mac Mahon Via Artieri.south one half)
+ -- (Via Mac Mahon Via Artieri.one half)
+ -- (Piazza Castelli.one half)
+ ;
+
+ \draw[line, twentyfour]
+ (Piazza Fontana.one half)
+ {[rounded corners=0.2cm]
+ |- ++(0,-.7)
+ }
+ -- ($(Via Larga.two half) + (.1,0)$)
+ -- (Via Larga.two half)
+ -- ++(-0.3,0)
+ -- ($(Missori.two half) + (0,.1)$)
+ -- ($(Missori.one half) - (0,.1)$)
+ -- (Crocetta.one half)
+ -- (Via Ripamonti Viale Sabotino)
+ -- (Vigentino)
+ ;
+
+ \draw[line, twentyseven]
+ (Viale Ungheria.east)
+ -- (Viale Ungheria Via Mercante)
+ -- (Repetti)
+ -- (Piazza Emilia.two half)
+ -- (Piazza 5 Giornate.two half)
+ -- (Augusto.two half)
+ -- ++(-.1,0)
+ {[rounded corners=0.2cm]
+ -- ($(Piazza Fontana.two half) - (0,.7)$)
+ }
+ -- (Piazza Fontana.two half)
+ ;
+
+ \draw[line, thirtyone]
+ (Viale Testi Via S Marcellina.one half)
+ -- (Bicocca.one half)
+ -- (Primo Maggio)
+ ;
+
+ \draw[line, thirtythree]
+ (Rimembranze di Lambrate)
+ -- (Valvassori Peroni.south two half)
+ -- (Valvassori Peroni.two half)
+ -- (Adalaide di Savoia.south center)
+ -- (Adalaide di Savoia.center)
+ -- ($(Adalaide di Savoia.north center) + (-2*\offset,0)$)
+ -- (Viale Tunisia.one half)
+ -- (Viale Tunisia.north one half)
+ -- ($(Vittorio Veneto.south two half)$)
+ -- (Vittorio Veneto.two half)
+ -- (Repubblica.two half)
+ -- (Monte Santo.south one half)
+ -- (Monte Santo.north one half)
+ -- (Via Farini Via Ferrari.south two half)
+ -- ++(0,.7)
+ -- (Via Ugo Bassi)
+ -- ++(1,0)
+ -- (Piazzale Lagosta.south one half)
+ -- (Piazzale Lagosta.one half)
+ ;
+ \end{pgfonlayer}
+
+ \begin{pgfonlayer}{labels}
+ \foreach\stop/\placement/\anchor/\rotate in {
+ Lega Lombarda/right/west/0,
+ Lanza/right/west/0,
+ Cusani/right/west/0,
+ Cordusio/right/north west/0,
+ Duomo/above/south/0,
+ Missori/right/north west/0, % TODO further east?
+ Via Larga/below/north west/-45,
+ Augusto/below/north west/-45,
+ Piazza Fontana/above/south/0,
+ Crocetta/above right/south west/0,
+ Ancona/below/north/0,
+ Cadorna/above/south/0,
+ Castello Cairoli/above/east/-45,
+ Ricasoli/above/east/-45,
+ Centrale/right/west/0,
+ Monte Santo/above right/west/0,
+ Repubblica/above right/south west/0,
+ Vittorio Veneto/left/east/45,
+ Porta Venezia/left/east/45,
+ Viale Piave/above/west/45,
+ Piazza 5 Giornate/below right/west/-45,
+ Viale Monte Nero Via Bergamo/below right/west/-45,
+ Porta Romana/below right/west/-45,
+ Via Ripamonti Viale Sabotino/below right/west/-45,
+ Porta Lodovica/below/west/-45,
+ 24 Maggio/below/west/-45,
+ Via Vigenavo/below/west/-45,
+ Piazzale Cantore/below right/west/-45,
+ Porta Genoa/below right/west/-45,
+ Piazzale Aquileia/below left/east/0,
+ Piazzale Baracca/below left/east/45,
+ Quinto Alpini/below/north/0,
+ Arco della Pace/below left/east/0,
+ Via Bramante/above left/east/0,
+ Agrippa/below left/east/-45,
+ Via G Rossa/above/south/0,
+ Vigentino/left/east/0,
+ Via Comelico/above right/south west/0,
+ Piazza Salgari/below/north/0,
+ Via Monte Velino/above/south/0,
+ Piazza Emilia/above/south/0,
+ Repetti/above/south/0,
+ Viale Ungheria/below/north/0,
+ Via Arconati/below/west/-45,
+ Viale Molise/below/west/-45,
+ Adalaide di Savoia/below/north/0,
+ Piazza Ferravilla/above/west/45,
+ Ortica/above/west/45,
+ Valvassori Peroni/below/north west/0,
+ Stazione Lambrate/above/west/45,
+ Rimembranze di Lambrate/above/west/45,
+ Viale Tunisia/below left/west/0,
+ Piazzale Negrelli/below right/north west/0,
+ Lorenteggio/below right/north west/0,
+ De Angeli/below/north/0,
+ Segesta/above/south/0,
+ San Siro Stadio/above/south/0,
+ 6 Febbraio/left/east/0,
+ Viale Boezio/left/east/0,
+ Domodossola/left/north east/0,
+ Cenisio/above/east/-45,
+ Piazza Firenze/below left/east/45,
+ Piazzale Accursio/below left/east/45,
+ Piazza Castelli/above right/west/45,
+ Roserio/above/south/0,
+ Ospedale Niguarda/left/east/0,
+ Niguarda Parco Nord/above/south/0,
+ Bausan/above/south/0,
+ Via Ugo Bassi/below right/north west/0,
+ Viale Lunigiana/above/south/0,
+ Marche/right/south west/0,
+ Ca Granda/right/south west/0,
+ Bicocca/above right/west/45,
+ Precotto Interno Deposito/above/south/0,
+ Primo Maggio/above/south/0,
+ Via Vitruvio/below right/north west/0,
+ Greco Rovereto/above/south/0
+ } \node[label, \placement=0.07cm of \stop.center, rotate=\rotate, anchor=\anchor] {\contour{white}{\stop}};
+
+ \foreach\stop/\placement/\anchor/\rotate/\above/\below in {
+ Piazzale Coni Zugna Via Solari/above/south east/0/Piazzale Coni Zugna/Via Solari,
+ Via Torino Via S Maria Valle/above/south east/0/Via Torino/Via S Maria Valle,
+ Via dei Missaglie Via Baroni/left/east/0/Via dei Missaglie/Via Baroni,
+ Via Grandi Via Bouzzi Rozzano/below/west/0/Via Grandi/Via Bouzzi Rozzano,
+ Via Varsavia Via Monte Velino/below/north/0/Via Varsavia/Via Monte Velino,
+ Viale Ungheria Via Mercante/above right/west/0/Viale Ungheria/Via Mercante,
+ Monte Nero Via Spartaco/above right/west/0/Monte Nero/Via Spartaco,
+ Via Valenza Alzaia Nav Grande/below/north/0/Via Valenza Alzaia/Nav Grande,
+ Piazza Abbiategrasso/below left/north east/0/Piazza/Abbiategrasso,
+ Sempione Via Procaccini/above/south west/0/Corso Sempione/Via Procaccini,
+ Piazza Diocleziano/above/south/0/Piazza/Diocleziano,
+ Via Mac Mahon Via Artieri/above right/south west/45/Via Mac Mahon/Via Artieri,
+ Via Da Panicale/above left/south east/0/Via Da/Panicale,
+ Piazzale Santorre di Santarosa/above left/south east/0/Piazzale Santorre/di Santarosa,
+ Piazzale Cimitero Maggiore/below/north/0/Piazzale/Cimitero Maggiore,
+ Via Farini Via Ferrari/below right/north west/0/Via Farini/Via Ferrari,
+ Via Farini Via Valtellina/above left/north east/0/Via Farini/Via Valtellina,
+ Via Farini Viale Stelvio/above right/south west/0/Via Farini/Viale Stelvio,
+ Piazzale Lagosta/above right/south west/0/Piazzale/Lagosta,
+ Viale Testi Via S Marcellina/right/west/0/Viale Testi/Via S Marcellina
+ } {
+ \node[label, \placement=0.1cm of \stop.center, rotate=\rotate, anchor=\anchor] (above) {\contour{white}{\above}};
+ \node[label, below=.7em of above.center, rotate=\rotate, anchor=center] (below) {\contour{white}{\below}};
+ };
+
+
+ \end{pgfonlayer}
+\end{tikzpicture}
+
+\end{document}
+% vim: nospell conceallevel=0