Added routes and route locking. Extended material and tasks.

master v0.6.1
kaat0 2019-08-26 18:01:36 +02:00
parent b96c618030
commit d9da5ff615
24 changed files with 551 additions and 57 deletions

View File

@ -1,6 +1,16 @@
edugame-rail-traffic-flow
======
Version 0.6.1
------
extended tasks for routes
Version 0.6
------
added routes and route locking
Version 0.5.1
------
minor improvements and some refactoring

View File

@ -7,6 +7,7 @@
\newcommand{\MS}{Martin Scheidt}
\newcommand{\FN}{Felix Nebel}
\newcommand{\LG}{Lukas Gruber}
\newcommand{\LP}{Leonhard Pelster}
\newcommand{\SZ}{Stephan Zieger}
\newcommand{\LE}{Laura Enders}
\begin{versionhistory}
@ -39,4 +40,12 @@
\IfLanguage{ngerman}{Anpassung der Streckenlänge und Aufgaben}
\IfLanguage{english}{Adaptation of track length and tasks}
}
\vhEntry{0.6}{2019-05-20}{MS}{
\IfLanguage{ngerman}{Fahrstraßen und Fahrstraßenverschluss hinzugefügt}
\IfLanguage{english}{Added routes and route locking}
}
\vhEntry{0.6.1}{2019-08-26}{MS|LP}{
\IfLanguage{ngerman}{Aufgaben für Fahrstraßen erweitert}
\IfLanguage{english}{Extended tasks for routes}
}
\end{versionhistory}

View File

@ -0,0 +1,17 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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}
\coordinate (base) at (0,0);
\path[draw, line width=2pt] ( 0,0) -- ++(19,0);
\path[draw, line width=2pt] ( 0,1) -- ++(1,0) -- ++(1,-1);
\path[draw, line width=1pt,fill] (2,0) -- ++(-0.4,0.4) -- ++(0,-0.4); % turnout marker
\path[draw, line width=2pt] (17,0) -- ++(1,1) -- ++(1,0);
\path[draw, line width=1pt,fill] (17,0) -- ++(0.4,0.4) -- ++(0,-0.4); % turnout marker
\node at ( 0,2) {\Large A};
\node at (19,2) {\Large B};
\path[draw, line width=1pt, fill=white] (0,0) -- ++(-0.2,-0.2) -- ++(-2.6,0) -- ++(0,0.4) -- ++(2.6,0) -- cycle; % train
\path[draw, line width=1pt, fill=white] (0,1) -- ++(-0.2,-0.2) -- ++(-2.6,0) -- ++(0,0.4) -- ++(2.6,0) -- cycle; % train
\end{scope}

View File

@ -0,0 +1,18 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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}
\coordinate (base) at (0,0);
\path[draw, line width=2pt] ( 0,0) -- ++(15,0);
\path[draw, line width=2pt] ( 4,0) -- ++(1,1) -- ++(8,0);
\path[draw, line width=2pt] (12,1) -- ++(1,-1);
\path[draw, line width=1pt, fill] (4,0) -- ++(0.4,0.4) -- ++(0,-0.4); % turnout marker
\path[draw, line width=1pt, fill] (12,1) -- ++(0.4,-0.4) -- ++(0,0.4); % turnout marker
\path[draw, line width=1pt, fill] (13,0) -- ++(-0.4,0.4) -- ++(0,-0.4); % turnout marker
\path[draw, line width=1pt, fill=white] ( 0,0) -- ++(-0.2,-0.2) -- ++(-2.6,0) -- ++(0, 0.4) -- ++( 2.6,0) -- cycle; % train
\path[draw, line width=1pt, fill=white] (15,0) -- ++( 0.2, 0.2) -- ++( 2.6,0) -- ++(0,-0.4) -- ++(-2.6,0) -- cycle; % train
\node at (-1,0) {1};
\node at (16,0) {2};
\end{scope}

View File

