summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/tikz-trackschematic
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/contrib/tikz-trackschematic')
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/README.md42
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty32
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex4
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex8
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdfbin149835 -> 198855 bytes
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex1051
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz3
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/clearing_point.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control.tikz12
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_backward.tikz12
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_forward.tikz12
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_left.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_right.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_single.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_without_barrier.tikz12
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/loop_transmitter.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line.tikz (renamed from graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/messure_line.tikz)6
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line_with_hectometer.tikz28
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicle.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles_with_label.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_both.tikz16
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_left.tikz16
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_middle.tikz26
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_right.tikz16
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking_with_turnout.tikz16
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_bidirectional.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_with_signal.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_left_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_right_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_left_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_right_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_moving_points.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz2
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_backward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_forward.tikz13
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdfbin206717 -> 240000 bytes
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.sty158
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex973
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex57
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex89
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.electrics.code.tex611
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.measures.code.tex (renamed from graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.messures.code.tex)80
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex168
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex200
-rw-r--r--graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex57
165 files changed, 3471 insertions, 717 deletions
diff --git a/graphics/pgf/contrib/tikz-trackschematic/README.md b/graphics/pgf/contrib/tikz-trackschematic/README.md
index 9cc86f1872..74513d88c2 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/README.md
+++ b/graphics/pgf/contrib/tikz-trackschematic/README.md
@@ -5,21 +5,29 @@
# Installation
The tikz library is contained in the files:
+* tikz-trackschematic.sty
* tikzlibrarytrackschematic.code.tex,
* tikzlibrarytrackschematic.topology.code.tex,
* tikzlibrarytrackschematic.trafficcontrol.code.tex,
* tikzlibrarytrackschematic.vehicles.code.tex,
-* tikzlibrarytrackschematic.constructions.code.tex, and
-* tikzlibrarytrackschematic.messures.code.tex.
-These files should be copied wherever TeX can find it, for example in your TEXMF folder. The library can then be loaded through the command \usetikzlibrary{trackschematic} in any tex file.
+* tikzlibrarytrackschematic.constructions.code.tex,
+* tikzlibrarytrackschematic.electrics.code.tex, and
+* tikzlibrarytrackschematic.measures.code.tex.
+
+These files should be copied wherever TeX can find it, for example in your $TEXMF folder.
+The library can then be loaded through the command
+```TeX
+\usepackage{tikz-trackschematic}
+```
+in any TeX file.
------------
-# Usage
+# Minimal working example
```TeX
-\documentclass[tikz]{standalone}
-\usetikzlibrary{trackschematic}
+\documentclass{standalone}
+\usepackage{tikz-trackschematic}
\begin{document}
\begin{tikzpicture}
@@ -35,11 +43,28 @@ These files should be copied wherever TeX can find it, for example in your TEXMF
\end{document}
```
+results in:
+
+![train on a track](https://glossary.ivev.bau.tu-bs.de/tiki-download_file.php?fileId=28&display&scale=.4 "train on a track")
+
+------------
+
+# Symbology and meaning
+
+A transnational symbol library with common traits of railway operation.
+A [glossary](https://glossary.ivev.bau.tu-bs.de/tiki-index.php?page=_Symbology) for further information regarding meaning of the symbols.
------------
# History
+## Version 0.6
+
+ * created an encapsulating package for future flexibility
+ * added symbols for direction control, track marking, pylons and electric wiring
+ * change symbol for friction bufferstop;
+ * changed load command to \usepackage{tikz-trackschematic}
+
## Version 0.5.1
* modified symbol "end of movement authority"
@@ -81,6 +106,7 @@ These files should be copied wherever TeX can find it, for example in your TEXMF
* rethink syntax
* provide option for internationalziation (i18n)
+ * replace "\gettikzxy" with "\path let" syntax
* rewrite library with better coding skills
------------
@@ -93,9 +119,9 @@ These files should be copied wherever TeX can find it, for example in your TEXMF
# License
- ISC License
+ [![Open Source Initiative Approved License logo](https://opensource.org/files/OSIApproved_100X125.png)](https://opensource.org)
- Copyright (c) 2018 - 2020, Martin Scheidt \<m.scheidt@tu-bs.de\>
+ Copyright (c) 2018 - 2021, Martin Scheidt \<m.scheidt@tu-bs.de\> (ISC License)
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty
index 66bc2065a9..0a6e159f29 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-documentation.sty
@@ -1,10 +1,10 @@
%% symbol library for TikZ track schematics
%
-% Copyright 2018,2019 Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
-\ProvidesPackage{doc}[2019-09-30 Doc Package]
+\ProvidesPackage{tikz-trackschematic-documentation}[2020-12-30 Documentation Package for the tikz-trackschematic library]
% --------[ Coding and Language ]----------
\RequirePackage{scrhack,marginnote}
@@ -31,6 +31,7 @@
\pagestyle{scrheadings}
\RequirePackage{multicol}
% -----------[ PDF linking ]----------------
+\RequirePackage{xr-hyper}
\RequirePackage[%
pdftex,%
pdfpagelabels, % modify PDF page labels
@@ -81,31 +82,32 @@
\RequirePackage{longtable,tikz,siunitx,adjustbox,rotating}
\sisetup{math-rm=\mathsf}
-\IfFileExists{tikzlibrarytrackschematic-dev.code.tex}{%
- \usetikzlibrary{trackschematic-dev.topology}%
- \usetikzlibrary{trackschematic-dev.trafficcontrol}%
- \usetikzlibrary{trackschematic-dev.vehicles}%
- \usetikzlibrary{trackschematic-dev.constructions}%
- \usetikzlibrary{trackschematic-dev.messures}%
+\IfFileExists{tikz-trackschematic-dev.sty}{%
+ \RequirePackage[dev]{tikz-trackschematic-dev}%
}{%
- \usetikzlibrary{trackschematic}%
+ \RequirePackage{tikz-trackschematic}%
}%
-\def\rootTrackschematic{.}
+\usepackage[obeyDraft,textsize=footnotesize]{todonotes}
+\newcommand{\TODO}{\todo[linecolor=orange,backgroundcolor=orange!20,bordercolor=orange,inline,]{\textcolor{orange}{Todo}}}
+% \newcommand{\TODO}[1]{\todo[linecolor=orange,backgroundcolor=orange!20,bordercolor=orange,inline,]{\textcolor{orange}{Todo:~}#1}}
\renewcommand{\symbol}[2][1.0]{%
\adjustbox{valign=c}{\begin{tikzpicture}[scale=#1]%
- \input{\rootTrackschematic/snippets/#2}%
+ \input{./snippets/#2}%
\path (-0.1,-1.1) rectangle (6.1,1.1); % background rectangle to unify every cell containing a symbol
\end{tikzpicture}}%
}%
-\newcommand{\symboldescription}[1]{\paragraph*{#1}\marginnote{\tikz{\fill (-0.4,0.15)--(-0.4,-0.15)--(0,0)--cycle;}}\mbox{}\\}%
-
-\newcommand{\code}[1]{\lstinputlisting[firstline=7]{\rootTrackschematic/snippets/#1}}%
+\newcommand{\code}[1]{\lstinputlisting[firstline=7]{./snippets/#1}}%
\newcounter{symbolNo}%
\def\No{\stepcounter{symbolNo}\arabic{symbolNo}}%
+\newcommand{\symboldescription}[1]{\paragraph*{#1}\marginnote{\tikz{\fill (-0.4,0.15)--(-0.4,-0.15)--(0,0)--cycle;}}\mbox{}\\}%
+
\setlength{\parindent}{0cm}
-\reversemarginpar \ No newline at end of file
+\reversemarginpar
+%%%%%%%%%%%%%%%
+\endinput%
+% \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex
index d531b22dc3..dbb7b333b2 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_berg.tex
@@ -1,6 +1,6 @@
%!TEX TS-program = pdflatexmk
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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[tikz,border=2]{standalone}
@@ -134,7 +134,7 @@
\platform[side=right] at (P2);
\platform[side=left ] at (P1);
}
- { %% messures
+ { %% measures
% hectometer posts
\tikzset{hectometer base={(HM)},orientation=right};
\hectometer[] at (S1) label ( 7.200);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex
index 8b92e57655..11b3a1fb92 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-examples/station_chamstadt.tex
@@ -1,6 +1,6 @@
%!TEX TS-program = pdflatexmk
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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[tikz,border=2]{standalone}
@@ -145,7 +145,7 @@
\platform[side=right] at (P2);
\platform[side=left ] at (P1);
}
- { %% messures
+ { %% measures
% hectometer posts
\tikzset{hectometer base={(HM1)},orientation=right};
\hectometer[] at (S01) label ( 7.200);
@@ -161,8 +161,8 @@
\hectometer[] at (S09) label ( 9.900);
\hectometer[] at (S11) label (10.900);
- \messureline (S09) -- ++(0,1.7) -- (S10);
- \messureline (S11) -- ++(0,2.2) -- (S12);
+ \measureline (S09) -- ++(0,1.7) -- (S10);
+ \measureline (S11) -- ++(0,2.2) -- (S12);
\tikzset{hectometer base={(HM2)},orientation=left};
\hectometer[] at (14 ,1) label ( 8.500);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdf b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdf
index 1ad9134121..a34c3af994 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdf
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex
index 7deb9f0c01..05ebe34988 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets.tex
@@ -1,6 +1,6 @@
%!TEX TS-program = pdflatexmk
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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}
@@ -9,6 +9,7 @@
\pagestyle{empty}
\usepackage{tikz-trackschematic-documentation}
+\externaldocument{.tex/manual}
\lstset{%
language = TeX,%
@@ -24,282 +25,782 @@
\begin{document}
- \title{Snippets}\author{}\date{}
+ \title{Snippets}\author{}
+ \date{Version \vhCurrentVersion~ from \vhCurrentDate}
\maketitle
\centering
- \begin{longtable}{|r|l|c|l|c|}
- \hline
- No. & Name & Symbol & Code & Sublibrary \\
- \endhead
- \hline
- \No & main track & \symbol{main_track.tikz} & \code{main_track.tikz} & \texttt{topology} \\
- \hline
- \No & main line (double track) & \symbol{main_line.tikz} & \code{main_line.tikz} & \texttt{topology} \\
- \hline
- \No & secondary track & \symbol{secondary_track.tikz} & \code{secondary_track.tikz} & \texttt{topology} \\
- \hline
- \No & track number & \symbol{track_number.tikz} & \code{track_number.tikz} & \texttt{topology} \\
- \hline
- \No & bufferstop (forward) & \symbol{bufferstop_forward.tikz} & \code{bufferstop_forward.tikz} & \texttt{topology} \\
- \hline
- \No & bufferstop (backward) & \symbol{bufferstop_backward.tikz} & \code{bufferstop_backward.tikz} & \texttt{topology} \\
- \hline
- \No & friction bufferstop (forward) & \symbol{friction_bufferstop_forward.tikz} & \code{friction_bufferstop_forward.tikz} & \texttt{topology} \\
- \hline
- \No & friction bufferstop (backward) & \symbol{friction_bufferstop_backward.tikz} & \code{friction_bufferstop_backward.tikz} & \texttt{topology} \\
- \hline
- \No & track closure & \symbol{track_closure.tikz} & \code{track_closure.tikz} & \texttt{topology} \\
- \hline
- \No & turnout left (forward) & \symbol{turnout_left_forward.tikz} & \code{turnout_left_forward.tikz} & \texttt{topology} \\
- \hline
- \No & turnout left (backward) & \symbol{turnout_left_backward.tikz} & \code{turnout_left_backward.tikz} & \texttt{topology} \\
- \hline
- \No & turnout right (forward) & \symbol{turnout_right_forward.tikz} & \code{turnout_right_forward.tikz} & \texttt{topology} \\
- \hline
- \No & turnout right (backward) & \symbol{turnout_right_backward.tikz} & \code{turnout_right_backward.tikz} & \texttt{topology} \\
- \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} \\
- \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} \\
- \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} \\
- \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} \\
- \hline
- \No & double-slip turnout left & \symbol{double-slip_turnout_left.tikz} & \code{double-slip_turnout_left.tikz} & \texttt{topology} \\
- \hline
- \No & double-slip turnout right & \symbol{double-slip_turnout_right.tikz} & \code{double-slip_turnout_right.tikz} & \texttt{topology} \\
- \hline
- \No & diamond crossing left & \symbol{diamond_crossing_left.tikz} & \code{diamond_crossing_left.tikz} & \texttt{topology} \\
- \hline
- \No & diamond crossing right & \symbol{diamond_crossing_right.tikz} & \code{diamond_crossing_right.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (forward)\\with points in right position}
- & \symbol{turnout_left_forward_right_position.tikz} & \code{turnout_left_forward_right_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (forward)\\with points in left position}
- & \symbol{turnout_left_forward_left_position.tikz} & \code{turnout_left_forward_left_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (forward)\\with moving points}
- & \symbol{turnout_left_forward_moving_points.tikz} & \code{turnout_left_forward_moving_points.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (backward)\\with points in right position}
- & \symbol{turnout_left_backward_right_position.tikz} & \code{turnout_left_backward_right_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (backward)\\with points in left position}
- & \symbol{turnout_left_backward_left_position.tikz} & \code{turnout_left_backward_left_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (backward)\\with moving points}
- & \symbol{turnout_left_backward_moving_points.tikz} & \code{turnout_left_backward_moving_points.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (forward)\\with points in right position}
- & \symbol{turnout_right_forward_right_position.tikz} & \code{turnout_right_forward_right_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (forward)\\with points in left position}
- & \symbol{turnout_right_forward_left_position.tikz} & \code{turnout_right_forward_left_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (forward)\\with moving points}
- & \symbol{turnout_right_forward_moving_points.tikz} & \code{turnout_right_forward_moving_points.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (backward)\\with points in right position}
- & \symbol{turnout_right_backward_right_position.tikz} & \code{turnout_right_backward_right_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (backward)\\with points in left position}
- & \symbol{turnout_right_backward_left_position.tikz} & \code{turnout_right_backward_left_position.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (backward)\\with moving points}
- & \symbol{turnout_right_backward_moving_points.tikz} & \code{turnout_right_backward_moving_points.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (forward)\\operated manually}
- & \symbol{turnout_left_forward_manually.tikz} & \code{turnout_left_forward_manually.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (forward)\\operated manually}
- & \symbol{turnout_right_forward_manually.tikz} & \code{turnout_right_forward_manually.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout left (backward)\\operated manually}
- & \symbol{turnout_left_backward_manually.tikz} & \code{turnout_left_backward_manually.tikz} & \texttt{topology} \\
- \hline
- \No & \parbox[c]{5cm}{turnout right (backward)\\operated manually}
- & \symbol{turnout_right_backward_manually.tikz} & \code{turnout_right_backward_manually.tikz} & \texttt{topology} \\
- \hline
- \No & derailer left (forward) & \symbol{derailer_left_forward.tikz} & \code{derailer_left_forward.tikz} & \texttt{topology} \\
- \hline
- \No & derailer left (backward) & \symbol{derailer_left_backward.tikz} & \code{derailer_left_backward.tikz} & \texttt{topology} \\
- \hline
- \No & derailer right (forward) & \symbol{derailer_right_forward.tikz} & \code{derailer_right_forward.tikz} & \texttt{topology} \\
- \hline
- \No & derailer right (backward) & \symbol{derailer_right_backward.tikz} & \code{derailer_right_backward.tikz} & \texttt{topology} \\
- \hline
- \No & vehicles (parked) & \symbol{parked_vehicles.tikz} & \code{parked_vehicles.tikz} & \texttt{vehicles} \\
- \hline
- \No & vehicles with label (parked) & \symbol{parked_vehicles_with_label.tikz} & \code{parked_vehicles_with_label.tikz} & \texttt{vehicles} \\
- \hline
- \No & vehicle (parked) & \symbol{parked_vehicle.tikz} & \code{parked_vehicle.tikz} & \texttt{vehicles} \\
- \hline
- \No & \parbox[c]{4cm}{train in shunting mode\\(direction forward)}
- & \symbol{train_shunt_mode_forward.tikz} & \code{train_shunt_mode_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & \parbox[c]{4cm}{train in shunting mode\\(direction backward)}
- & \symbol{train_shunt_mode_backward.tikz} & \code{train_shunt_mode_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train shunting (forward) & \symbol{train_shunting_forward.tikz} & \code{train_shunting_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train shunting (backward) & \symbol{train_shunting_backward.tikz} & \code{train_shunting_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train (direction forward) & \symbol{train_direction_forward.tikz} & \code{train_direction_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train (direction backward) & \symbol{train_direction_backward.tikz} & \code{train_direction_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving (forward) & \symbol{train_moving_forward.tikz} & \code{train_moving_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving (backward) & \symbol{train_moving_backward.tikz} & \code{train_moving_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving slow (forward) & \symbol{train_moving_slow_forward.tikz} & \code{train_moving_slow_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving slow (backward) & \symbol{train_moving_slow_backward.tikz} & \code{train_moving_slow_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving fast (forward) & \symbol{train_moving_fast_forward.tikz} & \code{train_moving_fast_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train moving fast (backward) & \symbol{train_moving_fast_backward.tikz} & \code{train_moving_fast_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train ghost (direction forward) & \symbol{train_ghost_direction_forward.tikz} & \code{train_ghost_direction_forward.tikz} & \texttt{vehicles} \\
- \hline
- \No & train ghost (direction backward)& \symbol{train_ghost_direction_backward.tikz} & \code{train_ghost_direction_backward.tikz} & \texttt{vehicles} \\
- \hline
- \No & \parbox[c]{4cm}{train operated automatic\\(direction forward)}
- & \symbol{train_drive_automatic.tikz} & \code{train_drive_automatic.tikz} & \texttt{vehicles} \\
- \hline
- \No & \parbox[c]{4cm}{train operated by human\\(direction forward)}
- & \symbol{train_drive_human.tikz} & \code{train_drive_human.tikz} & \texttt{vehicles} \\
- \hline
- \No & train running over a junction & \symbol{bend_train.tikz} & \code{bend_train.tikz} & \texttt{vehicles} \\
- \hline
- \No & distant signal (forward) & \symbol{distant_signal_forward.tikz} & \code{distant_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4cm}{distant signal\\with speed indicator}
- & \symbol{distant_speed_signal_forward.tikz} & \code{distant_speed_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & distant signal (backward) & \symbol{distant_signal_backward.tikz} & \code{distant_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4cm}{distant signal\\with speed indicator}
- & \symbol{distant_speed_signal_backward.tikz} & \code{distant_speed_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & speed signal (forward) & \symbol{speed_signal_forward.tikz} & \code{speed_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & speed signal (backward) & \symbol{speed_signal_backward.tikz} & \code{speed_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & block signal (forward) & \symbol{block_signal_forward.tikz} & \code{block_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & block signal (backward) & \symbol{block_signal_backward.tikz} & \code{block_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & route signal (forward) & \symbol{route_signal_forward.tikz} & \code{route_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & route signal (backward) & \symbol{route_signal_backward.tikz} & \code{route_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4cm}{combined signal\\(distant, block and route signal)}
- & \symbol{combined_signal_forward.tikz} & \code{combined_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt signal (forward) & \symbol{shunt_signal_forward.tikz} & \code{shunt_signal_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt signal (backward) & \symbol{shunt_signal_backward.tikz} & \code{shunt_signal_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt signal locked (forward) & \symbol{shunt_signal_forward_locked.tikz} & \code{shunt_signal_forward_locked.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt signal locked (backward) & \symbol{shunt_signal_backward_locked.tikz} & \code{shunt_signal_backward_locked.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt limit (forward) & \symbol{shunt_limit_forward.tikz} & \code{shunt_limit_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & shunt limit (backward) & \symbol{shunt_limit_backward.tikz} & \code{shunt_limit_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & view point (forward) & \symbol{view_point_forward.tikz} & \code{view_point_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & view point (backward) & \symbol{view_point_backward.tikz} & \code{view_point_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & braking point (forward) & \symbol{braking_point_forward.tikz} & \code{braking_point_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & braking point (backward) & \symbol{braking_point_backward.tikz} & \code{braking_point_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & end of movement authority (forward)
- & \symbol{end_of_movement_authority_forward.tikz} & \code{end_of_movement_authority_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & end of movement authority (backward)
- & \symbol{end_of_movement_authority_backward.tikz} & \code{end_of_movement_authority_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & danger point (forward) & \symbol{danger_point_forward.tikz} & \code{danger_point_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & danger point (backward) & \symbol{danger_point_backward.tikz} & \code{danger_point_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & route (forward \& backward) & \symbol{route.tikz} & \code{route.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & block clearing point (forward) & \symbol{block_clearing_point_forward.tikz} & \code{block_clearing_point_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & block clearing point (backward) & \symbol{block_clearing_point_backward.tikz} & \code{block_clearing_point_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & route clearing point (forward) & \symbol{route_clearing_point_forward.tikz} & \code{route_clearing_point_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & route clearing point (backward) & \symbol{route_clearing_point_backward.tikz} & \code{route_clearing_point_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & clearing point & \symbol{clearing_point.tikz} & \code{clearing_point.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & train berth sign (forward) & \symbol{train_berth_sign_forward.tikz} & \code{train_berth_sign_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & train berth sign (backward) & \symbol{train_berth_sign_backward.tikz} & \code{train_berth_sign_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & train berth & \symbol{train_berth.tikz} & \code{train_berth.tikz} & \parbox[c]{3cm}{\centering\texttt{trafficcontrol} \\ \& \\ \texttt{messures}} \\
- \hline
- \No & transmitter (right \& left) & \symbol{transmitter.tikz} & \code{transmitter.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4.5cm}{transmitter (right)\\with signal}
- & \symbol{transmitter_right_with_signal.tikz} & \code{transmitter_right_with_signal.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4.5cm}{transmitter (right \& left)\\ effective forward}
- & \symbol{transmitter_forward.tikz} & \code{transmitter_forward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4.5cm}{transmitter (right \& left)\\ effective backward}
- & \symbol{transmitter_backward.tikz} & \code{transmitter_backward.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & \parbox[c]{4.5cm}{transmitter (right \& left)\\ effective bidirectional}
- & \symbol{transmitter_bidirectional.tikz} & \code{transmitter_bidirectional.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & loop transmitter & \symbol{loop_transmitter.tikz} & \code{loop_transmitter.tikz} & \texttt{trafficcontrol} \\
- \hline
- \No & platform (left) & \symbol{platform_left.tikz} & \code{platform_left.tikz} & \texttt{constructions} \\
- \hline
- \No & platform (right) & \symbol{platform_right.tikz} & \code{platform_right.tikz} & \texttt{constructions} \\
- \hline
- \No & platform (middle) & \symbol{platform_middle.tikz} & \code{platform_middle.tikz} & \texttt{constructions} \\
- \hline
- \No & level crossing (single track) & \symbol{level_crossing_single.tikz} & \code{level_crossing_single.tikz} & \texttt{constructions} \\
- \hline
- \No & level crossing (double track) & \symbol{level_crossing_double.tikz} & \code{level_crossing_double.tikz} & \texttt{constructions} \\
- \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} \\
- \hline
- \No & bridge & \symbol{bridge.tikz} & \code{bridge.tikz} & \texttt{constructions} \\
- \hline
- \No & \parbox[c]{5cm}{bridge\\with track beneath}
- & \symbol{bridge_track_beneath.tikz} & \code{bridge_track_beneath.tikz} & \texttt{constructions} \\
- \hline
- \No & hump & \symbol{hump.tikz} & \code{hump.tikz} & \texttt{constructions} \\
- \hline
- \No & interlocking & \symbol{interlocking.tikz} & \code{interlocking.tikz} & \texttt{constructions} \\
- \hline
- \No & train berth shape & \symbol{train_berth_shape.tikz} & \code{train_berth_shape.tikz} & \texttt{messures} \\
- \hline
- \No & train berth shape bidirectional & \symbol{train_berth_shape_bidirectional.tikz} & \code{train_berth_shape_bidirectional.tikz} & \texttt{messures} \\
- \hline
- \No & train berth with special shape & \symbol{train_berth_shape_special.tikz} & \code{train_berth_shape_special.tikz} & \texttt{messures} \\
- \hline
- \No & track distance (in \si{\metre}) & \symbol{track_distance.tikz} & \code{track_distance.tikz} & \texttt{messures} \\
- \hline
- \No & hectometer (in \si{\kilo\metre}) & \symbol{hectometer.tikz} & \code{hectometer.tikz} & \texttt{messures} \\
- \hline
- \end{longtable}
+\begin{longtable}{|r|l|c|l|c|}
+\hline
+No. & Name & Clip & Code & Manual reference\\
+\endhead
+
+%%%%%%%%%%%%%%%%
+%%% topology %%%
+%%%%%%%%%%%%%%%%
+
+\hline
+\No & main track &
+\symbol{main_track.tikz} & \code{main_track.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:maintrack} p. \pageref{sym:maintrack}} \\
+
+\hline
+\No & main line (double track) &
+\symbol{main_line.tikz} & \code{main_line.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:maintrack} p. \pageref{sym:maintrack}} \\
+
+\hline
+\No & secondary track &
+\symbol{secondary_track.tikz} & \code{secondary_track.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:secondarytrack} p. \pageref{sym:secondarytrack}} \\
+
+\hline
+\No & track number &
+\symbol{track_number.tikz} & \code{track_number.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:tracklabel} p. \pageref{sym:tracklabel}} \\
+
+\hline
+\No & bufferstop (forward) &
+\symbol{bufferstop_forward.tikz} & \code{bufferstop_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:bufferstop} p. \pageref{sym:bufferstop}} \\
+
+\hline
+\No & bufferstop (backward) &
+\symbol{bufferstop_backward.tikz} & \code{bufferstop_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:bufferstop} p. \pageref{sym:bufferstop}} \\
+
+\hline
+\No & friction bufferstop (forward) &
+\symbol{friction_bufferstop_forward.tikz} & \code{friction_bufferstop_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:bufferstop} p. \pageref{sym:bufferstop}} \\
+
+\hline
+\No & friction bufferstop (backward) &
+\symbol{friction_bufferstop_backward.tikz} & \code{friction_bufferstop_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:bufferstop} p. \pageref{sym:bufferstop}} \\
+
+\hline
+\No & track closure &
+\symbol{track_closure.tikz} & \code{track_closure.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:trackclosure} p. \pageref{sym:trackclosure}} \\
+
+%% turnouts %%%
+
+\hline
+\No & turnout left (forward) &
+\symbol{turnout_left_forward.tikz} & \code{turnout_left_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & turnout left (backward) &
+\symbol{turnout_left_backward.tikz} & \code{turnout_left_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & turnout right (forward) &
+\symbol{turnout_right_forward.tikz} & \code{turnout_right_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & turnout right (backward) &
+\symbol{turnout_right_backward.tikz} & \code{turnout_right_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\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} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\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} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\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} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\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} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (forward)\\with points in right position} &
+\symbol{turnout_left_forward_right_position.tikz} & \code{turnout_left_forward_right_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (forward)\\with points in left position} &
+\symbol{turnout_left_forward_left_position.tikz} & \code{turnout_left_forward_left_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (forward)\\with moving points} &
+\symbol{turnout_left_forward_moving_points.tikz} & \code{turnout_left_forward_moving_points.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (backward)\\with points in right position} &
+\symbol{turnout_left_backward_right_position.tikz} & \code{turnout_left_backward_right_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (backward)\\with points in left position} &
+\symbol{turnout_left_backward_left_position.tikz} & \code{turnout_left_backward_left_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (backward)\\with moving points} &
+\symbol{turnout_left_backward_moving_points.tikz} & \code{turnout_left_backward_moving_points.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (forward)\\with points in right position} &
+\symbol{turnout_right_forward_right_position.tikz} & \code{turnout_right_forward_right_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (forward)\\with points in left position} &
+\symbol{turnout_right_forward_left_position.tikz} & \code{turnout_right_forward_left_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (forward)\\with moving points} &
+\symbol{turnout_right_forward_moving_points.tikz} & \code{turnout_right_forward_moving_points.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (backward)\\with points in right position} &
+\symbol{turnout_right_backward_right_position.tikz} & \code{turnout_right_backward_right_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (backward)\\with points in left position} &
+\symbol{turnout_right_backward_left_position.tikz} & \code{turnout_right_backward_left_position.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (backward)\\with moving points} &
+\symbol{turnout_right_backward_moving_points.tikz} & \code{turnout_right_backward_moving_points.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (forward)\\operated manually} &
+\symbol{turnout_left_forward_manually.tikz} & \code{turnout_left_forward_manually.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (forward)\\operated manually} &
+\symbol{turnout_right_forward_manually.tikz} & \code{turnout_right_forward_manually.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout left (backward)\\operated manually} &
+\symbol{turnout_left_backward_manually.tikz} & \code{turnout_left_backward_manually.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & \parbox[c]{5cm}{turnout right (backward)\\operated manually} &
+\symbol{turnout_right_backward_manually.tikz} & \code{turnout_right_backward_manually.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:turnouts} p. \pageref{sym:turnouts}} \\
+
+\hline
+\No & double-slip turnout left &
+\symbol{double-slip_turnout_left.tikz} & \code{double-slip_turnout_left.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:slipturnout} p. \pageref{sym:slipturnout}} \\
+
+\hline
+\No & double-slip turnout right &
+\symbol{double-slip_turnout_right.tikz} &\code{double-slip_turnout_right.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:slipturnout} p. \pageref{sym:slipturnout}} \\
+
+\hline
+\No & diamond crossing left&
+\symbol{diamond_crossing_left.tikz} & \code{diamond_crossing_left.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:diamondcrossing} p. \pageref{sym:diamondcrossing}} \\
+
+\hline
+\No & diamond crossing right &
+\symbol{diamond_crossing_right.tikz} & \code{diamond_crossing_right.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:diamondcrossing} p. \pageref{sym:diamondcrossing}} \\
+
+\hline
+\No & derailer left (forward) &
+\symbol{derailer_left_forward.tikz} & \code{derailer_left_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:derailer} p. \pageref{sym:derailer}} \\
+
+\hline
+\No & derailer left (backward) &
+\symbol{derailer_left_backward.tikz} & \code{derailer_left_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:derailer} p. \pageref{sym:derailer}} \\
+
+\hline
+\No & derailer right (forward) &
+\symbol{derailer_right_forward.tikz} & \code{derailer_right_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:derailer} p. \pageref{sym:derailer}} \\
+
+\hline
+\No & derailer right (backward) &
+\symbol{derailer_right_backward.tikz} & \code{derailer_right_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{topology} \\ Section \ref{sym:derailer} p. \pageref{sym:derailer}} \\
+
+%%%%%%%%%%%%%%%%
+%%% vehicles %%%
+%%%%%%%%%%%%%%%%
+
+\hline
+\No & vehicles (parked) &
+\symbol{parked_vehicles.tikz} & \code{parked_vehicles.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:parkedvehicles} p. \pageref{sym:parkedvehicles}} \\
+
+\hline
+\No & vehicles with label (parked) &
+\symbol{parked_vehicles_with_label.tikz} & \code{parked_vehicles_with_label.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:parkedvehicles} p. \pageref{sym:parkedvehicles}} \\
+
+\hline
+\No & vehicle (parked) &
+\symbol{parked_vehicle.tikz} & \code{parked_vehicle.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:parkedvehicles} p. \pageref{sym:parkedvehicles}} \\
+
+\hline
+\No & \parbox[c]{4cm}{train in shunting mode\\(direction forward)} &
+\symbol{train_shunt_mode_forward.tikz} & \code{train_shunt_mode_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trainshunting} p. \pageref{sym:trainshunting}} \\
+
+\hline
+\No & \parbox[c]{4cm}{train in shunting mode\\(direction backward)} &
+\symbol{train_shunt_mode_backward.tikz} & \code{train_shunt_mode_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trainshunting} p. \pageref{sym:trainshunting}} \\
+
+\hline
+\No & train shunting (forward) &
+\symbol{train_shunting_forward.tikz} & \code{train_shunting_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trainshunting} p. \pageref{sym:trainshunting}} \\
+
+\hline
+\No & train shunting (backward) &
+\symbol{train_shunting_backward.tikz} & \code{train_shunting_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trainshunting} p. \pageref{sym:trainshunting}} \\
+
+\hline
+\No & train (direction forward) &
+\symbol{train_direction_forward.tikz} & \code{train_direction_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train (direction backward) &
+\symbol{train_direction_backward.tikz} & \code{train_direction_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving (forward) &
+\symbol{train_moving_forward.tikz} & \code{train_moving_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving (backward) &
+\symbol{train_moving_backward.tikz} & \code{train_moving_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving slow (forward) &
+\symbol{train_moving_slow_forward.tikz} & \code{train_moving_slow_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving slow (backward) &
+\symbol{train_moving_slow_backward.tikz} & \code{train_moving_slow_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving fast (forward) &
+\symbol{train_moving_fast_forward.tikz} & \code{train_moving_fast_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train moving fast (backward) &
+\symbol{train_moving_fast_backward.tikz} & \code{train_moving_fast_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train ghost (direction forward) &
+\symbol{train_ghost_direction_forward.tikz} & \code{train_ghost_direction_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train ghost (direction backward) &
+\symbol{train_ghost_direction_backward.tikz} & \code{train_ghost_direction_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & \parbox[c]{4cm}{train operated automatic\\(direction forward)} &
+\symbol{train_drive_automatic.tikz} & \code{train_drive_automatic.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & \parbox[c]{4cm}{train operated by human\\(direction forward)} &
+\symbol{train_drive_human.tikz} & \code{train_drive_human.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+\hline
+\No & train running over a junction&
+\symbol{bend_train.tikz} & \code{bend_train.tikz} &
+\parbox[c]{4cm}{\centering\texttt{vehicles} \\ Section \ref{sym:trains} p. \pageref{sym:trains}} \\
+
+%%%%%%%%%%%%%%%%%%%%%%
+%%% trafficcontrol %%%
+%%%%%%%%%%%%%%%%%%%%%%
+
+\hline
+\No & distant signal (forward) &
+\symbol{distant_signal_forward.tikz} & \code{distant_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:distantsignal} p. \pageref{sym:distantsignal}} \\
+
+\hline
+\No & \parbox[c]{4cm}{distant signal\\with speed indicator} &
+\symbol{distant_speed_signal_forward.tikz} & \code{distant_speed_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:distantsignal} p. \pageref{sym:distantsignal}} \\
+
+\hline
+\No & distant signal (backward) &
+\symbol{distant_signal_backward.tikz} & \code{distant_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:distantsignal} p. \pageref{sym:distantsignal}} \\
+
+\hline
+\No & \parbox[c]{4cm}{distant signal\\with speed indicator} &
+\symbol{distant_speed_signal_backward.tikz} & \code{distant_speed_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:distantsignal} p. \pageref{sym:distantsignal}} \\
+
+\hline
+\No & speed signal (forward) &
+\symbol{speed_signal_forward.tikz} & \code{speed_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:speedsignal} p. \pageref{sym:speedsignal}} \\
+
+\hline
+\No & speed signal (backward) &
+\symbol{speed_signal_backward.tikz} & \code{speed_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:speedsignal} p. \pageref{sym:speedsignal}} \\
+
+\hline
+\No & block signal (forward) &
+\symbol{block_signal_forward.tikz} & \code{block_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:blocksignal} p. \pageref{sym:blocksignal}} \\
+
+\hline
+\No & block signal (backward) &
+\symbol{block_signal_backward.tikz} & \code{block_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:blocksignal} p. \pageref{sym:blocksignal}} \\
+
+\hline
+\No & route signal (forward) &
+\symbol{route_signal_forward.tikz} & \code{route_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:routesignal} p. \pageref{sym:routesignal}} \\
+
+\hline
+\No & route signal (backward) &
+\symbol{route_signal_backward.tikz} & \code{route_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:routesignal} p. \pageref{sym:routesignal}} \\
+
+\hline
+\No & \parbox[c]{4cm}{combined signal\\(distant, block and route signal)} &
+\symbol{combined_signal_forward.tikz} & \code{combined_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:signals} p. \pageref{sym:signals}} \\
+
+\hline
+\No & shunt signal (forward) &
+\symbol{shunt_signal_forward.tikz} & \code{shunt_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntsignal} p. \pageref{sym:shuntsignal}} \\
+
+\hline
+\No & shunt signal (backward) &
+\symbol{shunt_signal_backward.tikz} & \code{shunt_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntsignal} p. \pageref{sym:shuntsignal}} \\
+
+\hline
+\No & shunt signal locked (forward) &
+\symbol{shunt_signal_forward_locked.tikz} & \code{shunt_signal_forward_locked.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntsignal} p. \pageref{sym:shuntsignal}} \\
+
+\hline
+\No & shunt signal locked (backward) &
+\symbol{shunt_signal_backward_locked.tikz} & \code{shunt_signal_backward_locked.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntsignal} p. \pageref{sym:shuntsignal}} \\
+
+\hline
+\No & block and shunt signal (forward) &
+\symbol{block_signal_with_shunt_signal_forward.tikz} & \code{block_signal_with_shunt_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:signals} p. \pageref{sym:signals}} \\
+
+\hline
+\No & block and shunt signal (backward) &
+\symbol{block_signal_with_shunt_signal_backward.tikz} & \code{block_signal_with_shunt_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:signals} p. \pageref{sym:signals}} \\
+
+\hline
+\No & route and shunt signal (forward) &
+\symbol{route_signal_with_shunt_signal_forward.tikz} & \code{route_signal_with_shunt_signal_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:signals} p. \pageref{sym:signals}} \\
+
+\hline
+\No & route and shunt signal (backward) &
+\symbol{route_signal_with_shunt_signal_backward.tikz} & \code{route_signal_with_shunt_signal_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:signals} p. \pageref{sym:signals}} \\
+
+\hline
+\No & shunt limit (forward) &
+\symbol{shunt_limit_forward.tikz} & \code{shunt_limit_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntlimit} p. \pageref{sym:shuntlimit}} \\
+
+\hline
+\No & shunt limit (backward) &
+\symbol{shunt_limit_backward.tikz} & \code{shunt_limit_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:shuntlimit} p. \pageref{sym:shuntlimit}} \\
+
+\hline
+\No & train berth sign (forward) &
+\symbol{train_berth_sign_forward.tikz} & \code{train_berth_sign_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:berthsign} p. \pageref{sym:berthsign}} \\
+
+\hline
+\No & train berth sign (backward) &
+\symbol{train_berth_sign_backward.tikz} & \code{train_berth_sign_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:berthsign} p. \pageref{sym:berthsign}} \\
+
+\hline
+\No & train berth &
+\symbol{train_berth.tikz} & \code{train_berth.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:berthsign} p. \pageref{sym:berthsign} \\ \& \\ \texttt{measures} \\ Section \ref{sym:trainberth} p. \pageref{sym:trainberth}} \\
+
+%% locations %%
+
+\hline
+\No & view point (forward) &
+\symbol{view_point_forward.tikz} & \code{view_point_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:viewpoint} p. \pageref{sym:viewpoint}} \\
+
+\hline
+\No & view point (backward) &
+\symbol{view_point_backward.tikz} & \code{view_point_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:viewpoint} p. \pageref{sym:viewpoint}} \\
+
+\hline
+\No & braking point (forward) &
+\symbol{braking_point_forward.tikz} & \code{braking_point_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:brakingpoint} p. \pageref{sym:brakingpoint}} \\
+
+\hline
+\No & braking point (backward) &
+\symbol{braking_point_backward.tikz} & \code{braking_point_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:brakingpoint} p. \pageref{sym:brakingpoint}} \\
+
+\hline
+\No & end of movement authority (forward) &
+\symbol{end_of_movement_authority_forward.tikz} & \code{end_of_movement_authority_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:endofauthority} p. \pageref{sym:endofauthority}} \\
+
+\hline
+\No & end of movement authority (backward) &
+\symbol{end_of_movement_authority_backward.tikz} & \code{end_of_movement_authority_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:endofauthority} p. \pageref{sym:endofauthority}} \\
+
+\hline
+\No & danger point (forward) &
+\symbol{danger_point_forward.tikz} & \code{danger_point_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:dangerpoint} p. \pageref{sym:dangerpoint}} \\
+
+\hline
+\No & danger point (backward) &
+\symbol{danger_point_backward.tikz} & \code{danger_point_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:dangerpoint} p. \pageref{sym:dangerpoint}} \\
+
+%% clearing points %%
+
+\hline
+\No & clearing point &
+\symbol{clearing_point.tikz} & \code{clearing_point.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:clearingpoint} p. \pageref{sym:clearingpoint}} \\
+
+\hline
+\No & block clearing point (forward) &
+\symbol{block_clearing_point_forward.tikz} & \code{block_clearing_point_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:blockclearingpoint} p. \pageref{sym:blockclearingpoint}} \\
+
+\hline
+\No & block clearing point (backward) &
+\symbol{block_clearing_point_backward.tikz} & \code{block_clearing_point_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:blockclearingpoint} p. \pageref{sym:blockclearingpoint}} \\
+
+\hline
+\No & route clearing point (forward) &
+\symbol{route_clearing_point_forward.tikz} & \code{route_clearing_point_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:routeclearingpoint} p. \pageref{sym:routeclearingpoint}} \\
+
+\hline
+\No & route clearing point (backward) &
+\symbol{route_clearing_point_backward.tikz} & \code{route_clearing_point_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:routeclearingpoint} p. \pageref{sym:routeclearingpoint}} \\
+
+%% routes %%
+
+\hline
+\No & route (forward \& backward) &
+\symbol{route.tikz} & \code{route.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:route} p. \pageref{sym:route}} \\
+
+\hline
+\No & direction control&
+\symbol{direction_control.tikz} & \code{direction_control.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:directioncontrol} p. \pageref{sym:directioncontrol}} \\
+
+\hline
+\No & \parbox[c]{5cm}{direction control\\granted forward} &
+\symbol{direction_control_forward.tikz} & \code{direction_control_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:directioncontrol} p. \pageref{sym:directioncontrol}} \\
+
+\hline
+\No & \parbox[c]{5cm}{direction control\\granted backward} &
+\symbol{direction_control_backward.tikz} & \code{direction_control_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:directioncontrol} p. \pageref{sym:directioncontrol}} \\
+
+%% transmitter %%
+
+\hline
+\No & transmitter (right \& left) &
+\symbol{transmitter.tikz} & \code{transmitter.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:generictransmitter} p. \pageref{sym:generictransmitter}} \\
+
+\hline
+\No & \parbox[c]{5cm}{transmitter (right)\\with signal} &
+\symbol{transmitter_right_with_signal.tikz} & \code{transmitter_right_with_signal.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:generictransmitter} p. \pageref{sym:generictransmitter} \\ \& \\ Section \ref{sym:routesignal} p. \pageref{sym:routesignal}} \\
+
+\hline
+\No & \parbox[c]{5cm}{transmitter (right \& left)\\ effective forward} &
+\symbol{transmitter_forward.tikz} & \code{transmitter_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:balise} p. \pageref{sym:balise}} \\
+
+\hline
+\No & \parbox[c]{5cm}{transmitter (right \& left)\\ effective backward} &
+\symbol{transmitter_backward.tikz} & \code{transmitter_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:balise} p. \pageref{sym:balise}} \\
+
+\hline
+\No & \parbox[c]{5cm}{transmitter (right \& left)\\ effective bidirectional} &
+\symbol{transmitter_bidirectional.tikz} & \code{transmitter_bidirectional.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:balise} p. \pageref{sym:balise}} \\
+
+\hline
+\No & loop transmitter&
+\symbol{loop_transmitter.tikz} & \code{loop_transmitter.tikz} &
+\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:loop} p. \pageref{sym:loop}} \\
+
+%%%%%%%%%%%%%%%%%%%%%
+%%% constructions %%%
+%%%%%%%%%%%%%%%%%%%%%
+
+\hline
+\No & platform (left) &
+\symbol{platform_left.tikz} & \code{platform_left.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:platform} p. \pageref{sym:platform}} \\
+
+\hline
+\No & platform (right) &
+\symbol{platform_right.tikz} & \code{platform_right.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:platform} p. \pageref{sym:platform}} \\
+
+\hline
+\No & platform (middle) &
+\symbol{platform_middle.tikz} & \code{platform_middle.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:platform} p. \pageref{sym:platform}} \\
+
+\hline
+\No & level crossing (single track) &
+\symbol{level_crossing_single.tikz} & \code{level_crossing_single.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:levelcrossing} p. \pageref{sym:levelcrossing}} \\
+
+\hline
+\No & \parbox[c]{5cm}{level crossing (secondary track)\\without barrier} &
+\symbol{level_crossing_without_barrier.tikz} & \code{level_crossing_without_barrier.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:levelcrossing} p. \pageref{sym:levelcrossing}} \\
+
+\hline
+\No & level crossing (double track) &
+\symbol{level_crossing_double.tikz} & \code{level_crossing_double.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:levelcrossing} p. \pageref{sym:levelcrossing}} \\
+
+\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} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:levelcrossing} p. \pageref{sym:levelcrossing}} \\
+
+\hline
+\No & bridge &
+\symbol{bridge.tikz} & \code{bridge.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:bridge} p. \pageref{sym:bridge}} \\
+
+\hline
+\No & \parbox[c]{5cm}{bridge\\with track beneath} &
+\symbol{bridge_track_beneath.tikz} & \code{bridge_track_beneath.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:bridge} p. \pageref{sym:bridge}} \\
+
+\hline
+\No & interlocking&
+\symbol{interlocking.tikz} & \code{interlocking.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:interlocking} p. \pageref{sym:interlocking}} \\
+
+\hline
+\No & hump&
+\symbol{hump.tikz} & \code{hump.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:hump} p. \pageref{sym:hump}} \\
+
+\hline
+\No & pylons (right)&
+\symbol{pylons_right.tikz} & \code{pylons_right.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:pylon} p. \pageref{sym:pylon}} \\
+
+\hline
+\No & pylons (left)&
+\symbol{pylons_left.tikz} & \code{pylons_left.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:pylon} p. \pageref{sym:pylon}} \\
+
+\hline
+\No & pylons (both sides)&
+\symbol{pylons_both.tikz} & \code{pylons_both.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:pylon} p. \pageref{sym:pylon}} \\
+
+\hline
+\No & pylons (middle)&
+\symbol{pylons_middle.tikz} & \code{pylons_middle.tikz} &
+\parbox[c]{4cm}{\centering\texttt{constructions} \\ Section \ref{sym:pylon} p. \pageref{sym:pylon}} \\
+
+%%%%%%%%%%%%%%%%%
+%%% electrics %%%
+%%%%%%%%%%%%%%%%%
+
+\hline
+\No & distant power off (forward)&
+\symbol{distant_power_off_forward.tikz} & \code{distant_power_off_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:distantpoweroff} p. \pageref{sym:distantpoweroff}} \\
+
+\hline
+\No & distant power off (backward)&
+\symbol{distant_power_off_backward.tikz} & \code{distant_power_off_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:distantpoweroff} p. \pageref{sym:distantpoweroff}} \\
+
+\hline
+\No & power off (forward)&
+\symbol{power_off_forward.tikz} & \code{power_off_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:poweroff} p. \pageref{sym:poweroff}} \\
+
+\hline
+\No & power off (backward)&
+\symbol{power_off_backward.tikz} & \code{power_off_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:poweroff} p. \pageref{sym:poweroff}} \\
+
+\hline
+\No & power on (forward)&
+\symbol{power_on_forward.tikz} & \code{power_on_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:poweron} p. \pageref{sym:poweron}} \\
+
+\hline
+\No & power on (backward)&
+\symbol{power_on_backward.tikz} & \code{power_on_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:poweron} p. \pageref{sym:poweron}} \\
+
+\hline
+\No & distant pantograph down (forward)&
+\symbol{distant_pantograph_down_forward.tikz} & \code{distant_pantograph_down_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:distantpantographdown} p. \pageref{sym:distantpantographdown}} \\
+
+\hline
+\No & distant pantograph down (backward)&
+\symbol{distant_pantograph_down_backward.tikz} & \code{distant_pantograph_down_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:distantpantographdown} p. \pageref{sym:distantpantographdown}} \\
+
+\hline
+\No & pantograph down (forward)&
+\symbol{pantograph_down_forward.tikz} & \code{pantograph_down_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:pantographdown} p. \pageref{sym:pantographdown}} \\
+
+\hline
+\No & pantograph down (backward)&
+\symbol{pantograph_down_backward.tikz} & \code{pantograph_down_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:pantographdown} p. \pageref{sym:pantographdown}} \\
+
+\hline
+\No & pantograph up (forward)&
+\symbol{pantograph_up_forward.tikz} & \code{pantograph_up_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:pantographup} p. \pageref{sym:pantographup}} \\
+
+\hline
+\No & pantograph up (backward)&
+\symbol{pantograph_up_backward.tikz} & \code{pantograph_up_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:pantographup} p. \pageref{sym:pantographup}} \\
+
+\hline
+\No & wire limit (forward)&
+\symbol{wire_limit_forward.tikz} & \code{wire_limit_forward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:wirelimit} p. \pageref{sym:wirelimit}} \\
+
+\hline
+\No & wire limit (backward)&
+\symbol{wire_limit_backward.tikz} & \code{wire_limit_backward.tikz} &
+\parbox[c]{4cm}{\centering\texttt{electrics} \\ Section \ref{sym:wirelimit} p. \pageref{sym:wirelimit}} \\
+
+%%%%%%%%%%%%%%%%
+%%% measures %%%
+%%%%%%%%%%%%%%%%
+
+\hline
+\No & track distance (in \si{\metre}) &
+\symbol{track_distance.tikz} & \code{track_distance.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trackdistance} p. \pageref{sym:trackdistance}} \\
+
+\hline
+\No & train berth shape &
+\symbol{train_berth_shape.tikz} & \code{train_berth_shape.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trainberth} p. \pageref{sym:trainberth}} \\
+
+\hline
+\No & train berth shape bidirectional &
+\symbol{train_berth_shape_bidirectional.tikz} & \code{train_berth_shape_bidirectional.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trainberth} p. \pageref{sym:trainberth}} \\
+
+\hline
+\No & train berth with special shape &
+\symbol{train_berth_shape_special.tikz} & \code{train_berth_shape_special.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trainberth} p. \pageref{sym:trainberth}} \\
+
+\hline
+\No & measure line &
+\symbol{measure_line.tikz} & \code{measure_line.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:measureline} p. \pageref{sym:measureline}} \\
+
+\hline
+\No & hectometer (in \si{\kilo\metre}) &
+\symbol{hectometer.tikz} & \code{hectometer.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:hectometer} p. \pageref{sym:hectometer}} \\
+
+\hline
+\No & measure line with hectometer (in \si{\kilo\metre}) &
+\symbol{measure_line_with_hectometer.tikz} & \code{measure_line_with_hectometer.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:hectometer} p. \pageref{sym:hectometer}} \\
+
+\hline
+\No & track marking &
+\symbol{track_marking.tikz} & \code{track_marking.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trackmarking} p. \pageref{sym:trackmarking}} \\
+
+\hline
+\No & track marking with turnout&
+\symbol{track_marking_with_turnout.tikz} & \code{track_marking_with_turnout.tikz} &
+\parbox[c]{4cm}{\centering\texttt{measures} \\ Section \ref{sym:trackmarking} p. \pageref{sym:trackmarking}} \\
+
+\hline
+\end{longtable}
+\input{versionhistory.tex}
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz
index 29fe377119..bd02003b06 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bend_train.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0 ,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_backward.tikz
index 453886acc5..3aa71d6724 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_forward.tikz
index d8e69759c3..d096bf2610 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_clearing_point_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_backward.tikz
index 9c6c4728df..3506932ae3 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz
index c3dfda7068..1fd9ba0f5f 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_backward.tikz
new file mode 100644
index 0000000000..2e951a1837
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (S) at (3,0);
+
+\maintrack (A) -- (B);
+
+\signal[block,shunting,backward] at (S) label (S1); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_forward.tikz
new file mode 100644
index 0000000000..c54dbc510a
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/block_signal_with_shunt_signal_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (S) at (3,0);
+
+\maintrack (A) -- (B);
+
+\signal[block,shunting,forward] at (S) label (S1); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_backward.tikz
index 72803b2b45..8efb383f07 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz
index da34026965..17486f0b06 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/braking_point_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz
index 5abb9293d3..b1e63e73fb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz
index 1682b4b8c3..eeca75fa75 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bridge_track_beneath.tikz
@@ -1,8 +1,9 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
+
\coordinate (A1) at (0, 0);
\coordinate (B1) at (6, 0);
\coordinate (A2) at (2,-1);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz
index 1423cd7c7b..fbe5ad765c 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (3,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz
index 13c6f1267e..b7c20d3ceb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/bufferstop_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/clearing_point.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/clearing_point.tikz
index 3a6f97922a..fa524de4fb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/clearing_point.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/clearing_point.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz
index ca1ae294e3..079672cb13 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/combined_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz
index a8a4905ac6..76e131ea01 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_forward.tikz
index 73d2bbaed8..04a89654e6 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/danger_point_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz
index 1f7b05a266..103786097e 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_forward.tikz
index bdb78bcd69..bb4f3e89b9 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_left_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz
index 854c9232dd..c3f8eb16bf 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz
index 4f69e50327..40151d7895 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/derailer_right_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz
index 64779a75e9..7c87fc1daa 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_left.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz
index 7ab523e9e0..f75c024d13 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/diamond_crossing_right.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control.tikz
new file mode 100644
index 0000000000..7d9b9ab399
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control.tikz
@@ -0,0 +1,12 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (DC) at (3,0);
+\coordinate (B) at (6,0);
+
+\maintrack (A) -- (B);
+\directioncontrol[bidirectional] at (DC); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_backward.tikz
new file mode 100644
index 0000000000..db993319c7
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_backward.tikz
@@ -0,0 +1,12 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (DC) at (3,0);
+\coordinate (B) at (6,0);
+
+\maintrack (A) -- (B);
+\directioncontrol[backward] at (DC); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_forward.tikz
new file mode 100644
index 0000000000..c601064062
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/direction_control_forward.tikz
@@ -0,0 +1,12 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (DC) at (3,0);
+\coordinate (B) at (6,0);
+
+\maintrack (A) -- (B);
+\directioncontrol[forward] at (DC); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_backward.tikz
new file mode 100644
index 0000000000..3cbfc2a84a
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\distantpantographdown[backward] at (E) label (dP); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_forward.tikz
new file mode 100644
index 0000000000..0b9cb8910a
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_pantograph_down_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\distantpantographdown[forward] at (E) label (dP); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_backward.tikz
new file mode 100644
index 0000000000..9242df8c8a
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\distantpoweroff[backward] at (E) label (dP); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_forward.tikz
new file mode 100644
index 0000000000..cbe33e7b58
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_power_off_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\distantpoweroff[forward] at (E) label (dP); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_backward.tikz
index 4a5ff7935b..4443311c97 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_forward.tikz
index 93b4a789a8..ae9ccedb88 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz
index 0f8c179ccd..dd2fb30067 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz
index 7d816ae4db..8812c7c745 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/distant_speed_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_left.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_left.tikz
index 623bcdd650..3dd03bf879 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_left.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_left.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_right.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_right.tikz
index adf5b30ca2..fec0b1603f 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_right.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/double-slip_turnout_right.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_backward.tikz
index 9e36abeadb..65d1bfef53 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_forward.tikz
index 81ec5fd65a..2b289697ca 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/end_of_movement_authority_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz
index e1bbbef14b..373d197aec 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (3,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz
index a16d755cde..4ba843c4fe 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/friction_bufferstop_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz
index c78deee355..caeb0578d3 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hectometer.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz
index cfa61e65ac..0122632724 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/hump.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz
index dacf709a65..7346a6bb0d 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/interlocking.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (I) at (3,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz
index 3f275c36e1..cbd0744f67 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz
index 7ad136b2d2..41168ed210 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_double_full_closure.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_single.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_single.tikz
index 298320b38a..c8cebd0853 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_single.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_single.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_without_barrier.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_without_barrier.tikz
new file mode 100644
index 0000000000..a9317f21b6
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/level_crossing_without_barrier.tikz
@@ -0,0 +1,12 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (X) at (3,0);
+
+\secondarytrack (A) -- (B);
+\levelcrossing[] at (X); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/loop_transmitter.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/loop_transmitter.tikz
index 981d519bd1..c87d91a6eb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/loop_transmitter.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/loop_transmitter.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz
index 02a9d0b067..531e0708da 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_line.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz
index 755cfdd83a..bc6cdb8311 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/main_track.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/messure_line.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line.tikz
index 7e63a87a91..53e7cf6f8f 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/messure_line.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line.tikz
@@ -1,10 +1,12 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
\coordinate (B) at (6,0);
-\messureline (A) -- (B); \ No newline at end of file
+\measureline (A) -- (B);
+\trackclosure at (A);
+\trackclosure at (B); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line_with_hectometer.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line_with_hectometer.tikz
new file mode 100644
index 0000000000..fd8c626077
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/measure_line_with_hectometer.tikz
@@ -0,0 +1,28 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A1) at (0,0);
+\coordinate (X1) at (3,0);
+\coordinate (B1) at (6,0);
+
+\coordinate (A2) at (0,3);
+\coordinate (X2) at (2,3);
+\coordinate (X3) at (5,3);
+\coordinate (B2) at (6,3);
+
+\coordinate (hb) at (0,-2);
+
+\maintrack (A1) -- (B1);
+\maintrack (A2) -- (B2);
+
+\measureline (A2) -- (A1);
+\measureline (X2) -- ++(0,-1) -- ++(1,-1) -- (X1);
+\measureline (X3) -- ++(0,-1) -- ++(1,-1) -- (B1);
+
+\tikzset{hectometer base={(hb)},orientation=right}
+\hectometer[] at (A) mileage (0.000);
+\hectometer[] at (X1) mileage (4.000);
+\hectometer[] at (B) mileage (6.000); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_backward.tikz
new file mode 100644
index 0000000000..372fbabab9
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\pantographdown[backward] at (E) label (down); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_forward.tikz
new file mode 100644
index 0000000000..9b299ea457
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_down_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\pantographdown[forward] at (E) label (down); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_backward.tikz
new file mode 100644
index 0000000000..eac5879fba
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\pantographup[backward] at (E) label (up); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_forward.tikz
new file mode 100644
index 0000000000..330b65e50e
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pantograph_up_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\pantographup[forward] at (E) label (up); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicle.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicle.tikz
index 314fe724e7..9ff4d37b42 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicle.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicle.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles.tikz
index f751f5bc5a..0fb9b96b5e 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles_with_label.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles_with_label.tikz
index 794e4fa266..a46b8fc900 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles_with_label.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/parked_vehicles_with_label.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz
index b3ef189a7b..b6b64ca293 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_left.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz
index c591dcfc0f..63a0a70e38 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_middle.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz
index b40d142378..ad3f92e045 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/platform_right.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_backward.tikz
new file mode 100644
index 0000000000..094237c4ec
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\poweroff[backward] at (E) label (off); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_forward.tikz
new file mode 100644
index 0000000000..a002d83f5b
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_off_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\poweroff[forward] at (E) label (off); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_backward.tikz
new file mode 100644
index 0000000000..d95996e0a6
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\poweron[backward] at (E) label (on); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_forward.tikz
new file mode 100644
index 0000000000..0db908b158
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/power_on_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\poweron[forward] at (E) label (on); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_both.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_both.tikz
new file mode 100644
index 0000000000..0c6d40f1b2
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_both.tikz
@@ -0,0 +1,16 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (P1) at (1,0);
+\coordinate (P2) at (3,0);
+\coordinate (P3) at (5,0);
+
+\maintrack (A) -- (B);
+\pylon[side=both] at (P1);
+\pylon[side=both] at (P2);
+\pylon[side=both] at (P3); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_left.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_left.tikz
new file mode 100644
index 0000000000..fa409c3880
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_left.tikz
@@ -0,0 +1,16 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (P1) at (1,0);
+\coordinate (P2) at (3,0);
+\coordinate (P3) at (5,0);
+
+\maintrack (A) -- (B);
+\pylon[side=left] at (P1);
+\pylon[side=left] at (P2);
+\pylon[side=left] at (P3); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_middle.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_middle.tikz
new file mode 100644
index 0000000000..b13b53ca8c
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_middle.tikz
@@ -0,0 +1,26 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A1) at (0,-0.5);
+\coordinate (B1) at (6,-0.5);
+\coordinate (A2) at (0, 0.5);
+\coordinate (B2) at (6, 0.5);
+%
+\coordinate (P1) at (1,-0.5);
+\coordinate (P2) at (3,-0.5);
+\coordinate (P3) at (5,-0.5);
+\coordinate (P4) at (1, 0.5);
+\coordinate (P5) at (3, 0.5);
+\coordinate (P6) at (5, 0.5);
+
+\maintrack (A1) -- (B1);
+\maintrack (A2) -- (B2);
+\pylon[side=left] at (P1);
+\pylon[side=left] at (P2);
+\pylon[side=left] at (P3);
+\pylon[side=right] at (P4);
+\pylon[side=right] at (P5);
+\pylon[side=right] at (P6); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_right.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_right.tikz
new file mode 100644
index 0000000000..ab37e6846c
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/pylons_right.tikz
@@ -0,0 +1,16 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (P1) at (1,0);
+\coordinate (P2) at (3,0);
+\coordinate (P3) at (5,0);
+
+\maintrack (A) -- (B);
+\pylon[side=right] at (P1);
+\pylon[side=right] at (P2);
+\pylon[side=right] at (P3); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz
index 4c42069c7e..a0f04e6475 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz
index 21d0b0c39c..64d42a407b 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_forward.tikz
index 49874bdf0a..af4dbf4b69 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_clearing_point_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_backward.tikz
index 70a3fd2e9a..2f73a66bb6 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_forward.tikz
index 7c4dd78873..89ecc2f699 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_backward.tikz
new file mode 100644
index 0000000000..a357c4c0eb
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (S) at (3,0);
+
+\maintrack (A) -- (B);
+
+\signal[route,shunting,backward] at (S) label (S1); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_forward.tikz
new file mode 100644
index 0000000000..2684cde916
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/route_signal_with_shunt_signal_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (S) at (3,0);
+
+\maintrack (A) -- (B);
+
+\signal[route,shunting,forward] at (S) label (S1); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz
index d633164fb0..4db11db534 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/secondary_track.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_backward.tikz
index b7204cee0c..66ac12d636 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_forward.tikz
index b63720c12e..5f11150b5a 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_limit_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward.tikz
index d773c432f9..7dbd14bca8 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz
index 10d7b00c48..66abe05d11 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_backward_locked.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz
index cd1b46405f..0ecd5b7fc9 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz
index 8e9ced8dd8..527a97cab7 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/shunt_signal_forward_locked.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz
index 4840c01fea..75b51c0fa8 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz
index 8d526913f9..33478762e6 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/speed_signal_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz
index 075421ddbe..65dedf8a0e 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_closure.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz
index 7346aaacec..e871acb9a2 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_distance.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A1) at (0,-0.5);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking.tikz
new file mode 100644
index 0000000000..a9eefa2042
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (X) at (3,0);
+\coordinate (B) at (6,0);
+
+\maintrack (A) -- (B);
+\trackmarking[green] (A) -- (X);
+\trackmarking[red] (X) -- (B); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking_with_turnout.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking_with_turnout.tikz
new file mode 100644
index 0000000000..62a5199e89
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_marking_with_turnout.tikz
@@ -0,0 +1,16 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (Y) at (3,0);
+\coordinate (B) at (6,0);
+
+\maintrack (A) -- (B);
+\maintrack (Y) -- ++(1,1);
+\turnout[forward,branch=left] at (Y) label ();
+
+\trackmarking[yellow] (A) -- (Y) -- ++(1,1);
+\trackmarking[blue] (Y) -- (B); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz
index 3b932c5299..1b09250eaa 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/track_number.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz
index b3478800f2..e331d72c72 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape.tikz
index 5b5de32340..98d01ce720 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz
index f45ca96435..4cf6cf21b9 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_bidirectional.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz
index a3688d3c29..164be20526 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_shape_special.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_backward.tikz
index ea69565904..bcce0f944b 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz
index 27054b70b5..f8baf293b3 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_berth_sign_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz
index 895053619e..64734b86d7 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz
index 01443549fb..2237727d40 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_direction_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz
index c959c4ba1f..7a8bdb6e31 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_automatic.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz
index ab17f936fd..a74853c187 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_drive_human.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz
index f3cedbbcef..0b9719b6cb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_forward.tikz
index c2f76492c6..bc4862ef13 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_ghost_direction_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_backward.tikz
index c943950de4..46c6533aba 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_backward.tikz
index c6ee7d4e89..07055808c3 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_forward.tikz
index ead1431d1e..75486421cb 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_fast_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_forward.tikz
index 261f5c3255..b7e931184f 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_backward.tikz
index 0ca90c0f56..0511771191 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_forward.tikz
index 2458e40c24..6c9d234de1 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_moving_slow_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_backward.tikz
index 26ae8004c6..7f2b3acbc1 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_forward.tikz
index c2ff464f62..d530513b93 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunt_mode_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_backward.tikz
index 2b68ab9603..63fe6e9a65 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_forward.tikz
index 2193e2d0c7..610f0b4f81 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/train_shunting_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz
index f0df5630f1..c41900a2bd 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz
index 37b97cf00d..d0665a8ac1 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz
index a4fc0706e8..1252e3a0a1 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_bidirectional.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz
index 4fcb47b3b8..8ee62020d5 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz
index e75bf48832..143d5ebf1e 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_bidirectional.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_bidirectional.tikz
index 02d2ef7dc9..7d168394a5 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_bidirectional.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_bidirectional.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz
index fdfc7bf488..3509189132 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_with_signal.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_with_signal.tikz
index 97e150b47a..53366afe1e 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_with_signal.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/transmitter_right_with_signal.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz
index 4a429ae64a..4b285dfe98 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_left_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_left_position.tikz
index dc694f5286..b87fb00570 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_left_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_left_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz
index aa237b24bd..4ae35636b8 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_manually.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz
index 04f199359f..eaac3704cd 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_moving_points.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz
index 42c9e993ce..1b10396c87 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_backward_right_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz
index 51c45f80af..273f37eeae 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz
index eb9bd4d371..a0569992db 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_left_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz
index 68406b987a..457af690fe 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_manually.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz
index 56edd14a26..13543d7d1c 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_moving_points.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_right_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_right_position.tikz
index 91be83b543..dbe84095e8 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_right_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_left_forward_right_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz
index 09270f5836..ec64ff059f 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_left_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_left_position.tikz
index f081b13786..283ffda175 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_left_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_left_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz
index e43ae4be65..ae1d9bc6fc 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_manually.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz
index f91d92f94f..cad853ae39 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_moving_points.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_right_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_right_position.tikz
index 72cae3cfd1..211e27633a 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_right_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_backward_right_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz
index 8cc9014199..8aa2fd2c48 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz
index cf48f77cc4..98bb841268 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_left_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz
index 3c02bda222..59f173d9f0 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_manually.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_moving_points.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_moving_points.tikz
index 787a48d5f5..39fa7cf5c4 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_moving_points.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_moving_points.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz
index f46c799608..9d52c49baf 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_right_forward_right_position.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_backward.tikz
index ef63a63c6f..9f19b7f748 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz
index 396e0333d6..5e7b370f11 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_left_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz
index 50c5b94884..e358846dbd 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_forward.tikz
index 3c954fb9f1..28d2a74bf0 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/turnout_with_fouling_right_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz
index 112e7c636b..856d16a2b6 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_backward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz
index 1a7bff56aa..4f22932ea3 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/view_point_forward.tikz
@@ -1,7 +1,7 @@
%!TEX TS-program = pdflatexmk
%!TEX root = ../snippets.tex
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
\coordinate (A) at (0,0);
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_backward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_backward.tikz
new file mode 100644
index 0000000000..bdd0283657
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_backward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\wirelimit[backward] at (E) label (limit); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_forward.tikz b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_forward.tikz
new file mode 100644
index 0000000000..801ac962e2
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic-snippets/wire_limit_forward.tikz
@@ -0,0 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../snippets.tex
+
+% Copyright (c) 2018 - 2021, 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.
+
+\coordinate (A) at (0,0);
+\coordinate (B) at (6,0);
+\coordinate (E) at (3,0);
+
+\maintrack (A) -- (B);
+
+\wirelimit[forward] at (E) label (limit); \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdf b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdf
index 16260b1689..06ead065b5 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdf
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.sty b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.sty
new file mode 100644
index 0000000000..2afa50dbfe
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.sty
@@ -0,0 +1,158 @@
+%% symbol library for TikZ track schematics
+%
+% Copyright (c) 2018 - 2021, 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.
+%
+\NeedsTeXFormat{LaTeX2e}%
+\ProvidesPackage{tikz-trackschematic}[2021/01/02 tikz-trackschematic]%
+%
+% Required Packages for tikz-trackschematic
+\RequirePackage{tikz,etoolbox,lmodern}%
+%
+%%%%%%%%%%%%%%%
+% Package options
+%%%%%%%%%%%%%%%
+\RequirePackage{xkeyval,etoolbox}%
+\newtoggle{development}%
+\DeclareOptionX{dev}[\settoggle{development}{false}]{\settoggle{development}{true}}
+\ProcessOptionsX
+%
+\iftoggle{development}{%
+ \PackageInfo{tikz-trackschematic}{development mode}%
+ %
+ \IfFileExists{tikz-trackschematic-dev.sty}{%
+ \usetikzlibrary{trackschematic-dev.topology}%
+ \usetikzlibrary{trackschematic-dev.trafficcontrol}%
+ \usetikzlibrary{trackschematic-dev.vehicles}%
+ \usetikzlibrary{trackschematic-dev.constructions}%
+ \usetikzlibrary{trackschematic-dev.electrics}%
+ \usetikzlibrary{trackschematic-dev.measures}%
+ \usetikzlibrary{trackschematic-dev}%
+ }{%
+ \PackageError{tikz-trackschematic}{development mode not available}{execute the dev-install.sh script provided by the package repository}%
+ }%
+}{%
+ \usetikzlibrary{trackschematic.topology}%
+ \usetikzlibrary{trackschematic.trafficcontrol}%
+ \usetikzlibrary{trackschematic.vehicles}%
+ \usetikzlibrary{trackschematic.constructions}%
+ \usetikzlibrary{trackschematic.electrics}%
+ \usetikzlibrary{trackschematic.measures}%
+}%
+%
+%%%%%%%%%%%%%%%
+% commands
+%%%%%%%%%%%%%%%
+\RequirePackage{adjustbox}%
+\usetikzlibrary{calc}%
+%
+\DeclareRobustCommand{\tsSymbol}[2][1]{%
+ \adjustbox{valign=c}{%
+ \begin{tikzpicture}]%
+ \pic at (0,0) {symbology_#2};%
+ \path ($0.5*(-0.2,-#1)$) rectangle ($0.5*(12.2,#1)$);% background rectangle to unify every cell containing a symbol
+ \end{tikzpicture}%
+ }%
+}%
+%%%%%%%%%%%%%%%
+% symbology table
+%%%%%%%%%%%%%%%
+%
+%% TODO: replave with package glossaries
+% \@ifpackageloaded{glossaries}{%
+% \newglossaryentry{main_track}{name={main track},description={},symbol={\tsSymbol{main_track}}}%
+% }{}%
+%%
+\RequirePackage{booktabs,xltabular,multicol}%
+%% command
+\DeclareRobustCommand\tsFullSymbology{%
+ \begin{xltabular}{\textwidth}{cX}%
+ \toprule%
+ \textbf{Notation} & \multicolumn{1}{c}{\textbf{Description}} \\%
+ \midrule%
+ \endfirsthead%
+ % -----------
+ \midrule%
+ \textbf{Notation} & \multicolumn{1}{c}{\textbf{Description}} \\%
+ \midrule%
+ \endhead%
+ % -----------
+ \midrule%
+ \multicolumn{2}{c}{\footnotesize -- continued on next page -- } \\%
+ \endfoot%
+ % -----------
+ \bottomrule%
+ \endlastfoot%
+ % -----------
+ \tsSymbol{main_track} & main track \\%
+ \tsSymbol{secondary_track} & secondary track \\%
+ \tsSymbol{track_label} & track label \\%
+ \tsSymbol{bufferstop} & bufferstop \\%
+ \tsSymbol{friction_bufferstop} & friction bufferstop \\%
+ \tsSymbol{track_closure} & track closure \\%
+ \tsSymbol{turnout} & turnout \\%
+ \tsSymbol{turnout_fouling} & turnout with fouling point indicator \\%
+ \tsSymbol{turnout_manually} & turnout operated manually \\%
+ \tsSymbol{diamond_crossing} & diamond crossing \\%
+ \tsSymbol{slip_turnout} & double-slip turnout \\%
+ \tsSymbol{turnout_points_right} & turnout with points in right position \\%
+ \tsSymbol{turnout_points_left} & turnout with points in left position \\%
+ \tsSymbol{turnout_points_moving} & turnout with moving points \\%
+ \tsSymbol{derailer} & derailer \\%
+ \tsSymbol{parked_vehicles} & parked vehicles \\%
+ \tsSymbol{train_shunt_mode} & train in shunting mode \\%
+ \tsSymbol{train_shunting} & train shunting \\%
+ \tsSymbol{train} & train \\%
+ \tsSymbol{train_moving_slow} & train moving slow \\%
+ \tsSymbol{train_moving} & train moving \\%
+ \tsSymbol{train_moving_fast} & train moving fast \\%
+ \tsSymbol{train_ghost} & train ghost \\%
+ \tsSymbol{train_drive_automatic} & train operated automatic \\%
+ \tsSymbol{train_drive_human} & train operated by human \\%
+ \tsSymbol[1.4]{distant_signal} & distant signal \\%
+ \tsSymbol[1.4]{distant_speed_signal}& distant signal with speed indicator \\%
+ \tsSymbol[1.4]{speed_signal} & speed signal \\%
+ \tsSymbol[1.4]{block_signal} & block signal \\%
+ \tsSymbol[1.4]{route_signal} & route signal \\%
+ \tsSymbol[1.4]{combined_signal} & combined signal (distant, block and route signal) \\%
+ \tsSymbol[1.4]{shunt_signal} & shunt signal \\%
+ \tsSymbol[1.4]{locked_shunt_signal} & shunt signal locked \\%
+ \tsSymbol[1.4]{shunt_limit} & shunt limit \\%
+ \tsSymbol[1.4]{train_berth_sign} & train berth sign \\%
+ \tsSymbol[1.4]{view_point} & view point \\%
+ \tsSymbol[1.4]{braking_point} & braking point \\%
+ \tsSymbol[1.4]{end_of_authority} & end of movement authority \\%
+ \tsSymbol[1.4]{danger_point} & danger point \\%
+ \tsSymbol{clearing_point} & clearing point \\%
+ \tsSymbol{block_clearing_point} & block clearing point \\%
+ \tsSymbol{route_clearing_point} & route clearing point \\%
+ \tsSymbol{transmitter} & transmitter \\%
+ \tsSymbol{transmitter_forward} & transmitter effective forward \\%
+ \tsSymbol{transmitter_bidirectional}& transmitter bidirectional \\%
+ \tsSymbol{loop_transmitter} & loop transmitter \\%
+ \tsSymbol{route} & route \\%
+ \tsSymbol{direction_control} & direction control \\%
+ \tsSymbol{platform} & platform \\%
+ \tsSymbol{level_crossing} & level crossing \\%
+ \tsSymbol[2.0]{bridge} & bridge \\%
+ \tsSymbol[1.4]{hump} & hump \\%
+ \tsSymbol{pylon} & pylons \\%
+ \tsSymbol{interlocking} & interlocking \\%
+ \tsSymbol[1.4]{distant_power_off} & distant power off \\%
+ \tsSymbol[1.4]{power_off} & power off \\%
+ \tsSymbol[1.4]{power_on} & power on \\%
+ \tsSymbol[1.4]{distant_pantograph_down}& distant pantograph down \\%
+ \tsSymbol[1.4]{pantograph_down} & pantograph down \\%
+ \tsSymbol[1.4]{pantograph_up} & pantograph up \\%
+ \tsSymbol[1.4]{wire_limit} & wire limit \\%
+ \tsSymbol[2.0]{track_distance} & track distance \\%
+ \tsSymbol{train_berth} & train berth \\%
+ \tsSymbol{measure_line} & measure line \\%
+ \tsSymbol{hectometer} & hectometer \\%
+ \tsSymbol{track_marking} & track marking \\%
+ \end{xltabular}%
+}%
+%%%%%%%%%%%%%%%
+\endinput%
+% \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex
index d0a4936405..fccbfebd9b 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikz-trackschematic.tex
@@ -1,6 +1,6 @@
%% symbol library for TikZ track schematics
%
-% Copyright 2018,2019,2020 Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021 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.
@@ -25,10 +25,10 @@
% -------[ PDF Informations ]---------
\hypersetup{%
- pdftitle={tikz/trackschematic},
+ pdftitle={tikz-trackschematic},
pdfsubject={A tikz toolbox for track schematics},
pdfauthor={Martin Scheidt},
- pdfkeywords={latex, tikz, library, railway, track, layout}
+ pdfkeywords={latex, tikz, library, railway, track layout, schematic}
}
\begin{document}
@@ -56,8 +56,9 @@
\item \texttt{topology},
\item \texttt{trafficcontrol},
\item \texttt{vehicles},
- \item \texttt{constructions}, and
- \item \texttt{messures}.
+ \item \texttt{constructions},
+ \item \texttt{electrics}, and
+ \item \texttt{measures}.
\end{itemize*}
\subsection{Acknowledgement}
@@ -84,7 +85,7 @@
\subsection{License}
- Copyright (c) 2018 - 2020, \MS.
+ Copyright (c) 2018 - 2021, \MS.
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 (\href{https://www.tldrlegal.com/l/isc}{ISC license}).
\subsection{Alternatives}
@@ -96,15 +97,15 @@
\section{Usage}\label{sec:use}
\subsection{A complete minimal example}
- The command \texttt{\textbackslash usetikzlibrary\{trackschematic\}} will load the library; place it somewhere in your preamble.
+ The command \texttt{\textbackslash usepackage\{tikz-trackschematic\}} will load the library; place it somewhere in your preamble.
Here is a complete working minimal example which will produce a single PDF file with the figure on the right:\\
\begin{minipage}[c]{0.51\textwidth}
\centering
\begin{lstlisting}[gobble=8]
- \documentclass[tikz]{standalone}
+ \documentclass{standalone}
% loading the library
- \usetikzlibrary{trackschematic}
+ \usepackage{tikz-trackschematic}
\begin{document}
\begin{tikzpicture}
@@ -242,10 +243,10 @@
There is also the alias \texttt{position} for single local entries.
\begin{minipage}[c]{0.65\textwidth}
\begin{lstlisting}[gobble=8]
- \documentclass[tikz]{standalone}
+ \documentclass{standalone}
% load the library
- \usetikzlibrary{trackschematic}
+ \usepackage{tikz-trackschematic}
\begin{document}
\begin{tikzpicture}
@@ -285,10 +286,10 @@
For example like this:\\
\begin{minipage}[c]{0.65\textwidth}
\begin{lstlisting}[gobble=8]
- \documentclass[tikz]{standalone}
+ \documentclass{standalone}
% load the library
- \usetikzlibrary{trackschematic}
+ \usepackage{tikz-trackschematic}
\begin{document}
\begin{tikzpicture}
@@ -315,10 +316,25 @@
\end{minipage}
-\section{Provided Symbols and their commands}
+\section{Provided Symbols and their commands}\label{sec:symbols}
+
+ \subsection{overview}
+ To get a table with all symbols the command \textbackslash tsFullSymbology is provided.
+ It can be used in a normal \TeX~ environment and will list all symbols of all sublibraries.
+ \begin{lstlisting}[gobble=6]
+ \tsFullSymbology
+ \end{lstlisting}
- Each sublibrary provides different symbols. The following section will go through each symbol their command and options.
- % for aperance see the snippet document
+ Each symbol provides a reference name fo a symbology entry if there is the need to create an own table with the symbols.
+ It can be used in a normal \TeX~ environment and will show the named symbol with a length of \SI{6.2}{\cm} and a width of \SI{1}{\cm}.
+ \begin{lstlisting}[gobble=6]
+ \tsSymbol[width]{main_track}
+ \end{lstlisting}
+
+ There is also a table with snippets for various situations.
+ Each snippet and each symbol must be used inside a Ti\emph{k}Z environment.
+ Each sublibrary provides different symbols.
+ The following section will go through each symbol their command and options.
\subsection{Topology}
@@ -331,8 +347,8 @@
\item \texttt{secondary tracks}.
\end{itemize*}
- \symboldescription{Main track}
- \symbol{main_track.tikz}
+ \symboldescription{Main track}\label{sym:maintrack}
+ \tsSymbol{main_track}
\begin{lstlisting}[gobble=10]
\maintrack (coord1) -- (coord2);
\maintrack (coord1) -- (coord2) -- (coord3) -- etc.;
@@ -344,9 +360,15 @@
\end{lstlisting}
Beware of the placement assumption by the library (see Section \ref{sec:placement}).
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{main_track}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Secondary track}
- \symbol{secondary_track.tikz}
+ \symboldescription{Secondary track}\label{sym:secondarytrack}
+ \tsSymbol{secondary_track}
\begin{lstlisting}[gobble=10]
\secondarytrack (coord1) -- (coord2);
\secondarytrack (coord1) -- (coord2) -- (coord3) -- etc.;
@@ -361,9 +383,16 @@
\path[draw=foreground,line width=0.7pt] (coord1) -- (coord2);
\end{lstlisting}
Beware of the placement assumption by the library (see Section \ref{sec:placement}).
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{secondary_track}% TeX environment
+ \end{lstlisting}
- \symboldescription{Track number or track label}
- \symbol{track_number.tikz}
+
+ \symboldescription{Track number or track label}\label{sym:tracklabel}
+ \tsSymbol{track_label}
\begin{lstlisting}[gobble=10]
\tracklabel at (coord) label (number);
\end{lstlisting}
@@ -372,10 +401,17 @@
\begin{lstlisting}[gobble=10]
\node[fill=background,text=foreground] at (coord) {number};
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{track_label}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Buffer stops}
- \symbol{bufferstop_forward.tikz}
- \symbol{friction_bufferstop_forward.tikz}
+ \symboldescription{Buffer stops}\label{sym:bufferstop}
+ \tsSymbol{bufferstop}
+ \tsSymbol{friction_bufferstop}
\begin{lstlisting}[gobble=10]
\bufferstop[options] at (coord);
\end{lstlisting}
@@ -385,19 +421,34 @@
\item \texttt{friction=\textit{length unit}} (optional)
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{bufferstop}% TeX environment
+ \tsSymbol{friction_bufferstop}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Track closures}
- \symbol{track_closure.tikz}
+ \symboldescription{Track closures}\label{sym:trackclosure}
+ \tsSymbol{track_closure}
\begin{lstlisting}[gobble=10]
\trackclosure at (coord);
\end{lstlisting}
- No \texttt{options} available.\\
+ No \texttt{options} available.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{track_closure}% TeX environment
+ \end{lstlisting}
+
\subsubsection{Turnouts and similar}\label{sec:turnout}
- \symboldescription{Turnouts}
- \symbol{turnout_with_fouling_left_forward.tikz}
- \symbol{turnout_left_forward_manually.tikz}
- % \symbol{turnout_left_forward_right_position.tikz}
+ \symboldescription{Turnouts}\label{sym:turnouts}
+ \tsSymbol{turnout_fouling}
+ \tsSymbol{turnout_manually}
+ % \tsSymbol{turnout_left_forward_right_position}
\begin{lstlisting}[gobble=10]
\turnout[options] at (coord) label (name);
\end{lstlisting}
@@ -411,9 +462,17 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{turnout_fouling}% TeX environment
+ \tsSymbol{turnout_manually}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Diamond crossings}
- \symbol{diamond_crossing_left.tikz}
+ \symboldescription{Diamond crossings}\label{sym:diamondcrossing}
+ \tsSymbol{diamond_crossing}
\begin{lstlisting}[gobble=10]
\crossing[options] at (coord) label (name);
\end{lstlisting}
@@ -421,12 +480,19 @@
\begin{itemize}[label={}]
\item \texttt{branch=left} or \texttt{branch=right} (mandatory)
\item \texttt{fouling point} (optional)
- \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{diamond_crossing}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Slip switchs or slip turnouts}
- \symbol{double-slip_turnout_left.tikz}
+ \symboldescription{Slip switchs or slip turnouts}\label{sym:slipturnout}
+ \tsSymbol{slip_turnout}
\begin{lstlisting}[gobble=10]
\slipturnout[options] at (coord) label (name1)(name2);
\end{lstlisting}
@@ -441,9 +507,16 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{slip_turnout}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Derailers}
- \symbol{derailer_left_forward.tikz}
+ \symboldescription{Derailers}\label{sym:derailer}
+ \tsSymbol{derailer}
\begin{lstlisting}[gobble=10]
\derailer[options] at (coord) label (name);
\end{lstlisting}
@@ -454,11 +527,19 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{derailer}% TeX environment
+ \end{lstlisting}
+
+
\subsection{Vehicles}\label{sec:vehicles}
- \symboldescription{Parked vehicles}\label{sec:parked}
- \symbol{parked_vehicles.tikz}
+ \symboldescription{Parked vehicles}\label{sym:parkedvehicles}
+ \tsSymbol{parked_vehicles}
\begin{lstlisting}[gobble=8]
\parkedvehicles[options] at (coord) label (name);
\end{lstlisting}
@@ -472,10 +553,16 @@
\end{itemize}
The value for \textit{(label-coord)} is relative to \textit{(coord)}.
An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{parked_vehicles}% TeX environment
+ \end{lstlisting}
- \symboldescription{Shunting movements}\label{sec:shunting}
- % \symbol{train_shunt_mode_forward.tikz}
- \symbol{train_shunting_forward.tikz}
+
+ \symboldescription{Shunting movements}\label{sym:trainshunting}
+ \tsSymbol{train_shunting}
\begin{lstlisting}[gobble=8]
\shunting[options] at (coord) label (name);
\end{lstlisting}
@@ -494,10 +581,17 @@
\end{itemize}
The value for \textit{(label-coord)} and \textit{(bend-coord)} is relative to \textit{(coord)}.
An absolute \textit{(label-coord)} or \textit{(bend-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{train_shunting}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Train runs}\label{sec:train}
- \symbol{train_moving_fast_forward.tikz}
- \symbol{train_ghost_direction_forward.tikz}
+ \symboldescription{Train runs}\label{sym:trains}
+ \tsSymbol{train_moving_fast}
+ \tsSymbol{train_ghost}
\begin{lstlisting}[gobble=8]
\train[options] at (coord) label (name);
\end{lstlisting}
@@ -517,9 +611,17 @@
\end{itemize}
The value for \textit{(label-coord)} and \textit{(bend-coord)} is relative to \textit{(coord)}.
An absolute \textit{(label-coord)} or \textit{(bend-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{train_moving_fast}% TeX environment
+ \tsSymbol{train_ghost}% TeX environment
+ \end{lstlisting}
+
\subsection{Traffic control}
- \subsubsection{Stationary signals}\label{sec:signals}
+ \subsubsection{Stationary signals}\label{sym:signals}
\symboldescription{Generic signal command}
\begin{lstlisting}[gobble=10]
@@ -546,8 +648,9 @@
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
- \symboldescription{Distant signal}
- \symbol{distant_signal_forward.tikz}
+
+ \symboldescription{Distant signal}\label{sym:distantsignal}
+ \tsSymbol[1.4]{distant_signal}
\begin{lstlisting}[gobble=10]
\distantsignal[options] at (coord) label (name);
\end{lstlisting}
@@ -563,9 +666,16 @@
\begin{lstlisting}[gobble=10]
\signal[distant,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{distant_signal}% TeX environment
+ \end{lstlisting}
- \symboldescription{Speed signal/sign}
- \symbol{speed_signal_forward.tikz}
+
+ \symboldescription{Speed signal/sign}\label{sym:speedsignal}
+ \tsSymbol[1.4]{speed_signal}
\begin{lstlisting}[gobble=10]
\speedsignal[options] at (coord) label (name);
\end{lstlisting}
@@ -585,9 +695,16 @@
\begin{lstlisting}[gobble=10]
\signal[speed type,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{speed_signal}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Block signal}
- \symbol{block_signal_forward.tikz}
+ \symboldescription{Block signal}\label{sym:blocksignal}
+ \tsSymbol[1.4]{block_signal}
\begin{lstlisting}[gobble=10]
\blocksignal[options] at (coord) label (name);
\end{lstlisting}
@@ -603,9 +720,16 @@
\begin{lstlisting}[gobble=10]
\signal[block,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{block_signal}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Route signal}
- \symbol{route_signal_forward.tikz}
+ \symboldescription{Route signal}\label{sym:routesignal}
+ \tsSymbol[1.4]{route_signal}
\begin{lstlisting}[gobble=10]
\routesignal[options] at (coord) label (name);
\end{lstlisting}
@@ -622,9 +746,16 @@
\begin{lstlisting}[gobble=10]
\signal[route,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{route_signal}% TeX environment
+ \end{lstlisting}
- \symboldescription{Shunting signal}
- \symbol{shunt_signal_forward.tikz}
+
+ \symboldescription{Shunting signal}\label{sym:shuntsignal}
+ \tsSymbol[1.4]{shunt_signal}
\begin{lstlisting}[gobble=10]
\shuntsignal[options] at (coord) label (name);
\end{lstlisting}
@@ -640,9 +771,16 @@
\begin{lstlisting}[gobble=10]
\signal[shunting,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{shunt_signal}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Shunt limit}
- \symbol{shunt_limit_forward.tikz}
+ \symboldescription{Shunt limit}\label{sym:shuntlimit}
+ \tsSymbol[1.4]{shunt_limit}
\begin{lstlisting}[gobble=10]
\shuntlimit[options] at (coord) label (name);
\end{lstlisting}
@@ -657,9 +795,16 @@
\begin{lstlisting}[gobble=10]
\signal[shunt limit,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{shunt_limit}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Berth signal/sign}
- \symbol{train_berth_sign_forward.tikz}
+ \symboldescription{Berth signal/sign}\label{sym:berthsign}
+ \tsSymbol[1.4]{train_berth_sign}
\begin{lstlisting}[gobble=10]
\berthsignal[options] at (coord) label (name);
\end{lstlisting}
@@ -678,11 +823,18 @@
\begin{lstlisting}[gobble=10]
\signal[berth,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{train_berth_sign}% TeX environment
+ \end{lstlisting}
+
- \subsubsection{Non-stationary points}\label{sec:points}
+ \subsubsection{Non-stationary locations}\label{sec:locations}
- \symboldescription{View point}
- \symbol{view_point_forward.tikz}
+ \symboldescription{View point}\label{sym:viewpoint}
+ \tsSymbol[1.4]{view_point}
\begin{lstlisting}[gobble=10]
\viewpoint[options] at (coord);
\end{lstlisting}
@@ -692,9 +844,16 @@
\item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{view_point}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Braking point}
- \symbol{braking_point_forward.tikz}
+ \symboldescription{Braking point}\label{sym:brakingpoint}
+ \tsSymbol[1.4]{braking_point}
\begin{lstlisting}[gobble=10]
\brakingpoint[options] at (coord) label (name);
\end{lstlisting}
@@ -705,9 +864,16 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{braking_point}% TeX environment
+ \end{lstlisting}
- \symboldescription{End of movement authority}
- \symbol{end_of_movement_authority_forward.tikz}
+
+ \symboldescription{End of movement authority}\label{sym:endofauthority}
+ \tsSymbol[1.4]{end_of_authority}
\begin{lstlisting}[gobble=10]
\movementauthority[options] at (coord) label (name);
\end{lstlisting}
@@ -718,9 +884,16 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{end_of_authority}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Danger point}
- \symbol{danger_point_forward.tikz}
+ \symboldescription{Danger point}\label{sym:dangerpoint}
+ \tsSymbol[1.4]{danger_point}
\begin{lstlisting}[gobble=10]
\dangerpoint[options] at (coord) label (name);
\end{lstlisting}
@@ -731,10 +904,17 @@
\item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{danger_point}% TeX environment
+ \end{lstlisting}
+
\subsubsection{Clearing points}\label{sec:clearingpoints}
- \symboldescription{Generic clearing point}
+ \symboldescription{Generic clearing point}\label{sym:genericclearingpoint}
\begin{lstlisting}[gobble=10]
\clearingpoint[options] at (coord) label (name);
\end{lstlisting}
@@ -752,8 +932,9 @@
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
- \symboldescription{Standard clearing point}
- \symbol{clearing_point.tikz}
+
+ \symboldescription{Standard clearing point}\label{sym:clearingpoint}
+ \tsSymbol{clearing_point}
\begin{lstlisting}[gobble=10]
\standardclearing[options] at (coord) label (name);
\end{lstlisting}
@@ -768,9 +949,16 @@
\begin{lstlisting}[gobble=10]
\clearingpoint[standard,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{clearing_point}% TeX environment
+ \end{lstlisting}
- \symboldescription{Block clearing point}
- \symbol{block_clearing_point_forward.tikz}
+
+ \symboldescription{Block clearing point}\label{sym:blockclearingpoint}
+ \tsSymbol{block_clearing_point}
\begin{lstlisting}[gobble=10]
\blockclearing[options] at (coord) label (name);
\end{lstlisting}
@@ -785,9 +973,16 @@
\begin{lstlisting}[gobble=10]
\clearingpoint[block,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{block_clearing_point}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Route clearing point}
- \symbol{route_clearing_point_forward.tikz}
+ \symboldescription{Route clearing point}\label{sym:routeclearingpoint}
+ \tsSymbol{route_clearing_point}
\begin{lstlisting}[gobble=10]
\routeclearing[options] at (coord) label (name);
\end{lstlisting}
@@ -802,10 +997,55 @@
\begin{lstlisting}[gobble=10]
\clearingpoint[route,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{route_clearing_point}% TeX environment
+ \end{lstlisting}
+
+
+ \subsubsection{Routes}\label{sec:routes}
+
+ \symboldescription{Route}\label{sym:route}
+ \tsSymbol{route}
+ \begin{lstlisting}[gobble=10]
+ \route[options] at (coord);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward} or \texttt{backward} (mandatory)
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{route}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Direction control}\label{sym:directioncontrol}
+ \tsSymbol[1.4]{direction_control}
+ \begin{lstlisting}[gobble=10]
+ \directioncontrol[options] at (coord);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol[1.4]{direction_control}% TeX environment
+ \end{lstlisting}
+
\subsubsection{Transmitters}\label{sec:transmitters}
- \symboldescription{Generic transmitter command}
+ \symboldescription{Generic transmitter command}\label{sym:generictransmitter}
\begin{lstlisting}[gobble=10]
\transmitter[options] at (coord) label (name);
\end{lstlisting}
@@ -818,8 +1058,9 @@
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
- \symboldescription{Balise}
- \symbol{transmitter_right_bidirectional.tikz}
+
+ \symboldescription{Balise}\label{sym:balise}
+ \tsSymbol{transmitter_forward}
\begin{lstlisting}[gobble=10]
\balise[options] at (coord) label (name);
\end{lstlisting}
@@ -834,9 +1075,16 @@
\begin{lstlisting}[gobble=10]
\transmitter[type=balise,options] at (coord) label (name);
\end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=10]
+ \tsSymbol{transmitter_forward}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Loop}
- \symbol{loop_transmitter.tikz}
+ \symboldescription{Loop}\label{sym:loop}
+ \tsSymbol{loop_transmitter}
\begin{lstlisting}[gobble=10]
\trackloop[options] at (coord) label (name);
\end{lstlisting}
@@ -850,24 +1098,18 @@
\begin{lstlisting}[gobble=10]
\transmitter[type=loop,options] at (coord) label (name);
\end{lstlisting}
-
- \subsubsection{Miscellaneous}\label{sec:misc}
-
- \symboldescription{Route}
- \symbol{route.tikz}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
\begin{lstlisting}[gobble=10]
- \route[options] at (coord);
+ \tsSymbol{loop_transmitter}% TeX environment
\end{lstlisting}
- values for \texttt{options} (comma seperated):
- \begin{itemize}[label={}]
- \item \texttt{forward} or \texttt{backward} (mandatory)
- \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
- \end{itemize}
+
\subsection{Constructions}\label{sec:constructions}
- \symboldescription{Platform}
- \symbol{platform_left.tikz}
+ \symboldescription{Platform}\label{sym:platform}
+ \tsSymbol[1.4]{platform}
\begin{lstlisting}[gobble=8]
\platform[options] at (coord);
\end{lstlisting}
@@ -878,9 +1120,16 @@
\item \texttt{width=\textit{length unit}} (optional, default 0.5cm)
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{platform}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Level crossings}
- \symbol{level_crossing_single.tikz}
+ \symboldescription{Level crossings}\label{sym:levelcrossing}
+ \tsSymbol[2.0]{level_crossing}
\begin{lstlisting}[gobble=8]
\levelcrossing[options] at (coord);
\end{lstlisting}
@@ -893,9 +1142,16 @@
\item \texttt{no road} (optional)
\item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[2.0]{level_crossing}% TeX environment
+ \end{lstlisting}
- \symboldescription{Bridge}
- \symbol{bridge.tikz}
+
+ \symboldescription{Bridge}\label{sym:bridge}
+ \tsSymbol[2.0]{bridge}
\begin{lstlisting}[gobble=8]
\bridge[options] at (coord);
\end{lstlisting}
@@ -910,71 +1166,345 @@
\item \texttt{background=\textit{color}} (optional, default: \texttt{white})
\item \texttt{no background} (optional)
\end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[2.0]{bridge}% TeX environment
+ \end{lstlisting}
+
- \symboldescription{Interlocking}
- \symbol{interlocking.tikz}
+ \symboldescription{Interlocking}\label{sym:interlocking}
+ \tsSymbol{interlocking}
\begin{lstlisting}[gobble=8]
\interlocking at (coord);
\end{lstlisting}
- No \texttt{options} available.\\
+ No \texttt{options} available.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{interlocking}% TeX environment
+ \end{lstlisting}
- \symboldescription{Hump}
- \symbol{hump.tikz}
+
+ \symboldescription{Hump}\label{sym:hump}
+ \tsSymbol[1.4]{hump}
\begin{lstlisting}[gobble=8]
\hump at (coord);
\end{lstlisting}
+ No \texttt{options} available.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{hump}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Pylon}\label{sym:pylon}
+ \tsSymbol[1.4]{pylon}
+ \begin{lstlisting}[gobble=8]
+ \pylon[options] at (coord);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{side=right} (default), \texttt{side=left} or \texttt{side=both} (optional)
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{pylon}% TeX environment
+ \end{lstlisting}
+
+
+ \subsection{Electrics}\label{sec:electrics}
+
+ \symboldescription{Distant power off}\label{sym:distantpoweroff}
+ \tsSymbol[1.4]{distant_power_off}
+ \begin{lstlisting}[gobble=8]
+ \distantpoweroff[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{distant_power_off}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Power off}\label{sym:poweroff}
+ \tsSymbol[1.4]{power_off}
+ \begin{lstlisting}[gobble=8]
+ \poweroff[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{power_off}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Power on}\label{sym:poweron}
+ \tsSymbol[1.4]{power_on}
+ \begin{lstlisting}[gobble=8]
+ \poweron[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{power_on}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Distant pantograph down}\label{sym:distantpantographdown}
+ \tsSymbol[1.4]{distant_pantograph_down}
+ \begin{lstlisting}[gobble=8]
+ \distantpantographdown[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{distant_pantograph_down}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Pantograph down}\label{sym:pantographdown}
+ \tsSymbol[1.4]{pantograph_down}
+ \begin{lstlisting}[gobble=8]
+ \pantographdown[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{pantograph_down}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Pantograph up}\label{sym:pantographup}
+ \tsSymbol[1.4]{pantograph_up}
+ \begin{lstlisting}[gobble=8]
+ \pantographup[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{pantograph_up}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Wire limit}\label{sym:wirelimit}
+ \tsSymbol[1.4]{wire_limit}
+ \begin{lstlisting}[gobble=8]
+ \wirelimit[options] at (coord) label (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{signal color=\textit{color}} (optional, default: \texttt{ts-signal-blue})
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \item \texttt{background=\textit{color}} (optional, default: \texttt{white})
+ \end{itemize}
+ The color \textit{ts-signal-blue} is defined as \textit{HTML: 013ADF}.
+ The value for \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[1.4]{wire_limit}% TeX environment
+ \end{lstlisting}
+
+
+ \subsection{Messures}\label{sec:measures}
+
+ \symboldescription{Track distance}\label{sym:trackdistance}
+ \tsSymbol[2.0]{track_distance}
+ \begin{lstlisting}[gobble=8]
+ \trackdistance between (coord1) and (coord2) distance (value);
+ \end{lstlisting}
+ No \texttt{options} available.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol[2.0]{track_distance}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Train berth}\label{sym:trainberth}
+ \tsSymbol{train_berth}
+ \begin{lstlisting}[gobble=8]
+ \berth[options] at (coord) length (value);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
+ \item \texttt{length=\textit{length unit}} (optional, default 4cm)
+ \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
+ \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
+ \end{itemize}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{train_berth}% TeX environment
+ \end{lstlisting}
+
+
+ \symboldescription{Messure line}\label{sym:measureline}
+ \tsSymbol{measure_line}
+ \begin{lstlisting}[gobble=8]
+ \measureline (coord1) -- (coord2);
+ \measureline (coord1) -- (coord2) -- (coord3) -- etc.;
+ \end{lstlisting}
No \texttt{options} available.\\
+ This command is equivalent to:
+ \begin{lstlisting}[gobble=10]
+ \path[draw=foreground!50!background,dashed,shorten <=0.75cm,shorten >=0.75cm] (coord1) -- (coord2);
+ \end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{measure_line}% TeX environment
+ \end{lstlisting}
- \subsection{Messures}\label{sec:messures}
- \symboldescription{Track distance}
- \symbol{track_distance.tikz}
- \begin{lstlisting}[gobble=10]
- \trackdistance between (coord1) and (coord2) distance (value);
- \end{lstlisting}
- No \texttt{options} available.
+ \symboldescription{Hectometer}\label{sym:hectometer}
+ \tsSymbol{hectometer}
+ \begin{lstlisting}[gobble=8]
+ \hectometer[options] at (coord) mileage (name);
+ \end{lstlisting}
+ values for \texttt{options} (comma seperated):
+ \begin{itemize}[label={}]
+ \item \texttt{hectometer base=\{\textit{(base-coord)}\}} (mandatory)
+ \item \texttt{orientation=left} or \texttt{orientation=right} (mandatory)
+ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
+ \item \texttt{hectometer color=\textit{color}} (optional, default: \texttt{foreground!50!background})
+ \end{itemize}
+ The value for \textit{(base-coord)} and \textit{(label-coord)} is relative to \textit{(coord)}.
+ An absolute \textit{(base-coord)} or \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
+ Specify a commen hectometer base and orientation if you have to place multipile hectometers, i.e. with:
+ \texttt{\textbackslash tikzset\{hectometer base=\{(base-coord)\},orientation=right\};}.
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{hectometer}% TeX environment
+ \end{lstlisting}
- \symboldescription{Train berth}
- \symbol{train_berth_shape.tikz}
- \begin{lstlisting}[gobble=10]
- \berth[options] at (coord) length (value);
- \end{lstlisting}
- values for \texttt{options} (comma seperated):
- \begin{itemize}[label={}]
- \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (mandatory)
- \item \texttt{length=\textit{length unit}} (optional, default 4cm)
- \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice})
- \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black})
- \end{itemize}
- \symboldescription{Hectometer}
- \symbol{hectometer.tikz}
- \begin{lstlisting}[gobble=10]
- \hectometer[options] at (coord) mileage (name);
- \end{lstlisting}
- values for \texttt{options} (comma seperated):
- \begin{itemize}[label={}]
- \item \texttt{hectometer base=\{\textit{(base-coord)}\}} (mandatory)
- \item \texttt{orientation=left} or \texttt{orientation=right} (mandatory)
- \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0))
- \item \texttt{hectometer color=\textit{color}} (optional, default: \texttt{foreground!50!background})
- \end{itemize}
- The value for \textit{(base-coord)} and \textit{(label-coord)} is relative to \textit{(coord)}.
- An absolute \textit{(base-coord)} or \textit{(label-coord)} can be specified with the Ti\emph{k}Z \textbackslash coordinate command.
- Specify a commen hectometer base and orientation if you have to place multipile hectometers, i.e. with:
- \texttt{\textbackslash tikzset\{hectometer base=\{(base-coord)\},orientation=right\};}.
+ \symboldescription{Track Marking}\label{sym:trackmarking}
+ \tsSymbol{track_marking}
+ \begin{lstlisting}[gobble=10]
+ \trackmarking[color] (coord1) -- (coord2);
+ \end{lstlisting}
+ \begin{itemize}[label={}]
+ \item \texttt{\textit{color}} (optional, default: \texttt{foreground with opacity 40\%})
+ \end{itemize}\mbox{}\\
+ This command is equivalent to:
+ \begin{lstlisting}[gobble=8]
+ \path[
+ draw,
+ line width=8pt,
+ opacity=0.4,
+ arrows={
+ Bar[line cap=round,line width=1pt,width=12pt]-
+ Bar[line cap=round,line width=1pt,width=12pt]
+ },
+ shorten >=1pt,shorten <=1pt
+ ] (coord1) -- (coord2);
+ \end{lstlisting}
+
+ \mbox{}\\[0.2cm]
+ Symbology entry as seen at top:
+ \begin{lstlisting}[gobble=8]
+ \tsSymbol{track_marking}% TeX environment
+ \end{lstlisting}
- \symboldescription{Messure line}
- \symbol{messure_line.tikz}
- \begin{lstlisting}[gobble=10]
- \messureline (coord1) -- (coord2);
- \messureline (coord1) -- (coord2) -- (coord3) -- etc.;
- \end{lstlisting}
- No \texttt{options} available.\\
- This command is equivalent to:
- \begin{lstlisting}[gobble=10]
- \path[draw=foreground!50!background,dashed,shorten <=0.75cm,shorten >=0.75cm] (coord1) -- (coord2);
- \end{lstlisting}
\clearpage
\appendix
@@ -982,130 +1512,151 @@
\begin{longtable}{|r|l|c|c|}
\hline
- No. & Name & Symbol & See section \\
+ No. & Name & Symbol & See section \\
\endhead
\hline
- \No & main track & \symbol{main_track.tikz} & \ref{sec:track} \\
+ \No & main track & \tsSymbol{main_track} & \ref{sec:track} \\
\hline
- \No & secondary track & \symbol{secondary_track.tikz} & \ref{sec:track} \\
+ \No & secondary track & \tsSymbol{secondary_track} & \ref{sec:track} \\
\hline
- \No & track number & \symbol{track_number.tikz} & \ref{sec:track} \\
+ \No & track label & \tsSymbol{track_label} & \ref{sec:track} \\
\hline
- \No & bufferstop & \symbol{bufferstop_forward.tikz} & \ref{sec:track} \\
+ \No & bufferstop & \tsSymbol{bufferstop} & \ref{sec:track} \\
\hline
- \No & friction bufferstop & \symbol{friction_bufferstop_forward.tikz} & \ref{sec:track} \\
+ \No & friction bufferstop & \tsSymbol{friction_bufferstop} & \ref{sec:track} \\
\hline
- \No & track closure & \symbol{track_closure.tikz} & \ref{sec:track} \\
+ \No & track closure & \tsSymbol{track_closure} & \ref{sec:track} \\
\hline
- \No & turnout & \symbol{turnout_left_forward.tikz} & \ref{sec:turnout} \\
+ \No & turnout & \tsSymbol{turnout} & \ref{sym:turnouts} \\
\hline
\No & \parbox[c]{5cm}{turnout\\with fouling point indicator}
- & \symbol{turnout_with_fouling_left_forward.tikz} & \ref{sec:turnout} \\
+ & \tsSymbol{turnout_fouling} & \ref{sym:turnouts} \\
\hline
\No & \parbox[c]{5cm}{turnout\\operated manually}
- & \symbol{turnout_left_forward_manually.tikz} & \ref{sec:turnout} \\
- \hline
- \No & double-slip turnout & \symbol{double-slip_turnout_left.tikz} & \ref{sec:turnout} \\
- \hline
- \No & diamond crossing & \symbol{diamond_crossing_left.tikz} & \ref{sec:turnout} \\
+ & \tsSymbol{turnout_manually} & \ref{sym:turnouts} \\
\hline
\No & \parbox[c]{5cm}{turnout\\with points in right position}
- & \symbol{turnout_left_forward_right_position.tikz} & \ref{sec:turnout} \\
+ & \tsSymbol{turnout_points_right} & \ref{sym:turnouts} \\
\hline
\No & \parbox[c]{5cm}{turnout\\with points in left position}
- & \symbol{turnout_left_forward_left_position.tikz} & \ref{sec:turnout} \\
+ & \tsSymbol{turnout_points_left} & \ref{sym:turnouts} \\
\hline
\No & \parbox[c]{5cm}{turnout\\with moving points}
- & \symbol{turnout_left_forward_moving_points.tikz} & \ref{sec:turnout} \\
+ & \tsSymbol{turnout_points_moving} & \ref{sym:turnouts} \\
+ \hline
+ \No & diamond crossing & \tsSymbol{diamond_crossing} & \ref{sym:diamondcrossing}\\
+ \hline
+ \No & double-slip turnout & \tsSymbol{slip_turnout} & \ref{sym:slipturnout} \\
\hline
- \No & derailer & \symbol{derailer_left_forward.tikz} & \ref{sec:turnout} \\
+ \No & derailer & \tsSymbol{derailer} & \ref{sym:derailer} \\
\hline
- \No & parked vehicles & \symbol{parked_vehicles.tikz} & \ref{sec:parked} \\
+ \No & parked vehicles & \tsSymbol{parked_vehicles} & \ref{sym:parkedvehicles} \\
\hline
- \No & train in shunting mode & \symbol{train_shunt_mode_forward.tikz} & \ref{sec:shunting} \\
+ \No & train in shunting mode & \tsSymbol{train_shunt_mode} & \ref{sym:trainshunting} \\
\hline
- \No & train shunting & \symbol{train_shunting_forward.tikz} & \ref{sec:shunting} \\
+ \No & train shunting & \tsSymbol{train_shunting} & \ref{sym:trainshunting} \\
\hline
- \No & train & \symbol{train_direction_forward.tikz} & \ref{sec:train} \\
+ \No & train & \tsSymbol{train} & \ref{sym:trains} \\
\hline
- \No & train moving slow & \symbol{train_moving_slow_forward.tikz} & \ref{sec:train} \\
+ \No & train moving slow & \tsSymbol{train_moving_slow} & \ref{sym:trains} \\
\hline
- \No & train moving & \symbol{train_moving_forward.tikz} & \ref{sec:train} \\
+ \No & train moving & \tsSymbol{train_moving} & \ref{sym:trains} \\
\hline
- \No & train moving fast & \symbol{train_moving_fast_forward.tikz} & \ref{sec:train} \\
+ \No & train moving fast & \tsSymbol{train_moving_fast} & \ref{sym:trains} \\
\hline
- \No & train ghost & \symbol{train_ghost_direction_forward.tikz} & \ref{sec:train} \\
+ \No & train ghost & \tsSymbol{train_ghost} & \ref{sym:trains} \\
\hline
- \No & train operated automatic & \symbol{train_drive_automatic.tikz} & \ref{sec:train} \\
+ \No & train operated automatic & \tsSymbol{train_drive_automatic} & \ref{sym:trains} \\
\hline
- \No & train operated by human & \symbol{train_drive_human.tikz} & \ref{sec:train} \\
+ \No & train operated by human & \tsSymbol{train_drive_human} & \ref{sym:trains} \\
\hline
- \No & distant signal & \symbol{distant_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & distant signal & \tsSymbol[1.4]{distant_signal} & \ref{sym:signals} \\
\hline
\No & \parbox[c]{4cm}{distant signal\\with speed indicator}
- & \symbol{distant_speed_signal_forward.tikz} & \ref{sec:signals} \\
+ & \tsSymbol[1.4]{distant_speed_signal} & \ref{sym:signals} \\
\hline
- \No & speed signal & \symbol{speed_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & speed signal & \tsSymbol[1.4]{speed_signal} & \ref{sym:signals} \\
\hline
- \No & block signal & \symbol{block_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & block signal & \tsSymbol[1.4]{block_signal} & \ref{sym:signals} \\
\hline
- \No & route signal & \symbol{route_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & route signal & \tsSymbol[1.4]{route_signal} & \ref{sym:signals} \\
\hline
- \No & \parbox[c]{4cm}{combined signal\\(distant, block and route signal)}
- & \symbol{combined_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & \parbox[c]{5cm}{combined signal (distant, block and route signal)}
+ & \tsSymbol[1.4]{combined_signal} & \ref{sym:signals} \\
\hline
- \No & shunt signal & \symbol{shunt_signal_forward.tikz} & \ref{sec:signals} \\
+ \No & shunt signal & \tsSymbol[1.4]{shunt_signal} & \ref{sym:signals} \\
\hline
- \No & shunt signal locked & \symbol{shunt_signal_forward_locked.tikz} & \ref{sec:signals} \\
+ \No & shunt signal locked & \tsSymbol[1.4]{locked_shunt_signal} & \ref{sym:signals} \\
\hline
- \No & shunt limit & \symbol{shunt_limit_forward.tikz} & \ref{sec:signals} \\
+ \No & shunt limit & \tsSymbol[1.4]{shunt_limit} & \ref{sym:signals} \\
\hline
- \No & train berth sign & \symbol{train_berth_sign_forward.tikz} & \ref{sec:signals} \\
+ \No & train berth sign & \tsSymbol[1.4]{train_berth_sign} & \ref{sym:signals} \\
\hline
- \No & view point & \symbol{view_point_forward.tikz} & \ref{sec:points} \\
+ \No & view point & \tsSymbol[1.4]{view_point} & \ref{sec:locations} \\
\hline
- \No & braking point & \symbol{braking_point_forward.tikz} & \ref{sec:points} \\
+ \No & braking point & \tsSymbol[1.4]{braking_point} & \ref{sec:locations} \\
\hline
- \No & end of movement authority & \symbol{end_of_movement_authority_forward.tikz} & \ref{sec:points} \\
+ \No & end of movement authority & \tsSymbol[1.4]{end_of_authority} & \ref{sec:locations} \\
\hline
- \No & danger point & \symbol{danger_point_forward.tikz} & \ref{sec:points} \\
+ \No & danger point & \tsSymbol[1.4]{danger_point} & \ref{sec:locations} \\
\hline
- \No & clearing point & \symbol{clearing_point.tikz} & \ref{sec:clearingpoints} \\
+ \No & clearing point & \tsSymbol{clearing_point} & \ref{sec:clearingpoints} \\
\hline
- \No & block clearing point & \symbol{block_clearing_point_forward.tikz} & \ref{sec:clearingpoints} \\
+ \No & block clearing point & \tsSymbol{block_clearing_point} & \ref{sec:clearingpoints} \\
\hline
- \No & route clearing point & \symbol{route_clearing_point_forward.tikz} & \ref{sec:clearingpoints} \\
+ \No & route clearing point & \tsSymbol{route_clearing_point} & \ref{sec:clearingpoints} \\
\hline
- \No & transmitter & \symbol{transmitter_right.tikz} & \ref{sec:transmitters} \\
+ \No & route & \tsSymbol{route} & \ref{sec:routes} \\
\hline
- \No & transmitter effective forward & \symbol{transmitter_right_forward.tikz} & \ref{sec:transmitters} \\
+ \No & direction control & \tsSymbol{direction_control} & \ref{sec:routes} \\
\hline
- \No & transmitter bidirectional & \symbol{transmitter_right_bidirectional.tikz} & \ref{sec:transmitters} \\
+ \No & transmitter & \tsSymbol{transmitter} & \ref{sec:transmitters} \\
\hline
- \No & loop transmitter & \symbol{loop_transmitter.tikz} & \ref{sec:transmitters} \\
+ \No & transmitter effective forward & \tsSymbol{transmitter_forward} & \ref{sec:transmitters} \\
\hline
- \No & route & \symbol{route.tikz} & \ref{sec:misc} \\
+ \No & transmitter bidirectional & \tsSymbol{transmitter_bidirectional} & \ref{sec:transmitters} \\
\hline
- \No & platform & \symbol{platform_left.tikz} & \ref{sec:constructions} \\
+ \No & loop transmitter & \tsSymbol{loop_transmitter} & \ref{sec:transmitters} \\
\hline
- \No & level crossing & \symbol{level_crossing_single.tikz} & \ref{sec:constructions} \\
+ \No & platform & \tsSymbol[1.4]{platform} & \ref{sec:constructions} \\
\hline
- \No & bridge & \symbol{bridge.tikz} & \ref{sec:constructions} \\
+ \No & level crossing & \tsSymbol[2.0]{level_crossing} & \ref{sec:constructions} \\
\hline
- \No & hump & \symbol{hump.tikz} & \ref{sec:constructions} \\
+ \No & bridge & \tsSymbol[2.0]{bridge} & \ref{sec:constructions} \\
\hline
- \No & interlocking & \symbol{interlocking.tikz} & \ref{sec:constructions} \\
+ \No & hump & \tsSymbol[1.4]{hump} & \ref{sec:constructions} \\
\hline
- \No & track distance (in \si{\metre}) & \symbol{track_distance.tikz} & \ref{sec:messures} \\
+ \No & interlocking & \tsSymbol{interlocking} & \ref{sec:constructions} \\
\hline
- \No & train berth shape & \symbol{train_berth_shape.tikz} & \ref{sec:messures} \\
+ \No & pylons & \tsSymbol[1.4]{pylon} & \ref{sec:constructions} \\
\hline
- \No & hectometer & \symbol{hectometer.tikz} & \ref{sec:messures} \\
+ \No & distant power off & \tsSymbol[1.4]{distant_power_off} & \ref{sec:electrics} \\
\hline
- \No & Messure line & \symbol{messure_line.tikz} & \ref{sec:messures} \\
+ \No & power off & \tsSymbol[1.4]{power_off} & \ref{sec:electrics} \\
+ \hline
+ \No & power on & \tsSymbol[1.4]{power_on} & \ref{sec:electrics} \\
+ \hline
+ \No & distant pantograph down & \tsSymbol[1.4]{distant_pantograph_down} & \ref{sec:electrics} \\
+ \hline
+ \No & pantograph down & \tsSymbol[1.4]{pantograph_down} & \ref{sec:electrics} \\
+ \hline
+ \No & pantograph up & \tsSymbol[1.4]{pantograph_up} & \ref{sec:electrics} \\
+ \hline
+ \No & wire limit & \tsSymbol[1.4]{wire_limit} & \ref{sec:electrics} \\
+ \hline
+ \No & track distance (in \si{\metre}) & \tsSymbol[2.0]{track_distance} & \ref{sec:measures} \\
+ \hline
+ \No & train berth shape & \tsSymbol{train_berth} & \ref{sec:measures} \\
+ \hline
+ \No & Messure line & \tsSymbol{measure_line} & \ref{sec:measures} \\
+ \hline
+ \No & hectometer & \tsSymbol{hectometer} & \ref{sec:measures} \\
+ \hline
+ \No & track marking & \tsSymbol{track_marking} & \ref{sec:measures} \\
\hline
\end{longtable}
+\clearpage
\input{versionhistory.tex}
\vhListAllAuthorsLongWithAbbrev
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex
index 41e831304b..b26089fc75 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.code.tex
@@ -1,6 +1,6 @@
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
@@ -9,15 +9,54 @@
\RequirePackage{tikz,etoolbox,lmodern}%
%
%%%%%%%%%%%%%%%
-% symbol definitions
+% loading sublibraries
%%%%%%%%%%%%%%%
-\usetikzlibrary{trackschematic.topology}%
-\usetikzlibrary{trackschematic.trafficcontrol}%
-\usetikzlibrary{trackschematic.vehicles}%
-\usetikzlibrary{trackschematic.constructions}%
-\usetikzlibrary{trackschematic.messures}%
-% \usetikzlibrary{trackschematic.i18n}%
-%
+% \usetikzlibrary{trackschematic.topology}%
+% \usetikzlibrary{trackschematic.trafficcontrol}%
+% \usetikzlibrary{trackschematic.vehicles}%
+% \usetikzlibrary{trackschematic.constructions}%
+% \usetikzlibrary{trackschematic.electrics}%
+% \usetikzlibrary{trackschematic.measures}%
+%%%%%%%%%%%%%%%
+%% template for new symbol definitions
+%%%%%%%%%%%%%%%
+% %
+% \newcommand\XXXX{}% just for safety
+% \def\XXXX[#1]#2(#3)#4(#5){% \XXXX[options] at (coord) label (name);
+% \pic[#1] at (#3) {XXXX={#2/#4/#5}}% symbol
+% }%
+% % tikz keys
+% \pgfkeys{%
+% /tikz/trackschematic/.is family,%
+% /tikz/trackschematic//.cd,%
+% }%
+% % symbol definition
+% \tikzset{%
+% pics/XXXX/.default=,%
+% pics/XXXX/.style args={#1/#2/#3}{code={%
+% %% settings
+% \def\coordcommand{#1}% beware of leading and tailing spaces!
+% \def\labelcommand{#2}% beware of leading and tailing spaces!
+% \def\labelcontent{#3}%
+% %% symbol marker
+% %
+% %% label
+% \ifdefstring{\labelcontent}{}{}{% label NOT empty
+% \coordinate (label-coord) at (coord);%
+% \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+% \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+% \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+% }%
+% \node at (label-coord) {\footnotesize \labelcontent};%
+% }%
+% }},% END of pics/XXXX/.style args={#1/#2/#3}
+% % symbology entry
+% symbology_XXXX/.pic = {%
+% \maintrack (0,0) -- (6,0);%
+% \XXXX at (3,0);%
+% },%
+% }%
+% %
%%%%%%%%%%%%%%%
\endinput%
% \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex
index a8713de511..d36e3bece1 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.constructions.code.tex
@@ -1,6 +1,9 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
@@ -48,6 +51,7 @@
%% side
side/.value required,% left, right OR both
side/.store in=\side,% left, right OR both
+ side=right,% DEFAULT
/tikz/side/.forward to=/tikz/trackschematic/constructions/side,%
%% width
width/.store in=\objectwidth,% default width 0.5cm
@@ -105,7 +109,12 @@
\path ($-0.5*(\objectlength,0) + \sidefactor*(0,0.3)$) --%
($ 0.5*(\objectlength,0) + \sidefactor*(0,0.3)$);% part 2
}%
- }},%
+ }},% END pics/platform/.style args={#1}
+ % symbology entry
+ symbology_platform/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \platform[side=left] at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -244,7 +253,12 @@
}%
}% END \ifdefstring{\barrier}{semi}
}% END \ifdefstring{\barrier}{full}
- }},%
+ }},% END pics/level_crossing/.style args={#1}
+ % symbology entry
+ symbology_level_crossing/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \levelcrossing[barrier=semi] at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -312,7 +326,12 @@
}% END \ifdefstring{\side}{right}
}% END \ifdefstring{\side}{left}
}% END \ifdefstring{\side}{both}
- }},%
+ }},% END pics/bridge/.style args={#1}
+ % symbology entry
+ symbology_bridge/.pic = {%
+ \bridge[] at (3,0);% first
+ \maintrack (0,0) -- (6,0);%% secound
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -340,7 +359,11 @@
\path (-0.6,-0.4 ) rectangle ++(1.2,0.8); % building
\path[fill=\foreground] (-0.5,-0.3 ) rectangle ++(1.0,0.2); % table
\path[fill=\foreground] ( 0 , 0.15) circle (0.15); % human dot
- }},%
+ }},% END pics/interlocking/.style args={#1}
+ % symbology entry
+ symbology_interlocking/.pic = {
+ \interlocking at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -381,7 +404,61 @@
\path ( 0.1,-0.1) -- ++(0,-0.25);
\path ( 0.2,-0.1) -- ++(0,-0.15);
\path ( 0.3,-0.1) -- ++(0,-0.05);
- }},%
+ }},% END pics/hump/.style args={#1}
+ % symbology entry
+ symbology_hump/.pic = {%
+ \secondarytrack (0,0) -- (6,0);%
+ \hump at (3,0);%
+ },%
+}%
+%
+%
+%%%%%%%%%%%%%%%
+% symbol pylon
+%%%%%%%%%%%%%%%
+%
+%% command
+\newcommand\pylon{}% just for safety
+\def\pylon[#1]#2(#3){% \pylon[options] at (coord);
+ \pic[#1] at (#3) {pylon={#2}}% symbol
+}%
+%% symbol definition
+\tikzset{%
+ pics/pylon/.default=,%
+ pics/pylon/.style args={#1}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ %
+ \ifdefstring{\side}{left}{% side
+ \pgfmathsetmacro{\sidefactor}{1}%
+ }{%
+ \ifdefstring{\side}{right}{% side
+ \pgfmathsetmacro{\sidefactor}{-1}%
+ }{%
+ \ifdefstring{\side}{both}{% side
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/constructions/side}{“left“, “right“ OR “both“ as key required}}%
+ }%
+ }%
+ }% end \ifdefstring{\side}
+ %% pylon shape
+ \tikzset{every path/.style={draw=\foreground,line width=0.5pt}};%
+ \ifdefstring{\side}{both}{% double side
+ \path (0,-0.5) circle [radius=0.075];% part 1
+ \path (0, 0.5) circle [radius=0.075];% part 2
+ \path (0,-0.425) -- (0, 0.425);% part 3
+ }{% single side
+ \path ($\sidefactor*(0,0.5)$) circle [radius=0.075];% part 1
+ \path ($\sidefactor*(0,0.425)$) -- ++($\sidefactor*(0,-0.7)$);% part 2
+ }%
+ }},% END pics/pylon/.style args={#1}
+ % symbology entry
+ symbology_pylon/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \pylon[side=left] at (1,0);%
+ \pylon[side=left] at (3,0);%
+ \pylon[side=left] at (5,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.electrics.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.electrics.code.tex
new file mode 100644
index 0000000000..70956611e6
--- /dev/null
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.electrics.code.tex
@@ -0,0 +1,611 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
+%% symbol library for TikZ track schematics
+%
+% Copyright (c) 2018 - 2021, 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.
+%
+\ProvidesFileRCS{tikzlibrarytrackschematic.electrics.code.tex}%
+%
+%%%%%%%%%%%%%%%
+% global settings
+%%%%%%%%%%%%%%%
+\RequirePackage{tikz,etoolbox,lmodern}%
+\usetikzlibrary{calc,intersections,arrows.meta}%
+%
+% https://tex.stackexchange.com/questions/56353/extract-x-y-coordinate-of-an-arbitrary-point-on-curve-in-tikz
+\providecommand{\gettikzxy}[3]{%
+ \tikz@scan@one@point\pgfutil@firstofone#1\relax%
+ \edef#2{\the\pgf@x}%
+ \edef#3{\the\pgf@y}%
+}%
+%
+%%%%%%%%%%%%%%%
+% tikz keys for multiple use
+%%%%%%%%%%%%%%%
+%
+\pgfkeys{%
+ /tikz/trackschematic/.is family,%
+ /tikz/trackschematic/.cd,%
+ %% color foreground
+ foreground/.store in=\foreground,%
+ foreground=black,% DEFAULT
+ /tikz/foreground/.forward to=/tikz/trackschematic/foreground,%
+ %% color background
+ background/.store in=\background,%
+ background=white,% DEFAULT
+ /tikz/background/.forward to=/tikz/trackschematic/background,%
+ %% face
+ face/.value required,% forward, backward OR bidirectional
+ face/.store in=\face,% forward, backward OR bidirectional
+ /tikz/face/.forward to=/tikz/trackschematic/face,%
+ /tikz/forward/.code={\pgfkeys{/tikz/trackschematic/face=forward}},%
+ /tikz/backward/.code={\pgfkeys{/tikz/trackschematic/face=backward}},%
+ /tikz/bidirectional/.code={\pgfkeys{/tikz/trackschematic/face=bidirectional}},%
+ %% traffic practice
+ traffic practice/.value required,% left OR right
+ traffic practice/.store in=\trafficpractice,%
+ /tikz/traffic practice/.forward to=/tikz/trackschematic/traffic practice,%
+ /tikz/position/.forward to=/tikz/trackschematic/traffic practice,%
+ %% label
+ shift label/.store in=\labelcoord,% (coord)
+ shift label=(none),% DEFAULT
+ /tikz/shift label/.forward to=/tikz/trackschematic/shift label,%
+}%
+\tikzset{traffic practice=right}%
+%
+\definecolor{ts-signal-blue}{HTML}{013ADF}%
+% tikz keys
+\pgfkeys{%
+ /tikz/trackschematic/electrics/.is family,%
+ /tikz/trackschematic/electrics/.cd,%
+ %% color hectometer
+ signal color/.store in=\signalcolor,%
+ signal color=ts-signal-blue,% DEFAULT
+ /tikz/electrics signal color/.forward to=/tikz/trackschematic/electrics/signal color,%
+}%
+%%%%%%%%%%%%%%%%
+% symbol distant power off
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\distantpoweroff{}% just for safety
+\def\distantpoweroff[#1]#2(#3)#4(#5){% \distantpoweroff[options] at (coord) label (name);
+ \pic[#1] at (#3) {distant_power_off={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/distant_power_off/.default=,%
+ pics/distant_power_off/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.3) + \facefactor*( 0.45,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0,-0.05) + \facefactor*(-0.1,0)$)%
+ ($\trafficfactor*\facefactor*(0,-0.5) + \facefactor*( 0.45,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0, 0.05) + \facefactor*(-0.1,0)$);% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/distant_power_off/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_distant_power_off/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \distantpoweroff[forward] at (3,0) label ();%
+ },%
+}%
+%
+%%%%%%%%%%%%%%%%
+% symbol power off
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\poweroff{}% just for safety
+\def\poweroff[#1]#2(#3)#4(#5){% \poweroff[options] at (coord) label (name);
+ \pic[#1] at (#3) {power_off={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/power_off/.default=,%
+ pics/power_off/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.3) + \facefactor*( 0.5,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0,-0.05) + \facefactor*(-0.1,0)$)%
+ ($\trafficfactor*\facefactor*(0,-0.5) + \facefactor*( 0.5,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0, 0.05) + \facefactor*(-0.1,0)$)%
+ ($\trafficfactor*\facefactor*(0,-0.3) + \facefactor*( 0.3,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0,-0.2) + \facefactor*( 0.05,0)$);% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/power_off/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_power_off/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \poweroff[forward] at (3,0) label ();%
+ },%
+}%
+%
+%%%%%%%%%%%%%%%%
+% symbol power on
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\poweron{}% just for safety
+\def\poweron[#1]#2(#3)#4(#5){% \poweron[options] at (coord) label (name);
+ \pic[#1] at (#3) {power_on={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/power_on/.default=,%
+ pics/power_on/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.3) + \facefactor*( 0.475,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0,-0.05) + \facefactor*(-0.11,0)$)%
+ ($\trafficfactor*\facefactor*(0,-0.5) + \facefactor*( 0.475,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0, 0.05) + \facefactor*(-0.11,0)$);% symbol part1
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.3) + \facefactor*( 0.325,0)$) rectangle%
+ ++($\trafficfactor*\facefactor*(0,-0.2) + \facefactor*( 0.05,0)$);% symbol part2
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/power_on/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_power_on/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \poweron[forward] at (3,0) label ();%
+ },%
+}%
+%
+%%%%%%%%%%%%%%%%
+% symbol distant pantograph down
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\distantpantographdown{}% just for safety
+\def\distantpantographdown[#1]#2(#3)#4(#5){% \distantpantographdown[options] at (coord) label (name);
+ \pic[#1] at (#3) {distant_pantograph_down={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/distant_pantograph_down/.default=,%
+ pics/distant_pantograph_down/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.23) + \facefactor*( 0.35,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.2)$) -- ++($\facefactor*(-0.05,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.15)$) -- cycle%
+ ($\trafficfactor*\facefactor*(0,-0.57) + \facefactor*( 0.45,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.2)$) -- ++($\facefactor*(0.05,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.15)$) -- cycle;% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/distant_pantograph_down/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_distant_pantograph_down/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \distantpantographdown[forward] at (3,0) label ();%
+ },%
+}%
+%
+%
+%%%%%%%%%%%%%%%%
+% symbol pantograph down
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\pantographdown{}% just for safety
+\def\pantographdown[#1]#2(#3)#4(#5){% \pantographdown[options] at (coord) label (name);
+ \pic[#1] at (#3) {pantograph_down={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/pantograph_down/.default=,%
+ pics/pantograph_down/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.18) + \facefactor*( 0.4 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.03) + \facefactor*( 0.03,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.38)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.03) + \facefactor*(-0.03,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.03) + \facefactor*(-0.03,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.38)$) -- cycle;% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/pantograph_down/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_pantograph_down/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \pantographdown[forward] at (3,0) label ();%
+ },%
+}%
+%
+%
+%%%%%%%%%%%%%%%%
+% symbol pantograph up
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\pantographup{}% just for safety
+\def\pantographup[#1]#2(#3)#4(#5){% \pantographup[options] at (coord) label (name);
+ \pic[#1] at (#3) {pantograph_up={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/pantograph_up/.default=,%
+ pics/pantograph_up/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.4 ) + \facefactor*( 0.62,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.03) + \facefactor*(-0.03,0)$) --%
+ ++($\facefactor*(-0.38,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.03) + \facefactor*(-0.03,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.03) + \facefactor*( 0.03,0)$) --%
+ ++($\facefactor*( 0.38,0)$) -- cycle;% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/pantograph_up/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_pantograph_up/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \pantographup[forward] at (3,0) label ();%
+ },%
+}%
+%
+%
+%%%%%%%%%%%%%%%%
+% symbol wire limit
+%%%%%%%%%%%%%%%
+%% command
+\newcommand\wirelimit{}% just for safety
+\def\wirelimit[#1]#2(#3)#4(#5){% \wirelimit[options] at (coord) label (name);
+ \pic[#1] at (#3) {wire_limit={#2/#4/#5}}% symbol
+}%
+%%
+%% symbol definition
+\tikzset{%
+ pics/wire_limit/.default=,%
+ pics/wire_limit/.style args={#1/#2/#3}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ \def\labelcommand{#2}% beware of leading and tailing spaces!
+ \def\labelcontent{#3}%
+ %% symbol marker
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \pgfmathsetmacro{\facefactor}{1}%
+ \def\align{left}%
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \pgfmathsetmacro{\facefactor}{-1}%
+ \def\align{right}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}%
+ }%
+ }% end \ifdefstring{\face}
+ %
+ %% signal pole
+ \path[draw=\foreground,line width=1pt] (0,0) -- ++($\trafficfactor*\facefactor*(0,-0.4)$) -- ++($\facefactor*(0.4,0)$);% signal pole
+ %% signal marker
+ \path[draw=\foreground,line width=0.1pt,double=\background,double distance=0.5pt,fill=\signalcolor,rounded corners=0.1pt]%
+ ($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.4,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*(-0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.25,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.25) + \facefactor*( 0.25,0)$) -- cycle;% sign
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.25) + \facefactor*( 0.4 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*(-0.15,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.15) + \facefactor*( 0.15,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.15) + \facefactor*( 0.15,0)$) -- cycle;% symbol
+ \path[fill=\signalcolor]%
+ ($\trafficfactor*\facefactor*(0,-0.3 ) + \facefactor*( 0.4 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.1 ) + \facefactor*(-0.1 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.1 ) + \facefactor*( 0.1 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.1 ) + \facefactor*( 0.1 ,0)$) -- cycle;% symbol
+ \path[fill=\background]%
+ ($\trafficfactor*\facefactor*(0,-0.35) + \facefactor*( 0.4 ,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.05) + \facefactor*(-0.05,0)$) --%
+ ++($\trafficfactor*\facefactor*(0,-0.05) + \facefactor*( 0.05,0)$) --%
+ ++($\trafficfactor*\facefactor*(0, 0.05) + \facefactor*( 0.05,0)$) -- cycle;% symbol
+ %% label
+ \tikzset{every node/.style={text=\foreground,inner sep=1pt}};%
+ \ifdefstring{\labelcontent}{}{}{% label NOT empty
+ \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.4)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (label-coord) at ($(label-coord)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[\align] at (label-coord) {\footnotesize \labelcontent};%
+ }%
+ }},% END of pics/wire_limit/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_wire_limit/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \wirelimit[forward] at (3,0) label ();%
+ },%
+}%
+%
+%
+%%%%%%%%%%%%%%%
+% TODO:
+% * documentation
+%
+%%%%%%%%%%%%%%%
+\endinput%
+% \ No newline at end of file
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.messures.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.measures.code.tex
index 290701b919..ac63677391 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.messures.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.measures.code.tex
@@ -1,10 +1,13 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
-\ProvidesFileRCS{tikzlibrarytrackschematic.messures.code.tex}%
+\ProvidesFileRCS{tikzlibrarytrackschematic.measures.code.tex}%
%
%%%%%%%%%%%%%%%
% global settings
@@ -62,12 +65,12 @@
%
% tikz keys
\pgfkeys{%
- /tikz/trackschematic/messures/.is family,%
- /tikz/trackschematic/messures/.cd,%
+ /tikz/trackschematic/measures/.is family,%
+ /tikz/trackschematic/measures/.cd,%
%% color hectometer
color/.store in=\hectometercolor,%
color=\foreground!50!\background,% DEFAULT
- /tikz/hectometer color/.forward to=/tikz/trackschematic/messures/color,%
+ /tikz/hectometer color/.forward to=/tikz/trackschematic/measures/color,%
}%
%%%%%%%%%%%%%%%%
% symbol train berth
@@ -149,7 +152,12 @@
\node[fill=\background,text=\foreground,inner sep=1pt] at ($\facefactor*(0,-0.35)$) {\tiny \labelcontent};%
}{}%
}%
- }},% end pics/train_berth/.style args={#1/#2/#3}
+ }},% END pics/train_berth/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_train_berth/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \berth[forward] at (3,0) length (length);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -158,10 +166,18 @@
%
%% command
\newcommand\trackdistance{}% just for safety
-\def\trackdistance#1(#2)#3(#4)#5(#6){% \trackdistance between (coord1) and (coord2) label (distance);
+\def\trackdistance#1(#2)#3(#4)#5(#6){% \trackdistance between (coord1) and (coord2) distance (distance);
\path[draw=\background,<->,>={Stealth[\foreground,inset=0pt,angle=50:0.2cm]},shorten <=1pt,shorten >=1pt] (#2) -- (#4)% arrow tips
node[hectometer base=(current bounding box.center),text=\foreground,midway,sloped,rotate=90] {#6};% label
}%
+% symbology entry
+\tikzset{%
+ symbology_track_distance/.pic = {%
+ \maintrack (0,-0.5) -- (6,-0.5);%
+ \maintrack (0, 0.5) -- (6, 0.5);%
+ \trackdistance between (3, 0.5) and (3,-0.5) distance (distance);%
+ },%
+}%
%
%%%%%%%%%%%%%%%
% symbol hectometer posts
@@ -174,16 +190,16 @@
}%
% tikz keys
\pgfkeys{%
- /tikz/trackschematic/messures/hectometer/.is family,%
- /tikz/trackschematic/messures/hectometer/.cd,%
+ /tikz/trackschematic/measures/hectometer/.is family,%
+ /tikz/trackschematic/measures/hectometer/.cd,%
%% hectometer base
base/.value required,%
base/.store in=\basecoord,%
- /tikz/hectometer base/.forward to=/tikz/trackschematic/messures/hectometer/base,%
+ /tikz/hectometer base/.forward to=/tikz/trackschematic/measures/hectometer/base,%
%% hectometer base
orientation/.value required,%
orientation/.store in=\orientation,%
- /tikz/orientation/.forward to=/tikz/trackschematic/messures/hectometer/orientation,%
+ /tikz/orientation/.forward to=/tikz/trackschematic/measures/hectometer/orientation,%
}%
%% symbol definition
\tikzset{%
@@ -205,7 +221,7 @@
\ifdefstring{\orientation}{right}{% orientation
\def\align{left}%
}{% error message
- \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/messures/hectometer/orientation}{“left“ OR “right“ as key required}}%
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/measures/hectometer/orientation}{“left“ OR “right“ as key required}}%
}%
}% end \ifdefstring{\orientation}
%% calculation of coordinates
@@ -230,18 +246,48 @@
\ifdefstring{\labelcontent}{}{}{% label NOT empty
\node[font=\sffamily,text=\hectometercolor,rotate=-90,\orientation,align=\align,fill=\background] at (ts-hm-l) {\labelcontent};%
}%
- }},%
+ }},% END
+ % symbology entry
+ symbology_hectometer/.pic = {%
+ \tikzset{hectometer base={(0,-2)},orientation=right};%
+ \hectometer[] at (0,0) mileage (hectometer 1);%
+ \hectometer[] at (3,0) mileage (hectometer 2);%
+ \hectometer[shift label={(0.3,0)}] at (3.5,0) mileage (hectometer 3);%
+ \hectometer[] at (6,0) mileage (hectometer 4);%
+ },%
}%
%
%%%%%%%%%%%%%%%
-% symbol messureline
+% symbol measureline
+%%%%%%%%%%%%%%%
+%
+% command
+\newcommand\measureline{}% just for safety
+\def\measureline{\path[MeasureLine]}% \measureline (coord1) -- (coord2);
+%
+\tikzset{%
+ MeasureLine/.style={draw=\hectometercolor,dashed,shorten <=0.75cm,shorten >=0.75cm},
+ % symbology entry
+ symbology_measure_line/.pic = {%
+ \measureline (0,0) -- (6,0);%
+ },%
+}%
+%%%%%%%%%%%%%%%
+% symbol track marking
%%%%%%%%%%%%%%%
%
% command
-\newcommand\messureline{}% just for safety
-\def\messureline{\path[MessureLine]}% \maintrack (coord1) -- (coord2);
+\newcommand\trackmarking{}% just for safety
+\def\trackmarking[#1]{\path[draw,TrackMark,#1]}% \trackmarking[color] (coord1) -- (coord2);
%
-\tikzset{MessureLine/.style={draw=\hectometercolor,dashed,shorten <=0.75cm,shorten >=0.75cm}}%
+\tikzset{%
+ TrackMark/.style={line width=8pt, opacity=0.4, arrows = {Bar[line cap=round,line width=1pt,width=12pt]-Bar[line cap=round,line width=1pt,width=12pt]},shorten >=1pt,shorten <=1pt},
+ % symbology entry
+ symbology_track_marking/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \trackmarking[] (1,0) -- (5,0);%
+ },%
+}%
%
%%%%%%%%%%%%%%%
% TODO:
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex
index 8ca7a66982..368986cce4 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.topology.code.tex
@@ -1,6 +1,9 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
@@ -49,7 +52,6 @@
shift label=(none),% DEFAULT
/tikz/shift label/.forward to=/tikz/trackschematic/shift label,%
}%
-%
\pgfkeys{%
/tikz/trackschematic/topology/.is family,%
/tikz/trackschematic/topology/.cd,%
@@ -66,23 +68,32 @@
points=none,% DEFAULT
/tikz/points/.forward to=/tikz/trackschematic/topology/points,%
}%
-% options
+% options for turnout and slip turnout
\newtoggle{fouling_point}\settoggle{fouling_point}{false}%
%
%%%%%%%%%%%%%%%
% symbol track
%%%%%%%%%%%%%%%
%
-% tracks
+% commands
\newcommand\maintrack{}% just for safety
-\def\maintrack{\path[draw,MainTrack]}% \maintrack (coord1) -- (coord2);
+\def\maintrack{\path[draw=\foreground,MainTrack]}% \maintrack (coord1) -- (coord2);
\newcommand\secondarytrack{}% just for safety
-\def\secondarytrack{\path[draw,SecondaryTrack]}% \secondarytrack (coord1) -- (coord2);
+\def\secondarytrack{\path[draw=\foreground,SecondaryTrack]}% \secondarytrack (coord1) -- (coord2);
\newcommand\sidetrack{}% just for safety
\def\sidetrack{\path[draw,SecondaryTrack]}% alias for \secondarytrack
%
-\tikzset{MainTrack/.style={line width=2pt,\foreground}}%
-\tikzset{SecondaryTrack/.style={line width=0.7pt,\foreground}}%
+%% symbol definition
+\tikzset{%
+ MainTrack/.style={line width=2pt},%
+ % symbology entry
+ symbology_main_track/.pic = {\maintrack (0,0) -- (6,0);}%
+}%
+\tikzset{%
+ SecondaryTrack/.style={line width=0.7pt},%
+ % symbology entry
+ symbology_secondary_track/.pic = {\secondarytrack (0,0) -- (6,0);}%
+}%
%
%%%%%%%%%%%%%%%
% symbol track number
@@ -117,7 +128,13 @@
}%
\node at (ts-tl-l) {\labelcontent};%
}%
- }},%
+ }},% END pics/track_label/.style args={#1/#2/#3}
+ %
+ % symbology entry
+ symbology_track_label/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \tracklabel at (3,0) label (label);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -156,13 +173,26 @@
}%
}% end \ifdefstring{\face}
%% symbol
- \ifdefstring{\friction}{none}{% friction
- \path[draw=\foreground, line width=1pt] ($\facefactor*(-0.1,0) + (0,0.2)$) -- ++($\facefactor*( 0.1,0)$) -- ++(0,-0.4) -- ++ ($\facefactor*(-0.1,0)$); % bufferstop marker
- }{
- \path[draw=\foreground, line width=1pt] ($\facefactor*(-\friction,0) + \facefactor*( 0.1,0) + (0,0.2)$) -- ++($\facefactor*(-0.1,0)$) -- ++(0,-0.4) -- ++ ($\facefactor*( 0.1,0)$); % bufferstop marker
+ \ifdefstring{\friction}{none}{% none friction
+ \path[draw=\foreground, line width=1pt]%
+ ($\facefactor*(-0.1,0) + (0,0.2)$) -- ++($\facefactor*( 0.1,0)$) -- ++(0,-0.4) -- ++ ($\facefactor*(-0.1,0)$);% bufferstop marker
+ }{% friction
+ \path[draw=\foreground, line width=1pt]%
+ ($\facefactor*(-\friction,0) + \facefactor*(-0.05,0) + (0,0.2)$) -- ++($\facefactor*(0.1,0)$) -- ++(0,-0.4) -- ++ ($\facefactor*(-0.1,0)$);% bufferstop marker
\fill[\foreground] (0,0) circle (0.06);% track closure indicator
- }
- }},%
+ }%
+ }},% END pics/bufferstop/.style args={#1}
+ %
+ % symbology entry
+ symbology_bufferstop/.pic = {%
+ \secondarytrack (0,0) -- (3,0);%
+ \bufferstop[forward] at (3,0);%
+ },%
+ % symbology entry
+ symbology_friction_bufferstop/.pic = {%
+ \maintrack (0,0) -- (3,0);%
+ \bufferstop[forward,friction=.5] at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -174,6 +204,7 @@
\def\trackclosure#1(#2){% \trackclosure at (coord);
\pic at (#2) {track_closure={#1}}% symbol
}%
+% symbol definition
\tikzset{%
pics/track_closure/.default=,%
pics/track_closure/.style args={#1}{code={%
@@ -182,7 +213,13 @@
%%
\fill[\foreground] (0,0) circle (0.06);% track closure indicator
% \path[fill=\foreground] (0.04,0.02) -- (0.04,-0.02) -- (0.02,-0.04) -- (-0.02,-0.04) -- (-0.04,-0.02) -- (-0.04,0.02) -- (-0.02,0.04) -- (0.02,0.04) -- cycle;% label
- }},% end pics/track_closure/.style args={#1}
+ }},% END pics/track_closure/.style args={#1}
+ %
+ % symbology entry
+ symbology_track_closure/.pic = {%
+ \maintrack (0,0) -- (3,0);%
+ \trackclosure at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -304,7 +341,38 @@
}%
}% end \ifdefstring{\points}
%
- }},% end pics/turnout/.style args={#1/#2/#3}
+ }},% END pics/turnout/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_turnout/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left] at (3,0) label ();%
+ },%
+ symbology_turnout_fouling/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left,fouling point] at (3,0) label ();%
+ },%
+ symbology_turnout_manually/.pic = {%
+ \secondarytrack (0,0) -- (6,0);%
+ \secondarytrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left,operation=manual] at (3,0) label ();%
+ },%
+ symbology_turnout_points_right/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left,points=right] at (3,0) label ();%
+ },%
+ symbology_turnout_points_left/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left,points=left] at (3,0) label ();%
+ },%
+ symbology_turnout_points_moving/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \turnout[forward,branch=left,points=moving] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -369,26 +437,6 @@
}%
}%
}%
- %
- %% label
- \tikzset{every node/.style={text=\foreground}};%
- \ifdefstring{\labelcontentleft}{}{}{% label NOT empty
- \coordinate (ts-sy-l1) at ($(2pt,0) + \branchfactor*(0, 10pt)$);%
- \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
- \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
- \coordinate (ts-sy-l1) at ($(ts-sy-l1)+(\labelcoordX,\labelcoordY)$);%
- }%
- \node[left] at (ts-sy-l1) {\footnotesize \labelcontentleft};%
- }%
- \ifdefstring{\labelcontentright}{}{}{% label NOT empty
- \coordinate (ts-sy-l2) at ($(2pt,0) + \branchfactor*(0,-10pt)$);%
- \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
- \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
- \coordinate (ts-sy-l2) at ($(ts-sy-l2)-(\labelcoordX,\labelcoordY)$);%
- }%
- \node[right] at (ts-sy-l2) {\footnotesize \labelcontentright};%
- }%
- %
%% fouling point indicator
\iftoggle{fouling_point}{%
\path[draw=\foreground] ( 0.7,0) -- ++($\branchfactor*(0, 0.7)$);% fouling point indicator
@@ -471,13 +519,39 @@
}%
}%
%
- }},% end of pics/slipturnout/.style args={#1/#2/#3/#4}{
+ %% label
+ \tikzset{every node/.style={text=\foreground}};%
+ \ifdefstring{\labelcontentleft}{}{}{% label NOT empty
+ \coordinate (ts-sy-l1) at ($(2pt,0) + \branchfactor*(0, 10pt)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (ts-sy-l1) at ($(ts-sy-l1)+(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[left] at (ts-sy-l1) {\footnotesize \labelcontentleft};%
+ }%
+ \ifdefstring{\labelcontentright}{}{}{% label NOT empty
+ \coordinate (ts-sy-l2) at ($(2pt,0) + \branchfactor*(0,-10pt)$);%
+ \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default
+ \gettikzxy{\labelcoord}{\labelcoordX}{\labelcoordY}%
+ \coordinate (ts-sy-l2) at ($(ts-sy-l2)-(\labelcoordX,\labelcoordY)$);%
+ }%
+ \node[right] at (ts-sy-l2) {\footnotesize \labelcontentright};%
+ }%
+ %
+ }},% END of pics/slipturnout/.style args={#1/#2/#3/#4}
+ % symbology entry
+ symbology_slip_turnout/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \maintrack (3,0) -- ++(-0.8,-0.8);%
+ \slipturnout[branch=left] at (3,0) label ()();%
+ },%
}%
%
%%%%%%%%%%%%%%%
% symbol crossing - using parts of turnout
%%%%%%%%%%%%%%%
-%
+% command
\newcommand\crossing{}% just for safety
\def\crossing[#1]#2(#3)#4(#5){% \crossing[options] at (coord) label (name);
\pic[#1] at (#3) {crossing={#2/#4/#5}}% symbol
@@ -523,7 +597,14 @@
\path[draw=\foreground] (-0.7,0) -- ++($\branchfactor*(0,-0.7)$);% fouling point indicator
}{}%
%
- }},% end of pics/crossing/.style args={#1/#2/#3}{
+ }},% end of pics/crossing/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_diamond_crossing/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \maintrack (3,0) -- ++(0.8,0.8);%
+ \maintrack (3,0) -- ++(-0.8,-0.8);%
+ \crossing[branch=left] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -587,7 +668,12 @@
\node[right] at (ts-dr-l) {\footnotesize \labelcontent};%
}%
%
- }},%
+ }},% END pics/derailer/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_derailer/.pic = {%
+ \secondarytrack (0,0) -- (6,0);%
+ \derailer[forward,branch=left] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex
index d4a71850c6..07b2c09065 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.trafficcontrol.code.tex
@@ -1,6 +1,9 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
@@ -287,6 +290,56 @@
}{}%
}{}%
}},% end pics/signal/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_distant_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \distantsignal[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_distant_speed_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \distantsignal[forward,distant speed={s}] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_speed_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \speedsignal[forward,speed={s}] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_block_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \blocksignal[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_route_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \routesignal[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_combined_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \signal[distant,block,route,forward,distant speed={ds},speed={s}] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_shunt_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \shuntsignal[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_locked_shunt_signal/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \shuntsignal[forward,locked] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_shunt_limit/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \shuntlimit[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_berth_sign/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \berthsignal[forward] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -367,6 +420,21 @@
\node at (ts-cp-l) {\footnotesize \labelcontent};%
}%
}},% end pics/clearing_point/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_clearing_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \clearingpoint[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_block_clearing_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \blockclearing[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_route_clearing_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \routeclearing[forward] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -442,6 +510,26 @@
\node at (ts-tm-l) {\footnotesize \labelcontent};%
}%
}},% end pics/transmitter/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_transmitter/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \balise[] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_transmitter_forward/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \balise[forward] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_transmitter_bidirectional/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \balise[bidirectional] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_loop_transmitter/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \transmitter[type=loop] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -489,7 +577,12 @@
($\facefactor*(0.55,0) + \facefactor*\trafficfactor*(0,-0.55)$) and%
($\facefactor*(0.55,0) + \facefactor*\trafficfactor*(0,-0.25)$) ..%
($\facefactor*(0.4, 0) + \facefactor*\trafficfactor*(0,-0.15)$) --cycle;% eye contour
- }},%
+ }},% END pics/view_point/.style args={#1}
+ % symbology entry
+ symbology_view_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \viewpoint[forward] at (3,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -548,7 +641,12 @@
}%
\node[\align] at (ts-ma-l) {\footnotesize \labelcontent};%
}%
- }},% end pics/movement_authority_marker/.style args={#1/#2/#3}
+ }},% END pics/movement_authority_marker/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_end_of_authority/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \movementauthority[forward] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -608,7 +706,12 @@
}%
\node[\align] at (ts-bp-l) {\footnotesize \labelcontent};%
}%
- }},% end pics/braking_point_marker/.style args={#1/#2/#3}
+ }},% END pics/braking_point_marker/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_braking_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \brakingpoint[forward] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -669,7 +772,12 @@
}%
\node at (ts-dp-l) {\footnotesize \labelcontent};%
}%
- }},% end pics/danger_point_marker/.style args={#1/#2/#3}
+ }},% END pics/danger_point_marker/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_danger_point/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \dangerpoint[forward] at (3,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%
@@ -700,7 +808,87 @@
\fill[\foreground] ($\facefactor*(-0.175,0)+(0,-0.15)$) --%
($\facefactor*(-0.175,0)+(0, 0.15)$) --%
($\facefactor*( 0.175,0)+(0, 0 )$) -- cycle;%
- }},%
+ }},% END pics/route/.style args={#1}
+ % symbology entry
+ symbology_route/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \route[forward] at (3,0);%
+ },%
+}%
+%
+%%%%%%%%%%%%%%%
+% symbol direction control
+%%%%%%%%%%%%%%%
+% command
+\newcommand\directioncontrol{}% just for safety
+\def\directioncontrol[#1]#2(#3){% \directioncontrol[options] at (coord);
+ \pic[#1] at (#3) {direction_control={#2}}% symbol
+}%
+% symbol definition
+\tikzset{%
+ pics/direction_control/.default=,%
+ pics/direction_control/.style args={#1}{code={%
+ %% settings
+ \def\coordcommand{#1}% beware of leading and tailing spaces!
+ %
+ %% traffic practice setup
+ \ifdefstring{\trafficpractice}{left}{% branch
+ \pgfmathsetmacro{\trafficfactor}{-1}%
+ }{%
+ \ifdefstring{\trafficpractice}{right}{% branch
+ \pgfmathsetmacro{\trafficfactor}{1}%
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/traffic practice}{“left“ OR “right“ as key required}}%
+ }%
+ }% end \ifdefstring{\trafficpractice}
+ %
+ %% face setup
+ \ifdefstring{\face}{forward}{% face
+ \path[draw=\foreground,line width=0.5pt,densely dotted]%
+ ($\trafficfactor*(0,0.1) + (-0.0125,0)$) -- ($\trafficfactor*(0,0.25) + (-0.2125,0)$) -- ($\trafficfactor*(0,0.4) + (-0.0125,0)$) --%
+ ($\trafficfactor*(0,0.325) + (-0.0125,0)$) -- ($\trafficfactor*(0,0.325) + (0.1875,0)$) -- ($\trafficfactor*(0,0.175) + (0.1875,0)$) --%
+ ($\trafficfactor*(0,0.175) + (-0.0125,0)$) -- cycle;% arrow backward
+ \fill[\foreground]%
+ ($\trafficfactor*(0,-0.1) + (0.0125,0)$) -- ($\trafficfactor*(0,-0.25) + (0.2125,0)$) -- ($\trafficfactor*(0,-0.4) + (0.0125,0)$) --%
+ ($\trafficfactor*(0,-0.325) + (0.0125,0)$) -- ($\trafficfactor*(0,-0.325)+(-0.1875,0)$) -- ($\trafficfactor*(0,-0.175) + (-0.1875,0)$) --%
+ ($\trafficfactor*(0,-0.175) + (0.0125,0)$) -- cycle;% arrow forward
+ }{%
+ \ifdefstring{\face}{backward}{% face
+ \fill[\foreground]%
+ ($\trafficfactor*(0,0.1) + (-0.0125,0)$) -- ($\trafficfactor*(0,0.25) + (-0.2125,0)$) -- ($\trafficfactor*(0,0.4) + (-0.0125,0)$) --%
+ ($\trafficfactor*(0,0.325) + (-0.0125,0)$) -- ($\trafficfactor*(0,0.325) + (0.1875,0)$) -- ($\trafficfactor*(0,0.175) + (0.1875,0)$) --%
+ ($\trafficfactor*(0,0.175) + (-0.0125,0)$) -- cycle;% arrow backward
+ \path[draw=\foreground,line width=0.5pt,densely dotted]%
+ ($\trafficfactor*(0,-0.1) + (0.0125,0)$) -- ($\trafficfactor*(0,-0.25) + (0.2125,0)$) -- ($\trafficfactor*(0,-0.4) + (0.0125,0)$) --%
+ ($\trafficfactor*(0,-0.325)+(0.0125,0)$) -- ($\trafficfactor*(0,-0.325)+(-0.1875,0)$) -- ($\trafficfactor*(0,-0.175) + (-0.1875,0)$) --%
+ ($\trafficfactor*(0,-0.175) + (0.0125,0)$) -- cycle;% arrow forward
+ }{
+ \ifdefstring{\face}{bidirectional}{% face
+ \path[draw=\foreground,line width=0.5pt]%
+ ($\trafficfactor*(0,0.1) + (-0.0125,0)$) -- ($\trafficfactor*(0,0.25) + (-0.2125,0)$) -- ($\trafficfactor*(0,0.4) + (-0.0125,0)$) --%
+ ($\trafficfactor*(0,0.325) +(-0.0125,0)$) -- ($\trafficfactor*(0,0.325) +(0.1875,0)$) -- ($\trafficfactor*(0,0.175) + (0.1875,0)$) --%
+ ($\trafficfactor*(0,0.175) + (-0.0125,0)$) -- cycle;% arrow backward
+ \path[draw=\foreground,line width=0.5pt]%
+ ($\trafficfactor*(0,-0.1) + (0.0125,0)$) -- ($\trafficfactor*(0,-0.25) + (0.2125,0)$) -- ($\trafficfactor*(0,-0.4) + (0.0125,0)$) --%
+ ($\trafficfactor*(0,-0.325)+(0.0125,0)$) -- ($\trafficfactor*(0,-0.325)+(-0.1875,0)$) -- ($\trafficfactor*(0,-0.175)+(-0.1875,0)$) --%
+ ($\trafficfactor*(0,-0.175) + (0.0125,0)$) -- cycle;% arrow forward
+ }{% error message
+ \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“, “backward“ OR “bidirectional“ as key required}}%
+ }%
+ }%
+ }% end \ifdefstring{\face}
+ %% frame
+ % \path[draw=\foreground,line width=0.5pt]%
+ % (-0.3, 0.1) -- (-0.3, 0.5) -- (0.3, 0.5) -- (0.3, 0.1)
+ % (-0.3,-0.1) -- (-0.3,-0.5) -- (0.3,-0.5) -- (0.3,-0.1);
+ }},% END pics/direction_control/.style args={#1}
+ % symbology entry
+ symbology_direction_control/.pic = {%
+ \maintrack (0,0) -- (2.9,0);%
+ \maintrack (3.1,0) -- (6,0);%
+ \directioncontrol[bidirectional] at (2,0);%
+ \directioncontrol[forward] at (4,0);%
+ },%
}%
%
%%%%%%%%%%%%%%%
diff --git a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex
index 8ba0aeaa1b..cf8aad3898 100644
--- a/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex
+++ b/graphics/pgf/contrib/tikz-trackschematic/tikzlibrarytrackschematic.vehicles.code.tex
@@ -1,6 +1,9 @@
+%!TEX TS-program = pdflatexmk
+%!TEX root = ../test/test.tex
+%
%% symbol library for TikZ track schematics
%
-% Copyright (c) 2018 - 2020, Martin Scheidt (ISC license)
+% Copyright (c) 2018 - 2021, 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.
%
@@ -449,7 +452,57 @@
}% \ifdefstring{\labelalign}{center}
\node[text=\foreground,anchor=\labelanchor,align=\labelalign] at (ts-v-l) {\footnotesize\emph{\labelcontent}};% label
}%
- }},%
+ }},% END pics/vehicles/.style args={#1/#2/#3}
+ % symbology entry
+ symbology_parked_vehicles/.pic = {%
+ \secondarytrack (0,0) -- (6,0);%
+ \parkedvehicles[] at (3,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_shunt_mode/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \shunting[forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_shunting/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \shunting[movement,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_moving_slow/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[run=slow,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_moving/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[run=normal,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_moving_fast/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[run=fast,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_ghost/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[ghost,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_drive_automatic/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[operation=automatic,forward] at (5,0) label ();%
+ },%
+ % symbology entry
+ symbology_train_drive_human/.pic = {%
+ \maintrack (0,0) -- (6,0);%
+ \train[operation=manual,forward] at (5,0) label ();%
+ },%
}%
%
%%%%%%%%%%%%%%%