2018-09-14 21:04:15 +02:00
%!TEX TS-program = pdflatexmk
2020-01-14 17:11:10 +01:00
% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
2018-09-14 21:04:15 +02:00
% 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}
2020-01-14 17:11:10 +01:00
\usetikzlibrary { trackschematic}
2018-09-14 21:04:15 +02:00
\begin { document}
\begin { tikzpicture} [font=\sffamily ]
2020-01-14 17:11:10 +01:00
{ % station names
\tikzset { every node/.style={ \foreground !50!\background } } ;
2018-09-14 21:04:15 +02:00
\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} ;
}
2020-01-14 17:11:10 +01:00
% 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);
2018-09-14 21:04:15 +02:00
% track numbers
2020-01-14 17:11:10 +01:00
\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);
2018-09-14 21:04:15 +02:00
% bufferstops
2020-01-14 17:11:10 +01:00
\bufferstop [backward] at (E1);
\bufferstop [backward] at (E2);
\bufferstop [forward] at (E3);
2018-09-14 21:04:15 +02:00
% turnouts
2020-01-14 17:11:10 +01:00
\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);
2018-09-14 21:04:15 +02:00
}
2020-01-14 17:11:10 +01:00
{ %% 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);
2018-09-14 21:04:15 +02:00
% routes
2020-01-14 17:11:10 +01:00
\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 ($ ( Y 2 ) ! 0 . 5 ! ( Y 4 ) $ ); % using tikz calc library
\clearingpoint [rotate=45] at (H3) label ();
\coordinate (H4) at ($ ( Y 3 ) ! 0 . 8 ! ( H 1 ) $ ); % 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 ($ ( Y 5 ) ! 0 . 8 ! ( H 2 ) $ ); % using tikz calc library
\clearingpoint [rotate=315] at (H5) label ();
\clearingpoint [] at (30 , 0) label ();
2018-09-14 21:04:15 +02:00
}
2020-01-14 17:11:10 +01:00
{ %% 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);
2018-09-14 21:04:15 +02:00
}
2020-01-14 17:11:10 +01:00
{ %% constructions
% platforms
\platform [side=right] at (P2);
\platform [side=left ] at (P1);
2018-09-14 21:04:15 +02:00
}
2020-01-14 17:11:10 +01:00
{ %% messures
% 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);
2018-09-14 21:04:15 +02:00
}
\end { tikzpicture}
\end { document}