tikz-trackschematic/doc/examples/station_berg.tex

154 lines
5.3 KiB
TeX
Raw Normal View History

%!TEX TS-program = pdflatexmk
% Copyright (c) 2018 - 2021, 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 ( 2,1.3) {to and from\\ Arnau};
\node at (21,3.3) {{\LARGE Bf Berg}};
\node[left,align=right] at (38,1.3) {to and from\\ Chamstadt};
}
% coordinates
\coordinate (A) at ( 1.5, 0);
\coordinate (B) at (38.5, 0);
\coordinate (E1) at ( 9 , 1);
\coordinate (E2) at (11 ,-1);
\coordinate (E3) at (25 , 2);
\coordinate (H1) at (15 , 2);
\coordinate (H2) at (26 , 1);
\coordinate (Y1) at (14 , 0);
\coordinate (Y2) at (15 , 0);
\coordinate (Y3) at (14 , 1);
\coordinate (Y4) at (16 , 1);
\coordinate (Y5) at (27 , 0);
\coordinate (Y6) at (12.8,-1);
\coordinate (S1) at ( 7 , 0);
\coordinate (S2) at (10 , 0);
\coordinate (S3) at (18 , 0);
\coordinate (S4) at (18 , 1);
\coordinate (S5) at (24 , 0);
\coordinate (S6) at (24 , 1);
\coordinate (S7) at (30 , 0);
\coordinate (S8) at (33 , 0);
\coordinate (T1) at ( 6 , 0);
\coordinate (T2) at (10.2, 1);
\coordinate (T3) at (23 , 2);
\coordinate (T4) at (34 , 0);
\coordinate (P1) at (21 , 0);
\coordinate (P2) at (21 , 1);
\coordinate (HM) at (0,-1.85);
{ %% topology
% tracks
\maintrack (A) -- (B);
\maintrack (Y2) -- (Y4) -- (H2) -- (Y5);
\secondarytrack (E1) -- (Y4);
\secondarytrack (E2) -- ++( 2,0) -- (Y1);
\secondarytrack (Y3) -- (H1) -- (E3);
% track numbers
\tracklabel at (11.7, 1) label (12);
\tracklabel at (11.7,-1) label (10);
\tracklabel at (21 , 2) label (3);
\tracklabel at (P2) label (2);
\tracklabel at (P1) label (1);
% bufferstops
\bufferstop[backward] at (E1);
\bufferstop[backward] at (E2);
\bufferstop[forward] at (E3);
% turnouts
\tikzset{every node/.style={fouling point}};
\turnout[backward,branch=right] at (Y1) label (W1);
\turnout[forward ,branch=left ] at (Y2) label (W2);
\turnout[forward ,branch=left ] at (Y3) label (W3);
\turnout[backward,branch=right] at (Y4) label (W4);
\turnout[backward,branch=left ] at (Y5) label (W5);
\derailer[forward,branch=right] at (Y6) label (Gs6);
}
{ %% traffic control
% signals
\distantsignal[forward] at (S1) label (Va);
\signal[distant,route,forward] at (S2) label (A);
\routesignal[backward] at (S3) label (P1);
\routesignal[backward] at (S4) label (P2);
\routesignal[forward] at (S5) label (N1);
\routesignal[forward] at (S6) label (N2);
\signal[distant,route,backward] at (S7) label (F);
\distantsignal[backward] at (S8) label (Vf);
% routes
\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 (12.3,-1) label ();
\clearingpoint[] at (12.8, 0) label ();
\clearingpoint[] at (13.4, 1) label ();
\clearingpoint[] at (14.9, 1) label ();
\coordinate (H3) at ($(Y2)!0.5!(Y4)$); % using tikz calc library
\clearingpoint[rotate=45] at (H3) label ();
\coordinate (H4) at ($(Y3)!0.8!(H1)$); % using tikz calc library
\clearingpoint[rotate=45] at (H4) label ();
\clearingpoint[] at (16 , 0) label ();
\clearingpoint[] at (18 , 1) label ();
\clearingpoint[] at (18 , 0) label ();
\clearingpoint[] at (24 , 1) label ();
\clearingpoint[] at (24 , 0) label ();
\clearingpoint[] at (26 , 0) label ();
\clearingpoint[] at (27.5, 0) label ();
\coordinate (H5) at ($(Y5)!0.8!(H2)$); % using tikz calc library
\clearingpoint[rotate=315] at (H5) label ();
\clearingpoint[] at (30 , 0) label ();
}
{ %% vehicles
\train[run=normal,forward] at (T1) label (RB);
\train[run=fast,backward] at (T4) label (IC);
\parkedvehicles[length=3cm] at (T3) label (WG);
\parkedvehicles[length=1cm] at (T2) label (Tfz);
}
{ %% constructions
% platforms
\platform[side=right] at (P2);
\platform[side=left ] at (P1);
}
{ %% measures
% hectometer posts
\tikzset{hectometer base={(HM)},orientation=right};
\hectometer[] at (S1) label ( 7.200);
\hectometer[] at (S2) label ( 8.200);
\hectometer[] at (12.8,-1) label ( 8.400);
\hectometer[] at (16 , 0) label ( 8.600);
\hectometer[] at (S3) label ( 8.700);
\hectometer[] at (19 , 0) label ( 8.750);
\hectometer[] at (23 , 0) label ( 9.000);
\hectometer[] at (S5) label ( 9.100);
\hectometer[] at (26 , 0) label ( 9.200);
\hectometer[] at (27.5, 0) label ( 9.300);
\hectometer[] at (S7) label ( 9.500);
\hectometer[] at (S8) label (10.500);
}
\end{tikzpicture}
\end{document}