%!TEX TS-program = pdflatexmk % 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. \documentclass[a4paper,landscape]{article} \usepackage[margin=0pt]{geometry} \pagestyle{empty} \usepackage{longtable} \usepackage{tikz} \usepackage{listings} \lstset{ language=TeX, basicstyle=\ttfamily, columns=fullflexible, breaklines=true } \def\rootTrackschematic{../tikz-trackschematic} \def\srcTrackschematic{\rootTrackschematic/src} \renewcommand{\symbol}[1]{ \begin{tikzpicture}[anchor=base,baseline=-3] \input{examples/snippets/#1} \path (-3,-1.2) rectangle (3,1.2); % background rectangle to unify every cell containing a symbol \end{tikzpicture} } \newcommand{\code}[1]{\lstinputlisting[firstline=7]{\rootTrackschematic/examples/snippets/#1}} \newcommand{\colorsquare}[1]{ \begin{tikzpicture}[anchor=base,baseline=-3] \filldraw [#1] (-0.3,-0.3) rectangle (0.3,0.3); \end{tikzpicture} } \newcounter{symbolNo} \def\No{\stepcounter{symbolNo}\arabic{symbolNo}} \input{\srcTrackschematic/topology.tikz} \input{\srcTrackschematic/trafficControl.tikz} \input{\srcTrackschematic/vehicles.tikz} \input{\srcTrackschematic/constructions.tikz} \begin{document} \centering \begin{longtable}{|r|l|c|l|c|} \hline No. & Name & Symbol & Code & File \\ \endhead \hline \No & main track & \symbol{main_track.tikz} & \code{main_track.tikz} & \texttt{topology.tikz} \\ \hline \No & main line (double track) & \symbol{main_line.tikz} & \code{main_line.tikz} & \texttt{topology.tikz} \\ \hline \No & side track & \symbol{side_track.tikz} & \code{side_track.tikz} & \texttt{topology.tikz} \\ \hline \No & turnout left (forward) & \symbol{turnout_left_forward.tikz} & \code{turnout_left_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & turnout left (backward) & \symbol{turnout_left_backward.tikz} & \code{turnout_left_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & turnout right (forward) & \symbol{turnout_right_forward.tikz} & \code{turnout_right_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & turnout right (backward) & \symbol{turnout_right_backward.tikz} & \code{turnout_right_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & \parbox[c]{5cm}{turnout left (forward)\\with fouling point indicator} & \symbol{turnout_with_fouling_left_forward.tikz} & \code{turnout_with_fouling_left_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & \parbox[c]{5cm}{turnout left (backward)\\with fouling point indicator} & \symbol{turnout_with_fouling_left_backward.tikz} & \code{turnout_with_fouling_left_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & \parbox[c]{5cm}{turnout right (forward)\\with fouling point indicator} & \symbol{turnout_with_fouling_right_forward.tikz} & \code{turnout_with_fouling_right_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & \parbox[c]{5cm}{turnout right (backward)\\with fouling point indicator} & \symbol{turnout_with_fouling_right_backward.tikz}& \code{turnout_with_fouling_right_backward.tikz}& \texttt{topology.tikz} \\ \hline \No & double-slip turnout left & \symbol{double-slip_turnout_left.tikz} & \code{double-slip_turnout_left.tikz} & \texttt{topology.tikz} \\ \hline \No & double-slip turnout right & \symbol{double-slip_turnout_right.tikz} & \code{double-slip_turnout_right.tikz} & \texttt{topology.tikz} \\ \hline \No & diamond crossing left & \symbol{diamond_crossing_left.tikz} & \code{diamond_crossing_left.tikz} & \texttt{topology.tikz} \\ \hline \No & diamond crossing right & \symbol{diamond_crossing_right.tikz} & \code{diamond_crossing_right.tikz} & \texttt{topology.tikz} \\ \hline \No & derailer left (forward) & \symbol{derailer_left_forward.tikz} & \code{derailer_left_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & derailer left (backward) & \symbol{derailer_left_backward.tikz} & \code{derailer_left_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & derailer right (forward) & \symbol{derailer_right_forward.tikz} & \code{derailer_right_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & derailer right (backward) & \symbol{derailer_right_backward.tikz} & \code{derailer_right_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & bufferstop (forward) & \symbol{bufferstop_forward.tikz} & \code{bufferstop_forward.tikz} & \texttt{topology.tikz} \\ \hline \No & bufferstop (backward) & \symbol{bufferstop_backward.tikz} & \code{bufferstop_backward.tikz} & \texttt{topology.tikz} \\ \hline \No & train (parked) & \symbol{train.tikz} & \code{train.tikz} & \texttt{vehicles.tikz} \\ \hline \No & short train (parked) & \symbol{short_train.tikz} & \code{short_train.tikz} & \texttt{vehicles.tikz} \\ \hline \No & train (direction forward) & \symbol{train_direction_forward.tikz} & \code{train_direction_forward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & train (direction backward) & \symbol{train_direction_backward.tikz} & \code{train_direction_backward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & ghost train (direction forward) & \symbol{ghost_train_direction_forward.tikz} & \code{ghost_train_direction_forward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & ghost train (direction backward)& \symbol{ghost_train_direction_backward.tikz} & \code{ghost_train_direction_backward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & train moving (forward) & \symbol{train_moving_forward.tikz} & \code{train_moving_forward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & train moving (backward) & \symbol{train_moving_backward.tikz} & \code{train_moving_backward.tikz} & \texttt{vehicles.tikz} \\ \hline \No & \parbox[c]{4cm}{train drives automatic\\(direction forward)} & \symbol{train_drive_automatic.tikz} & \code{train_drive_automatic.tikz} & \texttt{vehicles.tikz} \\ \hline \No & \parbox[c]{4cm}{train drives by human\\(direction forward)} & \symbol{train_drive_human.tikz} & \code{train_drive_human.tikz} & \texttt{vehicles.tikz} \\ \hline \No & train berth sign (forward) & \symbol{train_berth_sign_forward.tikz} & \code{train_berth_sign_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & train berth sign (backward) & \symbol{train_berth_sign_backward.tikz} & \code{train_berth_sign_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & train berth shape bidirectional & \symbol{train_berth_shape_bidirectional.tikz} & \code{train_berth_shape_bidirectional.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & train berth shape & \symbol{train_berth_shape.tikz} & \code{train_berth_shape.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & train berth & \symbol{train_berth.tikz} & \code{train_berth.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & view point (forward) & \symbol{view_point_forward.tikz} & \code{view_point_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & view point (backward) & \symbol{view_point_backward.tikz} & \code{view_point_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & distant signal (forward) & \symbol{distant_signal_forward.tikz} & \code{distant_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4cm}{distant signal\\with speed indicator} & \symbol{distant_speed_signal_forward.tikz} & \code{distant_speed_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & distant signal (backward) & \symbol{distant_signal_backward.tikz} & \code{distant_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4cm}{distant signal\\with speed indicator} & \symbol{distant_speed_signal_backward.tikz} & \code{distant_speed_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & speed signal (forward) & \symbol{speed_signal_forward.tikz} & \code{speed_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & speed signal (backward) & \symbol{speed_signal_backward.tikz} & \code{speed_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block signal (forward) & \symbol{block_signal_forward.tikz} & \code{block_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block signal (backward) & \symbol{block_signal_backward.tikz} & \code{block_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & route signal (forward) & \symbol{route_signal_forward.tikz} & \code{route_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & route signal (backward) & \symbol{route_signal_backward.tikz} & \code{route_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & shunt signal (forward) & \symbol{shunt_signal_forward.tikz} & \code{shunt_signal_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & shunt signal (backward) & \symbol{shunt_signal_backward.tikz} & \code{shunt_signal_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & shunt limit (forward) & \symbol{shunt_limit_forward.tikz} & \code{shunt_limit_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & shunt limit (backward) & \symbol{shunt_limit_backward.tikz} & \code{shunt_limit_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & transmitter (below \& above) & \symbol{transmitter.tikz} & \code{transmitter.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4.5cm}{transmitter (below)\\with signal} & \symbol{transmitter_below_with_signal.tikz} & \code{transmitter_below_with_signal.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4.5cm}{transmitter (below \& above)\\ effective forward} & \symbol{transmitter_forward.tikz} & \code{transmitter_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4.5cm}{transmitter (below \& above)\\ effective backward} & \symbol{transmitter_backward.tikz} & \code{transmitter_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & \parbox[c]{4.5cm}{transmitter (below \& above)\\ effective bidirectional} & \symbol{transmitter_bidirectional.tikz} & \code{transmitter_bidirectional.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block end marker (forward) & \symbol{block_end_marker_forward.tikz} & \code{block_end_marker_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block end marker (backward) & \symbol{block_end_marker_backward.tikz} & \code{block_end_marker_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block clearing point (forward) & \symbol{block_clearing_point_forward.tikz} & \code{block_clearing_point_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & block clearing point (backward) & \symbol{block_clearing_point_backward.tikz} & \code{block_clearing_point_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & route clearing point (forward) & \symbol{route_clearing_point_forward.tikz} & \code{route_clearing_point_forward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & route clearing point (backward) & \symbol{route_clearing_point_backward.tikz} & \code{route_clearing_point_backward.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & clearing point & \symbol{clearing_point.tikz} & \code{clearing_point.tikz} & \texttt{trafficControl.tikz} \\ \hline \No & platform (left) & \symbol{platform_left.tikz} & \code{platform_left.tikz} & \texttt{constructions.tikz} \\ \hline \No & platform (right) & \symbol{platform_right.tikz} & \code{platform_right.tikz} & \texttt{constructions.tikz} \\ \hline \No & platform (middle) & \symbol{platform_middle.tikz} & \code{platform_middle.tikz} & \texttt{constructions.tikz} \\ \hline \No & level crossing (single track) & \symbol{level_crossing_single.tikz} & \code{level_crossing_single.tikz} & \texttt{constructions.tikz} \\ \hline \No & level crossing (double track) & \symbol{level_crossing_double.tikz} & \code{level_crossing_double.tikz} & \texttt{constructions.tikz} \\ \hline \No & \parbox[c]{5cm}{level crossing (double track)\\with full closure} & \symbol{level_crossing_double_full_closure.tikz} & \code{level_crossing_double_full_closure.tikz} & \texttt{constructions.tikz} \\ \hline \No & bridge & \symbol{bridge.tikz} & \code{bridge.tikz} & \texttt{constructions.tikz} \\ \hline \No & \parbox[c]{5cm}{bridge\\with track beneath} & \symbol{bridge_track_beneath.tikz} & \code{bridge_track_beneath.tikz} & \texttt{constructions.tikz} \\ \hline \end{longtable} \end{document}