summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-21 23:56:08 +0000
committerKarl Berry <karl@freefriends.org>2017-12-21 23:56:08 +0000
commit5149fd09e4686b79e89ecc9b5e8fb7b1619f39ba (patch)
treef90cbaf38e4222828f3cbc25e60bcd0673c058c1
parent1384ead159c0cd068f3a731042d86fd83abb98c3 (diff)
tikz-timing (21dec17)
git-svn-id: svn://tug.org/texlive/trunk@46111 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/tikz-timing/README2
-rw-r--r--Master/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdfbin468967 -> 472800 bytes
-rw-r--r--Master/texmf-dist/source/latex/tikz-timing/tikz-timing.dtx72
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-advnodes.sty624
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-arrows.sty61
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-beamer.sty58
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-clockarrows.sty143
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-columntype.sty96
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-counters.sty270
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-either.sty821
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-ifsym.sty96
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-interval.sty117
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty133
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-overlays.sty96
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty4
15 files changed, 2582 insertions, 11 deletions
diff --git a/Master/texmf-dist/doc/latex/tikz-timing/README b/Master/texmf-dist/doc/latex/tikz-timing/README
index f6bb94736ac..d5546fa3845 100644
--- a/Master/texmf-dist/doc/latex/tikz-timing/README
+++ b/Master/texmf-dist/doc/latex/tikz-timing/README
@@ -8,7 +8,7 @@ produce the graphics. The diagrams may be inserted into text (paragraphs,
\hbox, etc.) and into tikzpictures. A tabular-like environment is provided to
produce larger timing diagrams.
-Copyright (C) 2009-2016 Martin Scharrer
+Copyright (C) 2009-2017 Martin Scharrer
E-mail: martin@scharrer-online.de
WWW: http://latex.scharrer-online.de/tikz-timing/
diff --git a/Master/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf b/Master/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf
index cf14ba15e7e..b32170d789f 100644
--- a/Master/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf
+++ b/Master/texmf-dist/doc/latex/tikz-timing/tikz-timing.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/tikz-timing/tikz-timing.dtx b/Master/texmf-dist/source/latex/tikz-timing/tikz-timing.dtx
index add0b335868..f972865720e 100644
--- a/Master/texmf-dist/source/latex/tikz-timing/tikz-timing.dtx
+++ b/Master/texmf-dist/source/latex/tikz-timing/tikz-timing.dtx
@@ -24,10 +24,10 @@
%<*driver>
\ProvidesFile{tikz-timing.dtx}[%
%<=*DATE>
- 2017/12/10
+ 2017/12/20
%<=/DATE>
%<=*VERSION>
- v0.7e
+ v0.7f
%<=/VERSION>
DTX-File of 'tikz-timing' package.]
\newif\ifprintversion % \fi
@@ -547,7 +547,9 @@
% \end{itemize}
% \end{Changes}
% \changes{v0.7d}{2011/01/09}{Fix for end macro of extracode environment to support etoolbox's environment hooks.}
+% \changes{v0.7e}{2017/12/10}{Fixed advnodes library to support current PGF version.}
% \changes{v0.7e}{2017/12/10}{Documentation update: added usage as float with caption due to user request.}
+% \changes{v0.7f}{2017/12/20}{Documentation update: added description of several existing styles.}
%
%
% \endgroup
@@ -991,7 +993,11 @@
% \subsection*{Scaling the Table}
% The standard "scale" setting of TikZ will not scale all parts of the table correctly,
% \eg the line width and nodes will keep their original size. However there are scaled
-% relative to the font size. Alternatively the table can be scaled using the
+% relative to the font size (which needs to be set using \texttt{timing/font}).
+% If the timing diagrams should be scaled the keys \texttt{timing/unit}, \texttt{timing/xunit} and/or
+% \texttt{timing/yunit} can be used.
+%
+% Alternatively the table can be scaled using the
% \cs{scalebox}\marg{factor}\marg{content} macro from the \pkg{graphicx} package or
% be placed inside a scaled \cs{node} inside another \env{tikzpicture} environment.
%
@@ -1126,7 +1132,7 @@
% \end{figure}
%
% \clearpage
-% \section{Macros for use inside the Character String}
+% \section{Macros for use inside the Character String}\label{sec:maccharstr}
% The modifiers "@" and `\texttt{\$}' allow the user to include macros. These
% macros are evaluated when the |tikz-timing| parser encounters them in the
% input character string, \ie before any diagram element is drawn or any single
@@ -1357,13 +1363,16 @@
% using `|.append style=|\meta{value}'.
%
% Settings are TikZ keys which await an argument and set an internal macro or length. They are
-% like \cs{setlength} and \cs{renewcommand}. They should not be redefined by the user.
+% like \cs{setlength} and \cs{renewcommand}. They should only by used as stated and not be redefined like styles as
+% shown above.
%
% Action are TikZ keys which perform a drawing or other action on the current element, either directly or
% by en-/disable an internal setting which then in turn triggers the drawing process. Therefore some
% actions can be globally and/or locally but others only make sense if used locally on a single |tikz-timing|
% macro or environment or even a scope inside a \env{tikztimingtable}.
% Action can be very similar to settings but they always execute code instead of only setting/redefining it.
+% The actions are defined and can be redefined using
+% \css{tikzset}|{|\meta{action name}|/.code=|\meta{code}|}|%
%
% \begingroup
% \def\C{Action}
@@ -1381,10 +1390,32 @@
% timing/intext & \S & Used for \cs{texttiming}. Depends on \texttt{timing}.\\
% timing/picture & \S & Usable for own \texttt{tikzpictures} to set timing settings.\\
% timing/inline node & \S & Used for nodes created by the \texttt{N} character. Defaults to \texttt{coordinate}.\\
+% timing/every char & \S & Used in the \cs{draw} TikZ command for every drawn timing character.\\
+% timing/every bg & \S & Used for every background path of characters like \texttt{D}.\\
+% timing/text format=\meta{code} & \s & Sets formatting code for the text of characters like \texttt{D}. The code is placed directly for the text wrapped in braces, so that the code can be a macro awaiting the text as an argument. By default the code is empty.\\
% \midrule
% timing/initchar=\meta{char} & \s & Sets initial character. Only valid as first optional argument in table rows or in \cs{texttiming}.\\
% \midrule
-% timing/metachar=\marg{C}\oarg{\#arg}\marg{G}& \C& Sets meta-character \meta{C} to character group \meta{G}.\\
+% timing/metachar=\marg{C}\oarg{\#arg}\marg{G}& \s& Sets meta-character \meta{C} to character group \meta{G}.\\
+% \midrule
+% timing/before & \C & Code executed direct before the timing TikZ code inside the internal
+% \cs{tikzpicture}. \\
+% timing/after & \C & Code executed direct after the timing TikZ code inside the internal
+% \cs{tikzpicture}.\\
+% \bottomrule
+% \end{tabularx}
+%
+% \section*{Scaling}
+% \begin{tabularx}{\textwidth}{>{\ttfamily}ll>{\raggedright\arraybackslash}X}
+% \toprule
+% \normalfont TikZ Key & Type & Description \\
+% \midrule
+% timing/unit=\meta{length expression} & \s & Sets both the x- and y-unitlength. \\
+% timing/xunit=\meta{length expression} & \s & Sets the x-unitlength (\texttt{\textbackslash xunit}) for the timing diagrams. \\
+% timing/yunit=\meta{length expression} & \s & Sets the y-unitlength (\texttt{\textbackslash yunit}) for the timing diagrams. \\
+% timing/font=\meta{code} & \s & Can be used to set font macros. Needs to be used instead of the normal TikZ \texttt{font} as it resets \texttt{unit}
+% etc.\ if it is font sized dependent.\\
+% timing/wscale=\meta{math expression} & \s & Sets the width-scale \texttt{\textbackslash wscale} by calling \texttt{\textbackslash tikztimingsetwscale}. See section~\ref{sec:maccharstr} for further details. \\
% \bottomrule
% \end{tabularx}
%
@@ -1408,6 +1439,13 @@
% timing/outer sep=\meta{dim} & \s & Sets outer separation around \cs{texttiming} macros. \\
% timing/outer xsep=\meta{dim} & \s & See above. Only X-Coordinate. (Default:~0pt) \\
% timing/outer ysep=\meta{dim} & \s & See above. Only Y-Coordinate. (Default:~0pt) \\
+% \midrule
+% timing/before text & \C & Code executed direct before the timing TikZ code inside the internal
+% \cs{tikzpicture} for \cs{texttiming}. This code is executed just after the \texttt{timing/before} code. Defaults
+% to \cs{texttimingbefore}.\\
+% timing/after text & \C & Code executed direct after the timing TikZ code inside the internal
+% \cs{tikzpicture}. This code is executed just before the \texttt{timing/after} code. Defaults to
+% \cs{texttimingafter}.\\
% \bottomrule
% \end{tabularx}
%
@@ -1427,17 +1465,23 @@
% \toprule
% \normalfont TikZ Key & Type & Description \\
% \midrule
+% timing/name & \S & Used for the signal name column in \env{tikztimingtable}.\\
% timing/table & \S & Used for \env{tikztimingtable}. Depends on \texttt{timing}.\\
% timing/table/grid & \S & Used for table grid. Depends on \texttt{timing/grid}.\\
% timing/table/lines & \S & Used for \cs{horlines} and \cs{vertlines}. \\
% timing/table/rules & \S & Used for \cs{tablerules} for top and bottom lines. \\
% timing/table/midrules & \S & Used for \cs{tablerules} between table head and body. \\
-% timing/table/header & \S & Used for \cs{tableheader}. \\
-% timing/table/title header & \S & Used for label header in \cs{tableheader}. \\
+% timing/table/header & \S & Used for \cs{tableheader}. Defaults to \texttt{timing/name}.\\
+% timing/table/label header & \S & Used for label header in \cs{tableheader}. \\
% timing/table/row header & \S & Used for timing row header in \cs{tableheader}. \\
% \midrule
% timing/rowdist=\meta{distance} & \s & Sets (baseline) distance between rows in a tikztimingtable. Default: 2 (=$2\times$signal height)\\
% timing/coldist=\meta{distance} & \s & Sets distance between columns in a tikztimingtable. Default: 1 (=$1\times$period width)\\
+% \midrule
+% timing/before table & \C & Code placed before the tables TikZ code inside the internal
+% \texttt{tikzpicture}.\\
+% timing/after table & \C & Code placed after the tables TikZ code at the end of the
+% internal \texttt{tikzpicture}.\\
% \bottomrule
% \end{tabularx}
%
@@ -1472,6 +1516,18 @@
% \bottomrule
% \end{tabularx}
%
+% \section*{Other}
+% \begin{tabularx}{\textwidth}{>{\ttfamily}ll>{\raggedright\arraybackslash}X}
+% \toprule
+% \normalfont TikZ Key & Type & Description \\
+% \midrule
+% timing/expand count=\meta{integer} & \s & Sets the maximum expand count for the underlying
+% \texttt{tikzpicture}. TikZ only expands the content this number of times. The TikZ default value
+% of 100 is to small for timing diagrams and is changed to 1000 by default. This should be raised
+% (only) if TikZ throws an to-many-expands error.\\
+% \bottomrule
+% \end{tabularx}
+%
% \endgroup
%
% \clearpage
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-advnodes.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-advnodes.sty
new file mode 100644
index 00000000000..dbb80c29e87
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-advnodes.sty
@@ -0,0 +1,624 @@
+%%
+%% This is file `tikz-timing-advnodes.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-advnodes.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-advnodes.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-advnodes}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for advanced nodes]
+
+\let\tikztiming@orig@oldnodecenter\tikztiming@oldnodecenter
+
+\tikzset{timing/nodes/.cd,
+ simple/.code={%
+ \let\tikztiming@oldnodecenter\tikztiming@orig@oldnodecenter
+ \tikzset{%
+ timing/inline node/.style={shape=coordinate},
+ }%
+ },
+ advanced/.code={%
+ \let\tikztiming@oldnodecenter\@gobble
+ \tikzset{%
+ timing/inline node/.style={shape=tikztiming coordinate},
+ timing/nodes/new center,
+ }%
+ },
+ old center/.code={%
+ \let\tikztiming@nodecenteranchor\tikztiming@old@nodecenteranchor
+ },%
+ new center/.code={%
+ \let\tikztiming@nodecenteranchor\empty
+ },%
+}
+\tikzset{timing/nodes/.cd,advanced,new center}
+
+\def\anchoralias#1#2{%
+ \expandafter\def
+ \csname pgf@anchor@\pgf@sm@shape@name @#1\expandafter\endcsname
+ \expandafter{\csname pgf@anchor@\pgf@sm@shape@name @#2\endcsname}%
+}
+
+\def\tikztiming@anchorpoint#1#2#3{%
+ \pgf@xa=#2\relax
+ \pgf@ya=#3\relax
+ \expandafter\edef\csname#1\endcsname{%
+ \pgf@x=\the\pgf@xa\relax
+ \pgf@y=\the\pgf@ya\relax
+ }%
+ \expandafter\addtosavedmacro\csname#1\endcsname
+}
+\def\tikztiming@tryanchor#1#2{%
+ \let\tikztiming@next\relax
+ \ifnum\tikztiming@debug>2
+ \message{^^J Try Anchor: '#1' '#2' ^^J }%
+ \def\tikztiming@next{\message{^^J TERM ^^J}}%
+ \fi
+ \ifx\relax#1\empty\else
+ \ifx\relax#2\empty\else
+ \def\tikztiming@next{%
+ \@ifundefined{tikztiming@anchors@#1@#2}%
+ {%
+ \edef\@tempa{%
+ {\csname tikztiming@alias@#1\endcsname}%
+ {\csname tikztiming@alias@#2\endcsname}%
+ }%
+ \expandafter\tikztiming@tryanchor@\@tempa{#1}{#2}%
+ }%
+ {\let\tikztiming@tryanchor\@gobbletwo
+ \ifnum\tikztiming@debug>2
+ \message{^^J Anchor: '#1' '#2' ^^J }%
+ \fi
+ \@nameuse{tikztiming@anchors@#1@#2}%
+ }%
+ }%
+ \fi\fi
+ \tikztiming@next
+}
+\def\tikztiming@tryanchor@#1#2#3#4{%
+ \tikztiming@tryanchor{#3}{#2}%
+ \tikztiming@tryanchor{#1}{#4}%
+ \tikztiming@tryanchor{#1}{#2}%
+ \let\tikztiming@tryanchor@\@gobblefour
+ \tikztiming@tryanchor{#3}{}%
+ \tikztiming@tryanchor{}{#4}%
+}
+\pgfdeclareshape{tikztiming coordinate}{%
+ \savedmacro\anchorpoints{%
+ \let\anchorpoint\tikztiming@anchorpoint
+ \let\slope\@tempdima
+ \let\dslope\@tempdimb
+ \let\zslope\@tempdimc
+ \let\height\pgf@yb
+ \let\fromchar\tikztiming@node@fromchar
+ \let\tochar\tikztiming@node@tochar
+ %
+ \ifnum\tikztiming@debug>2
+ \message{^^J Node: \fromchar \tochar ^^J}%
+ \fi
+ %
+ \edef\@tempa{{timing/\tochar}}%
+ \expandafter\lowercase\expandafter
+ {\expandafter\tikzset\@tempa}%
+ \pgfpointxy{\timingslope}{0}%
+ \slope=\pgf@x\relax
+ \pgfpointxy{\timingdslope}{0}%
+ \dslope=\pgf@x\relax
+ \pgfpointxy{\timingzslope}{0}%
+ \zslope=\pgf@x\relax
+ \pgfpointxy{0}{\timingheight}%
+ \height=\pgf@y\relax
+ \edef\anchorpoints{%
+ \noexpand\pgf@yb=\the\height\relax
+ \let\noexpand\height\noexpand\pgf@yb
+ }%
+ %
+ \tikztiming@tryanchor{\fromchar}{\tochar}%
+ }
+ \savedanchor\lowpoint{%
+ \pgfpointanchor{timing/start base}{center}%
+ \pgf@x=0pt
+ }%
+ \anchor{origin}{%
+ \pgfpointorigin
+ \anchorpoints
+ \@nameuse{originoffset}
+ \pgf@x=-\pgf@x
+ \pgf@y=-\pgf@y
+ }%
+ \anchor{old center}{%
+ \pgfpointorigin
+ \tikztiming@old@nodecenteranchor
+ }%
+ \anchor{new center}{\pgfpointorigin}%
+ \anchor{center}{%
+ \pgfpointorigin
+ \tikztiming@nodecenteranchor
+ }%
+ \anchor{MID}{\tikztiming@useanchor{HIGH}\advance\pgf@y by -.5\height\relax }%
+ \anchor{LOW}{\tikztiming@useanchor{HIGH}\advance\pgf@y by -\height\relax }%
+ \anchor{HIGH}{\tikztiming@useanchor{HIGH}}%
+ \anchor{TOP}{%
+ \tikztiming@nodes@getoffset
+ \tikztiming@useanchor{HIGH}
+ \advance\pgf@y by \pgf@ya\relax
+ }%
+ \anchor{BOTTOM}{%
+ \tikztiming@nodes@getoffset
+ \tikztiming@useanchor{HIGH}
+ \advance\pgf@y by -\pgf@ya\relax
+ \advance\pgf@y by -\height\relax
+ }%
+ \anchor{mid}{\tikztiming@useanchor{mid}}%
+ \anchor{low}{\tikztiming@useanchor{low}}%
+ \anchor{high}{\tikztiming@useanchor{high}}%
+ \anchor{low2}{\tikztiming@useanchor{low2}}%
+ \anchor{high2}{\tikztiming@useanchor{high2}}%
+ %
+ \expandafter\anchorborder\expandafter{\csname pgf@anchor@\pgf@sm@shape@name @center\endcsname}%
+ %
+ \nodeparts{}%
+}
+
+\def\tikztiming@nodes@getoffset{%
+ \begingroup
+ \pgfpointxy{0}{1}%
+ \pgfmathsetresultunitscale{\pgf@y}%
+ \pgfpoint{0}{\tikztiming@nodes@offset}%
+ \global\pgf@ya=\pgf@y
+ \endgroup
+}
+
+\tikzset{%
+ timing/nodes/.cd,
+ offset/.store in=\tikztiming@nodes@offset,
+ offset=0.25,
+}
+
+\def\tikztiming@nodecenteranchor{}
+
+\def\tikztiming@old@nodecenteranchor{%
+ \anchorpoints
+ \@ifundefined{oldcenter}%
+ {\@nameuse{originoffset}%
+ \pgf@x=-\pgf@x\relax
+ \pgf@y=-\pgf@y\relax
+ }%
+ {\@nameuse{oldcenter}}%
+}
+
+\def\tikztiming@useanchor#1{%
+ \anchorpoints
+ \@ifundefined{#1}%
+ {\PackageError{tikz-timing}%
+ {No such anchor '#1' defined for this transition!}{}%
+ \pgfpointorigin
+ }%
+ {\@nameuse{#1}}%
+}
+
+\tikzset{%
+ every tikztiming coordinate node/.style={anchor=origin},
+}
+\def\tikztiming@anchors#1#2{%
+ \@namedef{tikztiming@anchors@#1@#2}%
+}
+\def\tikztiming@anchorslet#1#2#3#4{%
+ \expandafter\let
+ \csname tikztiming@anchors@#1@#2\expandafter\endcsname
+ \csname tikztiming@anchors@#3@#4\endcsname
+}
+
+\tikztiming@anchors{@}{D}{%
+ \anchorpoint{originoffset}{0pt}{.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{0pt}{.5\height}%
+ \anchorpoint{low}{0pt}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{@}{H}{%
+ \anchorpoint{originoffset}{0pt}{\height}%
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+}
+
+\tikztiming@anchors{@}{L}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+}
+
+\tikztiming@anchors{@}{T}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+}
+
+\tikztiming@anchors{@}{Z}{%
+ \anchorpoint{originoffset}{0pt}{.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{D}{D}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+ \anchorpoint{high}{0pt}{.5\height}%
+ \anchorpoint{low}{0pt}{-.5\height}%
+}
+
+\tikztiming@anchors{L}{H}{%
+ \anchorpoint{originoffset}{.5\slope}{.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+}
+
+\tikztiming@anchors{E}{H}{%
+ \anchorpoint{originoffset}{-.5\slope}{-.5\height}%
+ \anchorpoint{oldcenter}{-.5\slope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+}
+
+\tikztiming@anchors{T}{T}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \ifnum 1=\c@tikztimingtrans
+ \anchorpoint{originoffset}{.5\slope}{-.5\height}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+ \else
+ \anchorpoint{originoffset}{.5\slope}{.5\height}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \fi
+}
+\tikztiming@anchorslet{T}{E}{T}{T}%
+
+\tikztiming@anchors{T}{@}{%
+ \ifnum 1=\c@tikztimingtrans
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+ \else
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+ \fi
+}
+
+\tikztiming@anchors{H}{H}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+}
+
+\tikztiming@anchors{L}{L}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+}
+
+\tikztiming@anchors{Z}{Z}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{E}{E}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \ifnum 1=\c@tikztimingtrans
+ \anchorpoint{originoffset}{.5\slope}{.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \else
+ \anchorpoint{originoffset}{-.5\slope}{.5\height}%
+ \anchorpoint{oldcenter}{-.5\slope}{-.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+ \fi
+}
+
+\tikztiming@anchors{H}{L}{%
+ \anchorpoint{originoffset}{.5\slope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+}
+\tikztiming@anchorslet{H}{E}{H}{L}%
+
+\tikztiming@anchors{E}{L}{%
+ \anchorpoint{originoffset}{-.5\slope}{.5\height}%
+ \anchorpoint{oldcenter}{-.5\slope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+}
+
+\tikztiming@anchors{E}{T}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \ifnum 1=\c@tikztimingtrans
+ \anchorpoint{originoffset}{-.5\slope}{-.5\height}%
+ \anchorpoint{oldcenter}{-.5\slope}{-.5\height}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \else
+ \anchorpoint{originoffset}{-.5\slope}{.5\height}%
+ \anchorpoint{oldcenter}{-.5\slope}{-.5\height}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+ \fi
+}
+
+\tikztiming@anchors{E}{Z}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{-\zslope}{-.5\height}%
+ \anchorpoint{HIGH}{-\zslope}{.5\height}%
+ \anchorpoint{high}{-\zslope}{.5\height}%
+ \anchorpoint{low}{-\zslope}{-.5\height}%
+}
+
+\tikztiming@anchors{Z}{D}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+ \anchorpoint{high}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{.5\dslope}{-.5\height}%
+}
+
+\tikztiming@anchors{D}{Z}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{-.5\dslope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \anchorpoint{high}{-.5\dslope}{.5\height}%
+ \anchorpoint{low}{-.5\dslope}{-.5\height}%
+}
+
+\tikztiming@anchors{D}{H}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{-.5\dslope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \anchorpoint{high}{.5\dslope}{.5\height}%
+ \anchorpoint{high2}{-.5\dslope}{.5\height}%
+ \anchorpoint{low}{-.5\dslope}{-.5\height}%
+}
+
+\tikztiming@anchors{D}{L}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{-.5\dslope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \anchorpoint{high}{-.5\dslope}{.5\height}%
+ \anchorpoint{low2}{-.5\dslope}{-.5\height}%
+ \anchorpoint{low}{.5\dslope}{-.5\height}%
+}
+\tikztiming@anchorslet{D}{T}{D}{L}%
+
+\tikztiming@anchors{D@edge@}{D}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{-.5\dslope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \anchorpoint{high}{-.5\dslope}{.5\height}%
+ \anchorpoint{high2}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{-.5\dslope}{-.5\height}%
+ \anchorpoint{low2}{.5\dslope}{-.5\height}%
+}
+\tikztiming@anchorslet{D}{U}{D@edge@}{D}
+\tikztiming@anchorslet{U}{D}{D@edge@}{D}
+\tikztiming@anchorslet{D}{D@edge@}{D@edge@}{D}
+\tikztiming@anchorslet{D@edge@}{D@edge@}{D@edge@}{D}
+\tikztiming@anchorslet{D}{E}{D@edge@}{D}
+\tikztiming@anchorslet{E}{D}{D@edge@}{D}
+
+\tikztiming@anchorslet{L}{E}{L}{H}%
+\tikztiming@anchorslet{L}{T}{L}{H}%
+\tikztiming@anchorslet{H}{T}{H}{L}%
+\tikztiming@anchorslet{T}{H}{H}{L}%
+
+\tikztiming@anchors{D}{D}{%
+ \anchorpoint{originoffset}{0pt}{0pt}%
+ \anchorpoint{oldcenter}{0pt}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{0pt}{.5\height}%
+ \anchorpoint{low}{0pt}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+\tikztiming@anchorslet{D}{@}{D}{D}
+\tikztiming@anchorslet{E}{@}{D}{D}
+\tikztiming@anchorslet{U}{U}{D}{D}
+
+\tikztiming@anchorslet{@}{E}{@}{D}
+
+\tikztiming@anchors{L}{D}{%
+ \anchorpoint{originoffset}{.5\dslope}{.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{-.5\dslope}{-.5\height}%
+ \anchorpoint{low2}{.5\dslope}{-.5\height}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+}
+
+\tikztiming@anchors{T}{D}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \ifnum 1=\c@tikztimingtrans
+ \anchorpoint{originoffset}{.5\dslope}{-.5\height}%
+ \anchorpoint{high}{-.5\dslope}{.5\height}%
+ \anchorpoint{high2}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{.5\dslope}{-.5\height}%
+ \else
+ \anchorpoint{originoffset}{.5\dslope}{.5\height}%
+ \anchorpoint{high}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{-.5\dslope}{-.5\height}%
+ \anchorpoint{low2}{.5\dslope}{-.5\height}%
+ \fi
+}
+
+\tikztiming@anchors{H}{D}{%
+ \anchorpoint{originoffset}{.5\dslope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{-.5\dslope}{.5\height}%
+ \anchorpoint{high}{-.5\dslope}{.5\height}%
+ \anchorpoint{high2}{.5\dslope}{.5\height}%
+ \anchorpoint{low}{.5\dslope}{-.5\height}%
+}
+
+\tikztiming@anchors{Z}{E}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{\zslope}{.5\height}%
+ \anchorpoint{low}{\zslope}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{Z}{H}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{\zslope}{.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{Z}{T}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+ \ifnum1=\c@tikztimingtrans\relax
+ \anchorpoint{low}{\zslope}{-.5\height}%
+ \else
+ \anchorpoint{high}{\zslope}{.5\height}%
+ \fi
+}
+
+\tikztiming@anchors{T}{H}{%
+ \ifnum1=\c@tikztimingtrans\relax
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+ \else
+ \anchorpoint{originoffset}{.5\slope}{.5\height}%
+ \anchorpoint{low}{-.5\slope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{.5\slope}{.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \fi
+}
+
+\tikztiming@anchors{T}{L}{%
+ \ifnum1=\c@tikztimingtrans\relax
+ \anchorpoint{originoffset}{.5\slope}{-.5\height}%
+ \anchorpoint{low}{.5\slope}{-.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{-.5\slope}{.5\height}%
+ \anchorpoint{HIGH}{-.5\slope}{.5\height}%
+ \else
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+ \fi
+}
+
+\tikztiming@anchors{T}{Z}{%
+ \ifnum1=\c@tikztimingtrans\relax
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{mid}{\zslope}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+ \else
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{mid}{\zslope}{.5\height}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+ \fi
+}
+
+\tikztiming@anchors{Z}{L}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{low}{\zslope}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{H}{Z}{%
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{mid}{\zslope}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+}
+
+\tikztiming@anchors{L}{Z}{%
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{mid}{\zslope}{.5\height}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+}
+
+\tikztiming@anchors{Z}{Z}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{H}{@}{%
+ \anchorpoint{high}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{0pt}%
+}
+
+\tikztiming@anchors{L}{@}{%
+ \anchorpoint{low}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{\height}%
+}
+
+\tikztiming@anchors{Z}{@}{%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\tikztiming@anchors{}{@}{%
+ \anchorpoint{originoffset}{0pt}{.5\height}%
+ \anchorpoint{mid}{0pt}{0pt}%
+ \anchorpoint{high}{0pt}{.5\height}%
+ \anchorpoint{low}{0pt}{-.5\height}%
+ \anchorpoint{HIGH}{0pt}{.5\height}%
+}
+
+\RequirePackage{pgfopts}
+\ProcessPgfOptions{/tikz/timing/node}
+\endinput
+%%
+%% End of file `tikz-timing-advnodes.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-arrows.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-arrows.sty
new file mode 100644
index 00000000000..c331116fa9d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-arrows.sty
@@ -0,0 +1,61 @@
+%%
+%% This is file `tikz-timing-arrows.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-arrows.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-arrows.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-arrows}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for timing arrows]
+\tikzset{timing/.cd,
+ A/.style={timing/a},
+ W/.style={timing/w},
+ a/.style={->},
+ w/.style={<-},
+}
+
+\tikztimingchar{A}{++(0,0)}{%
+ \newdraw [\style] -- ++(0,\height)
+ \newdraw [timing/every char] ++(#1,-\height)
+}
+\def\tikztiming@nocombine@A{}%
+
+\tikztimingecopy{W}{A}
+\endinput
+%%
+%% End of file `tikz-timing-arrows.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-beamer.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-beamer.sty
new file mode 100644
index 00000000000..54d74ae3992
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-beamer.sty
@@ -0,0 +1,58 @@
+%%
+%% This is file `tikz-timing-beamer.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-beamer.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-beamer.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-beamer}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for beamer overlay support]
+
+\PackageWarning{\@currname}{This library is experimental and will change in future versions!}{}{}
+
+\tikztiming@defcode<#1>{
+ \tikztiming@output@addcode{
+ node [timing/save] (timing@save) {};%
+ \onslide<#1>
+ \draw [timing/restore] (timing@save) ++(0,0)
+ }
+ \tikztiming@parser
+}
+\endinput
+%%
+%% End of file `tikz-timing-beamer.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-clockarrows.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-clockarrows.sty
new file mode 100644
index 00000000000..3b8f1370ba8
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-clockarrows.sty
@@ -0,0 +1,143 @@
+%%
+%% This is file `tikz-timing-clockarrows.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-clockarrows.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-clockarrows.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-clockarrows}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for timing clock arrows]
+\tikztiming@iftrans{CC}%
+ {\let\tikztiming@trans@C@normal@C\tikztiming@trans@CC}%
+ {\PackageError{\@currname}{No 'CC' transition defined by the main tikz-timing
+ package.}{}}%
+\tikztiming@iftrans{HC}%
+ {\let\tikztiming@trans@H@normal@C\tikztiming@trans@HC}%
+ {\PackageError{\@currname}{No 'HC' transition defined by the main tikz-timing
+ package.}{}}%
+\tikztiming@iftrans{LC}%
+ {\let\tikztiming@trans@L@normal@C\tikztiming@trans@LC}%
+ {\PackageError{\@currname}{No 'LC' transition defined by the main tikz-timing
+ package.}{}}%
+
+\tikztimingdef{CC}{%
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ [timing/c/save]
+ \newdraw [\style,timing/c/restore,>=\noexpand\tikztiming@c@arrow@tip,timing/c/arrow@style]
+ -- ++(\slope*\noexpand\tikztiming@c@arrow@pos,\value{tikztimingtrans}*\height*\noexpand\tikztiming@c@arrow@pos)
+ ; \draw [timing/restore,timing/c/restore] (timing@save) ++(0,0) [\style]
+ -- ++(\slope,\value{tikztimingtrans}*\height)
+ -- ++($ (#1,0) - (\slope,0) $)
+}
+\let\tikztiming@trans@C@arrow@C\tikztiming@trans@CC
+
+\tikztimingdef{HC}{%
+ \code{\setcounter{tikztimingtrans}{-1}}
+ [timing/c/save]
+ \newdraw [\style,timing/c/restore,>=\noexpand\tikztiming@c@arrow@tip,timing/c/arrow@style]
+ -- ++(\slope*\noexpand\tikztiming@c@arrow@pos,\value{tikztimingtrans}*\height*\noexpand\tikztiming@c@arrow@pos)
+ ; \draw [timing/restore,timing/c/restore] (timing@save) ++(0,0) [\style]
+ -- ++(\slope,\value{tikztimingtrans}*\height)
+ -- ++($ (#1,0) - (\slope,0) $)
+}
+\let\tikztiming@trans@H@arrow@C\tikztiming@trans@HC
+
+\tikztimingdef{LC}{%
+ \code{\setcounter{tikztimingtrans}{+1}}
+ [timing/c/save]
+ \newdraw [\style,timing/c/restore,>=\noexpand\tikztiming@c@arrow@tip,timing/c/arrow@style]
+ -- ++(\slope*\noexpand\tikztiming@c@arrow@pos,\value{tikztimingtrans}*\height*\noexpand\tikztiming@c@arrow@pos)
+ ; \draw [timing/restore,timing/c/restore] (timing@save) ++(0,0) [\style]
+ -- ++(\slope,\value{tikztimingtrans}*\height)
+ -- ++($ (#1,0) - (\slope,0) $)
+}
+\let\tikztiming@trans@L@arrow@C\tikztiming@trans@LC
+
+\tikzset{timing/c/.cd,
+ rising arrows/.code={%
+ \let\tikztiming@trans@CC\tikztiming@trans@C@arrow@C%
+ \let\tikztiming@trans@LC\tikztiming@trans@L@arrow@C%
+ \let\tikztiming@trans@HC\tikztiming@trans@H@arrow@C%
+ \def\tikztiming@clockarrow@style{\ifnum1=\c@tikztimingtrans\tikzset{->,timing/c/arrow}\fi}%
+ },%
+ falling arrows/.code={%
+ \let\tikztiming@trans@CC\tikztiming@trans@C@arrow@C%
+ \let\tikztiming@trans@LC\tikztiming@trans@L@arrow@C%
+ \let\tikztiming@trans@HC\tikztiming@trans@H@arrow@C%
+ \def\tikztiming@clockarrow@style{\ifnum-1=\c@tikztimingtrans\tikzset{->,timing/c/arrow}\fi}%
+ },%
+ dual arrows/.code={%
+ \let\tikztiming@trans@CC\tikztiming@trans@C@arrow@C%
+ \let\tikztiming@trans@LC\tikztiming@trans@L@arrow@C%
+ \let\tikztiming@trans@HC\tikztiming@trans@H@arrow@C%
+ \def\tikztiming@clockarrow@style{\tikzset{->,timing/c/arrow}}%
+ },%
+ no arrows/.code={%
+ \let\tikztiming@trans@CC\tikztiming@trans@C@normal@C%
+ \let\tikztiming@trans@LC\tikztiming@trans@L@normal@C%
+ \let\tikztiming@trans@HC\tikztiming@trans@H@normal@C%
+ \def\tikztiming@clockarrow@style{}%
+ },%
+ arrow@style/.code={\tikztiming@clockarrow@style},%
+ arrow/.style={},%
+ arrow pos/.store in=\tikztiming@c@arrow@pos,
+ arrow tip/.store in=\tikztiming@c@arrow@tip,
+ save/.code={%
+ \global\let\tikztiming@clockarrow@savedstyle\tikztiming@clockarrow@style
+ \global\let\tikztiming@trans@saved@CC\tikztiming@trans@CC
+ \global\let\tikztiming@c@arrow@savedpos\tikztiming@c@arrow@pos
+ \global\let\tikztiming@c@arrow@savedtip\tikztiming@c@arrow@tip
+ },
+ restore/.code={%
+ \let\tikztiming@clockarrow@style\tikztiming@clockarrow@savedstyle
+ \let\tikztiming@trans@CC\tikztiming@trans@saved@CC
+ \let\tikztiming@c@arrow@pos\tikztiming@c@arrow@savedpos
+ \let\tikztiming@c@arrow@tip\tikztiming@c@arrow@savedtip
+ },
+}
+\tikzset{timing/c/.cd,
+ no arrows,
+ arrow pos=0.95,
+ arrow tip=to,
+}
+
+\RequirePackage{pgfopts}
+\ProcessPgfOptions{/tikz/timing/c}
+\endinput
+%%
+%% End of file `tikz-timing-clockarrows.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-columntype.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-columntype.sty
new file mode 100644
index 00000000000..5a2023d3cbe
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-columntype.sty
@@ -0,0 +1,96 @@
+%%
+%% This is file `tikz-timing-columntype.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-columntype.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-columntype.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-columntype}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for timing cell types]
+\RequirePackage{array}
+
+\tikzset{timing/columntype/.code 2 args =
+ \newcolumntype{#1}{>{\celltiming}#2<{\endcelltiming}}%
+}%
+\RequirePackage{pgfopts}
+\tikzset{timing/columntype/.cd,
+ type/.style 2 args={/tikz/timing/columntype={#1}{#2}},%
+ notype/.code={},
+ notype/.value forbidden={},
+}
+
+\ProcessPgfOptions{/tikz/timing/columntype}
+\expandafter\ifx\csname opt@\@currname.\@currext\endcsname\empty
+ \tikzset{timing/columntype={T}{l}}%
+\fi
+\def\celltiming#1\ignorespaces{%
+ #1%
+ \begin{tikzpicture}[timing/picture,baseline={(0,0)}]
+ \def\tikztiming@endhook{\end@celltiming}
+ \tikztiming@init
+ \let\tikztiming@settings\empty
+ \@ifnextchar{[}%
+ {\tikztiming@celltiming}%
+ {\tikztiming@celltiming[]}%
+}
+\let\endcelltiming\relax
+\def\tikztiming@celltiming[#1]{%
+ \ifx\relax#1\relax\else
+ \tikztiming@testoptarg#1\relax\relax
+ \fi
+ \ifx\tikztiming@lastchar\empty
+ \def\tikztiming@lastchar{@}%
+ \fi
+ \expandafter\scope\expandafter[\tikztiming@settings]%
+ \begingroup
+ \let\unskip\relax
+ \let\\\relax
+ \tikztiming@parser
+}
+\def\end@celltiming{%
+ \tikzset{timing/before}%
+ \tikztiming@str;
+ \expandafter\node
+ \expandafter[\tikztiming@settings,shape=tikztiming@shape,anchor=origin] at (0,0) {};
+ \tikzset{timing/after}%
+ \endscope
+ \end{tikzpicture}%
+}
+\endinput
+%%
+%% End of file `tikz-timing-columntype.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-counters.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-counters.sty
new file mode 100644
index 00000000000..4465f99787b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-counters.sty
@@ -0,0 +1,270 @@
+%%
+%% This is file `tikz-timing-counters.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-counters.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-counters.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-counters}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for counter values]
+\newif\if@tikztiming@counter@wraps
+
+\tikzset{%
+ timing/new counter/.style={timing/counter/new={#1}},
+ timing/counter/.cd,
+ new/.code={\tikztiming@counter@new{#1}},
+ new/.value required,
+ opt/.cd,
+ char/.initial=,
+ char/.value required,
+ reset char/.initial=,
+ reset char/.value required,
+ reset type/.is choice,
+ reset type/width/.code={\def\tikztiming@resettype{0}},
+ reset type/arg/.code={\def\tikztiming@resettype{1}},
+ reset type/both/.code={\def\tikztiming@resettype{2}},
+ reset type/Both/.code={\def\tikztiming@resettype{3}},
+ half width char/.initial=,
+ half width char/.value required,
+ base/.initial=10,
+ base/.value required,
+ increment/.initial=1,
+ increment/.value required,
+ max value/.initial=,
+ max value/.value required,
+ min value/.initial=,
+ min value/.value required,
+ wraps/.is if=@tikztiming@counter@wraps,
+ digits/.initial=,
+ digits/.value required,
+ fg style/.initial=,
+ bg style/.initial=,
+ text style/.initial=,
+ text format/.initial=,
+ fg style/.value required,
+ bg style/.value required,
+ text style/.value required,
+ text format/.value required,
+}
+\def\tikztiming@counter@textformat{}%
+\def\tikztimingcounter#1{%
+ \csname tikztiming@counter@#1\endcsname
+}
+\def\tikztimingsetcounter#1#2{%
+ \begingroup
+ \pgfmathtruncatemacro\@tempa{#2}%
+ \expandafter\global\expandafter\let\csname tikztiming@counter@#1\endcsname\@tempa
+ \endgroup
+}
+\def\tikztiming@counter@new#1{%
+ \begingroup
+ \def\tikztiming@resettype{0}%
+ \pgfqkeys{/tikz/timing/counter/opt}{#1}%
+ \tikzset{timing/counter/opt/char/.get=\counterchar}%
+ \ifx\counterchar\empty
+ \PackageError{tikz-timing-counters}{Counter character must be given using
+ the 'char' key!}{}%
+ \endgroup
+ \else
+ \pgfkeys{/tikz/timing/counter/opt/min value/.get=\min}%
+ \pgfkeys{/tikz/timing/counter/opt/max value/.get=\max}%
+ \if@tikztiming@counter@wraps
+ \ifx\min\empty
+ \def\min{0}%
+ \fi
+ \ifx\max\empty
+ \PackageError{tikz-timing-counters}{The option 'wraps' needs the option 'max value' to be set!}{}%
+ \fi
+ \def\@tempb{%
+ \noexpand\tikztiming@counter@wrap%
+ {\expandafter\unexpanded\expandafter{\min}}%
+ {\expandafter\unexpanded\expandafter{\max}}%
+ }%
+ \else
+ \ifx\min\empty
+ \ifx\max\empty
+ \let\@tempb\empty
+ \else
+ \def\@tempb{%
+ \noexpand\tikztiming@counter@maxsat%
+ {\expandafter\unexpanded\expandafter{\max}}%
+ }%
+ \fi
+ \else
+ \ifx\max\empty
+ \def\@tempb{%
+ \noexpand\tikztiming@counter@minsat%
+ {\expandafter\unexpanded\expandafter{\min}}%
+ }%
+ \else
+ \def\@tempb{%
+ \noexpand\tikztiming@counter@minmaxsat%
+ {\expandafter\unexpanded\expandafter{\min}}%
+ {\expandafter\unexpanded\expandafter{\max}}%
+ }%
+ \fi
+ \fi
+ \fi
+ \pgfkeys{/tikz/timing/counter/opt/fg style/.get=\fgstyle}%
+ \pgfkeys{/tikz/timing/counter/opt/bg style/.get=\bgstyle}%
+ \pgfkeys{/tikz/timing/counter/opt/text style/.get=\textstyle}%
+ \pgfkeys{/tikz/timing/counter/opt/text format/.get=\textformat}%
+ \pgfkeys{/tikz/timing/counter/opt/increment/.get=\increment}%
+ \edef\@tempa{%
+ \noexpand\tikztiming@counter@new@
+ {\pgfkeysvalueof{/tikz/timing/counter/opt/char}}%
+ {\pgfkeysvalueof{/tikz/timing/counter/opt/base}}%
+ {\pgfkeysvalueof{/tikz/timing/counter/opt/half width char}}%
+ {\pgfkeysvalueof{/tikz/timing/counter/opt/reset char}}%
+ {\pgfkeysvalueof{/tikz/timing/counter/opt/digits}}%
+ {\expandafter\unexpanded\expandafter{\increment}}%
+ {\@tempb}%
+ {\min}%
+ {\tikztiming@resettype}%
+ {\expandafter\unexpanded\expandafter{\fgstyle}}%
+ {\expandafter\unexpanded\expandafter{\bgstyle}}%
+ {\expandafter\unexpanded\expandafter{\textstyle}}%
+ {\expandafter\unexpanded\expandafter{\textformat}}%
+ }%
+ \expandafter\expandafter\expandafter\endgroup
+ \expandafter\@tempa
+ \fi
+}
+\def\tikztiming@counter@new@#1#2#3#4#5#6#7#8#9{%
+ \ifx\empty#8\empty
+ \@namedef{tikztiming@counter@#1}{0}%
+ \else
+ \expandafter
+ \pgfmathtruncatemacro\csname tikztiming@counter@#1\endcsname{#8}%
+ \fi
+ \tikztimingmetachar{#1}[1]{ { [timing/counter/#1] ##1D{[timing/counter/#1/text]\tikztiming@counter@vs{#1}{#2}{#5}{#6}{#7}} } }%
+ \ifx\empty#3\empty
+ \tikztiming@iflower{#1}{}%
+ {\lowercase{\tikztimingmetachar{#1}}[1]%
+ { { [timing/counter/#1] ##1d{[timing/counter/#1/text]\tikztiming@counter@vs{#1}{#2}{#5}{#6}{#7}}} }%
+ }%
+ \else
+ \tikztimingmetachar{#3}[1]{%
+ { [timing/counter/#1] ##1d{[timing/counter/#1/text]\tikztiming@counter@vs{#1}{#2}{#5}{#6}{#7}} }%
+ }%
+ \fi
+ \ifx\empty#4\empty\else
+ \ifcase0#9\relax
+ \tikztimingmetachar{#4}[1]{[|/utils/exec=\tikztiming@counter@reset{#1}{##1}|]}%
+ \or
+ \tikztimingmetachar{#4}[2]{[|/utils/exec=\tikztimingsetcounter{#1}{##2}|]}%
+ \or
+ \uppercase{\tikztimingmetachar{#4}}[1]{[|/utils/exec=\tikztiming@counter@reset{#1}{##1}|]}%
+ \lowercase{\tikztimingmetachar{#4}}[2]{[|/utils/exec=\tikztimingsetcounter{#1}{##2}|]}%
+ \or
+ \lowercase{\tikztimingmetachar{#4}}[1]{[|/utils/exec=\tikztiming@counter@reset{#1}{##1}|]}%
+ \uppercase{\tikztimingmetachar{#4}}[2]{[|/utils/exec=\tikztimingsetcounter{#1}{##2}|]}%
+ \fi
+ \fi
+ \tikztiming@counter@new@@{#1}%
+}
+\def\tikztiming@counter@new@@#1#2#3#4#5{%
+ \tikzset{timing/counter/#1/.style={}}%
+ \ifx\empty#2\empty\else
+ \tikzset{timing/counter/#1/.append style={%
+ /tikz/timing/d/.style={#2}%
+ }}%
+ \fi
+ \ifx\empty#3\empty\else
+ \tikzset{timing/counter/#1/.append style={%
+ /tikz/timing/d/background/.style={#3}%
+ }}%
+ \fi
+ \tikzset{timing/counter/#1/text/.style={#4}}%
+ \ifx\empty#5\empty\else
+ \tikzset{timing/counter/#1/.append style={%
+ /utils/exec={\def\tikztiming@counter@textformat{#5}}%
+ }}%
+ \fi
+}
+\def\tikztiming@counter@reset#1#2{%
+ \begingroup
+ \pgfmathtruncatemacro\@tempa{round((#2)/\tikztiming@wscale)}%
+ \expandafter\global\expandafter\let\csname tikztiming@counter@#1\endcsname\@tempa
+ \endgroup
+}
+\def\tikztiming@counter@vs#1#2#3#4#5{%
+ \begingroup
+ \ifx\empty#3\empty\else
+ \pgfmathsetbasenumberlength{#3}%
+ \fi
+ \ifnum#2=10
+ \expandafter\expandafter\expandafter\tikztiming@counter@textformat
+ \expandafter\expandafter\expandafter{\csname tikztiming@counter@#1\endcsname}%
+ \else
+ \pgfmathdectoBase\pgfmathresult{\@nameuse{tikztiming@counter@#1}}{#2}%
+ \expandafter\tikztiming@counter@textformat\expandafter{\pgfmathresult}%
+ \fi
+ \edef\N{\@nameuse{tikztiming@counter@#1}}%
+ \pgfmathtruncatemacro\N{\N + #4}%
+ #5%
+ \expandafter\global\expandafter\let\csname tikztiming@counter@#1\endcsname\N
+ \endgroup
+}
+\def\tikztiming@counter@minsat#1{%
+ \pgfmathtruncatemacro\MIN{#1}%
+ \ifnum\N<\MIN \let\N\MIN \fi
+}
+\def\tikztiming@counter@maxsat#1{%
+ \pgfmathtruncatemacro\MAX{#1}%
+ \ifnum\N>\MAX \let\N\MAX \fi
+}
+\def\tikztiming@counter@minmaxsat#1#2{%
+ \tikztiming@counter@minsat{#1}%
+ \tikztiming@counter@maxsat{#2}%
+}
+\def\tikztiming@counter@wrap#1#2{%
+ \pgfmathtruncatemacro\MIN{#1}%
+ \pgfmathtruncatemacro\MAX{#2}%
+ \ifnum\N>\MAX
+ \pgfmathtruncatemacro\N{\MIN + (\N-\MAX-1)}%
+ \fi
+ \ifnum\N<\MIN
+ \pgfmathtruncatemacro\N{\MAX - (\MIN-\N+1)}%
+ \fi
+}
+\RequirePackage{pgfopts}
+\ProcessPgfOptions{/tikz/timing/counter}
+\endinput
+%%
+%% End of file `tikz-timing-counters.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-either.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-either.sty
new file mode 100644
index 00000000000..55b86d1d21c
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-either.sty
@@ -0,0 +1,821 @@
+%%
+%% This is file `tikz-timing-either.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-either.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-either.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-either}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for uncertain transitions]
+\tikztimingchar{E}{
+ ++(0,0)
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+}{
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+ \tikztiminguse{D}{#1}%
+ \newdraw [\style]
+}
+\def\tikztiming@triple@E{}%
+
+\tikztimingdef{LE@}{%
+ \newdraw [\bgstyle]
+ -- ++(\slope,\height)%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ -- ++(0,-\height)%
+ -- ++($ -1*(#1,0) $)%
+ \newdraw [\style]
+ -- ++(\slope,\height)%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ ++($ -1*(#1,\height) $)%
+ -- ++($ 1*(#1,0) $)%
+ ++(0,.5\height)%
+ \newdraw [\nstyle]
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+}%
+
+\tikztimingdef{HE@}{%
+ \newdraw [\bgstyle]
+ -- ++(\slope,-\height)%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ -- ++(0,\height)%
+ -- ++($ -1*(#1,0) $)%
+ \newdraw [\style]
+ -- ++(\slope,-\height)%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ ++($ -1*(#1,-\height) $)%
+ -- ++($ 1*(#1,0) $)%
+ ++(0,-.5\height)%
+ \newdraw [\nstyle]
+ \code{\setcounter{tikztimingtranspos}{1}}%
+ \code{\setcounter{tikztimingtrans}{-1}}%
+}%
+
+\tikztimingdef{TE@}{%
+ \newdraw [\bgstyle]
+ -- ++(\slope,-\height * \value{tikztimingtrans})%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ -- ++(0,\height * \value{tikztimingtrans})%
+ -- ++($ -1*(#1,0) $)%
+ \newdraw [\style]
+ -- ++(\slope,-\height * \value{tikztimingtrans})%
+ -- ++($ (#1,0) - (\slope,0) $)%
+ ++($ -1*(#1,-\height * \value{tikztimingtrans}) $)%
+ -- ++($ 1*(#1,0) $)%
+ ++(0,-1*\value{tikztimingtrans}*.5*\height)%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{LEL}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope,\height)%
+ -- +(#1,\height)%
+ -- +($ (#1,0) + (\slope,0) $)%
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\slope,-\height/2)%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{LEH}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope,\height)%
+ -- +($ (#1,\height) + (\slope,0) $)%
+ -- +(#1,0)%
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\slope,\height/2)%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{HEH}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +($ (#1,0) + (\slope,0) $)%
+ -- +(#1,-\height)%
+ -- +(\slope,-\height)
+ -- +(0,0)
+ ++(#1,-\height/2) coordinate (timing@ref)
+ ++(\slope,\height/2)%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{HEL}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0)
+ -- +($ (#1,-\height) + (\slope,0) $)%
+ -- +(\slope,-\height)
+ -- +(0,0)
+ ++(#1,-\height/2) coordinate (timing@ref)
+ ++(\slope,-\height/2)%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{HET}{
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0)
+ {[\nstyle]
+ -- +($ (#1,-\height) + (\slope,0) $)%
+ }
+ -- +(\slope,-\height)
+ -- +(0,0)
+ {[\nstyle]
+ ++(#1,-\height/2) coordinate (timing@ref)
+ ++(\slope,-\height/2)%
+ }
+ \newdraw [\nstyle]
+ \code{\setcounter{tikztimingtrans}{-1}}%
+}
+
+\tikztimingdef{LET}{
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope,\height)%
+ {[\nstyle]
+ -- +($ (#1,\height) + (\slope,0) $)%
+ }
+ -- +(#1,0)%
+ -- +(0,0)
+ {[\nstyle]
+ ++(#1,\height/2)%
+ coordinate (timing@ref)
+ ++(\slope,\height/2)%
+ }
+ \newdraw [\nstyle]
+ \code{\setcounter{tikztimingtrans}{1}}%
+}
+
+\tikztimingdef{HEE}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0) coordinate (timing@refb)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
+ -- +($ (#1,-\height) + (\slope,0) $) coordinate (timing@refa)
+ -- +(\slope,-\height)
+ -- +(0,0)
+ \tikztiming@setref{timing@ref}{#1,-\height/2}
+ ++($ (#1,-\height) + (\slope,0) $)%
+ \code{\setcounter{tikztimingtranspos}{1}}%
+ \code{\setcounter{tikztimingtrans}{-1}}%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{LEE}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0) coordinate (timing@refa)
+ \tikztiming@setref{timing@ref}{0,\height/2}
+ -- +($ (#1,\height) + (\slope,0) $) coordinate (timing@refb)
+ -- +(\slope,\height)
+ -- +(0,0)
+ ++(#1,0) \tikztiming@setref{timing@ref}{0,\height/2}
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{TEE}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope, -\height * \value{tikztimingtrans})%
+ -- +($ (#1,0) + (\slope, -\height * \value{tikztimingtrans}) $)
+ -- +(#1,0)
+ -- +(0,0)%
+ \code{\setcounter{tikztimingtranspos}{\value{tikztimingtrans}}%
+ \addtocounter{tikztimingtranspos}{+1}}
+ +($ (#1,0) + (\slope/2 + \slope/2 * \value{tikztimingtrans}, -\height/2 * \value{tikztimingtranspos}) $)
+ coordinate (timing@refa)
+ +($ (#1,0) + (\slope/2 - \slope/2 * \value{tikztimingtrans}, \height - \height/2 * \value{tikztimingtranspos}) $)
+ coordinate (timing@refb)
+ ++(#1,0)
+ \tikztiming@setref{timing@ref}{0,-\height/2 * \value{tikztimingtrans}}
+ ++(
+ .5 * \slope + .5 * \value{tikztimingtrans} * \slope,
+ -.5 * \height - .5 * \value{tikztimingtrans} * \height
+ )
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{TEH}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- ++(\slope,-\height * \value{tikztimingtrans})
+ -- ++($ (#1,0) - (\slope/2 + \slope/2 * \value{tikztimingtrans},0) $)
+ -- ++(\slope * \value{tikztimingtrans},
+ \height * \value{tikztimingtrans})
+ -- ++($ -1*(#1,0) - (\slope/2 + \slope/2 * \value{tikztimingtrans},0) $)
+ ++($ (#1,-\height/2 * \value{tikztimingtrans}) $) coordinate (timing@ref)
+ ++(\slope,\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{TEL}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- ++(\slope,-\height * \value{tikztimingtrans})
+ -- ++($ (#1,0) - (\slope/2 - \slope/2 * \value{tikztimingtrans},0) $)
+ -- ++(-\slope * \value{tikztimingtrans},
+ \height * \value{tikztimingtrans})
+ -- ++($ -1*(#1,0) - (\slope/2 + -\slope/2 * \value{tikztimingtrans},0) $)
+ ++($ (#1,-\height/2 * \value{tikztimingtrans}) $) coordinate (timing@ref)
+ ++(\slope,-\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{TEZ}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- ++(\slope,-\height * \value{tikztimingtrans})
+ -- ++($ (#1,0) - (\slope,0) $)
+ -- ++(\zslope,
+ \height/2 * \value{tikztimingtrans})
+ -- ++(-\zslope,
+ \height/2 * \value{tikztimingtrans})
+ -- ++($ -1*(#1,0) $)
+ ++($ (#1,0) + (0,-\height/2 * \value{tikztimingtrans}) $)
+ coordinate (timing@ref)
+ ++(\zslope,0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{TED}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- ++(\slope,-\height * \value{tikztimingtrans})
+ -- ++($ (#1,0) - (\slope,0) $)
+ -- ++(\dslope/2,
+ \height/2 * \value{tikztimingtrans})
+ -- ++(-\dslope/2,
+ \height/2 * \value{tikztimingtrans})
+ -- ++($ -1*(#1,0) $)
+ ++($ (#1,0) + (0,-\height/2 * \value{tikztimingtrans}) $)
+ coordinate (timing@ref)
+ ++(\dslope/2,0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{TET}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope, -\height * \value{tikztimingtrans})%
+ {[\nstyle]
+ -- +($ (#1,0) + (\slope, -\height * \value{tikztimingtrans}) $)%
+ }
+ -- +(#1,0)%
+ -- +(0,0)%
+ {[\nstyle]
+ ++($ (#1,0) + (0, -\height/2 * \value{tikztimingtrans}) $)%
+ coordinate (timing@ref)
+ ++(\slope, -\height/2 * \value{tikztimingtrans})%
+ }
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{EEZ}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ -- ($ (timing@ref) + (#1,+\height/2) $)
+ -- ($ (timing@ref) + (#1,0) + (\zslope,0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- (timing@refa)
+ ($ (timing@ref) + (#1,0) + (\zslope,0) $)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw
+}%
+
+\tikztimingdef{EED}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ -- ($ (timing@ref) + (#1,+\height/2) $)
+ -- ($ (timing@ref) + (#1,0) + (\dslope/2,0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- (timing@refa)
+ ($ (timing@ref) + (#1,0) + (\dslope/2,0) $)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw
+}%
+
+\tikztimingdef{HEZ}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0)
+ -- +($ (#1,-\height/2) + (\zslope,0) $)%
+ -- +(#1,-\height)
+ -- +(\slope,-\height)
+ -- +(0,0)
+ ++(#1,-\height/2) coordinate (timing@ref)
+ ++(\zslope,0)%
+ \newdraw
+}%
+
+\tikztimingdef{LEZ}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\zslope,0) $)%
+ -- +(#1,0)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\zslope,0)%
+ \newdraw
+}%
+
+\tikztimingdef{LED}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\slope,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\dslope/2,0) $)%
+ -- +(#1,0)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\dslope/2,0)%
+ \newdraw
+}%
+
+\tikztimingdef{HED}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(#1,0)
+ -- +($ (#1,-\height/2) + (\dslope/2,0) $)%
+ -- +(#1,-\height)
+ -- +(\slope,-\height)
+ -- +(0,0)
+ ++(#1,-\height/2) coordinate (timing@ref)
+ ++(\dslope/2,0)%
+ \newdraw
+}%
+
+\tikztimingdef{EZ}{%
+ \newdraw [\style]
+ -- ($ (timing@ref) + (#1,0) $)%
+}
+
+\tikztimingdef{EM}{%
+ \newdraw [\style]
+ -- ($ (timing@ref) + (#1,0) $)%
+ \newdraw [\style/base]
+}
+
+\tikztimingdef{EL}{%
+ -- ($ (timing@ref) + (#1,-\height/2) $)%
+}%
+\tikztimingdef{EH}{%
+ -- ($ (timing@ref) + (#1,+\height/2) $)%
+}%
+
+\tikztimingdef{ED@}{%
+ \tikztiming@chard@{#1}%
+}
+\tikztimingcpy{E{D@edge@}@}{ED@}
+
+\tikztimingdef{ED}{%
+ \tikztiming@chard{#1}%
+}
+\tikztimingcpy{E{D@edge@}}{ED}
+\tikztimingdef{EDD}{%
+ \tikztiming@chard@{#1}%
+}
+\tikztimingdef{EUU}{%
+ \tikztiming@chard@{#1}%
+}
+\tikztimingdef{EDU}{%
+ \tikztiming@chard{#1}%
+}
+\tikztimingdef{EUD}{%
+ \tikztiming@chard{#1}%
+}
+
+\tikztimingdef{DE@}{%
+ \tikztiming@oldnodecenter@%
+ \newdraw [\bgstyle]
+ -- +(\dslope/2,\height/2)
+ -- ($ (timing@ref) + (#1,\height/2) $)%
+ -- ($ (timing@ref) + (#1,-\height/2) $)%
+ -- ($ (timing@save) + (\dslope/2,-\height/2) $)
+ -- (timing@save)
+ \newdraw [\style]
+ -- +(\dslope/2,\height/2)
+ -- ($ (timing@ref) + (#1,\height/2) $)%
+ ($ (timing@ref) + (#1,-\height/2) $)%
+ -- ($ (timing@save) + (\dslope/2,-\height/2) $)
+ -- (timing@save)
+ ($ (timing@ref) + (#1,0) $)%
+ coordinate (timing@ref)
+}
+
+\tikztimingdef{EEE}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ -- ($ (timing@refb) + (#1,0) $)
+ -- ($ (timing@refa) + (#1,0) $)
+ -- (timing@refa)
+ ++(#1,0) coordinate (timing@refa)
+ coordinate (timing@refb) at ($ (timing@refb) + (#1,0) $)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{EET}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ {[\nstyle]
+ -- ($ (timing@ref) + (#1,+\height/2) + (\slope/2 + \slope/2 * \value{tikztimingtrans},0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) + (\slope/2 - \slope/2 * \value{tikztimingtrans},0) $)
+ }
+ -- (timing@refa)
+ {[\nstyle]
+ ($ (timing@ref) + (#1,\height/2 * \value{tikztimingtrans}) + (\slope,0) $)
+ }
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{EEL}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ -- ($ (timing@ref) + (#1,+\height/2) $)
+ -- ($ (timing@ref) + (#1,-\height/2) + (\slope,0) $)
+ -- (timing@refa)
+ ($ (timing@ref) + (#1,-\height/2) + (\slope,0) $)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{EEH}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- (timing@refb)
+ -- ($ (timing@ref) + (#1,+\height/2) + (\slope,0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- (timing@refa)
+ ($ (timing@ref) + (#1,+\height/2) + (\slope,0) $)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{EE@}{%
+ \newdraw [\bgstyle]
+ let \p0 = (timing@ref), \p1 = (timing@refa), \p2 = (timing@refb) in
+ -- (\p2)
+ -- ($ (\x0,\y2) + (#1,0) $)
+ -- +(0,\y1-\y2)
+ -- (\p1)
+ \newdraw [\style]
+ let \p0 = (timing@ref), \p1 = (timing@refa), \p2 = (timing@refb) in
+ -- (\p2)
+ -- ($ (\x0,\y2) + (#1,0) $)
+ +(0,\y1-\y2)
+ -- (\p1)
+ ($ (timing@ref) + (#1,0) $) coordinate (timing@ref)
+ \newdraw [\nstyle]
+}%
+
+\tikztimingdef{ZE@}{
+ \newdraw [\bgstyle]
+ -- +(\zslope,\height/2)
+ -- +(#1,\height/2)%
+ -- +(#1,-\height/2)%
+ -- +(\zslope,-\height/2)
+ -- +(0,0)
+ \newdraw [\style]
+ -- +(\zslope,\height/2)
+ -- +(#1,\height/2)%
+ +(#1,-\height/2)%
+ -- +(\zslope,-\height/2)
+ -- +(0,0)
+ ++(#1,0) coordinate (timing@ref)
+}
+
+\tikztimingdef{ZEH}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ -- +($ (#1,0) + (\slope, \height/2) $)
+ -- +(#1,-\height/2)
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ ++(#1,0) coordinate (timing@ref)
+ ++(\slope, \height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{ZEL}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ -- +(#1,\height/2)
+ -- +($ (#1,0) + (\slope, -\height/2) $)
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ ++(#1,0) coordinate (timing@ref)
+ ++(\slope, -\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{ZET}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ {[\nstyle]
+ -- +($ (#1, \height/2) + (\slope/2 - \slope/2 * \value{tikztimingtrans}, 0) $)
+ -- +($ (#1,-\height/2) + (\slope/2 + \slope/2 * \value{tikztimingtrans}, 0) $)
+ }
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ {[\nstyle]
+ ++(#1,0) coordinate (timing@ref)
+ ++(\slope,-\height/2 * \value{tikztimingtrans})
+ }
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{DET}{%
+ \tikztiming@oldnodecenter@%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ {[\nstyle]
+ -- ($ (timing@ref) + (#1, \height/2) + (\slope/2 - \slope/2 * \value{tikztimingtrans}, 0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) + (\slope/2 + \slope/2 * \value{tikztimingtrans}, 0) $)
+ }
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ {[\nstyle]
+ ($ (timing@ref) + (#1,0) $) coordinate (timing@ref)
+ ++(\slope,-\height/2 * \value{tikztimingtrans})
+ }
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{ZEZ}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ -- +(#1,\height/2)
+ -- +($ (#1,0) + (\zslope, 0) $)
+ -- +(#1,-\height/2)
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ ++(#1,0) coordinate (timing@ref)
+ ++(\zslope, 0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{ZEE}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ -- +($ (#1,0) + (\slope, \height/2) $) coordinate (timing@refb)
+ -- +(#1,-\height/2) coordinate (timing@refa)
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ +(#1,0) coordinate (timing@ref)
+ ++(#1,-\height/2)
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+}
+
+\tikztimingdef{DEE}{%
+ \tikztiming@oldnodecenter@
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ -- ($ (timing@ref) + (#1,0) + (\slope, \height/2) $) coordinate (timing@refb)
+ -- ($ (timing@ref) + (#1,-\height/2) $) coordinate (timing@refa)
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ coordinate (timing@ref) at ($ (timing@ref) + (#1,0) $)
+ (timing@refa)
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+}
+
+\tikztimingdef{DED}{%
+ \tikztiming@oldnodecenter@%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ -- ($ (timing@ref) + (#1,\height/2) $)
+ -- ($ (timing@ref) + (#1,0) + (\dslope/2,0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ ($ (timing@ref) + (#1,0) $)
+ coordinate (timing@ref)
+ ++(\dslope/2,0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{ZED}{%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\zslope, \height/2)
+ -- +(#1,\height/2)
+ -- +($ (#1,0) + (\dslope/2, 0) $)
+ -- +(#1,-\height/2)
+ -- +(\zslope, -\height/2)
+ -- +(0,0)
+ ++(#1,0) coordinate (timing@ref)
+ ++(\dslope/2, 0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{DEZ}{%
+ \tikztiming@oldnodecenter@
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ -- ($ (timing@ref) + (#1,\height/2) $)
+ -- ($ (timing@ref) + (#1,0) + (\zslope, 0) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ ($ (timing@ref) + (#1,0) $)
+ coordinate (timing@ref)
+ ++(\zslope, 0)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{DEH}{%
+ \tikztiming@oldnodecenter@%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ -- ($ (timing@ref) + (#1,0) + (\slope, \height/2) $)
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ ($ (timing@ref) + (#1,0) $) coordinate (timing@ref)
+ ++(\slope, \height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{DEL}{%
+ \tikztiming@oldnodecenter@%
+ \newdraw [\style,preaction={\bgstyle}]
+ -- +(\dslope/2, \height/2)
+ -- ($ (timing@ref) + (#1,\height/2) $)
+ -- ($ (timing@ref) + (#1,0) + (\slope, -\height/2) $)
+ -- ($ (timing@save) + (\dslope/2, -\height/2) $)
+ -- (timing@save)
+ ($ (timing@ref) + (#1,0) $) coordinate (timing@ref)
+ ++(\slope, -\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{@E}{%
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+ \tikztiminguse{@D}{#1}
+}
+
+\tikztimingdef{@DE}{%
+ \tikztiming@@chard{#1}%
+}
+\tikztimingdef{DDE}{
+ ++(0,-\height/2)
+ \tikztiming@oldnodecenter{%
+ (0,+\height/2)
+ }%
+ \tikztiming@@chard{#1}%
+}
+
+\tikztimingdef{@EH}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ -- +($ (#1,\height) + (\slope,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ \newdraw [\style]
+ +(0,\height)
+ -- +($ (#1,\height) + (\slope,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\slope,\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{@ET}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ {[\nstyle]
+ -- ($ (timing@ref) + (#1,\height/2) + (\slope,0) $)
+ }
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- (timing@save)
+ \newdraw [\style]
+ +(0,\height)
+ {[\nstyle]
+ -- ($ (timing@ref) + (#1,\height/2) + (\slope,0) $)
+ }
+ -- ($ (timing@ref) + (#1,-\height/2) $)
+ -- (timing@save)
+ {[\nstyle]
+ ($ (timing@ref) + (#1,0) $) coordinate (timing@ref)
+ ++(\slope,\height/2)
+ }
+ \newdraw [\nstyle]
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+}
+
+\tikztimingdef{ET}{%
+ {[\style]
+ -- ($ (timing@ref) + (#1,\height/2 * \value{tikztimingtrans}) $)
+ }
+}
+
+\tikztimingdef{@EL}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,0) + (\slope,0) $)
+ -- +(0,0)
+ \newdraw [\style]
+ +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,0) + (\slope,0) $)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\slope,-\height/2)
+ \newdraw [\nstyle]
+}
+
+\tikztimingdef{@ED}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\dslope/2,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ \newdraw [\style]
+ +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\dslope/2,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\dslope/2,0)
+}
+
+\tikztimingdef{@EZ}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\zslope,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ \newdraw [\style]
+ +(0,\height)
+ -- +(#1,\height)
+ -- +($ (#1,\height/2) + (\zslope,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ ++(#1,\height/2) coordinate (timing@ref)
+ ++(\zslope,0)
+}
+
+\tikztimingdef{@EE}{%
+ \tikztiming@setref{timing/start}{0,\height/2}
+ \newdraw [\bgstyle]
+ -- +(0,\height)
+ -- +($ (#1,\height) + (\slope,0) $)
+ -- +(#1,0)
+ -- +(0,0)
+ \newdraw [\style]
+ +(0,\height)
+ -- +($ (#1,\height) + (\slope,0) $) coordinate (timing@refb)
+ -- +(#1,0) coordinate (timing@refa)
+ -- +(0,0)
+ ++(#1,0)
+ \tikztiming@setref{timing@ref}{0,\height/2}
+ \code{\setcounter{tikztimingtranspos}{0}}%
+ \code{\setcounter{tikztimingtrans}{1}}%
+}
+
+\def\tikztiming@nocombine@E{}%%
+\endinput
+%%
+%% End of file `tikz-timing-either.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-ifsym.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-ifsym.sty
new file mode 100644
index 00000000000..cd13fc96758
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-ifsym.sty
@@ -0,0 +1,96 @@
+%%
+%% This is file `tikz-timing-ifsym.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-ifsym.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-ifsym.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-ifsym}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for ifsym compatible macros]
+\tikzset{%
+ timing/ifsym/macro/.style={/tikz/timing/ifsym,/utils/exec={\pgfmathparse{.6*\f@size}\let\ysize\pgfmathresult},/tikz/y=\ysize},
+ timing/ifsym/.style={%
+ /tikz,timing/slope=0,x=\f@size,y=\f@size,line width=0.1ex,
+ timing/metachar={|}{G},
+ timing/x/.style={},
+ timing/metachar={M}[1]{#1X},
+ timing/metachar={m}[1]{#1x},
+ /utils/exec={%
+\def\tikztimingsetdslope##1{%
+ \pgfmathparse{max(0.0,##1)}%
+ \let\tikztiming@dslope\pgfmathresult
+ \edef\timingdslope{\tikztiming@dslope*\noexpand\timingwidth}%
+}
+\tikztiming@defcode{<}{%
+ \@ifnextchar{<}%
+ {\tikztiming@ifsym@longslope{X}{D}}%
+ {\tikztiming@parser [timing/dslope=1] 0Xd;}%
+}%
+\tikztiming@defcode{>}{%
+ \@ifnextchar{>}%
+ {\tikztiming@ifsym@longslope{D}{X}}%
+ {\tikztiming@parser [timing/dslope=1] 0Dx;}%
+}%
+\def\tikztiming@ifsym@longslope##1##2##3{
+ \tikztiming@parser [timing/dslope=2.] 0##1 ##2;%
+}%
+ }},
+}
+\tikzset{%
+ timing/ifsym/.cd,
+ provide/.code={\let\tikztiming@ifsym@def\providecommand},
+ renew/.code={\let\tikztiming@ifsym@def\renewcommand},
+ new/.code={\let\tikztiming@ifsym@def\newcommand},
+ off/.code={\let\tikztiming@ifsym@def\@gobbletwo},
+}
+\tikzset{timing/ifsym/provide}%
+\RequirePackage{pgfopts}
+\ProcessPgfOptions{/tikz/timing/ifsym}
+\tikztiming@ifsym@def{\RaisingEdge}{\hbox{\texttiming[timing/ifsym/macro]{.4L .4H}}}
+\tikztiming@ifsym@def{\FallingEdge}{\hbox{\texttiming[timing/ifsym/macro]{.4H .4L}}}
+\tikztiming@ifsym@def{\ShortPulseHigh}{\hbox{\texttiming[timing/ifsym/macro]{.4L .2H .4L}}}
+\tikztiming@ifsym@def{\ShortPulseLow}{\hbox{\texttiming[timing/ifsym/macro]{.4H .2L .4H}}}
+\tikztiming@ifsym@def{\PulseHigh}{\hbox{\texttiming[timing/ifsym/macro]{.4L .6H .4L}}}
+\tikztiming@ifsym@def{\PulseLow}{\hbox{\texttiming[timing/ifsym/macro]{.4H .6L .4H}}}
+\tikztiming@ifsym@def{\LongPulseHigh}{\hbox{\texttiming[timing/ifsym/macro]{.4L H .4L}}}
+\tikztiming@ifsym@def{\LongPulseLow}{\hbox{\texttiming[timing/ifsym/macro]{.4H L .4H}}}
+\tikztiming@ifsym@def{\textifsym}{\texttiming[timing/ifsym]}
+\let\tikztiming@ifsym@def\@undefined
+\endinput
+%%
+%% End of file `tikz-timing-ifsym.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-interval.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-interval.sty
new file mode 100644
index 00000000000..a909816e9f7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-interval.sty
@@ -0,0 +1,117 @@
+%%
+%% This is file `tikz-timing-interval.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-interval.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-interval.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-interval}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for alternative Z transitions]
+\let\tikztiming@linterval\relax
+\let\tikztiming@rinterval\relax
+
+\tikztimingdef{LZ}{
+ \tikztiming@rinterval
+ {\newdraw [\style]}
+ {-- ++(\zslope,+\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\tikztimingdef{HZ}{%
+ \tikztiming@rinterval
+ {\newdraw [\style]}
+ {-- ++(\zslope,-\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\tikztimingdef{TZ}{%
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \tikztiming@rinterval
+ {\newdraw [\style]}
+ {-- ++(\zslope,\value{tikztimingtrans}*\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\tikztimingdef{ZL}{%
+ \tikztiming@linterval
+ {\newdraw}
+ {-- ++(\zslope,-\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\tikztimingdef{ZH}{%
+ \tikztiming@linterval
+ {\newdraw}
+ {-- ++(\zslope,\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\tikztimingdef{ZT}{%
+ \code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
+ \tikztiming@linterval
+ {\newdraw [\style]}
+ {-- ++(\zslope,\value{tikztimingtrans}*\height/2.)}
+ -- ++($ (#1,0) - (\zslope,0) $)
+}
+
+\def\tikztiming@onetwo#1#2{#1#2}
+\def\tikztiming@twoone#1#2{#2#1}
+
+\let\tikztiming@linterval\tikztiming@onetwo
+\let\tikztiming@rinterval\tikztiming@onetwo
+
+\tikzset{timing/interval/.code={\pgfqkeys{/tikz/timing/interval}{#1}}}
+\tikzset{timing/interval/.cd,
+ lo/.style={/tikz/timing/interval/left open},
+ lc/.style={/tikz/timing/interval/left close},
+ ro/.style={/tikz/timing/interval/right open},
+ rc/.style={/tikz/timing/interval/right close},
+ left close/.code={\let\tikztiming@linterval\tikztiming@onetwo},
+ left open/.code={\let\tikztiming@linterval\tikztiming@twoone},
+ right open/.code={\let\tikztiming@rinterval\tikztiming@onetwo},
+ right close/.code={\let\tikztiming@rinterval\tikztiming@twoone},
+}
+\tikzset{
+ timing/interval/normal/.style={/tikz/timing/interval/left close,/tikz/timing/interval/right open},
+ timing/interval/verilog/.style={/tikz/timing/interval/normal},
+ timing/interval/metachar/.style={/tikz/timing/metachar={#1}[2]{[timing/interval={##2}]}},
+}
+
+\endinput
+%%
+%% End of file `tikz-timing-interval.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty
new file mode 100644
index 00000000000..2bfdf50ebbd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty
@@ -0,0 +1,133 @@
+%%
+%% This is file `tikz-timing-nicetabs.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-nicetabs.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-nicetabs.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-nicetabs}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for nice timing tables]
+\RequirePackage{array}
+\RequirePackage{booktabs}
+
+\newcommand*\tikztiming@nicetabs@tableheader[1][]{%
+ \path [timing/table/midrules] [/utils/exec=\xdef\@gtempa{\the\pgflinewidth}];
+ \path [timing/table/header,#1]
+ let \p1 = (0,\belowrulesep + \aboverulesep + \@gtempa
+ + \arraystretch\ht\strutbox + \arraystretch*\extrarowheight
+ + \arraystretch\dp\strutbox)
+ in
+ coordinate (diagram@header) at (0,\y1)
+ coordinate (label@header) at ($ -1*(\tikztiming@coldist,0) + (0,\y1) $)
+ ;
+ \tikztiming@normal@tableheader[#1]%
+}
+\newcommand*\tikztiming@nicetabs@tablerules[1][]{%
+ \begin{scope}[#1]
+ \coordinate (NW) at (current bounding box.north west);
+ \coordinate (SE) at (current bounding box.south east);
+ %
+ \draw [timing/table/rules]
+ let
+ \p1 = (NW),
+ \p2 = (SE),
+ \p3 = (last label.base),
+ \p4 = ($ (0,\y3) - (0,\arraystretch\dp\strutbox + \aboverulesep +
+ .5\pgflinewidth) $)
+ in
+ (\x1-\tabcolsep,\y4) -- (\x2+\tabcolsep,\y4)
+ \iftikztiming@tablehead
+ let
+ \p5 = (diagram@header.base),
+ \p6 = ($ (0,\y5) + (0,\arraystretch\ht\strutbox + \arraystretch*\extrarowheight
+ + \belowrulesep + .5\pgflinewidth) $)
+ in
+ (\x1-\tabcolsep,\y6) -- (\x2+\tabcolsep,\y6)
+ \fi
+ ;
+ \draw
+ \iftikztiming@tablehead [timing/table/midrules] \else [timing/table/rules] \fi
+ let
+ \p1 = (NW),
+ \p2 = (SE),
+ \p3 = (0, \arraystretch\ht\strutbox + \arraystretch*\extrarowheight +
+ \belowrulesep + .5\pgflinewidth)
+ in
+ (\x1-\tabcolsep, \y3)
+ --
+ (\x2+\tabcolsep, \y3)
+ ;
+ \end{scope}
+}
+\let\tikztiming@normal@tableheader\tikztiming@tableheader
+\let\tikztiming@normal@tablerules\tikztiming@tablerules
+\let\tikztiming@normal@coldist\tikztiming@coldist
+\let\tikztiming@normal@rowdist\tikztiming@rowdist
+
+\tikzset{%
+ timing/no nice tabs/.code={%
+ \let\tikztiming@coldist\tikztiming@normal@coldist
+ \let\tikztiming@rowdist\tikztiming@normal@rowdist
+ \let\tikztiming@tableheader\tikztiming@normal@tableheader
+ \let\tikztiming@tablerules\tikztiming@normal@tablerules
+ },
+ timing/nice tabs/.code={%
+ \ifx\tikztiming@tableheader\tikztiming@nicetabs@tableheader\else
+ \let\tikztiming@normal@coldist\tikztiming@coldist
+ \let\tikztiming@normal@rowdist\tikztiming@rowdist
+ \fi
+ \def\tikztiming@rowdist{%
+ \arraystretch\ht\strutbox
+ +\arraystretch*\extrarowheight
+ +\arraystretch\dp\strutbox
+ }%
+ \def\tikztiming@coldist{2\tabcolsep}%
+ \let\tikztiming@tableheader\tikztiming@nicetabs@tableheader
+ \let\tikztiming@tablerules\tikztiming@nicetabs@tablerules
+ },
+ timing/nicetabs/no nice tabs/.style={/tikz/timing/no nice tabs},
+ timing/nicetabs/off/.style={/tikz/timing/no nice tabs},
+ timing/nicetabs/nice tabs/.style={/tikz/timing/nice tabs},
+ timing/nicetabs/on/.style={/tikz/timing/nice tabs},
+}
+\tikzset{timing/nice tabs}%
+\RequirePackage{pgfopts}
+\ProcessPgfOptions{/tikz/timing/nicetabs}
+\endinput
+%%
+%% End of file `tikz-timing-nicetabs.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-overlays.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-overlays.sty
new file mode 100644
index 00000000000..6bf02d0396d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-overlays.sty
@@ -0,0 +1,96 @@
+%%
+%% This is file `tikz-timing-overlays.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tikz-timing.dtx (with options: `tikz-timing-overlays.sty')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from tikz-timing-overlays.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file tikz-timing.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+%% Copyright (C) 2009-2012 by Martin Scharrer <martin@scharrer-online.de>
+%% ----------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files tikz-timing.dtx and tikz-timing.ins
+%% and the derived filebase tikz-timing*.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{tikz-timing-overlays}[%
+ 2017/12/20
+ v0.7f
+ tikz-timing library for timing overlays]
+\tikztiming@defcode{O}#1{%
+ \ifx\relax#1\empty
+ \def\tikztiming@next{\tikztiming@parser#1}%
+ \else
+ \let\tikztiming@overlay@lastchar\tikztiming@lastchar
+ \let\tikztiming@overlay@width\tikztimingwidth
+ \tikztiming@output@addcode{\tikztiming@overlay@begin}%
+ \begingroup
+ \def\tikztiming@parser@end{%
+ \def\tikztiming@output@nextchar{@}%
+ \tikztiming@output@flush
+ }
+ \begingroup
+ \tikztiming@parser #1\relax
+ \endgroup
+ \endgroup
+ \tikztiming@output@addcode{\tikztiming@overlay@end}%
+ \global\let\tikztiming@lastchar\tikztiming@overlay@lastchar
+ \global\let\tikztimingwidth\tikztiming@overlay@width
+ \def\tikztiming@next{\expandafter\tikztiming@parser\@firstofone}%
+ \fi
+ \tikztiming@next
+}
+\let\tikztiming@overlay@save\empty
+\let\pgf@sh@nt@tikztiming@overlay@node\empty
+\def\tikztiming@overlay@begin{
+ [/utils/exec={%
+ \xdef\tikztiming@overlay@save{%
+ \noexpand\global\noexpand\c@tikztimingtrans\the\c@tikztimingtrans\relax%
+ \noexpand\global\noexpand\c@tikztimingtranspos\the\c@tikztimingtranspos\relax%
+ \noexpand\gdef\noexpand\pgf@sh@nt@tikztiming@overlay@node
+ {\csname pgf@sh@nt@tikztiming@overlay@node\endcsname}%
+ \noexpand\gdef\noexpand\pgf@sh@nt@timing@refa
+ {\csname pgf@sh@nt@timing@refa\endcsname}%
+ \noexpand\gdef\noexpand\pgf@sh@nt@timing@refb
+ {\csname pgf@sh@nt@timing@refb\endcsname}%
+ \noexpand\gdef\noexpand\pgf@sh@nt@timing@ref
+ {\csname pgf@sh@nt@timing@ref\endcsname}%
+ \noexpand\gdef\noexpand\tikztiming@overlay@save{%
+ \expandafter\unexpanded\expandafter{\tikztiming@overlay@save}%
+ }%
+ }%
+ }]%
+ node [timing/save] (tikztiming@overlay@node) {}
+ }%
+\def\tikztiming@overlay@end{%
+ \tikztiming@newdraw (tikztiming@overlay@node)
+ [/utils/exec={\tikztiming@overlay@save}]
+}%
+\endinput
+%%
+%% End of file `tikz-timing-overlays.sty'.
diff --git a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
index 428fd1c9857..8c28c657abc 100644
--- a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
@@ -39,8 +39,8 @@
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{tikz-timing}[%
- 2017/12/10
- v0.7e
+ 2017/12/20
+ v0.7f
Digital Timing Diagrams using TikZ]
\RequirePackage{tikz}