2018-09-14 21:04:15 +02:00
%% symbol library for TikZ track schematics
%
2019-07-21 19:28:30 +02:00
% Copyright 2019 Martin Scheidt (ISC license)
%
2018-09-14 21:04:15 +02:00
% 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.
2019-07-21 19:28:30 +02:00
\ProvidesFileRCS { tikzlibrarytrackschematic.vehicles.code.tex}
2019-07-20 16:38:49 +02:00
\colorlet { background} { white}
\colorlet { foreground} { black}
2018-09-14 21:04:15 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/vehicles/.default=4,
2019-07-20 16:38:49 +02:00
pics/vehicles/.style args={ #1} {
2018-09-14 21:04:15 +02:00
code={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, double, line width=0.3pt, fill=background] (0,-0.3) -- ++(#1,0) -- ++(0,0.6) -- ++(-#1,0) -- cycle; % train shape
2018-12-19 15:23:27 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
2018-09-14 21:04:15 +02:00
}
} ,
}
2019-07-21 19:28:30 +02:00
2018-09-14 21:04:15 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ forward/.default=4,
2018-12-19 15:23:27 +01:00
pics/train_ moving_ forward/.style args={ #1} {
2018-09-14 21:04:15 +02:00
code={
2019-07-20 16:38:49 +02:00
\fill [fill=background] (-0.3,0.3) -- ( 0.1,0.3) -- (0.4,0) -- ( 0.1,-0.3) -- (-0.3,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] (-0.15,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.15,-0.3); % arrow shape part 1
\path [draw=foreground, line width=1pt] ( 0.05,0.3) -- ( 0.1,0.3) -- (0.4,0) -- ( 0.1,-0.3) -- ( 0.05,-0.3); % arrow shape part 2
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
2018-12-19 15:23:27 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
2018-09-14 21:04:15 +02:00
}
} ,
}
2019-07-21 19:28:30 +02:00
2018-09-14 21:04:15 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ backward/.default=4,
2018-12-19 15:23:27 +01:00
pics/train_ moving_ backward/.style args={ #1} {
2018-09-14 21:04:15 +02:00
code={
2019-07-20 16:38:49 +02:00
\fill [fill=background] ( 0.3 ,0.3) -- (-0.1,0.3) -- (-0.4,0) -- (-0.1,-0.3) -- ( 0.3 ,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] ( 0.15,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.15,-0.3); % arrow shape part 1
\path [draw=foreground, line width=1pt] (-0.05,0.3) -- (-0.1,0.3) -- (-0.4,0) -- (-0.1,-0.3) -- (-0.05,-0.3); % arrow shape part 2
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
2018-12-19 15:23:27 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
2018-09-14 21:04:15 +02:00
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ slow_ forward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ moving_ slow_ forward/.style args={ #1} {
code={
\fill [fill=background] (-0.3 ,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.3 ,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] (-0.15,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.15,-0.3); % arrow shape part 1
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ slow_ backward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ moving_ slow_ backward/.style args={ #1} {
code={
\fill [fill=background] ( 0.3 ,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.3 ,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] ( 0.15,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.15,-0.3); % arrow shape part 1
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ fast_ forward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ moving_ fast_ forward/.style args={ #1} {
code={
\fill [fill=background] (-0.3 ,0.3) -- ( 0.3,0.3) -- (0.6,0) -- ( 0.3,-0.3) -- (-0.3 ,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] (-0.15,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.15,-0.3); % arrow shape part 1
\path [draw=foreground, line width=1pt] ( 0.05,0.3) -- ( 0.1,0.3) -- (0.4,0) -- ( 0.1,-0.3) -- ( 0.05,-0.3); % arrow shape part 2
\path [draw=foreground, line width=1pt] ( 0.25,0.3) -- ( 0.3,0.3) -- (0.6,0) -- ( 0.3,-0.3) -- ( 0.25,-0.3); % arrow shape part 3
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ moving_ fast_ backward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ moving_ fast_ backward/.style args={ #1} {
code={
\fill [fill=background] ( 0.3 ,0.3) -- (-0.3,0.3) -- (-0.6,0) -- (-0.3,-0.3) -- ( 0.3 ,-0.3) -- cycle;
\path [draw=foreground, line width=1pt] ( 0.15,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.15,-0.3); % arrow shape part 1
\path [draw=foreground, line width=1pt] (-0.05,0.3) -- (-0.1,0.3) -- (-0.4,0) -- (-0.1,-0.3) -- (-0.05,-0.3); % arrow shape part 2
\path [draw=foreground, line width=1pt] (-0.25,0.3) -- (-0.3,0.3) -- (-0.6,0) -- (-0.3,-0.3) -- (-0.25,-0.3); % arrow shape part 3
%
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2018-09-14 21:04:15 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ direction_ forward/.default=4,
2019-02-26 14:46:51 +01:00
pics/train_ direction_ forward/.style args={ #1} {
code={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
2019-02-26 14:46:51 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ direction_ backward/.default=4,
2019-02-26 14:46:51 +01:00
pics/train_ direction_ backward/.style args={ #1} {
code={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, line width=1pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
2019-02-26 14:46:51 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/ghost_ train_ direction_ forward/.default=4,
2019-02-26 14:46:51 +01:00
pics/ghost_ train_ direction_ forward/.style args={ #1} {
2018-09-14 21:04:15 +02:00
code={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, line width=1pt, dashed] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
2018-12-19 15:23:27 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
2018-09-14 21:04:15 +02:00
}
} ,
}
2019-07-21 19:28:30 +02:00
2018-09-14 21:04:15 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/ghost_ train_ direction_ backward/.default=4,
2019-02-26 14:46:51 +01:00
pics/ghost_ train_ direction_ backward/.style args={ #1} {
2018-09-14 21:04:15 +02:00
code={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, line width=1pt, dashed] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
2018-12-19 15:23:27 +01:00
% \node at (-2,0) {\emph{#2}}; %label of train
2018-09-14 21:04:15 +02:00
}
} ,
2019-02-26 14:46:51 +01:00
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ shunt_ mode_ forward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ shunt_ mode_ forward/.style args={ #1} {
code={
\path [draw=foreground, double, line width=0.3pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ shunt_ mode_ backward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ shunt_ mode_ backward/.style args={ #1} {
code={
\path [draw=foreground, double, line width=0.3pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ shunting_ forward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ shunting_ forward/.style args={ #1} {
code={
\fill [fill=background] (-0.3 ,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.3 ,-0.3) -- cycle;
\path [draw=foreground, double, line width=0.3pt] (-0.15,0.3) -- (-0.1,0.3) -- (0.2,0) -- (-0.1,-0.3) -- (-0.15,-0.3); % arrow shape part 1
%
\path [draw=foreground, double, line width=0.3pt, fill=background] (0,0) -- +(-0.3,0.3) -- +(-#1,0.3) -- +(-#1,-0.3) -- +(-0.3,-0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-07-20 16:38:49 +02:00
\tikzset {
2019-07-21 19:28:30 +02:00
pics/train_ shunting_ backward/.default=4,
2019-07-20 16:38:49 +02:00
pics/train_ shunting_ backward/.style args={ #1} {
code={
\fill [fill=background] ( 0.3 ,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.3 ,-0.3) -- cycle;
\path [draw=foreground, double, line width=0.3pt] ( 0.15,0.3) -- ( 0.1,0.3) -- (-0.2,0) -- ( 0.1,-0.3) -- ( 0.15,-0.3); % arrow shape part 1
%
\path [draw=foreground, double, line width=0.3pt, fill=background] (0,0) -- +(0.3,-0.3) -- +(#1,-0.3) -- +(#1,0.3) -- +(0.3,0.3) -- cycle; % train shape
% \node at (-2,0) {\emph{#2}}; %label of train
}
} ,
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
train_ automatic_ forward/.pic={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, fill] (-0.15,0) -- ++(-0.15,0.15) -- ++(0,-0.3) -- cycle; % triangle
2019-02-26 14:46:51 +01:00
} ;
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
train_ automatic_ backward/.pic={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, fill] (0.15,0) -- ++(0.15,0.15) -- ++(0,-0.3) -- cycle; % triangle
2019-02-26 14:46:51 +01:00
} ;
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
train_ human_ forward/.pic={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, fill] (-0.4,0) circle (0.15); % dot
2019-02-26 14:46:51 +01:00
} ;
}
2019-07-21 19:28:30 +02:00
2019-02-26 14:46:51 +01:00
\tikzset {
train_ human_ backward/.pic={
2019-07-20 16:38:49 +02:00
\path [draw=foreground, fill] (0.4,0) circle (0.15); % dot
2019-02-26 14:46:51 +01:00
} ;
2019-07-21 19:28:30 +02:00
}
\endinput