diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-21 23:56:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-21 23:56:08 +0000 |
commit | 5149fd09e4686b79e89ecc9b5e8fb7b1619f39ba (patch) | |
tree | f90cbaf38e4222828f3cbc25e60bcd0673c058c1 /Master | |
parent | 1384ead159c0cd068f3a731042d86fd83abb98c3 (diff) |
tikz-timing (21dec17)
git-svn-id: svn://tug.org/texlive/trunk@46111 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
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 Binary files differindex 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 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} |