diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c430eb..d3fbc9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,12 +10,12 @@ Categories: Added, Changed, Deprecated, Removed, Fixed, and Security. ### Added - * interlocking symbols for other than manual interlockings - * i18n support + * unified build script for development ### Changed - * transmitters for balises + * revised symbol and syntax for balises + * the track loop was separated from the balises * replaced "\gettikzxy" with "\path let" syntax * label placement for derailers diff --git a/doc/manual.pdf b/doc/manual.pdf index 144d8e5..27f472a 100644 Binary files a/doc/manual.pdf and b/doc/manual.pdf differ diff --git a/doc/manual.tex b/doc/manual.tex index e95d3f3..e720bbf 100644 --- a/doc/manual.tex +++ b/doc/manual.tex @@ -221,6 +221,7 @@ The default traffic practice for this library ist right-hand traffic. You can change it either globally or locally with the key \texttt{traffic practice=left}. There is also the alias \texttt{position} for single local entries. + \begin{minipage}[c]{0.65\textwidth} \begin{lstlisting}[gobble=8] \documentclass{standalone} @@ -1025,46 +1026,40 @@ \subsubsection{Transmitters}\label{sec:transmitters} - \symboldescription{Generic transmitter command}\label{sym:generictransmitter} - \begin{lstlisting}[gobble=10] - \transmitter[options] at (coord) label (name); - \end{lstlisting} - values for \texttt{options} (comma seperated): - \begin{itemize}[label={}] - \item \texttt{type=balise} or \texttt{type=loop} (mandatory) - \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (optional) - \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice}) - \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0)) - \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black}) - \end{itemize} - - \symboldescription{Balise}\label{sym:balise} - \tsSymbol{transmitter_forward} + \tsSymbol{balise_group} + \tsSymbol{balise_individual} \begin{lstlisting}[gobble=10] \balise[options] at (coord) label (name); \end{lstlisting} values for \texttt{options} (comma seperated): \begin{itemize}[label={}] - \item \texttt{forward}, \texttt{backward} or \texttt{bidirectional} (optional) + \item \texttt{forward}, or \texttt{backward} (mandatory) \item \texttt{position=left} or \texttt{position=right} (optional, default: \textit{traffic practice}) + \item \texttt{switched} (optional) \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0)) \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black}) \end{itemize} - This command is equivalent to: - \begin{lstlisting}[gobble=10] - \transmitter[type=balise,options] at (coord) label (name); - \end{lstlisting} + The basic state is one in which the individual balises are not shown. The direction of the balises is the same as the direction of action. The direction of the balises is indicated by the orientation of the label. The \texttt{switched} option changes the symbol over the entire length. + \begin{itemize}[label={}] + \item \texttt{along=\{\textit{comma separated list of integers}\}} (optional) + \item \texttt{oppose=\{\textit{comma separated list of integers}\}} (optional) + \item \texttt{along switched=\{\textit{comma separated list of integers}\}} (optional) + \item \texttt{oppose switched=\{\textit{comma separated list of integers}\}} (optional) + \item \texttt{index} (optional) + \end{itemize} + If individual balises are to be shown, they are indicated via the \texttt{along} or \texttt{along switched} with the direction of the balise and with \texttt{oppose} or \texttt{oppose switched} against the balise. A list with integer values is passed to the parameter. The list starts with 0. For example, three individual balises are drawn with the list \{0,1,3\} and the balise at position 2 is left out. With the option \texttt{index}, the index number can also be displayed. If one of the options \texttt{along}, \texttt{along switched}, \texttt{oppose}, or \texttt{oppose switched} is set, the \texttt{switched} option is ignored. \mbox{}\\[0.2cm] Symbology entry as seen at top: \begin{lstlisting}[gobble=10] - \tsSymbol{transmitter_forward}% TeX environment + \tsSymbol{balise_group}% TeX environment + \tsSymbol{balise_individual}% TeX environment \end{lstlisting} \symboldescription{Loop}\label{sym:loop} - \tsSymbol{loop_transmitter} + \tsSymbol{trackloop} \begin{lstlisting}[gobble=10] \trackloop[options] at (coord) label (name); \end{lstlisting} @@ -1074,15 +1069,11 @@ \item \texttt{shift label=\{\textit{(label-coord)}\}} (optional, default: (0,0)) \item \texttt{foreground=\textit{color}} (optional, default: \texttt{black}) \end{itemize} - This command is equivalent to: - \begin{lstlisting}[gobble=10] - \transmitter[type=loop,options] at (coord) label (name); - \end{lstlisting} \mbox{}\\[0.2cm] Symbology entry as seen at top: \begin{lstlisting}[gobble=10] - \tsSymbol{loop_transmitter}% TeX environment + \tsSymbol{trackloop}% TeX environment \end{lstlisting} @@ -1590,13 +1581,11 @@ \hline \No & direction control & \tsSymbol{direction_control} & \ref{sec:routes} \\ \hline - \No & transmitter & \tsSymbol{transmitter} & \ref{sec:transmitters} \\ + \No & balise group & \tsSymbol{balise_group} & \ref{sec:transmitters} \\ \hline - \No & transmitter effective forward & \tsSymbol{transmitter_forward} & \ref{sec:transmitters} \\ + \No & balise individual & \tsSymbol{balise_individual} & \ref{sec:transmitters} \\ \hline - \No & transmitter bidirectional & \tsSymbol{transmitter_bidirectional} & \ref{sec:transmitters} \\ - \hline - \No & loop transmitter & \tsSymbol{loop_transmitter} & \ref{sec:transmitters} \\ + \No & track loop & \tsSymbol{trackloop} & \ref{sec:transmitters} \\ \hline \No & platform & \tsSymbol[1.4]{platform} & \ref{sec:constructions} \\ \hline diff --git a/doc/snippets.pdf b/doc/snippets.pdf index 3e56b32..09ba139 100644 Binary files a/doc/snippets.pdf and b/doc/snippets.pdf differ diff --git a/doc/snippets.tex b/doc/snippets.tex index e7ddbcd..4823dcb 100644 --- a/doc/snippets.tex +++ b/doc/snippets.tex @@ -569,33 +569,33 @@ No. & Name & Clip & Code & Manual reference\\ %% 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} & +\No & balise (forward \& backward) & +\symbol{balises.tikz} & \code{balises.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} & +\No & \parbox[c]{5cm}{balise (forward)\\with signal} & +\symbol{balise_forward_with_signal.tikz} & \code{balise_forward_with_signal.tikz} & +\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:balise} p. \pageref{sym:balise} \\ \& \\ Section \ref{sym:routesignal} p. \pageref{sym:routesignal}} \\ + +\hline +\No & \parbox[c]{5cm}{balise (forward \& backward)\\ switched} & +\symbol{balise_switched.tikz} & \code{balise_switched.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} & +\No & \parbox[c]{5cm}{individual balises\\ (forward \& backward)} & +\symbol{individual_balises.tikz} & \code{individual_balises.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} & +\No & \parbox[c]{5cm}{individual balises\\ (forward \& backward) mixed} & +\symbol{individual_balises_mixed.tikz} & \code{individual_balises_mixed.tikz} & +\parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:balise} p. \pageref{sym:balise}} \\ + +\hline +\No & track loop & +\symbol{trackloop.tikz} & \code{trackloop.tikz} & \parbox[c]{4cm}{\centering\texttt{trafficcontrol} \\ Section \ref{sym:loop} p. \pageref{sym:loop}} \\ %%%%%%%%%%%%%%%%%%%%% diff --git a/doc/snippets/transmitter_right_with_signal.tikz b/doc/snippets/balise_forward_with_signal.tikz similarity index 93% rename from doc/snippets/transmitter_right_with_signal.tikz rename to doc/snippets/balise_forward_with_signal.tikz index 167e599..5572146 100644 --- a/doc/snippets/transmitter_right_with_signal.tikz +++ b/doc/snippets/balise_forward_with_signal.tikz @@ -11,4 +11,4 @@ \maintrack (A) -- (B); \routesignal[forward] at (S) label (); -\balise[] at (S) label (); \ No newline at end of file +\balise[forward] at (S) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter_forward.tikz b/doc/snippets/balise_switched.tikz similarity index 82% rename from doc/snippets/transmitter_forward.tikz rename to doc/snippets/balise_switched.tikz index 9566fbb..567c8a3 100644 --- a/doc/snippets/transmitter_forward.tikz +++ b/doc/snippets/balise_switched.tikz @@ -11,5 +11,5 @@ \maintrack (A) -- (B); -\balise[forward] at (T1) label (); -\balise[forward,position=left] at (T2) label (); \ No newline at end of file +\balise[forward,switched] at (T1) label (); +\balise[backward,switched] at (T2) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter.tikz b/doc/snippets/balises.tikz similarity index 85% rename from doc/snippets/transmitter.tikz rename to doc/snippets/balises.tikz index 584611e..6626de1 100644 --- a/doc/snippets/transmitter.tikz +++ b/doc/snippets/balises.tikz @@ -11,5 +11,5 @@ \maintrack (A) -- (B); -\balise[] at (T1) label (); -\balise[position=left] at (T2) label (); \ No newline at end of file +\balise[forward] at (T1) label (); +\balise[backward] at (T2) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter_backward.tikz b/doc/snippets/individual_balises.tikz similarity index 81% rename from doc/snippets/transmitter_backward.tikz rename to doc/snippets/individual_balises.tikz index f60d083..a2d53d0 100644 --- a/doc/snippets/transmitter_backward.tikz +++ b/doc/snippets/individual_balises.tikz @@ -11,5 +11,5 @@ \maintrack (A) -- (B); -\balise[backward] at (T1) label (); -\balise[backward,position=left] at (T2) label (); \ No newline at end of file +\balise[forward,along={0,1,2,3}] at (T1) label (A); +\balise[backward,along={0,1,2,3}] at (T2) label (B); \ No newline at end of file diff --git a/doc/snippets/transmitter_bidirectional.tikz b/doc/snippets/individual_balises_mixed.tikz similarity index 65% rename from doc/snippets/transmitter_bidirectional.tikz rename to doc/snippets/individual_balises_mixed.tikz index 6216a48..e8004ac 100644 --- a/doc/snippets/transmitter_bidirectional.tikz +++ b/doc/snippets/individual_balises_mixed.tikz @@ -11,5 +11,17 @@ \maintrack (A) -- (B); -\balise[bidirectional] at (T1) label (); -\balise[bidirectional,position=left] at (T2) label (); \ No newline at end of file +\balise[ + forward, + along={0,1,3}, + along switched={2}, + oppose={0,2}, +] at (T1) label (A); +\balise[ + backward, + along={0,1,3}, + along switched={2}, + oppose={0,2,3}, + oppose switched={1}, + index % show index number +] at (T2) label (B); \ No newline at end of file diff --git a/doc/snippets/loop_transmitter.tikz b/doc/snippets/loop_transmitter.tikz deleted file mode 100644 index 65b490a..0000000 --- a/doc/snippets/loop_transmitter.tikz +++ /dev/null @@ -1,13 +0,0 @@ -%!TEX TS-program = pdflatexmk -%!TEX root = ../snippets.tex - -% Copyright (c) 2018 - 2022, 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 (T) at (3,0); - -\maintrack (A) -- (B); - -\transmitter[type=loop] at (T) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter_right.tikz b/doc/snippets/trackloop.tikz similarity index 93% rename from doc/snippets/transmitter_right.tikz rename to doc/snippets/trackloop.tikz index 683e435..e5b6be3 100644 --- a/doc/snippets/transmitter_right.tikz +++ b/doc/snippets/trackloop.tikz @@ -10,4 +10,4 @@ \maintrack (A) -- (B); -\balise[] at (T) label (); \ No newline at end of file +\trackloop[] at (T) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter_right_bidirectional.tikz b/doc/snippets/transmitter_right_bidirectional.tikz deleted file mode 100644 index d0bd7dc..0000000 --- a/doc/snippets/transmitter_right_bidirectional.tikz +++ /dev/null @@ -1,13 +0,0 @@ -%!TEX TS-program = pdflatexmk -%!TEX root = ../snippets.tex - -% Copyright (c) 2018 - 2022, 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 (T) at (3,0); - -\maintrack (A) -- (B); - -\balise[bidirectional] at (T) label (); \ No newline at end of file diff --git a/doc/snippets/transmitter_right_forward.tikz b/doc/snippets/transmitter_right_forward.tikz deleted file mode 100644 index df0a2fc..0000000 --- a/doc/snippets/transmitter_right_forward.tikz +++ /dev/null @@ -1,13 +0,0 @@ -%!TEX TS-program = pdflatexmk -%!TEX root = ../snippets.tex - -% Copyright (c) 2018 - 2022, 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 (T) at (3,0); - -\maintrack (A) -- (B); - -\balise[forward] at (T) label (); \ No newline at end of file diff --git a/doc/symbology-table.pdf b/doc/symbology-table.pdf index 0b3b5a2..e695d6e 100644 Binary files a/doc/symbology-table.pdf and b/doc/symbology-table.pdf differ diff --git a/doc/symbology/symbols_pdf/transmitter_backward_left.pdf b/doc/symbology/symbols_pdf/transmitter_backward_left.pdf deleted file mode 100644 index a752310..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_backward_left.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_backward_right.pdf b/doc/symbology/symbols_pdf/transmitter_backward_right.pdf deleted file mode 100644 index 68c37ce..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_backward_right.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_bidirectional_left.pdf b/doc/symbology/symbols_pdf/transmitter_bidirectional_left.pdf deleted file mode 100644 index a24a174..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_bidirectional_left.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_bidirectional_right.pdf b/doc/symbology/symbols_pdf/transmitter_bidirectional_right.pdf deleted file mode 100644 index 3efe779..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_bidirectional_right.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_forward_left.pdf b/doc/symbology/symbols_pdf/transmitter_forward_left.pdf deleted file mode 100644 index a5a7f52..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_forward_left.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_forward_right.pdf b/doc/symbology/symbols_pdf/transmitter_forward_right.pdf deleted file mode 100644 index 809f7ba..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_forward_right.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_left.pdf b/doc/symbology/symbols_pdf/transmitter_left.pdf deleted file mode 100644 index 0f15937..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_left.pdf and /dev/null differ diff --git a/doc/symbology/symbols_pdf/transmitter_right.pdf b/doc/symbology/symbols_pdf/transmitter_right.pdf deleted file mode 100644 index 21225c9..0000000 Binary files a/doc/symbology/symbols_pdf/transmitter_right.pdf and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_backward_left.png b/doc/symbology/symbols_png/transmitter_backward_left.png deleted file mode 100644 index 6f9f250..0000000 Binary files a/doc/symbology/symbols_png/transmitter_backward_left.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_backward_right.png b/doc/symbology/symbols_png/transmitter_backward_right.png deleted file mode 100644 index c473c05..0000000 Binary files a/doc/symbology/symbols_png/transmitter_backward_right.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_bidirectional_left.png b/doc/symbology/symbols_png/transmitter_bidirectional_left.png deleted file mode 100644 index af67ef1..0000000 Binary files a/doc/symbology/symbols_png/transmitter_bidirectional_left.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_bidirectional_right.png b/doc/symbology/symbols_png/transmitter_bidirectional_right.png deleted file mode 100644 index d62fe82..0000000 Binary files a/doc/symbology/symbols_png/transmitter_bidirectional_right.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_forward_left.png b/doc/symbology/symbols_png/transmitter_forward_left.png deleted file mode 100644 index 5c4bef6..0000000 Binary files a/doc/symbology/symbols_png/transmitter_forward_left.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_forward_right.png b/doc/symbology/symbols_png/transmitter_forward_right.png deleted file mode 100644 index a32b526..0000000 Binary files a/doc/symbology/symbols_png/transmitter_forward_right.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_left.png b/doc/symbology/symbols_png/transmitter_left.png deleted file mode 100644 index ae72098..0000000 Binary files a/doc/symbology/symbols_png/transmitter_left.png and /dev/null differ diff --git a/doc/symbology/symbols_png/transmitter_right.png b/doc/symbology/symbols_png/transmitter_right.png deleted file mode 100644 index f2c6541..0000000 Binary files a/doc/symbology/symbols_png/transmitter_right.png and /dev/null differ diff --git a/doc/symbology/symbols_svg/transmitter_backward_left.svg b/doc/symbology/symbols_svg/transmitter_backward_left.svg deleted file mode 100644 index ac3cb03..0000000 --- a/doc/symbology/symbols_svg/transmitter_backward_left.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_backward_right.svg b/doc/symbology/symbols_svg/transmitter_backward_right.svg deleted file mode 100644 index 37b5da2..0000000 --- a/doc/symbology/symbols_svg/transmitter_backward_right.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_bidirectional_left.svg b/doc/symbology/symbols_svg/transmitter_bidirectional_left.svg deleted file mode 100644 index 3c55e87..0000000 --- a/doc/symbology/symbols_svg/transmitter_bidirectional_left.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_bidirectional_right.svg b/doc/symbology/symbols_svg/transmitter_bidirectional_right.svg deleted file mode 100644 index 42fe4e8..0000000 --- a/doc/symbology/symbols_svg/transmitter_bidirectional_right.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_forward_left.svg b/doc/symbology/symbols_svg/transmitter_forward_left.svg deleted file mode 100644 index 3b35b42..0000000 --- a/doc/symbology/symbols_svg/transmitter_forward_left.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_forward_right.svg b/doc/symbology/symbols_svg/transmitter_forward_right.svg deleted file mode 100644 index ce8fec7..0000000 --- a/doc/symbology/symbols_svg/transmitter_forward_right.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_left.svg b/doc/symbology/symbols_svg/transmitter_left.svg deleted file mode 100644 index 25f32f7..0000000 --- a/doc/symbology/symbols_svg/transmitter_left.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_svg/transmitter_right.svg b/doc/symbology/symbols_svg/transmitter_right.svg deleted file mode 100644 index 7fa5d76..0000000 --- a/doc/symbology/symbols_svg/transmitter_right.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/doc/symbology/symbols_tikz/transmitter_left.tikz b/doc/symbology/symbols_tikz/balise_backward_group.tikz similarity index 84% rename from doc/symbology/symbols_tikz/transmitter_left.tikz rename to doc/symbology/symbols_tikz/balise_backward_group.tikz index 4fcc3e1..e92ccf0 100644 --- a/doc/symbology/symbols_tikz/transmitter_left.tikz +++ b/doc/symbology/symbols_tikz/balise_backward_group.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[position=left] at (A) label (); +\balise[backward] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_forward_left.tikz b/doc/symbology/symbols_tikz/balise_backward_group_switched.tikz similarity index 82% rename from doc/symbology/symbols_tikz/transmitter_forward_left.tikz rename to doc/symbology/symbols_tikz/balise_backward_group_switched.tikz index 267fc48..f9fa83c 100644 --- a/doc/symbology/symbols_tikz/transmitter_forward_left.tikz +++ b/doc/symbology/symbols_tikz/balise_backward_group_switched.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[forward,position=left] at (A) label (); +\balise[backward,switched] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_forward_right.tikz b/doc/symbology/symbols_tikz/balise_backward_individual.tikz similarity index 82% rename from doc/symbology/symbols_tikz/transmitter_forward_right.tikz rename to doc/symbology/symbols_tikz/balise_backward_individual.tikz index e042aab..7c8b11b 100644 --- a/doc/symbology/symbols_tikz/transmitter_forward_right.tikz +++ b/doc/symbology/symbols_tikz/balise_backward_individual.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[forward,position=right] at (A) label (); +\balise[backward,along={0}] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_bidirectional_left.tikz b/doc/symbology/symbols_tikz/balise_backward_individual_switched.tikz similarity index 81% rename from doc/symbology/symbols_tikz/transmitter_bidirectional_left.tikz rename to doc/symbology/symbols_tikz/balise_backward_individual_switched.tikz index cb03483..9457723 100644 --- a/doc/symbology/symbols_tikz/transmitter_bidirectional_left.tikz +++ b/doc/symbology/symbols_tikz/balise_backward_individual_switched.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[bidirectional,position=left] at (A) label (); +\balise[backward,along switched={0}] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_right.tikz b/doc/symbology/symbols_tikz/balise_forward_group.tikz similarity index 84% rename from doc/symbology/symbols_tikz/transmitter_right.tikz rename to doc/symbology/symbols_tikz/balise_forward_group.tikz index e463898..755880a 100644 --- a/doc/symbology/symbols_tikz/transmitter_right.tikz +++ b/doc/symbology/symbols_tikz/balise_forward_group.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[position=right] at (A) label (); +\balise[forward] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/balise_forward_group_switched.tikz b/doc/symbology/symbols_tikz/balise_forward_group_switched.tikz new file mode 100644 index 0000000..c1f65b2 --- /dev/null +++ b/doc/symbology/symbols_tikz/balise_forward_group_switched.tikz @@ -0,0 +1,9 @@ +% Copyright (c) 2018 - 2022, 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); + +\balise[forward,switched] at (A) label (); + +% anchor +\anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/balise_forward_individual.tikz b/doc/symbology/symbols_tikz/balise_forward_individual.tikz new file mode 100644 index 0000000..b5bf1f3 --- /dev/null +++ b/doc/symbology/symbols_tikz/balise_forward_individual.tikz @@ -0,0 +1,9 @@ +% Copyright (c) 2018 - 2022, 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); + +\balise[forward,along={0}] at (A) label (); + +% anchor +\anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_backward_left.tikz b/doc/symbology/symbols_tikz/balise_forward_individual_switched.tikz similarity index 81% rename from doc/symbology/symbols_tikz/transmitter_backward_left.tikz rename to doc/symbology/symbols_tikz/balise_forward_individual_switched.tikz index 6df7008..da560d6 100644 --- a/doc/symbology/symbols_tikz/transmitter_backward_left.tikz +++ b/doc/symbology/symbols_tikz/balise_forward_individual_switched.tikz @@ -3,7 +3,7 @@ \coordinate (A) at (0,0); -\balise[backward,position=left] at (A) label (); +\balise[forward,along switched={0}] at (A) label (); % anchor \anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/trackloop.tikz b/doc/symbology/symbols_tikz/trackloop.tikz new file mode 100644 index 0000000..9a03690 --- /dev/null +++ b/doc/symbology/symbols_tikz/trackloop.tikz @@ -0,0 +1,9 @@ +% Copyright (c) 2018 - 2022, 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); + +\trackloop[] at (A) label (); + +% anchor +\anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_backward_right.tikz b/doc/symbology/symbols_tikz/transmitter_backward_right.tikz deleted file mode 100644 index 01fb42c..0000000 --- a/doc/symbology/symbols_tikz/transmitter_backward_right.tikz +++ /dev/null @@ -1,9 +0,0 @@ -% Copyright (c) 2018 - 2022, 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); - -\balise[backward,position=right] at (A) label (); - -% anchor -\anchor at (A); \ No newline at end of file diff --git a/doc/symbology/symbols_tikz/transmitter_bidirectional_right.tikz b/doc/symbology/symbols_tikz/transmitter_bidirectional_right.tikz deleted file mode 100644 index 8bbb538..0000000 --- a/doc/symbology/symbols_tikz/transmitter_bidirectional_right.tikz +++ /dev/null @@ -1,9 +0,0 @@ -% Copyright (c) 2018 - 2022, 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); - -\balise[bidirectional,position=right] at (A) label (); - -% anchor -\anchor at (A); \ No newline at end of file diff --git a/src/tikzlibrarytrackschematic.symbology.code.tex b/src/tikzlibrarytrackschematic.symbology.code.tex index fa180a2..7d70794 100644 --- a/src/tikzlibrarytrackschematic.symbology.code.tex +++ b/src/tikzlibrarytrackschematic.symbology.code.tex @@ -94,10 +94,9 @@ \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{balise_group} & unenumerated balise group (switchable) \\% + \tsSymbol{balise_individual} & individual balises (switchable) \\% + \tsSymbol{trackloop} & track loop transmitter \\% \tsSymbol{route} & route \\% \tsSymbol{direction_control} & direction control \\% \tsSymbol{platform} & platform \\% diff --git a/src/tikzlibrarytrackschematic.trafficcontrol.code.tex b/src/tikzlibrarytrackschematic.trafficcontrol.code.tex index b6b9225..253c5e2 100644 --- a/src/tikzlibrarytrackschematic.trafficcontrol.code.tex +++ b/src/tikzlibrarytrackschematic.trafficcontrol.code.tex @@ -426,25 +426,17 @@ }% % %%%%%%%%%%%%%%% -% symbol transmitter +% symbol trackloop %%%%%%%%%%%%%%% % command -\newcommand\transmitter{}% just for safety -\def\transmitter[#1]#2(#3)#4(#5){% \transmitter[options] at (coord) label (name); - \pic[#1] at (#3) {transmitter={#2/#4/#5}}% symbol -}% -\newcommand\balise{}% just for safety -\def\balise[#1]#2(#3)#4(#5){% \balise[options] at (coord) label (name); - \pic[type=balise,#1] at (#3) {transmitter={#2/#4/#5}}% symbol -}% \newcommand\trackloop{}% just for safety \def\trackloop[#1]#2(#3)#4(#5){% \trackloop[options] at (coord) label (name); - \pic[type=loop,#1] at (#3) {transmitter={#2/#4/#5}}% symbol + \pic[#1] at (#3) {trackloop={#2/#4/#5}}% symbol }% % symbol definition \tikzset{% - pics/transmitter/.default=,% - pics/transmitter/.style args={#1/#2/#3}{code={% + pics/trackloop/.default=,% + pics/trackloop/.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! @@ -461,32 +453,7 @@ }% end \ifdefstring{\trafficpractice} %% marker \tikzset{every path/.style={draw=\foreground}};% - \ifdefstring{\type}{balise}{% type balise - \path[line width=1pt,fill=\background] ($(-0.25,0)$) rectangle% - ($\trafficfactor*(0,-0.25) + (0.25,0)$);% balise marker - \ifdefstring{\face}{forward}{% face - \path ($\trafficfactor*(0,-0.05) + (0.1,0)$) -- ($\trafficfactor*(0,-0.125) + (0.2,0)$) --% - ($\trafficfactor*(0,-0.2) + (0.1,0)$) -- cycle;% arrow forward - }{% - \ifdefstring{\face}{backward}{% face - \path ($\trafficfactor*(0,-0.05) + (-0.1,0)$) -- ($\trafficfactor*(0,-0.125) + (-0.2,0)$) --% - ($\trafficfactor*(0,-0.2) + (-0.1,0)$) -- cycle;% arrow backward - }{ - \ifdefstring{\face}{bidirectional}{% face - \path ($\trafficfactor*(0,-0.05) + (0.1,0)$) -- ($\trafficfactor*(0,-0.125) + (0.2,0)$) --% - ($\trafficfactor*(0,-0.2) + (0.1,0)$) -- cycle;% arrow forward - \path ($\trafficfactor*(0,-0.05) + (-0.1,0)$) -- ($\trafficfactor*(0,-0.125) + (-0.2,0)$) --% - ($\trafficfactor*(0,-0.2) + (-0.1,0)$) -- cycle;% arrow backward - }{}% - }% - }% end \ifdefstring{\face} - }{% - \ifdefstring{\type}{loop}{% type loop - \path[line width=1pt] ($\trafficfactor*(0,-0.175)$) -- ++(-0.0625,-0.0625) -- ++(-0.2,0) -- ++(-0.125,0.125) -- ++(-0.1,0) -- ++(0,-0.125) -- ++(0.1,0) -- ++(0.125,0.125) -- ++(0.2,0) -- ++(0.125,-0.125) -- ++(0.2,0) -- ++(0.125,0.125) -- ++(0.1,0) -- ++(0,-0.125) -- ++(-0.1,0) -- ++(-0.125,0.125) -- ++(-0.2,0) -- cycle;% loop marker - }{% error message - \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/trafficcontrol/transmitter/type}{“balise“ OR “loop“ as key required}}% - }% - }% end \ifdefstring{\type} + \path[line width=1pt] ($\trafficfactor*(0,-0.175)$) -- ++(-0.0625,-0.0625) -- ++(-0.2,0) -- ++(-0.125,0.125) -- ++(-0.1,0) -- ++(0,-0.125) -- ++(0.1,0) -- ++(0.125,0.125) -- ++(0.2,0) -- ++(0.125,-0.125) -- ++(0.2,0) -- ++(0.125,0.125) -- ++(0.1,0) -- ++(0,-0.125) -- ++(-0.1,0) -- ++(-0.125,0.125) -- ++(-0.2,0) -- cycle;% loop marker %% label \ifdefstring{\labelcontent}{}{}{% label NOT empty \tikzset{every node/.style={font=\sffamily,text=\foreground}};% @@ -498,24 +465,200 @@ }% }},% end pics/transmitter/.style args={#1/#2/#3} % symbology entry - symbology_transmitter/.pic = {% + symbology_trackloop/.pic = {% \maintrack (0,0) -- (6,0);% - \balise[] at (3,0) label ();% + \trackloop[forward] at (3,0) label ();% },% +}% +% +%%%%%%%%%%%%%%% +% symbol balise +%%%%%%%%%%%%%%% +% command +\newcommand\balise{}% just for safety +\def\balise[#1]#2(#3)#4(#5){% \balise[options] at (coord) label (name); + \pic[#1] at (#3) {balise={#2/#4/#5}}% symbol +}% +\pgfkeys{% + /tikz/trackschematic/trafficcontrol/.is family,% + /tikz/trackschematic/trafficcontrol/.cd,% + %% route signal type + switched/.value forbidden,% + switched/.code={\settoggle{switched}{true}},% + /tikz/switched/.forward to=/tikz/trackschematic/trafficcontrol/switched,% + %% balises along the direction + along/.store in=\along,% array of integer + along=none,% DEFAULT + /tikz/along/.forward to=/tikz/trackschematic/trafficcontrol/along,% + %% balises oppose the direction + oppose/.store in=\oppose,% array of integer + oppose=none,% DEFAULT + /tikz/oppose/.forward to=/tikz/trackschematic/trafficcontrol/oppose,% + %% balises along the direction + along switched/.store in=\alongswitched,% array of integer + along switched=none,% DEFAULT + /tikz/along switched/.forward to=/tikz/trackschematic/trafficcontrol/along switched,% + %% balises oppose the direction + oppose switched/.store in=\opposeswitched,% array of integer + oppose switched=none,% DEFAULT + /tikz/oppose switched/.forward to=/tikz/trackschematic/trafficcontrol/oppose switched,% + %% display index number + index number/.value forbidden,% + index number/.code={\settoggle{index_number}{true}},% + /tikz/index/.forward to=/tikz/trackschematic/trafficcontrol/index number,% +}% +% options +\newtoggle{unnumberd}\settoggle{unnumberd}{true}% DEFAULT +\newtoggle{switched}\settoggle{switched}{false}% +\newtoggle{index_number}\settoggle{index_number}{false}% +% symbol definition +\tikzset{% + pics/balise/.default=,% + pics/balise/.style args={#1/#2/#3}{code={% + %% + %%%%%%%[steps]%%%%%% + %% 0. setup settings + %% 1. draw marker + %% 2. draw label + %%%%%%%%%%%%%%%%%%%% + %% 0. settings + \def\coordcommand{#1}% beware of leading and tailing spaces! + \def\labelcommand{#2}% beware of leading and tailing spaces! + \def\labelcontent{#3}% + %% + %% face setup + \ifdefstring{\face}{forward}{% face + \pgfmathsetmacro{\facefactor}{1}% + }{% + \ifdefstring{\face}{backward}{% face + \pgfmathsetmacro{\facefactor}{-1}% + }{% error message + \pgfkeys{/errors/unknown choice value={/tikz/trackschematic/face}{“forward“ OR “backward“ as key required}}% + }% + }% end \ifdefstring{\face} + %% + %% 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} + %% + %% number of balises known? + \ifdefstring{\along}{none}{}{% a number has been set + \settoggle{unnumberd}{false}% + }% + %% number of balises known? + \ifdefstring{\oppose}{none}{}{% a number has been set + \settoggle{unnumberd}{false}% + }% + %% number of balises known? + \ifdefstring{\alongswitched}{none}{}{% a number has been set + \settoggle{unnumberd}{false}% + }% + %% number of balises known? + \ifdefstring{\opposeswitched}{none}{}{% a number has been set + \settoggle{unnumberd}{false}% + }% + %% + %%%%%%%%%%%%%%%%%%%% + %% 1. marker + \tikzset{every path/.style={draw=\foreground,line width=0.75pt,rounded corners=0.2pt}};% + %% + \iftoggle{unnumberd}{% no number has been set + %% marker for undefined balises + \path[fill=\background] ($(-0.3,0)$) rectangle ($\trafficfactor*\facefactor*(0,-0.25) + (0.3,0)$);% balise marker + \iftoggle{switched}{% balises can be switched + \path[fill=\foreground] ($\trafficfactor*\facefactor*(0,-0.075) + (-0.225,0)$) rectangle% + ($\trafficfactor*\facefactor*(0,-0.175) + ( 0.225,0)$);% switch marker + }{}% + }{% a number has been set + %% marker for numbered balises + \ifdefstring{\along}{none}{}{ + \foreach \n in \along{% + \path[fill=\background] ($\n*\facefactor*(0.2,0)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.2 ,0) + \trafficfactor*\facefactor*(0,-0.25)$);% balise marker + \iftoggle{index_number}{% + \node[text=\foreground] at ($\n*\facefactor*(0.2,0) + (0.1,0) + \trafficfactor*\facefactor*(0,-0.125)$) {\tiny\n};% + }{}% + }% + }% + \ifdefstring{\oppose}{none}{}{ + \foreach \n in \oppose{% + \path[fill=\background] ($\n*\facefactor*(0.2,0)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.2 ,0) + \trafficfactor*\facefactor*(0,0.25)$);% balise marker + \iftoggle{index_number}{% + \node[text=\foreground] at ($\n*\facefactor*(0.2,0) + (0.1,0) + \trafficfactor*\facefactor*(0,0.125)$) {\tiny\n};% + }{}% + }% + }% + \ifdefstring{\alongswitched}{none}{}{ + \foreach \n in \alongswitched{% + \path[fill=\background] ($\n*\facefactor*(0.2,0)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.2 ,0) + \trafficfactor*\facefactor*(0,-0.25)$);% balise marker + \path[fill=\foreground] ($\n*\facefactor*(0.2,0) + (0.05,0) + \trafficfactor*\facefactor*(0,-0.05)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.15,0) + \trafficfactor*\facefactor*(0,-0.2)$);% switch marker + \iftoggle{index_number}{% + \node[text=\background] at ($\n*\facefactor*(0.2,0) + (0.1,0) + \trafficfactor*\facefactor*(0,-0.125)$) {\tiny\n};% + }{}% + }% + }% + \ifdefstring{\opposeswitched}{none}{}{ + \foreach \n in \opposeswitched{% + \path[fill=\background] ($\n*\facefactor*(0.2,0)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.2 ,0) + \trafficfactor*\facefactor*(0,0.25)$);% balise marker + \path[fill=\foreground] ($\n*\facefactor*(0.2,0) + (0.05,0) + \trafficfactor*\facefactor*(0,0.05)$) rectangle% + ($\n*\facefactor*(0.2,0) + (0.15,0) + \trafficfactor*\facefactor*(0,0.2)$);% switch marker + \iftoggle{index_number}{% + \node[text=\background] at ($\n*\facefactor*(0.2,0) + (0.1,0) + \trafficfactor*\facefactor*(0,0.125)$) {\tiny\n};% + }{}% + }% + }% + }% + %% + %%%%%%%%%%%%%%%%%%%% + %% 2. label + \ifdefstring{\labelcontent}{}{}{% label NOT empty + %% coord + \iftoggle{unnumberd}{% no number has been set + \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.25)$);% + }{% + \coordinate (label-coord) at ($\trafficfactor*\facefactor*(0,-0.25) + (0.1,0)$);% + }% + \ifdefstring{\labelcoord}{(none)}{}{% initialize if NOT default + \path let \p1=\labelcoord in coordinate (label-coord) at ($(label-coord)+(\x1,\y1)$);% + }% + %% label style + \tikzset{every node/.style={font=\sffamily,text=\foreground}};% + % + \ifdefstring{\trafficpractice}{left}{% + \tikzset{every node/.append style={left,align=right}};% + }{% + \tikzset{every node/.append style={right,align=left}};% + }% + \ifdefstring{\face}{forward}{% + \tikzset{every node/.append style={rotate=270}};% + }{% + \tikzset{every node/.append style={rotate=90}};% + }% + %% label + \node at (label-coord) {\footnotesize \labelcontent};% + }% + }},% end pics/balise/.style args={#1/#2/#3} % symbology entry - symbology_transmitter_forward/.pic = {% + symbology_balise_group/.pic = {% \maintrack (0,0) -- (6,0);% - \balise[forward] at (3,0) label ();% + \balise[forward] at (2,0) label (A);% + \balise[forward,switched] at (4,0) label (B);% },% - % symbology entry - symbology_transmitter_bidirectional/.pic = {% + symbology_balise_individual/.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 ();% + \balise[forward,along={0,1,2}] at (2,0) label (A);% + \balise[forward,along switched={0,1,2}] at (4,0) label (B);% },% }% % diff --git a/test/transmitter.tex b/test/transmitter.tex index d87493d..8ebd7e5 100644 --- a/test/transmitter.tex +++ b/test/transmitter.tex @@ -10,34 +10,57 @@ \begin{document} \begin{tikzpicture} - \foreach \i in {1,2,...,3}{% base coordinate + \foreach \i in {1,...,8}{% base coordinate \coordinate (A\i) at ($(0,0) + 2*(0,-\i)$);% base coordinate \coordinate (B\i) at ($(8,0) + 2*(0,-\i)$);% base coordinate } - \foreach \i in {1,2,...,3}{% draw main tracks on base coordinate + \foreach \i in {1,...,8}{% draw main tracks on base coordinate \maintrack (A\i) -- (B\i); } - \foreach \i in {1,2,...,3}{% coordinates for testing symbols + \foreach \i in {1,...,8}{% coordinates for testing symbols \coordinate (X\i-1) at ($(1,0) + 2*(0,-\i)$); \coordinate (X\i-2) at ($(3,0) + 2*(0,-\i)$); \coordinate (X\i-3) at ($(5,0) + 2*(0,-\i)$); \coordinate (X\i-4) at ($(7,0) + 2*(0,-\i)$); } - \balise[] at (X1-1) label (X1-1); - \balise[position=left] at (X1-2) label (X1-2); - \balise[forward] at (X1-3) label (X1-3); - \balise[forward,position=left] at (X1-4) label (X1-4); + \balise[forward] at (X1-1) label (X1-1); + \balise[forward,position=left] at (X1-2) label (X1-2); + \balise[backward] at (X1-3) label (X1-3); + \balise[backward,position=left] at (X1-4) label (X1-4); - \balise[backward] at (X2-1) label (X2-1); - \balise[backward,position=left] at (X2-2) label (X2-2); - \balise[bidirectional] at (X2-3) label (X2-3); - \balise[bidirectional,position=left] at (X2-4) label (X2-4); + \balise[forward,switched] at (X2-1) label (X2-1); + \balise[forward,position=left,switched] at (X2-2) label (X2-2); + \balise[backward,switched] at (X2-3) label (X2-3); + \balise[backward,position=left,switched] at (X2-4) label (X2-4); - \trackloop[] at (X3-1) label (X3-1); - \trackloop[position=left] at (X3-2) label (X3-2); + \balise[forward,along={0,1,2,3}] at (X3-1) label (X3-1); + \balise[forward,oppose={0,1,2,3}] at (X3-2) label (X3-2); + \balise[backward,along={0,1,2,3}] at (X3-3) label (X3-3); + \balise[backward,oppose={0,1,2,3}] at (X3-4) label (X3-4); + + \balise[forward,along={0,1,2,3},index] at (X4-1) label (X4-1); + \balise[forward,oppose={0,1,2,3},index] at (X4-2) label (X4-2); + \balise[backward,along={0,1,2,3},index] at (X4-3) label (X4-3); + \balise[backward,oppose={0,1,2,3},index] at (X4-4) label (X4-4); + + \balise[forward,along={0,3,4,5,7,8,9},oppose={0,1,2,3,6,10,11,12,13},index] at (X5-1) label (X5-1); + \balise[backward,along={0,1,2,3,5,6,10,11,12,13},oppose={0,1,2,3,4,7,8,9},index] at (X5-4) label (X5-4); + + \balise[forward,along switched={0,1,2,3}] at (X6-1) label (X6-1); + \balise[forward,oppose switched={0,1,2,3}] at (X6-2) label (X6-2); + \balise[backward,along switched={0,1,2,3}] at (X6-3) label (X6-3); + \balise[backward,oppose switched={0,1,2,3}] at (X6-4) label (X6-4); + + \balise[forward,along switched={0,1,2,3},index] at (X7-1) label (X7-1); + \balise[forward,oppose switched={0,1,2,3},index] at (X7-2) label (X7-2); + \balise[backward,along switched={0,1,2,3},index] at (X7-3) label (X7-3); + \balise[backward,oppose switched={0,1,2,3},index] at (X7-4) label (X7-4); + + \trackloop[] at (X8-1) label (X8-1); + \trackloop[position=left] at (X8-2) label (X8-2); \end{tikzpicture} \end{document} \ No newline at end of file diff --git a/test/transmitter_expected.pdf b/test/transmitter_expected.pdf index da255b7..0b3b54e 100644 Binary files a/test/transmitter_expected.pdf and b/test/transmitter_expected.pdf differ