edugame-railway-operation/handbook/figures/tutorial_followprotection_s...

81 lines
4.3 KiB
Plaintext

%!TEX TS-program = pdflatexmk
%!TEX root = tutorial_followprotection_setup.tex
% Copyright 2021 Martin Scheidt (Attribution 4.0 International, CC-BY 4.0)
% You are free to copy and redistribute the material in any medium or format. You are free to remix, transform, and build upon the material for any purpose, even commercially. You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. No warranties are given.
\begin{scope}[>=latex]
\coordinate (base) at (0,0);
\foreach \x in {2,5,3,8,13}
\draw[dotted] ([shift={(base)}] \x,0) rectangle ++(1,0.5);
\foreach \x in {-4,-3,-2,-1,0,1,3,4,6,7,9,10,11,12,14}
\draw ([shift={(base)}] \x,0) rectangle ++(1,0.5);
\node at ([shift={(base)}]-3.5,0.25) {-4};
\node at ([shift={(base)}]-2.5,0.25) {-3};
\node at ([shift={(base)}]-1.5,0.25) {-2};
\node at ([shift={(base)}]-0.5,0.25) {-1};
\node at ([shift={(base)}] 0.5,0.25) {0};
\node at ([shift={(base)}] 1.5,0.25) {1};
\node at ([shift={(base)}] 3.5,0.25) {10};
\node at ([shift={(base)}] 4.5,0.25) {11};
\node at ([shift={(base)}] 6.5,0.25) {15};
\node at ([shift={(base)}] 7.5,0.25) {16};
\node at ([shift={(base)}] 9.5,0.25) {23};
\node at ([shift={(base)}]10.5,0.25) {24};
\node at ([shift={(base)}]11.5,0.25) {25};
\node at ([shift={(base)}]12.5,0.25) {26};
\node at ([shift={(base)}]14.5,0.25) {40};
% distance
\draw[|<->|,>=latex,shorten >=2,shorten <=2] ([shift={(base)}] 1,0.85) -- ++(3,0) node[midway,fill=white] {10};
\draw[|<->|,>=latex,shorten >=2,shorten <=2] ([shift={(base)}] 4,0.85) -- ++(3,0) node[midway,fill=white] {5};
\draw[|<->|,>=latex,shorten >=2,shorten <=2] ([shift={(base)}] 7,0.85) -- ++(3,0) node[midway,fill=white] {8};
\draw[|<->|,>=latex,shorten >=2,shorten <=2] ([shift={(base)}]12,0.85) -- ++(3,0) node[midway,fill=white] {15};
% trains
\draw[line width=1pt, fill=white] ([shift={(base)}] 0.9,0.25) -- ++(-0.2,-0.2) -- ++(-3.7,0) -- ++(0,0.4) -- ++(3.7,0) -- cycle; % train
\node at ([shift={(base)}]-1.5,0.25) {\tiny
\IfLanguage{english}{fast train}
\IfLanguage{ngerman}{Fernverkehr}
};
\draw[line width=1pt, fill=white] ([shift={(base)}]11.9,0.25) -- ++(-0.2,-0.2) -- ++(-1.7,0) -- ++(0,0.4) -- ++(1.7,0) -- cycle; % train
\node at ([shift={(base)}]11,0.25) {\tiny
\IfLanguage{english}{local train}
\IfLanguage{ngerman}{Nahverkehr}
};
% platforms
\draw ([shift={(base)}]10,1.1) -- ++(0,-0.4) -- ++ (2,0) -- ++(0,0.4);
\draw ([shift={(base)}]10,0.8) -- ++ (2,0) node [above,midway] {
\IfLanguage{english}{platform}
\IfLanguage{ngerman}{Bahnsteig}
};
% distant signal
\path[draw, line width=1pt] ([shift={(base)}] 1,-0.1) -- ++(0,-0.3) -- ++(0.3,0);
\path[draw, line width=1pt] ([shift={(base)}] 1.3,-0.4) -- ++(0.2,0.15) -- ++(0,-0.3) -- cycle;
\draw [->] ([shift={(base)}] 3,-1.2) -- ([shift={(base)}] 1.7,-0.5) node [near start,align=right,fill=white] {
\IfLanguage{english}{distant signal}
\IfLanguage{ngerman}{Vorsignal}
};
\path[draw, line width=1pt] ([shift={(base)}] 7,-0.1) -- ++(0,-0.3) -- ++(0.3,0);
\path[draw, line width=1pt] ([shift={(base)}] 7.3,-0.4) -- ++(0.2,0.15) -- ++(0,-0.3) -- cycle;
% block signal
\path[draw, line width=1pt] ([shift={(base)}] 4,-0.1) -- ++(0,-0.3) -- ++(0.5,0);
\path[draw, line width=1pt] ([shift={(base)}] 4.5,-0.55) rectangle ++(0.3,0.3);
\draw [->] ([shift={(base)}] 5,-1.8) -- ([shift={(base)}] 4.7,-0.7) node [near start,align=right,fill=white] {
\IfLanguage{english}{main signal}
\IfLanguage{ngerman}{Hauptsignal}
};
\path[draw, line width=1pt] ([shift={(base)}]12,-0.1) -- ++(0,-0.3) -- ++(0.5,0);
\path[draw, line width=1pt] ([shift={(base)}]12.5,-0.55) rectangle ++(0.3,0.3);
% block clearing point
\path[draw, line width=1pt] ([shift={(base)}] 5,-0.1) -- ++(0,-0.15);
\path[draw, line width=1pt] ([shift={(base)}] 4.95,-0.25) rectangle ++(0.1,-0.1);
\draw [->] ([shift={(base)}] 9,-1.3) -- ([shift={(base)}] 5.1,-0.3) node [near start,align=right,fill=white] {
\IfLanguage{english}{clearing point}
\IfLanguage{ngerman}{Signalzugschlussstelle}
};
\path[draw, line width=1pt] ([shift={(base)}] 13,-0.1) -- ++(0,-0.15);
\path[draw, line width=1pt] ([shift={(base)}] 12.95,-0.25) rectangle ++(0.1,-0.1);
\end{scope}