@ -0,0 +1,21 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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}
\coordinate (base) at (0,0);
\path[draw, line width=2pt] (-3,0) -- ++(18,0);
\path[draw, line width=2pt] (-3,2) -- ++(18,0);
\path[draw, line width=2pt] ( 6,0) -- ++(1,1) -- ++(8,0);
\path[draw, line width=2pt] ( 7,2) -- ++(1,-1);
\path[draw, line width=1pt, fill] (6,0) -- ++(0.4,0.4) -- ++(0,-0.4); % turnout marker
\path[draw, line width=1pt, fill] (7,2) -- ++(0.4,-0.4) -- ++(0,0.4); % turnout marker
\path[draw, line width=1pt, fill] (8,1) -- ++(-0.4,0.4) -- ++(0,-0.4); % turnout marker
\path[draw, line width=1pt, fill=white] ( 1,0) -- ++(-0.2,-0.2) -- ++(-2.6,0) -- ++(0, 0.4) -- ++( 2.6,0) -- cycle; % train
\path[draw, line width=1pt, fill=white] (10,1) -- ++( 0.2, 0.2) -- ++( 2.6,0) -- ++(0,-0.4) -- ++(-2.6,0) -- cycle; % train
\path[draw, line width=1pt, fill=white] (10,2) -- ++( 0.2, 0.2) -- ++( 2.6,0) -- ++(0,-0.4) -- ++(-2.6,0) -- cycle; % train
\node at ( 0,0) {3};
\node at (11,1) {2};
\node at (11,2) {1};
\end{scope}

Binary file not shown.

View File

