%!TEX TS-program = pdflatexmk %!TEX root = composition.tex % Copyright 2018 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. \begin{scope}[>=latex] \coordinate (base) at (0,0); \draw [dashed] ([shift={(base)}] 0,0) rectangle ++(1,0.5); \draw [dashed] ([shift={(base)}] 15,0) rectangle ++(1,0.5); \foreach \x in {1,...,14} \draw ([shift={(base)}] \x,0) rectangle ++(1,0.5); \draw [<->] ([shift={(base)}] 10.5,0.9) -- ++ (4,0) node [fill=white,midway] { \IfLanguage{english}{train movement} \IfLanguage{ngerman}{Zugbewegung} }; \draw ([shift={(base)}] 5,1.1) -- ++(0,-0.4) -- ++ (3,0) -- ++(0,0.4); \draw ([shift={(base)}] 5,0.8) -- ++ (3,0) node [above,midway] { \IfLanguage{english}{platform} \IfLanguage{ngerman}{Bahnsteig} }; % 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] { \IfLanguage{english}{distant signal} \IfLanguage{ngerman}{Vorsignal} }; % main 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); \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} }; % 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); \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} }; \end{scope}