From ade243bc0395c5ea8407908c083115d582b921a1 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Mon, 30 Sep 2024 21:34:14 +0200 Subject: round layout, better labels, railway lines --- milano/trams.tex | 846 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 592 insertions(+), 254 deletions(-) (limited to 'milano') diff --git a/milano/trams.tex b/milano/trams.tex index ca2a2e4..641ea6e 100644 --- a/milano/trams.tex +++ b/milano/trams.tex @@ -4,6 +4,29 @@ \usepackage{fontspec} \usepackage{contour} +\ExplSyntaxOn +\cs_new_eq:NN \strcaseOTF \str_case:onTF +\cs_new_eq:NN \strifeqOTF \str_if_eq:onTF +\cs_new_eq:NN \strreplace \tl_replace_all:Nnn +\cs_new_eq:NN \strset \str_set:Nn +\cs_new_eq:NN \tlset \tl_set:Nn +\cs_new_eq:NN \tlreplace \tl_replace_all:Nnn +\cs_new_eq:NN \tlremove \tl_remove_all:Nn +\cs_new_eq:NN \tlremoveone \tl_remove_one:Nn +\cs_new_eq:NN \tlputleft \tl_put_left:Nn +\cs_new_eq:NN \tlputright \tl_put_right:Nn + +\cs_new_eq:NN \seqsetsplit \seq_set_split:Nnn +\cs_new_eq:NN \seqMapInline \seq_set_map:NNn +\cs_new_eq:NN \seqPopRight \seq_pop_right:NN +\cs_new_eq:NN \seqUse \seq_use:Nn + +% scratch space for multi-line labels later +\seq_new:N \nodeseq +\seq_new:N \temp +\ExplSyntaxOff +\usepackage{pgfplots} + \setmainfont{Atkinson Hyperlegible} \usetikzlibrary{shapes.geometric} \usetikzlibrary{calc} @@ -15,7 +38,7 @@ \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{seven}{RGB}{135,204,0} \definecolor{nine}{RGB}{149,107,37} \definecolor{ten}{RGB}{166,15,128} \definecolor{twelve}{RGB}{94,107,175} @@ -23,7 +46,7 @@ \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{twentyfour}{RGB}{33,195,100} \definecolor{twentyseven}{RGB}{140,29,117} \definecolor{thirtyone}{RGB}{243,155,154} \definecolor{thirtythree}{RGB}{94,107,175} @@ -51,6 +74,10 @@ railway line, {Latex[length=5mm]}-{Latex[length=5mm]}, }, + railway outwards/.style = { + railway line, + -{Latex[length=5mm]}, + }, stop/.style = { rounded corners=0.1cm, line width=0.05cm, @@ -105,71 +132,76 @@ minimum width=1em, minimum height=1em, inner sep=0pt, + outer sep=.7em, }, ] % movable circle line - \newcommand{\polar}[1]{#1} + \newcommand{\polar}[1]{($#1 + (-.2,.5)$)} + \def\rad{5} + + \def\centerarc(#1:#2:#3) + { ($(-.2,.5) + ({#3*cos(#1)},{#3*sin(#1)})$) arc (#1:#2:#3) } + \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)$) {}; + \node[stop2, below=1.5 of Cordusio.four eighth, anchor=one half] (DuomoN) {}; + \node[stop4, below=.6 of DuomoN.one half, anchor=one half] (Duomo) {}; + \draw[stop] + ($(DuomoN.two half)+(90:0.1)+(0:0.1)$) + -- ++(-.4,0) + -- ++(0,-.8) + -- ++(.8,0) + -- ++(0,.2) + -- ++(-.4,0) + -- ++(0,.4) + -- cycle + ; % 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[stop2, rotate=90, left=1.5 of Cordusio.center, anchor=one half] (Ancona) {}; + \node[stop2, rotate=-90, anchor=two half] (Cadorna) at ($(-2.7, 2) + (0,\offset)$) {}; - \node[stop1] (Castello Cairoli) at (-1,2.5) {}; - \node[stop1] (Ricasoli) at (-2,2.5) {}; + \node[stop1] (Castello Cairoli) at (-1.1,2.5) {}; + \node[stop1] (Ricasoli) at (-2.2,2.5) {}; - \node[stop3, rotate=-45] (Via Torino Via S Maria Valle) at (-1,-2.3) {}; + \node[stop3, rotate=-45] (Via Torino Via S Maria Valle) at (-1,-2.5) {}; % 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[stop3, rotate=-30] (Centrale) at \polar{(65:8.2)} {}; + \node[stop2, anchor=west, rotate=70] (Monte Santo) at \polar{(70:5.1)} {}; + \node[stop3, anchor=center, rotate=57] (Repubblica) at \polar{(60:5)} {}; + \node[stop3, anchor=center, rotate=45] (Vittorio Veneto) at \polar{(50:5)} {}; + \node[stop1, anchor=center] (Porta Venezia) at \polar{(30:5)} {}; + \node[stop2, anchor=one half, rotate=20] (Viale Piave) at \polar{(20:5)} {}; + \node[stop3, anchor=center, rotate=90] (Piazza 5 Giornate) at \polar{(-3:5)} {}; + \node[stop1, anchor=center] (Monte Nero Via Spartaco) at \polar{(-16:5)} {}; + \node[stop1, anchor=center, rotate=-30] (Viale Monte Nero Via Bergamo) at \polar{(-30:5)} {}; + \node[stop1, anchor=center, rotate=-45] (Porta Romana) at \polar{(-45:5)} {}; + \node[stop1, anchor=center, rotate=-50] (Via Ripamonti Viale Sabotino) at \polar{(-50:5)} {}; + \node[stop1, anchor=center, rotate=10] (Porta Lodovica) at \polar{(-81:5)} {}; + \node[stop2, anchor=two half, rotate=90] (24 Maggio) at \polar{(-97:5)} {}; + \node[stop2, anchor=two half, rotate=71] (Via Vigenavo) at \polar{(-108:5)} {}; + \node[stop4, anchor=north center, rotate=-38] (Piazzale Cantore) at \polar{(-118:5)} {}; + \node[stop2, rotate=-45, anchor=two half] (Porta Genoa) at ($(Piazzale Cantore.two half) + (-134:1)$) {}; + \node[stop2, rotate=40, anchor=two half] (Piazzale Coni Zugna Via Solari) at \polar{(-140:5)} {}; - \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) {}; + \node[stop1, anchor=center] (Piazzale Aquileia) at \polar{(-160:5)} {}; + \node[stop1, anchor=center] (Piazzale Baracca) at \polar{(174:5)} {}; + \node[stop2, anchor=center, rotate=71] (Quinto Alpini) at \polar{(161:5)} {}; + \node[stop2, anchor=two half, rotate=-40] (Arco della Pace) at \polar{(145:4.6)} {}; + \node[stop2, anchor=two half, rotate=50] (Corso Sempione Via Procaccini) at \polar{(140:5.4)} {}; + \node[stop2, anchor=center, rotate=25] (Via Bramante) at \polar{(120:5.4)} {}; + \node[stop3, anchor=center, rotate=9] (Via Farini Via Ferrari) at \polar{(99:5.4)} {}; @@ -180,28 +212,36 @@ % west \node[stop1, left=2 of Piazzale Baracca] (De Angeli) {}; - \node[stop1] (Segesta) at ($(De Angeli) + (-1,1)$) {}; + \node[stop1] (Segesta) at ($(De Angeli) + (-1.4,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) {}; + \node[stop2, rotate=45, anchor=two half] (Domodossola) at ($(Corso Sempione Via Procaccini.one half) + (135:1.5)$) {}; + \node[stop1, below left=1 of Domodossola.south one half, anchor=north] (Viale Boezio) {}; + \node[stop1, below=0.4 of Viale Boezio] (6 Febbraio) {}; + + % right side + \node[stop3, rotate=90, anchor=east] (Missori) at ($(DuomoN) + (1.5,-0.1)$) {}; + \node[stop3, rotate=90] (Augusto) at ($(Piazza 5 Giornate) - (1.2,0)$) {}; + \node[stop3, rotate=90, left=1 of Augusto.center, anchor=center] (Via Larga) {}; + + \node[stop2] (Piazza Fontana) at ($(Augusto) + (-0.5,1)$) {}; + \node[stop2, rotate=45] (Crocetta) at ($(Missori) + (1,-1)$) {}; % 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[stop3, rotate=90, anchor=one half] (Adalaide di Savoia) at ($(Viale Piave.north two half) + (2.2,0)$) {}; + \node[stop2, rotate=135, anchor=two half] (Valvassori Peroni) at ($(Adalaide di Savoia.one half) + (3,3)$) {}; + \node[stop1, anchor=center] (Stazione Lambrate) at \polar{(32:11.9)} {}; \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) {}; + \node[stop1, anchor=west] (Piazza Ferravilla) at ($(Adalaide di Savoia.south two half) + (1+\offset,-1)$) {}; + \node[stop1, right=1.9 of Piazza Ferravilla] (Ortica) {}; % 33 & 5 - \node[stop2, rotate=45, anchor=center] (Viale Tunisia) at ($(Adalaide di Savoia.north center) + (-2.3,2.3)$) {}; + \node[stop2, rotate=45, anchor=center] (Viale Tunisia) at \polar{(46:6.5)} {}; % 5 - \node[stop2, rotate=-45, anchor=two half] (Via Vitruvio) at ($(Viale Tunisia) + (1.2,1.2)$) {}; + \node[stop2, rotate=-45, anchor=two half] (Via Vitruvio) at \polar{(46:8-.2)} {}; % 1 \node[stop1] (Greco Rovereto) at ($(Via Vitruvio.two half) + (2,2)$) {}; @@ -213,41 +253,39 @@ \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) {}; + \node[stop1] (Vigentino) at ($(Via Ripamonti Viale Sabotino) + (-50:5)$) {}; % 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] (Piazzale Negrelli) at ($(Via Valenza Alzaia Nav Grande.west) + (-140:4.5)$) {}; - \node[stop1] (Lorenteggio) at ($(Piazzale Coni Zugna Via Solari.north one half) - (4,4)$) {}; + \node[stop1] (Lorenteggio) at ($(Piazzale Coni Zugna Via Solari.north one half) + (-143:5)$) {}; % 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, anchor=west] (Via Arconati) at ($(Piazza Emilia.south one half) + (.5,-1.5)$) {}; \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=3.8 of Piazza Emilia.two half] (Repetti) {}; + \node[stop1] (Viale Ungheria Via Mercante) at ($(Repetti.east) + (2,-3)$) {}; + \node[stop1] (Viale Ungheria) at ($(Viale Ungheria Via Mercante) - (0,1)$) {}; - \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) {}; + \node[stop1] (Via Comelico) at ($(Viale Monte Nero Via Bergamo.center) + (-30:3)$) {}; + \node[stop1] (Piazza Salgari) at ($(Via Comelico) + (-30:0.3) + (1,0)$) {}; + \node[stop1] (Via Monte Velino) at ($(Piazza Salgari.east) + (.5,1)$) {}; % 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] (Cenisio) at ($(Via Bramante) + (-1,1)$) {}; + \node[stop2, rotate=90, left=1 of Cenisio.center, anchor=center] (Piazza Diocleziano) {}; + \node[stop2, rotate=90, anchor=two half] (Piazza Firenze) at ($(Piazza Diocleziano.two half) + (-2,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[stop2, rotate=70, anchor=south one half, above=1 of Piazzale Santorre di Santarosa] (Certosa) {}; + \node[stop2, rotate=70] (Roserio) at ($(Certosa) - (-20:2)$) {}; \node[stop1, left=3 of Piazzale Accursio.two half] (Piazzale Cimitero Maggiore) {}; @@ -256,30 +294,177 @@ \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=4.2 of Via Farini Viale Stelvio.two 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] (Bausan) at ($(Via Farini Viale Stelvio.north one half) + (-4,.5)$) {}; \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, rotate=-30, anchor=one half] (Viale Lunigiana) at ($(Centrale.center) + (60:1)$) {}; - \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=2.1 of Piazzale Lagosta.center, anchor=center] (Marche) {}; + \node[stop2, above=2 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] (Precotto Interno Deposito) at ($(Bicocca.north two half) + (3.5,.5)$) {}; \node[stop1, above=3 of Bicocca.one half] (Primo Maggio) {}; + + \node (Milano Porta Vittoria) at (8,-.5) {}; \end{pgfonlayer} \begin{pgfonlayer}{lines} \pgfmathsetmacro{\offset}{0.1*tan(45/2)} \pgfmathsetmacro{\line}{0.2} + %% \foreach\angle in {-170,-160,...,180} { + %% \draw[help line, color=gray!50] \polar{(0,0)} -- \polar{(\angle:8)}; + %% \node at \polar{(\angle:8)} { \angle }; + %% }; + + \draw[railway outwards] + (Centrale.center) + {[rounded corners=0.01cm] + -- (Centrale.four eighth) + } + -- \polar{(61:12)} + arc (90:20:4.4) + -- \polar{(32:12.1)} + arc(10:-12:30) + {[rounded corners=2cm] + -- \polar{(-40:10.5)} + -- \polar{(-134:9.5)} + } + -- ++(-140:4.5) + node[label, below, anchor=north west] {Mortara}; + + \draw[railway line] + (Porta Genoa.five eighth) + {[rounded corners=1cm] + -- \polar{(-134:7)} + } + -- \polar{(-134:9.5)} + -- ++(-140:4); + + \draw[railway line] + \polar{(32:12.1)} + arc(10:3:30) + -- ($(Ortica) + (1,0.5)$) + -- ++(0:2) + ; + + \draw[railway] ($(Certosa.four sixth) - (-20:1) + (-4,0)$) + node[label, above, anchor=south west] {Torino} + -- ($(Certosa.four sixth) - (-20:1)$) + -- (Certosa.four sixth) + -- ($(Via Farini Via Valtellina) + (-2,0)$) + -- ($(Via Farini Via Valtellina) - (0,.5)$) + arc (90:70:12) + -- ($(Viale Tunisia.four sixth)$) + -- ($(Adalaide di Savoia.north west) - (0,.2)$) + -- ($(Piazza Emilia.north) + (-.1,1)$) + -- ($(Milano Porta Vittoria) - (1.4,0)$) + -- ($(Milano Porta Vittoria)$) + -- ($(Milano Porta Vittoria) + (2,0)$) + -- ($(Repetti) + (-.15,0)$) + -- ($(Repetti) + (-.4,1)$) + -- ($(Ortica) + (1,0.5)$) + -- ++(0:3) + node[label, below right, anchor=north] {Verona} + ; + + \draw[railway outwards] + ($(Via Farini Via Valtellina) - (0,.5)$) + arc (90:85:12) + -- \polar{(75:6)} + {[rounded corners=2cm] + -- ++(65:8) + } + -- ++(85:5) + node[label, below left, anchor=north east] {Chiasso (CH)} + ; + + \draw[railway line] + (Centrale.center) + {[rounded corners=0.01cm] + -- (Centrale.four eighth) + } + -- \polar{(61:12)} + -- ($(75:6) + (65:8) + (-.2,.5)$) + -- ++(85:5) + ; + + \draw[railway outwards] + ($(Repetti) + (-.15,0)$) + arc(-3:-12:30) + -- ++(1,-2) + -- ++(-30:2) + node[label, above, anchor=south west] {Bologna} + ; + + \draw[railway outwards] + ($(Repetti) + (-.15,0)$) + arc(-3:-12:30) + -- ++(1,-2) + -- ++(-90:2) + node[label, above, anchor=south west] {Genova} + ; + + \draw[railway line] + (Certosa.four sixth) + -- ($(Certosa.four sixth) + (-20:1)$) + -- ++(1,1.4) + arc (110:78:25) + -- \polar{(61:12)} + arc (90:20:4.4) + -- \polar{(32:12.1)} + ; + + \draw[railway line] + (Certosa.four sixth) + -- ($(Certosa.four sixth) + (-20:1)$) + -- ++(1,1.4) + arc (110:78:25) + -- \polar{(61:12)} + -- (Centrale.four eighth) + ; + + \draw[railway line] + ($(Certosa.four sixth) + (-17:3)$) + -- ($(Certosa.four sixth) + (-20:1) + (.5,0)$) + -- ($(Certosa.four sixth) + (-20:1) + (1,1.4)$) + arc (110:78:25) + -- \polar{(61:12)} + -- (Centrale.four eighth) + ; + + \draw[railway outwards] + (Cadorna.four sixth) + {[rounded corners=.3cm] + -- ++ (-0.2,0) + } + -- \polar{(135:5)} + -- ($(Piazza Diocleziano) - (1,.3)$) + arc (-135:-180:10) + -- ++(0,2) + node[label, below left, anchor=west] {Asso} + ; + + \draw[railway outwards] + (Cadorna.four sixth) + {[rounded corners=.3cm] + -- ++ (-0.2,0) + } + -- \polar{(135:5)} + -- ($(Piazza Diocleziano) - (1,.3)$) + arc (-135:-180:10) + -- ++(135:2) + node[label, below left, anchor=west] {Saronno} + ; + \draw[line, one] (Greco Rovereto) @@ -290,9 +475,13 @@ -- ($(Vittorio Veneto.south one half) + \line*(.7,-.7)$) } -- (Vittorio Veneto.one half) - -- (Repubblica.one half) - -- (Repubblica.north one half) - -- ($(Cordusio.two half) + (.3,0)$) + -- \centerarc(53:60:4.8) + %% -- (Repubblica.one half) + %% -- (Repubblica.north one half) + {[rounded corners=0.4cm] + -- ++(-.6,0) + -- ($(Cordusio.two half) + (1.3,0)$) + } -- (Cordusio.two half) -- (Cusani.two half) -- ++(0,0.25) @@ -300,26 +489,31 @@ -- (Cadorna.one half) -- (Quinto Alpini.two half) -- ($(Quinto Alpini.north two half)$) - -- ++($(0,.2+2*\offset)$) + -- ++($(.05,.15+.5*\offset)$) -- ($(Arco della Pace.south one half)$) -- (Arco della Pace.one half) - -- (Sempione Via Procaccini.one half) + -- (Arco della Pace.north one half) + -- (Corso 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)$) + {[rounded corners=1.3cm] + -- ($(Piazzale Santorre di Santarosa.south one half) - (0,1.2)$) } -- (Piazzale Santorre di Santarosa.south one half) - -- (Piazzale Santorre di Santarosa.one half) + -- (Piazzale Santorre di Santarosa.north one half) + -- (Certosa.south one half) + -- (Certosa.one half) -- (Roserio.one half) ; \draw[line, two] % TODO north (Bausan) + {[rounded corners=.5cm] + -- ($(Via Farini Viale Stelvio.north one half) + (0,.5)$) + } -- (Via Farini Viale Stelvio.north one half) -- (Via Farini Viale Stelvio.one half) -- (Via Farini Via Valtellina.one half) @@ -330,8 +524,8 @@ -- (Lanza.three quarter) -- (Cusani.three quarter) -- (Cordusio.three quarter) - -- (Duomo.four sixth) - -- ($(Duomo.four sixth) - (0, 3 * \line + \offset)$) + -- (DuomoN.two half) + -- ($(Duomo.south two quarter) - (0,2*\offset)$) -- (Via Torino Via S Maria Valle.center) -- (Piazzale Cantore.north three quarter) -- (Piazzale Cantore.three quarter) @@ -344,7 +538,7 @@ \draw[line, three] (Duomo.three quarter) - -- ($(Duomo.three quarter) - (0, 3 * \line + 2 * \offset)$) + -- ($(Duomo.south three quarter) - (0,4*\offset)$) -- (Via Torino Via S Maria Valle.two half) -- (24 Maggio) -- (Piazza Abbiategrasso.one half) @@ -370,6 +564,7 @@ \draw[line, five] (Ortica) -- (Piazza Ferravilla) + -- (Piazza Ferravilla.west) -- ($(Adalaide di Savoia.south two half) + (\offset, 0)$) -- (Adalaide di Savoia.two half) -- (Adalaide di Savoia.north two half) @@ -377,19 +572,20 @@ -- (Viale Tunisia.north two half) -- (Via Vitruvio.one half) -- (Via Vitruvio.north one half) - -- ($(Centrale.south two half) + (0,2*\offset)$) + -- \centerarc(49:64:8) + %% -- ($(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)$) - } + -- \centerarc(65:80:9.4) + %% {[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) ; @@ -398,25 +594,32 @@ -- (Marche.two half) -- (Ca Granda.two half) -- (Bicocca.two half) + -- (Bicocca.north two half) + {[rounded corners=.6cm] + -- ($(Bicocca.north two half) + (0,.5)$) + } -- (Precotto Interno Deposito) ; \draw[line, nine] - (Centrale.center) - -- (Centrale.west) + (Centrale.one half) + -- (Centrale.south one half) -- ($(Monte Santo.east) + (0,2*\offset)$) - -- (Monte Santo.east) + %% -- (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) + %% -- (Repubblica.north center) + -- \centerarc(68:-113:\rad) + %% -- (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) + %% -- (Via Ripamonti Viale Sabotino) + %% -- (Porta Lodovica) + %% -- (24 Maggio.two half) + %% -- (Via Vigenavo.two half) -- (Piazzale Cantore.north two half) -- (Piazzale Cantore.two half) -- (Porta Genoa.two half) @@ -424,32 +627,47 @@ \draw[line, ten] (24 Maggio.one half) + -- \centerarc(-100:-108:5.2) -- (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) - \offset*(1,1)$) + -- \centerarc(-123:-195:\rad) %% -- (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) + %% -- (Piazzale Coni Zugna Via Solari.south two half) + %% -- (Piazzale Coni Zugna Via Solari.two half) + %% -- (Piazzale Aquileia) + %% -- (Piazzale Baracca) -- (Quinto Alpini.center) - -- ($(Quinto Alpini.two half) + (0,\line)$) + -- (Quinto Alpini.east) + %% {[rounded corners=.5cm] + %% -- \polar{(152:4.8)} + %% } + -- ($(Arco della Pace.two half) - (0,\offset)$) + -- (Arco della Pace.two half) {[rounded corners=0.3cm] - -- ($(Arco della Pace.south two half) + \line*(.7,-.7)$) + -- ($(Arco della Pace.north 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) + -- (Corso Sempione Via Procaccini.two half) + %% {[rounded corners=0.3cm] + %% -- \polar{(130:5.4)} + %% } + %% -- (Via Bramante.west) + %% -- (Via Bramante.east) + %% {[rounded corners=0.3cm] + %% -- \polar{(110:5.2)} + %% } + %% -- (Via Farini Via Ferrari.west) + %% -- (Via Farini Via Ferrari.east) + -- \centerarc(139:72:5.4) -- (Monte Santo.two half) -- ($(Monte Santo.south two half) + (0,2*\offset)$) - -- ($(Centrale.south one half) $) - -- (Centrale.one half) + -- ($(Centrale.south center) $) + -- (Centrale.center) -- (Viale Lunigiana.one half) ; @@ -457,7 +675,10 @@ % TODO (Viale Molise) -- (Via Arconati) - -- ($(Piazza Emilia.one half) + (.2,0)$) + {[rounded corners=0.3cm] + -- ($(Via Arconati.west) - (.5,0)$) + } + -- (Piazza Emilia.south one half) -- (Piazza Emilia.one half) -- (Piazza 5 Giornate.center) -- (Augusto.center) @@ -465,19 +686,17 @@ -- ++(-0.2,0) -- ($(Missori.two half) + (.2,0)$) -- (Missori.two half) - -- ($(Duomo.south three sixth)$) - -- (Duomo.three sixth) + -- ($(DuomoN.four sixth) - (0,.2)$) + -- (DuomoN.four sixth) -- (Cordusio.three sixth) -- (Cusani.one half) -- (Lanza.one half) -- ($(Lanza.north one half)$) -- (Lega Lombarda.one half) + -- (Lega Lombarda.north 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) @@ -493,6 +712,11 @@ -- (Piazzale Santorre di Santarosa.south two half) } -- (Piazzale Santorre di Santarosa.two half) + -- (Piazzale Santorre di Santarosa.north two half) + {[rounded corners=0.2cm] + -- ($(Certosa.south two half) + 4*\offset*(-20:1)$) + } + -- (Certosa.two half) -- (Roserio.two half) ; @@ -504,36 +728,41 @@ -- (Piazza Diocleziano.north two half) -- (Piazza Diocleziano.two half) -- (Cenisio.two half) - -- ($(Cenisio.south two half)$) - {[rounded corners=0.55cm] - -- ++(.6,0) - } + -- ($(Cenisio.south two half) + (2*\offset,0)$) -- ($(Via Bramante.north two half)$) -- (Via Bramante.two half) -- (Via Bramante.south two half) + -- (Lega Lombarda.north two quarter) -- (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)$) + -- (DuomoN.one half) + -- ($(Duomo.south one half)$) -- (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)$) + -- \centerarc(-122:-135:5.2) %% -- ($(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) + {[rounded corners=0.2cm] + -- ($(Piazzale Coni Zugna Via Solari.north one half) + (-.1,.1)$) + } -- (Lorenteggio) ; \draw[line, fifteen] (Duomo.two half) + -- (Duomo.south two half) -- (Porta Lodovica) -- (Agrippa) -- (Agrippa.south) + {[rounded corners=0.2cm] + -- ($(Agrippa.south) - (0,.2)$) + -- ($(Piazza Abbiategrasso.north two half) + (0,.2)$) + } -- (Piazza Abbiategrasso.north two half) -- (Piazza Abbiategrasso.two half) -- (Via dei Missaglie Via Baroni.two half) @@ -548,34 +777,52 @@ \draw[line, sixteen] (San Siro Stadio) -- (Segesta) + -- (Segesta.east) + {[rounded corners=0.3cm] + -- ($(Segesta.east) + (.2,0)$) + -- ($(De Angeli.west) - (.2,0)$) + } + -- (De Angeli.west) -- (De Angeli) -- (Piazzale Baracca) -- (Ancona.one half) -- (Cordusio.one half) - -- (Duomo.one half) + -- (DuomoN.six tenth) {[rounded corners=0.5cm] - -- ($(Duomo.south one half) - (0,0.4)$) + -- ($(DuomoN.six tenth) - (0,0.6)$) } -- (Missori.one half) -- ++(0.2,0) -- (Crocetta.two half) + -- (Crocetta.south two half) + -- (Viale Monte Nero Via Bergamo.west) -- (Viale Monte Nero Via Bergamo) + {[rounded corners=0.2cm] + -- ($(Viale Monte Nero Via Bergamo) + (.1,0)$) -- (Via Comelico) + -- ($(Via Comelico) + (-30:0.3)$) + } -- (Piazza Salgari) - -- (Via Varsavia Via Monte Velino) + -- (Piazza Salgari.east) + {[rounded corners=0.3cm] + -- ($(Piazza Salgari.east) + (.5,0)$) + } -- (Via Monte Velino) ; \draw[line, nineteen] (Stazione Lambrate) + arc (10:8.5:30) -- (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.north two half) -- (Viale Piave.two half) - -- ($(Piazza 5 Giornate.one half) + (.2,0)$) + -- \centerarc(19:0:5.2) + -- ($(Piazza 5 Giornate.one half) + (\line,0)$) -- (Piazza 5 Giornate.one half) -- (Augusto.one half) -- (Via Larga.one half) @@ -583,25 +830,27 @@ -- ($(Missori.two quarter) + (.3,0)$) -- (Missori.two quarter) {[rounded corners=0.3cm] - -- ($(Duomo.south two quarter) - (0,0.2)$) + -- ($(DuomoN.five eighth) - (0,0.4)$) } - -- (Duomo.two quarter) + -- (DuomoN.five eighth) -- (Cordusio.two quarter) -- ($(Cordusio.north two quarter)$) -- (Ancona.two half) -- (Cadorna.two half) -- (Quinto Alpini.one half) -- (Quinto Alpini.north one half) + -- (6 Febbraio.south) -- (6 Febbraio) -- (Viale Boezio) + -- (Viale Boezio.north) -- (Domodossola.south one half) -- (Domodossola.one half) -- (Piazza Firenze.west) + -- (Piazza Firenze.east) {[rounded corners=0.3cm] - -- ($(Piazza Firenze.east) + (0,\line)$) - -- (Via Da Panicale) + -- ($(Piazza Firenze.east) + (-.1,\line)$) + -- ($(Via Mac Mahon Via Artieri.south one half) + (\line,0)$) } - -- (Via Da Panicale.west) -- (Via Mac Mahon Via Artieri.south one half) -- (Via Mac Mahon Via Artieri.one half) -- (Piazza Castelli.one half) @@ -618,13 +867,24 @@ -- ($(Missori.two half) + (0,.1)$) -- ($(Missori.one half) - (0,.1)$) -- (Crocetta.one half) + -- (Crocetta.south one half) + {[rounded corners=0.2cm] + -- ($(Crocetta.south one half) + (-40:.2)$) + -- ($(Via Ripamonti Viale Sabotino.west) - (-50:.2)$) + } + -- (Via Ripamonti Viale Sabotino.west) -- (Via Ripamonti Viale Sabotino) + -- (Via Ripamonti Viale Sabotino.east) -- (Vigentino) ; \draw[line, twentyseven] - (Viale Ungheria.east) + (Viale Ungheria) -- (Viale Ungheria Via Mercante) + {[rounded corners=.3cm] + -- ($(Viale Ungheria Via Mercante) + (0,.5)$) + -- ($(Repetti.east) + (0,-.5)$) + } -- (Repetti) -- (Piazza Emilia.two half) -- (Piazza 5 Giornate.two half) @@ -653,125 +913,203 @@ -- (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) + %% -- (Repubblica.two half) + %% -- (Monte Santo.south one half) + %% -- (Monte Santo.north one half) + -- \centerarc(50:95:5.2) -- (Via Farini Via Ferrari.south two half) -- ++(0,.7) -- (Via Ugo Bassi) - -- ++(1,0) - -- (Piazzale Lagosta.south one half) + {[rounded corners=.3cm] + -- ++(1.8,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 + + \foreach \stop/\stopanchor/\line/\anchor/\name in { + Greco Rovereto/center/one/south/1, + Roserio/one half/one/east/1, + Roserio-one-label/center/twelve/east/12, + Bausan/center/two/north/2, + Piazzale Negrelli/center/two/north east/2, + Duomo/two half/fifteen/north west/15, + Duomo-fifteen-label/center/three/north/3, + Via dei Missaglie Via Baroni/two half/three/west/3, + Niguarda Parco Nord/center/four/west/4, + Ricasoli/center/four/east/4, % TODO + Ortica/center/five/south/5, + Ospedale Niguarda/center/five/east/5, + Piazzale Lagosta/center/seven/east/7, + Piazzale Lagosta-seven-label/center/thirtythree/east/33, + Precotto Interno Deposito/center/seven/west/7, + Centrale/four eighth/nine/west/9, + % TODO rest of centrale + Porta Genoa/center/nine/north east/9, + 24 Maggio/center/ten/north east/10, + Viale Lunigiana/center/ten/west/10, + Viale Molise/center/twelve/north/12, + Piazzale Cimitero Maggiore/center/fourteen/south/14, + Lorenteggio/center/fourteen/north east/14, + Via G Rossa/center/fifteen/north/15, + San Siro Stadio/center/sixteen/north/16, + Via Monte Velino/center/sixteen/west/16, + Stazione Lambrate/east/nineteen/west/19, + Piazza Castelli/one half/nineteen/north east/19, + Piazza Fontana/one half/twentyfour/east/24, + Vigentino/center/twentyfour/north east/24, + Piazza Fontana/two half/twentyseven/west/27, + Viale Ungheria/center/twentyseven/west/27, + Viale Testi Via S Marcellina/two half/thirtyone/west/31, + Primo Maggio/center/thirtyone/east/31, + Rimembranze di Lambrate/center/thirtythree/north/33 } { - \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}}; + \node[label, line name, fill=\line, anchor=\anchor] (\stop-\line-label) + at ($(\stop.\stopanchor)$) + {\bf \name}; }; + \foreach\stop/\stopanchor/\direction/\distance/\anchor/\rotate in { + Piazzale Cantore/west/190/0/north east/0, + Via Vigenavo/east/50/.3/center/0, + Cenisio/east/180/.3/south west/0, + Quinto Alpini/west/30/-.1/east/0, + Missori/south center/-45/.2/west/0, + Monte Santo/north west/-45/.1/east/0, + Cordusio/south two half/140/.2/north west/0 + } { + \node[label, rotate=\rotate, anchor=\anchor] + at ($(\stop.\stopanchor) + (\direction:\distance)$) + {\contour{white}{\stop}}; + }; + + \node[label, anchor=west] at ($(DuomoN.east) + (0,.1)$) + {\contour{white} {Duomo}}; + + \foreach\stop/\stopanchor/\anchor/\rotate in { + Via G Rossa/north/south/0, + Cusani/east/west/0, + Lanza/east/west/0, + Via Larga/west/west/-45, + Augusto/west/west/-45, + Ancona/west/north/0, + Cadorna/east/north east/0, + Crocetta/east/south west/0, + Ricasoli/north/south/0, + Lega Lombarda/east/west/0, + Piazza Fontana/north/south/0, + Piazza 5 Giornate/one half/north west/0, + % west + San Siro Stadio/north/south/0, + Segesta/north/south/0, + De Angeli/south/north/0, + 6 Febbraio/west/east/0, + Viale Boezio/west/east/0, + Domodossola/west/east/0, + Piazza Firenze/west/east/20, + Piazzale Accursio/west/east/20, + % north + Certosa/east/south/0, + Bausan/north/south/0, + Niguarda Parco Nord/west/east/0, + Primo Maggio/east/west/0, + Bicocca/west/east/0, + Ca Granda/east/west/0, + Marche/west/east/0, + Via Ugo Bassi/north/south west/0, + Greco Rovereto/east/west/0, + Via Vitruvio/east/west/0, + Viale Tunisia/south east/west/0, + % east + Piazza Ferravilla/south/north/0, + Viale Piave/west/east/0, + Porta Venezia/west/east/0, + Stazione Lambrate/west/east/0, + Valvassori Peroni/east/east/0, + Piazza Emilia/east/south/0, + Via Arconati/south/north/0, + Viale Molise/north/south/0, + % south east + Via Comelico/west/north east/0, + Piazza Salgari/south/north/0, + Via Monte Velino/west/east/0, + Repetti/center/south west/0, + Viale Ungheria/west/east/0, + % south + Agrippa/east/west/0, + % ring + Via Bramante/north west/east/0, + 24 Maggio/one half/north west/0, + Porta Lodovica/south east/north west/0, + Porta Romana/east/west/0, + Repubblica/two half/south west/0, + Piazzale Baracca/south/north west/0, + Piazzale Aquileia/west/east/0 + } { + \node[label, rotate=\rotate, anchor=\anchor] + at ($(\stop.\stopanchor)$) + {\contour{white}{\stop}}; + }; + + \foreach \stop/\suffix/\position/\anchor/\rotate in { + Centrale/nine-label/.2/west/0, + Viale Lunigiana/ten-label/.2/west/0, + Lorenteggio/fourteen-label/.2/west/0, + Piazzale Negrelli/two-label/.2/west/0, + Porta Genoa/nine-label/.2/west/0, + Ospedale Niguarda/five-label/-.2/east/0, + Ortica/five-label/-.2/east/0, + Vigentino/twentyfour-label/.2/west/0 + } { + \node[label, rotate=\rotate, anchor=\anchor] + at ($(\stop-\suffix) + (\position,0)$) + {\contour{white}{\stop}}; + }; + + \node[label, anchor=south east] at ($(Roserio-one-label) + (.35,.2)$) {\contour{white}{Roserio}}; + + + \def\mlabel(#1, #2, #3, #4, #5)#6{ + \tlset\nodename{#6} + \tlremove\nodename{/} + \node[label, align=center, anchor=#2, rotate=#3] at ($(\nodename.#1) + (#4:#5)$) {% + \seqsetsplit\nodeseq{ /}{#6}% + \seqMapInline\temp\nodeseq{\contour{white}{##1}}% + \seqUse\temp{\\} + }; + } + \def\slabel(#1, #2)#3{\mlabel(#1, #2, 0, 0, 0){#3}} + + \mlabel(north west, south east, 0, 180, .1){Piazzale Coni Zugna /Via Solari} + \slabel(north west, south east){Via Torino /Via S Maria Valle} + \slabel(north west, east){Via Valenza Alzaia /Nav Grande} + \slabel(west, east){Piazzale Santorre /di Santarosa} + \mlabel(east, south, 0, 0, -.2){Via Mac Mahon /Via Artieri} + \slabel(south, north){Piazzale /Cimitero Maggiore} + \mlabel(east, west, 0, -40, .2){Corso Sempione /Via Procaccini} + \slabel(west, east){Via Farini /Viale Stelvio} + \slabel(west, east){Viale Testi /Via S Marcellina} + \slabel(east, west){Piazzale /Lagosta} + \slabel(east, south){Piazza /Diocleziano} + \slabel(north west, east){Via Farini /Via Valtellina} + \slabel(one half, south east){Via Farini /Via Ferrari} + \slabel(east, west){Rimembranze /di Lambrate} + \slabel(west, east){Viale Ungheria /Via Mercante} + \slabel(east, west){Monte Nero /Via Spartaco} + \slabel(north east, west){Viale Monte Nero /Via Bergamo} + \mlabel(west, east, 0, 180, .2){Via Ripamonti /Viale Sabotino} + \slabel(west, east){Piazza /Abbiategrasso} + \slabel(west, east){Via dei Missaglie /Via Baroni} + \slabel(south, north){Via Grandi /Via Bouzzi Rozzano} + \mlabel(east, south, 0, 70, .2){Adalaide di /Savoia} + \mlabel(east, west, 0, 0, .5){Precotto /Interno Deposito} + \mlabel(west, north west, 0, 0, -.2){Piazza /Castelli} + \mlabel(north, south, 0, -180, 0.1){Castello /Cairoli} + \mlabel(south west, east, 0, -90, 0.1){Arco della /Pace} + \mlabel(south west, north, 0, 0, 0){Vittorio /Veneto} \end{pgfonlayer} \end{tikzpicture} -- cgit v1.2.3