@ -21,30 +21,25 @@
};
% distant signal
\draw [dashed] ([shift={(base)}] 2,-0.1) -- ++(0,-0.2) -- ++(1,0) -- ++(0,0.2);
\path[draw, line width=1pt] ([shift={(base)}] 2,-0.5) -- ++(0,-0.2);
\path[draw, line width=1pt] ([shift={(base)}] 2,-0.6) -- ++(0.5,0);
\path[draw, fill] ([shift={(base)}] 2.5,-0.75) rectangle ++(0.2,0.3);
\path[draw, fill] ([shift={(base)}] 2.5,-0.45) arc (90:270:0.15);
\draw [->] ([shift={(base)}] 5.0,-0.5) -- ([shift={(base)}] 2.9,-0.6) node [near start,align=right,fill=white] {
\path[draw, line width=1pt] ([shift={(base)}] 2,-0.3) -- ++(0,-0.2) -- ++(0.3,0);
\path[draw, line width=1pt] ([shift={(base)}] 2.3,-0.5) -- ++(0.2,0.15) -- ++(0,-0.3) -- cycle;
\draw [->] ([shift={(base)}] 5.0,-0.5) -- ([shift={(base)}] 2.9,-0.5) node [near start,align=right,fill=white] {
\IfLanguage{english}{distant signal}
\IfLanguage{ngerman}{Vorsignal}
};
% main signal
% block signal
\draw [dashed] ([shift={(base)}] 9,-0.1) -- ++(0,-0.2) -- ++(1,0) -- ++(0,0.2);
\path[draw, line width=1pt] ([shift={(base)}] 9,-0.5) -- ++(0,-0.2);
\path[draw, line width=1pt] ([shift={(base)}] 9,-0.6) -- ++(0.5,0);
\path[draw, fill] ([shift={(base)}] 9.5,-0.75) rectangle ++(0.2,0.3);
\path[draw, fill] ([shift={(base)}] 9.7,-0.75) arc (90:270:-0.15);
\path[draw, line width=1pt] ([shift={(base)}] 9,-0.3) -- ++(0,-0.2) -- ++(0.5,0);
\path[draw, line width=1pt] ([shift={(base)}] 9.5,-0.65) rectangle ++(0.3,0.3);
\draw [->] ([shift={(base)}] 6.5,-1.2) -- ([shift={(base)}] 8.9,-0.6) node [near start,align=right,fill=white] {
\IfLanguage{english}{main signal}
\IfLanguage{ngerman}{Hauptsignal}
\IfLanguage{english}{block signal}
\IfLanguage{ngerman}{Blocksignal}
};
% axle counter
\path[draw, line width=1pt] ([shift={(base)}] 9.85,-0.4) -- ++(0.3,0);
\path[draw, line width=1pt, fill] ([shift={(base)}] 9.94,-0.4) circle (0.04);
\path[draw, line width=1pt, fill] ([shift={(base)}] 10.06,-0.4) circle (0.04);
% clearing point
\path[draw, line width=1pt] ([shift={(base)}] 10,-0.3) -- ++(0,-0.1);
\path[draw, line width=1pt] ([shift={(base)}] 9.95,-0.4) rectangle ++(0.1,-0.1);
\draw [->] ([shift={(base)}] 13.5,-0.8) -- ([shift={(base)}] 10.2,-0.45) node [near start,align=right,fill=white] {
\IfLanguage{english}{track vacancy detector}
\IfLanguage{ngerman}{Gleisfreimeldegrenze}
\IfLanguage{english}{block clearing point}
\IfLanguage{ngerman}{Signalzugschlussstelle}
};
\end{scope}

View File

@ -15,7 +15,7 @@
\IfLanguage{ngerman}{Bahnsteig A}
};
\path[draw, line width=1pt, fill=white] (0.9,0.25) -- ++(-0.2,-0.2) -- ++(-2.6,0) -- ++(0,0.4) -- ++(2.6,0) -- cycle; % train
\draw [->] ([shift={(base)}] 5,1.4) -- ([shift={(base)}] 0.85,0.35) node [near start,align=right,fill=white] {
\draw [->] ([shift={(base)}] 5.5,1.4) -- ([shift={(base)}] 0.85,0.35) node [near start,align=right,fill=white] {
\IfLanguage{english}{Train (direction of travel to the right)}
\IfLanguage{ngerman}{Zug (Fahrtrichtung rechts)}
};

Binary file not shown.

View File

@ -125,4 +125,73 @@
\item Wie viele Runden werden benötigt vom Einbruch des ersten Zuges bis zum verlassen des zweiten Zuges, wenn beide Züge behinderungsfrei fahren sollen und der \emph{schnelle} vor dem \emph{langsamen} Zug fährt?
\item Wie viele Runden werden benötigt vom Einbruch des ersten Zuges bis zum verlassen des zweiten Zuges, wenn beide Züge behinderungsfrei fahren sollen und der \emph{langsame} vor dem \emph{schnellen} Zug fährt?
}
\end{enumerate}
\end{enumerate}
\newpage
\chapter{\IfLanguage{english}{Third Stage}\IfLanguage{ngerman}{Dritte Stufe}}
\section{\IfLanguage{english}{Route Locking}\IfLanguage{ngerman}{Fahrstraßenverschluss und -festlegung}}
\setup
\begin{itemize}
\IfLanguage{english}{
\item Two different trains with different vehicle dynamics.
\item A line with at least two complete blocks.
\item A station with routes at the beginning and end of the line.
\item The trains start at the first station and are supposed to run to the second one.
}
\IfLanguage{ngerman}{
\item Zwei verschiedene Züge mit unterschiedlicher Fahrdynamik.
\item Eine Strecke, mit mindestens 2 vollständigen Blöcken.
\item Je ein Bahnhof mit Fahrstraßen am Begin und Ende der Strecke.
\item Die Züge stehen zu Beginn im ersten Bahnhof und sollen in den zweiten Fahren.
}
\end{itemize}
\IfLanguage{english}{The turnouts may only be passed at \SI{80}{\kilo\metre\per\hour} along the branching track. The speed in the straight track is not limited.}
\IfLanguage{ngerman}{Die Weichen dürfen im abzweigenden Strang jeweils nur mit \SI{80}{\kilo\metre\per\hour} befahren werden. Im durchgehenden Strang ist die Geschwindigkeit nicht begrenzt.}\\[0.25cm]
\tikzfigure{challenge3_setup1.tikz}
\task
\begin{enumerate}[label=\alph*)]
\IfLanguage{english}{
\item Pick a train to leave and explain why not the other one!
\item How many laps does it take for the second train to depart?
\item How many laps does it take for both trains (sum of the laps of train 1 and train 2) to arrive at the destination station?
}
\IfLanguage{ngerman}{
\item Wähle den Zug aus, der als erster abfahren soll und begründe!
\item Wie viele Runden dauert es bis der zweite Zug abfahren kann?
\item Wie viele Runden dauert es bis beide Züge (Summe der Runden von Zug 1 und Zug 2) im Zielbahnhof angekommen sind?
}
\end{enumerate}
\section{\IfLanguage{english}{Overlap}\IfLanguage{ngerman}{Durchrutschweg}}
\setup
\IfLanguage{english}{TODO!}
\IfLanguage{ngerman}{In einem Bahnhof (zwei Gleise, drei Weichen gemäß Skizze) sollen sich zwei Züge kreuzen. Der Zug von links (Zug 1) ist etwa 25 Felder vom Einfahrsignal entfernt, fährt mit maximaler Geschwindigkeit und hat keinen Verkehrshalt im Bahnhof. Der Zug von rechts (Zug 2) befindet sich etwa 15 Felder vor dem Einfahrsignal, fährt ebenfalls mit maximaler Geschwindigkeit und hat einen Verkehrshalt (min. 2 Runden) im Bahnhof. Fahrstraßen sind keine eingestellt. Die Weichen können im abzweigenden Strang mit \SI{80}{\kilo\metre\per\hour} befahren werden.}\\[0.25cm]
\tikzfigure{challenge3_setup2.tikz}
\task
\begin{enumerate}[label=\alph*)]
\IfLanguage{english}{
\item TODO!
}
\IfLanguage{ngerman}{
\item Entscheide begründet welcher Zug auf welches Gleis fahren soll. Welche Probleme können auftreten?
\item Nach wie viel Runden ist Zug 2 im Bahnhof zum stehen gekommen?
\item Nach wie viel Runden hat Zug 1 den Bahnhof vollständig verlassen?
}
\end{enumerate}
\section{\IfLanguage{english}{Dual protection points}\IfLanguage{ngerman}{Zwieschutzweiche}}
\setup
\IfLanguage{english}{TODO!}
\IfLanguage{ngerman}{Zwei Züge stehen im Startbahnhof (drei Gleise, drei Weichen mit Zwischutzweiche in der Mitte gemäß Skizze) vor den Ausfahrsignalen. Am Bahnhofskopf beginnt eine zweigleisige Strecke. Von der Strecke (ca. 20 Felder entfernt) nähert sich Zug 3. Zug 3 soll im Bahnhof einfahren. Die Züge 1 und 2 sollen vom Bahnhof auf die Strecke ausfahren (Rechtsfahrbetrieb).}\\[0.25cm]
\tikzfigure{challenge3_setup3.tikz}
\task
\begin{enumerate}[label=\alph*)]
\IfLanguage{english}{
\item TODO!
}
\IfLanguage{ngerman}{
\item Sichere die Ausfahrstraße für Zug 1!
\item Sichere die Einfahrstraße für Zug 3!
\item Sichere die Fahrstraße für Zug 2, nachdem Zug 1 ausgefahren ist. Welches Problem tritt auf? Wie kann es gelöst werden?
}
\end{enumerate}

