tikz-trackschematic/doc/examples/station_chamstadt.tex

177 lines
6.3 KiB
TeX

%!TEX TS-program = pdflatexmk
% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
% Permission to use, copy, modify, and/or distribute this file for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
\documentclass[tikz,border=2]{standalone}
\usetikzlibrary{trackschematic}
\begin{document}
\begin{tikzpicture}[font=\sffamily]
{ % station names
\tikzset{every node/.style={\foreground!50!\background}};
\node[right,align=left] at ( 5,1.3) {to and from\\ Berg};
\node at (21,3.9) {{\LARGE Bf Chamstadt}};
\node[left,align=right] at (37.5,1.3) {to and from\\ Dornroda};
\node[left,align=right] at (36.5,4.0) {to and from\\ Ehrenstein};
}
% coordinates
\coordinate (A) at ( 1.5, 0);
\coordinate (B) at (37.5, 0);
\coordinate (C) at (34 , 5);
\coordinate (E1) at ( 9 , 1);
\coordinate (Y1) at (14 , 0);
\coordinate (Y2) at (15 , 0);
\coordinate (Y3) at (16 , 1);
\coordinate (Y4) at (14.8, 1);
\coordinate (Y5) at (26.5, 0);
\coordinate (Y6) at (27 , 1);
\coordinate (Y7) at (28 , 0);
\coordinate (Y8) at (29 , 0);
\coordinate (Y9) at (30 , 1);
\coordinate (S01) at ( 7.5, 0);
\coordinate (S02) at (10 , 0);
\coordinate (S03) at (16 ,-1);
\coordinate (S04) at (18 , 0);
\coordinate (S05) at (18 , 1);
\coordinate (S06) at (24 , 0);
\coordinate (S07) at (24 , 1);
\coordinate (S08) at (25 ,-1);
\coordinate (S09) at (33 , 0);
\coordinate (S10) at (32 , 3);
\coordinate (S11) at (35.5, 0);
\coordinate (S12) at (33.5, 4.5);
\coordinate (T1) at ( 6 , 0);
\coordinate (T2) at (10.2, 1);
\coordinate (T3) at (16.5,-1);
\coordinate (P1) at (21 , 0);
\coordinate (P2) at (21 , 1);
\coordinate (HM1) at (0,-1.85);
\coordinate (HM2) at (0, 2.15);
{ %% topology
% tracks
\maintrack (A) -- (B);
\maintrack (Y1) -- ++( 1,-1) -- ++(10.5,0) -- (Y5);
\maintrack (Y2) -- ++( 1, 1) -- (Y9);
\maintrack (Y6) -- ++( 1,-1);
\maintrack (Y8) -- (Y9) -- (C);
\secondarytrack (E1) -- (Y3);
% track numbers
\tracklabel at (12.5, 1) label (11);
\tracklabel at (21 ,-1) label (3);
\tracklabel at (P1) label (1);
\tracklabel at (P2) label (2);
% bufferstops
\bufferstop[backward] at (E1);
% turnouts
\tikzset{every node/.style={fouling point}};
\turnout[forward ,branch=right] at (Y1) label (W1);
\turnout[forward ,branch=left ] at (Y2) label (W2);
\turnout[backward,branch=right] at (Y3) label (W3);
\derailer[forward,branch=left ] at (Y4) label (Gs4);
\turnout[backward,branch=right] at (Y5) label (W5);
\turnout[forward ,branch=right] at (Y6) label (W6);
\turnout[backward,branch=left ] at (Y7) label (W7);
\turnout[forward ,branch=left ] at (Y8) label (W8);
\turnout[backward,branch=right,shift label={(0.2,-0.5)}] at (Y9) label (W9);
}
{ %% traffic control
% signals
\distantsignal[forward] at (S01) label (Va);
\signal[distant,route,forward] at (S02) label (A);
\routesignal[backward] at (S03) label (P3);
\routesignal[backward] at (S04) label (P1);
\routesignal[backward] at (S05) label (P2);
\routesignal[forward] at (S06) label (N1);
\routesignal[forward] at (S07) label (N2);
\routesignal[forward] at (S08) label (N3);
\signal[distant,route,backward] at (S09) label (F);
\signal[distant,route,backward,rotate=45,shift label={(0.1,0.1)}] at (S10) label (G);
\distantsignal[backward] at (S11) label (Vf);
\distantsignal[backward,rotate=45,shift label={(0.1,0.1)}] at (S12) label (Vg);
% routes
\route[backward] at (20,-1);
\route[forward] at (22,-1);
\route[backward] at (20, 0);
\route[forward] at (22, 0);
\route[backward] at (20, 1);
\route[forward] at (22, 1);
% clearing points
\tikzset{every node/.style={backward}};
\clearingpoint[] at (10 , 0) label ();
\clearingpoint[] at (13 , 0) label ();
\clearingpoint[] at (14 , 1) label ();
\clearingpoint[] at (16 , 0) label ();
\clearingpoint[] at (16 ,-1) label ();
\clearingpoint[rotate= 45] at (15.5, 0.5) label ();
\clearingpoint[] at (18 , 1) label ();
\clearingpoint[] at (18 , 0) label ();
\clearingpoint[] at (24 , 1) label ();
\clearingpoint[] at (24 , 0) label ();
\clearingpoint[] at (26 , 1) label ();
\clearingpoint[] at (25 ,-1) label ();
\clearingpoint[] at (27 , 0) label ();
\clearingpoint[rotate=-45] at (27.5, 0.5) label ();
\clearingpoint[rotate= 45] at (29.5, 0.5) label ();
\clearingpoint[] at (30.2, 0) label ();
\clearingpoint[] at (33 , 0) label ();
\clearingpoint[rotate= 45] at (30.5, 1.5) label ();
\clearingpoint[rotate= 45] at (32 , 3 ) label ();
}
{ %% vehicles
\train[run=normal,forward] at (T1) label (RB);
\parkedvehicles[length=1cm] at (T2) label (Tfz);
\train[backward] at (T3) label (GZ);
}
{ %% constructions
% platforms
\platform[side=right] at (P2);
\platform[side=left ] at (P1);
}
{ %% messures
% hectometer posts
\tikzset{hectometer base={(HM1)},orientation=right};
\hectometer[] at (S01) label ( 7.200);
\hectometer[] at (S02) label ( 8.200);
\hectometer[] at (13 ,0) label ( 8.400);
\hectometer[] at (S03) label ( 8.600);
\hectometer[] at (S08) label ( 9.150);
\hectometer[] at (27 ,0) label ( 9.250);
\hectometer[] at (27.5,0) label ( 9.300);
\hectometer[] at (29.5,0) label ( 9.450);
\hectometer[] at (30.2,0) label ( 9.500);
\hectometer[] at (S09) label ( 9.900);
\hectometer[] at (S11) label (10.900);
\messureline (S09) -- ++(0,1.7) -- (S10);
\messureline (S11) -- ++(0,2.2) -- (S12);
\tikzset{hectometer base={(HM2)},orientation=left};
\hectometer[] at (14 ,1) label ( 8.500);
\hectometer[] at (15.5,1) label ( 8.550);
\hectometer[] at (S05) label ( 8.700);
\hectometer[] at (19 ,1) label ( 8.750);
\hectometer[] at (23 ,1) label ( 9.000);
\hectometer[] at (S07) label ( 9.100);
\hectometer[] at (26 ,1) label ( 9.200);
}
\end{tikzpicture}
\end{document}