Binary file not shown.

View File

@ -18,11 +18,15 @@
pics/distant_signal_go/.style args={#1}{
code={
\draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (0,-0.5) -- ++(0,-2);
\draw[line width=4pt] (0,-1.5) -- ++(4, 0);
\draw[line width=4pt,fill=base1] (4,-0.5) arc (90:270:1) -- ++(1.2,0) -- ++(0,2)-- cycle;
\draw[fill=#1] (4,-1.5) circle (0.8);
\draw[double] (3.2,-1.5) -- ++(1.6,0);
\draw[line width=4pt] (0,0) -- ++(0,-1.5) -- ++(4, 0); % signal pole
\draw[line width=4pt,fill=base1!50] (2.1,-1.5) -- ++(2,-1) -- ++(0,2) -- cycle; % signal screen
\draw[fill=#1] (3.5,-1.5) circle (0.5); % signal aspect
\draw[double] (3,-1.5) -- ++(1.0,0); % signal aspect
\node[right] at (0.2,-1) {
\IfLanguage{english}{\Large distant signal}
\IfLanguage{ngerman}{\Large Vorsignal}
}; % label
}
},
pics/distant_signal_go/.default=signalgreen,
@ -31,14 +35,15 @@
pics/block_signal_go/.style args={#1}{
code={
\draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (7.5,-0.5) -- ++(1,0);
\fill (7.8,-0.5) circle (0.2);
\fill (8.2,-0.5) circle (0.2);
\draw[line width=4pt] (0,-0.5) -- ++(0,-2);
\draw[line width=4pt] (0,-1.5) -- ++(4, 0);
\draw[line width=4pt,fill=base1] (4,-0.5) -- ++(2,0) arc (-90:-270:-1) -- ++(-2,0) -- cycle;
\draw[fill=#1] (6,-1.5) circle (0.8);
\draw[double] (5.2,-1.5) -- ++(1.6,0);
\draw[line width=4pt] (0,0) -- ++(0,-1.5) -- ++(4, 0); % signal pole
\draw[line width=4pt,fill=base1!50] (4,-0.5) rectangle ++(2,-2); % signal screen
\draw[fill=#1] (5,-1.5) circle (0.5); % signal aspect
\draw[double] (4.5,-1.5) -- ++(1.0,0); % signal aspect
\node[right] at (0.2,-1) {
\IfLanguage{english}{\Large block signal}
\IfLanguage{ngerman}{\Large Blocksignal}
}; % label
}
},
pics/block_signal_go/.default=signalgreen,
@ -47,11 +52,15 @@
pics/distant_signal_stop/.style args={#1}{
code={
\draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (0,-0.5) -- ++(0,-2);
\draw[line width=4pt] (0,-1.5) -- ++(4, 0);
\draw[line width=4pt,fill=base1] (4,-0.5) arc (90:270:1) -- ++(1.2,0) -- ++(0,2)-- cycle;
\draw[fill=#1] (4,-1.5) circle (0.8);
\draw[double] (3.44,-0.94) -- ++(1.12,-1.12);
\draw[line width=4pt] (0,0) -- ++(0,-1.5) -- ++(4, 0); % signal pole
\draw[line width=4pt,fill=base1!50] (2.1,-1.5) -- ++(2,-1) -- ++(0,2) -- cycle; % signal screen
\draw[fill=#1] (3.5,-1.5) circle (0.5); % signal aspect
\draw[double] (3.14,-1.14) -- ++(0.72,-0.72); % signal aspect
\node[right] at (0.2,-1) {
\IfLanguage{english}{\Large distant signal}
\IfLanguage{ngerman}{\Large Vorsignal}
}; % label
}
},
pics/distant_signal_stop/.default=signalyellow,
@ -60,21 +69,22 @@
pics/block_signal_stop/.style args={#1}{
code={
\draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (7.5,-0.5) -- ++(1,0);
\fill (7.8,-0.5) circle (0.2);
\fill (8.2,-0.5) circle (0.2);
\draw[line width=4pt] (0,-0.5) -- ++(0,-2);
\draw[line width=4pt] (0,-1.5) -- ++(4, 0);
\draw[line width=4pt,fill=base1] (4,-0.5) -- ++(2,0) arc (-90:-270:-1) -- ++(-2,0) -- cycle;
\draw[fill=#1] (6,-1.5) circle (0.8);
\draw[double] (6.0,-0.7) -- ++(0,-1.6);
\draw[line width=4pt] (0,0) -- ++(0,-1.5) -- ++(4, 0); % signal pole
\draw[line width=4pt,fill=base1!50] (4,-0.5) rectangle ++(2,-2); % signal screen
\draw[fill=#1] (5,-1.5) circle (0.5); % signal aspect
\draw[double] (5,-1) -- ++(0,-1); % signal aspect
\node[right] at (0.2,-1) {
\IfLanguage{english}{\Large block signal}
\IfLanguage{ngerman}{\Large Blocksignal}
}; % label
}
},
pics/block_signal_stop/.default=signalred,
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\selectlanguage{english} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\vfill

Binary file not shown.

View File

@ -0,0 +1,69 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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.
\documentclass{beamer}
\usepackage[
size=a4,
]{beamerposter}
\beamertemplatenavigationsymbolsempty
\def\ROOT{./..}
\input{\ROOT/src/material_header.tex}
\input{\ROOT/src/colors.tex}
% \input{\ROOT/src/hyperref.tex}
\tikzset{
route_clearing_point/.pic = {
% \draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (8,0) -- ++(0,-0.5);
\draw[line width=4pt] (8,-0.75) circle (0.25);
\node[align=center] at (8,-1.5) {
\IfLanguage{english}{\Large RCP}
\IfLanguage{ngerman}{\Large FZS}
}; % label
},
}
\tikzset{
block_clearing_point/.pic = {
% \draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (8,0) -- ++(0,-0.5);
\draw[line width=4pt] (7.75,-0.5) rectangle ++(0.5,-0.5);
\node[align=center] at (8,-1.5) {
\IfLanguage{english}{\Large BCP}
\IfLanguage{ngerman}{\Large SZS}
}; % label
},
}
\tikzset{
clearing_point/.pic = {
% \draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (8,0) -- ++(0,-0.5);
\draw[line width=4pt] (7.75,-0.5) -- ++(0.5,0);
\node[align=center] at (8,-1.5) {
\IfLanguage{english}{\Large CP}
\IfLanguage{ngerman}{\Large ZS}
}; % label
},
}
\begin{document}
\selectlanguage{english} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\vfill
\begin{tikzpicture}[font=\sffamily]
\foreach \x in {1,5,9,13}
\foreach \y in {0,3,6,9}
\pic at (\x,\y) {route_clearing_point};
\foreach \x in {17,21,25}
\foreach \y in {0,3,6,9,12,15}
\pic at (\x,\y) {block_clearing_point};
\foreach \x in {1,5,9,13}
\foreach \y in {12,15}
\pic at (\x,\y) {clearing_point};
\end{tikzpicture}
\vfil
\end{frame}
\end{document}

Binary file not shown.

View File

@ -0,0 +1,43 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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.
\documentclass{beamer}
\usepackage[
size=a4,
]{beamerposter}
\beamertemplatenavigationsymbolsempty
\def\ROOT{./..}
\input{\ROOT/src/material_header.tex}
\input{\ROOT/src/colors.tex}
\newlength{\spacewidth}\setlength{\spacewidth}{4.2cm}
\newlength{\spacelength}\setlength{\spacelength}{8cm}
\tikzset{
pics/end_of_movement_authority/.style args={#1}{
code={
\draw[loosely dashdotted] (0,0.2\spacewidth) -- ( 0,0) -- ++(\spacelength,0) -- ++(0,0.2\spacewidth);
\draw[line width=3pt] (\spacelength,-0.1) -- (\spacelength,-0.5\spacewidth);
\draw[line width=3pt] (\spacelength,-0.5\spacewidth) -- ++(-0.5,0) -- ++(0,-1) -- ++(1,0) -- ++(0,1) -- cycle;
}
},
pics/end_of_movement_authority/.default=black,
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay,font=\sffamily]
% \path (current page.north west) rectangle (current page.south west); % rectangle for background to unify orientation
\begin{scope}[shift={(1.5,-12)}]
\foreach \x in {2,15}
\foreach \y in {8,16}
\pic at (\x,\y) {end_of_movement_authority};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}

Binary file not shown.

View File

@ -18,27 +18,28 @@
pics/route_signal_stop/.style args={#1}{
code={
\draw[loosely dashdotted] (0,1) -- ( 0,0) -- ++(8,0) -- ++(0,1);
\draw[line width=4pt] (7.5,-0.5) -- ++(1,0);
\fill (7.8,-0.5) circle (0.2);
\fill (8.2,-0.5) circle (0.2);
\draw[line width=4pt] (0,-0.5) -- ++(0,-2);
\draw[line width=4pt] (0,-1.5) -- ++(4, 0);
\draw[line width=4pt,fill=base1] (4,-0.5) -- ++(2,0) arc (-90:-270:-1) -- ++(-2,0) -- cycle;
\draw[fill=#1] (6,-1.5) circle (0.8);
\draw[double] (6.0,-0.7) -- ++(0,-1.6);
\draw[line width=4pt] (0,0) -- ++(0,-1.5) -- ++(4, 0); % signal pole
\draw[line width=4pt,fill=base1!50] (5,-1.5) circle (1); % signal screen
\draw[fill=#1] (5,-1.5) circle (0.5); % signal aspect
\draw[double] (5,-1) -- ++(0,-1); % signal aspect
\node[right] at (0.2,-1) {
\IfLanguage{english}{\Large route signal}
\IfLanguage{ngerman}{\Large Fahrstraßensignal}
}; % label
}
},
pics/route_signal_stop/.default=signalred,
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\selectlanguage{english} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\vfill
\begin{tikzpicture}[font=\sffamily]
\foreach \x in {0,9.5,19}
\foreach \y in {0,5}
\foreach \y in {0,5,10,15}
\pic at (\x,\y) {route_signal_stop};
\end{tikzpicture}
\vfil

BIN
material/turnout_base.pdf Normal file

Binary file not shown.

58
material/turnout_base.tex Normal file
View File

@ -0,0 +1,58 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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.
\documentclass{beamer}
\usepackage[
size=a4,
]{beamerposter}
\beamertemplatenavigationsymbolsempty
\def\ROOT{./..}
\input{\ROOT/src/material_header.tex}
\input{\ROOT/src/colors.tex}
\newlength{\spacewidth}\setlength{\spacewidth}{4.2cm}
\newlength{\spacelength}\setlength{\spacelength}{8cm}
\tikzset{
pics/flank_protection_symbol/.style = {
code={
\draw[dashed,fill=white] (-1,-1) rectangle (1,1);
\draw[<-> ,>=latex] (-0.65,-0.1) -- (0.65,-0.1);
\draw[->|,>=latex,red] ( 0 , 0.4) -- (0 ,0 );
}
},
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay,font=\sffamily]
\path (current page.north west) rectangle (current page.south west); % rectangle for background to unify orientation
\begin{scope}[shift={(1.55,5.45)}]
% \begin{scope}[shift={(1.2,4.65)}]
\draw[fill=base2] (0,0) -- (24.5,0) -- (24.5,-5) -- (2.5,-14) -- (0,-14) -- cycle;
\draw[fill=white] (23.0,-2.5) circle (0.2);
\pic[rotate=270] at ( 2 , -2.5) {flank_protection_symbol};
\pic[rotate=292] at ( 3.7,-10.5) {flank_protection_symbol};
\draw (0,-0.4) -- ++ (24.5,0) -- ++(0,-\spacewidth) -- (23.8,-4.6) -- (2.99,-13.1) -- (0,-13.1) -- (0,-9.1)-- (1.4,-9.1) -- (12.6,-4.6) -- (0,-4.6) -- cycle;
\end{scope}
\end{tikzpicture}
\end{frame}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay,font=\sffamily]
\path (current page.north west) rectangle (current page.south west); % rectangle for background to unify orientation
\begin{scope}[shift={(1.2,4.65)}]
% \begin{scope}[shift={(0.9,18)}]
\draw[fill=base2] (0,0) -- (0,-14) -- (24.5,-14) -- (24.5,-9) -- (2.5,0) -- cycle;
\draw[fill=white] (23.0,-11.5) circle (0.2);
\pic[rotate=248] at ( 3.5, -3.5) {flank_protection_symbol};
\pic[rotate=270] at ( 2 ,-11.5) {flank_protection_symbol};
\draw (0,-13.6) -- (24.5,-13.6) -- (24.5,-9.4) -- (23.8,-9.4) -- (2.9,-0.9) -- (0,-0.9) -- (0,-4.9) -- (1.4,-4.9) -- (12.6,-9.4) -- (0,-9.4) -- cycle;
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}

BIN
material/turnout_point.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,72 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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.
\documentclass{beamer}
\usepackage[
size=a4,
]{beamerposter}
\beamertemplatenavigationsymbolsempty
\def\ROOT{./..}
\input{\ROOT/src/material_header.tex}
\input{\ROOT/src/colors.tex}
\newlength{\spacewidth}\setlength{\spacewidth}{4.2cm}
\newlength{\spacelength}\setlength{\spacelength}{8cm}
\tikzset{
pics/keyhole/.style args={#1}{
code={
\filldraw[#1] (-0.25,-0.25) -- (0,0.25) -- (0.25,-0.25) -- cycle;
\filldraw[#1] (0,0.25) circle (0.2);
}
},
pics/keyhole/.default=black,
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\begin{tikzpicture}[font=\sffamily]
\begin{scope}[shift={(1,15)}]
\draw ( 0,0) rectangle ++(\spacelength,\spacewidth);
\draw (0.125\spacelength,0.5\spacewidth) circle (0.2);
\draw ( \spacelength,0) rectangle ++(\spacelength,\spacewidth);
\draw (2\spacelength,0) rectangle ++(\spacelength,\spacewidth);
\draw[thin] (1.62\spacelength,0) -- ++(0,0.2);
\draw[thin] (2.12\spacelength,0) -- ++(0,0.2);
\draw[thin] (1.62\spacelength,\spacewidth) -- ++(0,-0.2);
\draw[thin] (2.12\spacelength,\spacewidth) -- ++(0,-0.2);
\end{scope}
\begin{scope}[shift={(1,10.7)}]
\draw ( 0,0) rectangle ++(\spacelength,\spacewidth);
\draw (0.125\spacelength,0.5\spacewidth) circle (0.2);
\draw ( \spacelength,0) rectangle ++(\spacelength,\spacewidth);
\draw (2\spacelength,0) rectangle ++(\spacelength,\spacewidth);
\draw[thin] (1.62\spacelength,0) -- ++(0,0.2);
\draw[thin] (2.12\spacelength,0) -- ++(0,0.2);
\draw[thin] (1.62\spacelength,\spacewidth) -- ++(0,-0.2);
\draw[thin] (2.12\spacelength,\spacewidth) -- ++(0,-0.2);
\end{scope}
\begin{scope}[shift={(1,5.1)}]
\draw[fill=base3] (0,0) -- (4,0) -- (4.5,0.7) -- (7,0.7) -- (7,0) -- (12.5,0) -- (12.5,0.7) -- (15,0.7) -- (15.5,0) -- (19.5,0)
-- (18,4) -- (15.5,4) -- (15,3.3) -- (12.5,3.3) -- (12.5,4) -- (7,4) -- (7,3.3) -- (4.5,3.3) -- (4,4) -- (1.5,4) -- cycle;
\draw[thin] (7.65,0) -- ++(0,4);
\draw[thin] (11.85,0) -- ++(0,4);
\pic[rotate=180] at ( 5.75,2) {keyhole};
\pic[rotate=180] at (13.75,2) {keyhole};
\end{scope}
\begin{scope}[shift={(1,1)}]
\draw[fill=base3] (0,4) -- (4,4) -- (4.5,3.3) -- (7,3.3) -- (7,4) -- (12.5,4) -- (12.5,3.3) -- (15,3.3) -- (15.5,4) -- (19.5,4)
-- (18,0) -- (15.5,0) -- (15,0.7) -- (12.5,0.7) -- (12.5,0) -- (7,0) -- (7,0.7) -- (4.5,0.7) -- (4,0) -- (1.5,0) -- cycle;
\draw[thin] (7.65,0) -- ++(0,4);
\draw[thin] (11.85,0) -- ++(0,4);
\pic at ( 5.75,2) {keyhole};
\pic at (13.75,2) {keyhole};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}

BIN
material/turnout_tokens.pdf Normal file

Binary file not shown.

102
material/turnout_tokens.tex Normal file
View File

@ -0,0 +1,102 @@
%!TEX TS-program = pdflatexmk
% Copyright 2019 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.
\documentclass{beamer}
\usepackage[
size=a4,
]{beamerposter}
\beamertemplatenavigationsymbolsempty
\def\ROOT{./..}
\input{\ROOT/src/material_header.tex}
\input{\ROOT/src/colors.tex}
\newlength{\spacewidth}\setlength{\spacewidth}{4.2cm}
\newlength{\spacelength}\setlength{\spacelength}{8cm}
\newlength{\corpuslength}\setlength{\corpuslength}{4cm}
\tikzset{
pics/key/.style args={#1}{
code={
\filldraw[#1] (-0.5,0) ellipse (0.25cm and 0.5cm);
\filldraw[white] (-0.5,0) ellipse (0.1cm and 0.35cm);
\filldraw[#1] (-0.25,-0.1) rectangle (0.75,0.1);
\filldraw[#1] ( 0.45,-0.1) rectangle (0.55,-0.2);
\filldraw[#1] ( 0.6 ,-0.1) rectangle (0.7,-0.3);
}
},
pics/key/.default=black,
}
\tikzset{
pics/flank_protection_symbol/.style = {
code={
\draw[<-> ,>=latex] (-0.65,-0.1) -- (0.65,-0.1);
\draw[->|,>=latex,red] ( 0 , 0.4) -- (0 ,0 );
}
},
}
\tikzset{
pics/flank_marker/.style = {
code={
% drawing
\draw (0,0) rectangle ( 2, 2);
\draw (0,2) rectangle ( 2, 4);
\draw (0,0) rectangle ( 2,-2);
\draw (2,2) rectangle ( 4, 0);
\draw (0,0) rectangle (-2, 2);
%
\pic at (1,1) {flank_protection_symbol};
% adhesive edge
\tikzset{every path/.style={thin,base1}}
\draw (0,0) -- ++(-1,-0.5) -- ++(0,-1) -- (0,-2);
\draw (2,0) -- ++( 1,-0.5) -- ++(0,-1) -- (2,-2);
\draw (0,2) -- ++(-1, 0.5) -- ++(0, 1) -- (0, 4);
\draw (2,2) -- ++( 1, 0.5) -- ++(0, 1) -- (2, 4);
}
},
}
\tikzset{
pics/key_locker/.style = {
code={
% drawing
\draw (0,0) rectangle ( 4, 2);
% \draw (0,2) rectangle ( 4, 4);
\draw (0,2) -- (4,2) -- (4,4) -- (3.5,4) -- (3,3.5) -- (1,3.5) -- (0.5,4) -- (0,4) -- cycle;
% \draw (0,0) rectangle ( 4,-2);
\draw (0,0) -- (4,0) -- (4,-2) -- (3.5,-2) -- (3,-1.5) -- (1,-1.5) -- (0.5,-2) -- (0,-2) -- cycle;
\draw (4,2) rectangle ( 6, 0);
\draw (0,0) rectangle (-2, 2);
%
\pic at (2,1) {key};
% adhesive edge
\tikzset{every path/.style={thin,base1}}
\draw (0,0) -- ++(-1,-0.5) -- ++(0,-1) -- (0,-2);
\draw (4,0) -- ++( 1,-0.5) -- ++(0,-1) -- (4,-2);
\draw (0,2) -- ++(-1, 0.5) -- ++(0, 1) -- (0, 4);
\draw (4,2) -- ++( 1, 0.5) -- ++(0, 1) -- (4, 4);
}
},
}
\begin{document}
\selectlanguage{ngerman} % currently supported: english, ngerman
\tikzset{every path/.style={ultra thick}}
\begin{frame}
\begin{tikzpicture}[remember picture,overlay,font=\sffamily]
\path (current page.north west) rectangle (current page.south west); % rectangle for background to unify orientation
\begin{scope}[shift={(1.5,-12)}]
\foreach \x in {0,6.2}
\foreach \y in {2.5,9,15.5}
\pic at (\x,\y) {flank_marker};
\foreach \x in {12.4,20.6}
\foreach \y in {2.5,9,15.5}
\pic at (\x,\y) {key_locker};
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}