summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty')
-rw-r--r--Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty322
1 files changed, 212 insertions, 110 deletions
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 d2ff15dc603..3e947a5e3a5 100644
--- a/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
+++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing.sty
@@ -27,11 +27,10 @@
%%
\RequirePackage{svn-prov}[2009/05/03]
\ProvidesPackageSVN
- {$Id: tikz-timing.dtx 1580 2009-12-09 11:14:01Z martin $}
- [v0.7
+ {$Id: tikz-timing.dtx 1647 2009-12-28 14:18:14Z martin $}
+ [v0.7a
Digital Timing Diagrams using TikZ]
\DefineFileInfoSVN[tikztiming]
-
\RequirePackage{tikz}
\usetikzlibrary{calc}
@@ -54,8 +53,10 @@
\let\tikztiming@back\empty
\newlength\tikztiming@xunit
\newlength\tikztiming@yunit
-\setlength{\tikztiming@xunit}{1.6ex}%
-\setlength{\tikztiming@yunit}{1.6ex}%
+\def\tikztiming@@xunit{1.6ex}%
+\def\tikztiming@@yunit{1.6ex}%
+\setlength{\tikztiming@xunit}{\tikztiming@@xunit}%
+\setlength{\tikztiming@yunit}{\tikztiming@@yunit}%
\def\tikztiming@setnum#1{%
\pgfmathparse{#1}%
@@ -81,7 +82,7 @@
\def\timingheight{1}%
\tikzset{%
- timing/.style={%
+ timing/.style={/tikz,
line cap=round, line join=round,
timing/adjust@xy
},%
@@ -91,10 +92,33 @@
adjust@xy/.style={%
/utils/exec={%
\tikz@textfont
- \setlength{\tikztiming@xunit}{1.6ex}%
- \setlength{\tikztiming@yunit}{1.6ex}%
+ \let\@tempa\fsize
+ \let\fsize\@tempdima
+ \fsize=\f@size pt\relax
+ \pgfmathsetlength{\tikztiming@xunit}{\tikztiming@@xunit}%
+ \pgfmathsetlength{\tikztiming@yunit}{\tikztiming@@yunit}%
+ \let\fsize\@tempa
+ },%
+ /tikz/x=\tikztiming@xunit, /tikz/y=\tikztiming@yunit,
+ },
+ unit/.style={%
+ /utils/exec={%
+ \def\tikztiming@@xunit{#1}%
+ \let\tikztiming@@yunit\tikztiming@@xunit
+ },%
+ /tikz/timing/adjust@xy,%
+ },
+ xunit/.style={%
+ /utils/exec={%
+ \def\tikztiming@@xunit{#1}%
+ },%
+ /tikz/timing/adjust@xy,%
+ },
+ yunit/.style={%
+ /utils/exec={%
+ \def\tikztiming@@yunit{#1}%
},%
- /tikz/x=1.6ex, /tikz/y=1.6ex,
+ /tikz/timing/adjust@xy,%
},
font/.style={%
/tikz/font={#1},
@@ -127,6 +151,8 @@
restore/.style={/utils/exec={\expandafter\tikzset\expandafter{\tikztiming@saved@options}}},
option/.style={/utils/exec={\g@addto@macro\tikztiming@saved@options{#1,}},#1},
nooptions/.style={/utils/exec={\gdef\tikztiming@saved@options{}}},
+ popoptions/.style={/utils/exec={\tikztiming@popoptions}},
+ pushoptions/.style={/utils/exec={\tikztiming@pushoptions}},
name/.style={inner sep=0pt,outer sep=0pt,minimum size=0pt},
text format/.store in=\tikztiming@textformat,
@/.style={},
@@ -184,6 +210,8 @@
table/rules/.style={line width=0.08em,line cap=butt},
table/midrules/.style={line width=0.05em,line cap=butt},
table/header/.style={timing/name},
+ table/label header/.style={},
+ table/row header/.style={},
slope/.code={%
\tikztimingsetslope{#1}%
\tikztimingsetdslope{2*#1}%
@@ -270,8 +298,8 @@
\useasboundingbox (0,0) rectangle (\tikztimingwidth,\timingheight);
\draw (0,0)
coordinate (timing@refa)
- coordinate [shift={(0,\timingheight)}] (timing@refb)
- coordinate [shift={(0,\timingheight/2)}] (timing@ref)
+ coordinate (timing@ref) at (0,\timingheight/2)
+ coordinate (timing@refb) at (0,\timingheight)
coordinate (timing/start)
coordinate (timing/start base)
}%
@@ -337,6 +365,13 @@
\fi
\tikzset{timing/before}%
\tikztiming@str;%
+ \path let \p1 = (timing/end top), \p2 = (timing/end base),
+ \p3 = (timing/end), \p4 = (timing/start) in
+ [/utils/exec={%
+ \xdef\tikztiming@northeast{\noexpand\pgfpoint{.5*\pgf@pt@aa*\x1}{.5*\pgf@pt@bb*\y1}}%
+ \xdef\tikztiming@startpoint{\noexpand\pgfpoint{\pgf@pt@aa*(\x4-.5*\x1)}{\pgf@pt@bb*(\y4-.5*\y1)}}%
+ \xdef\tikztiming@endpoint{\noexpand\pgfpoint{\pgf@pt@aa*(\x3-.5*\x1)}{\pgf@pt@bb*(\y3-.5*\y1)}}%
+ }];
\node [shape=tikztiming@shape,anchor=origin,#1] at (0,0) {};
\tikzset{timing/after}%
\end{scope}%
@@ -614,9 +649,9 @@
\tikztiming@output@flush
\global\let\tikztimingwidth\tikztimingwidth
\tikztiming@addtostr{ coordinate (timing/end)
- let \p1 = (timing/start base), \p2 = (timing/end) in
+ let \p1 = (timing/start base), \p2 = (timing/end), \p3 = (0,1) in
coordinate (timing/end base) at (\x2,\y1)
- coordinate (timing/end top) at (\x2,1+\y1)
+ coordinate (timing/end top) at (\x2,\y1+\y3)
}%
\endgroup
\tikztiming@endhook%
@@ -641,8 +676,13 @@
\tikztiming@output{\tikztiming@lastchar}{\tikztiming@currentchar}%
\global\let\tikztiming@lastchar\tikztiming@currentchar
\@nameuse{tikztiming@aftercode@\tikztiming@currentchar}%
- \expandafter
- \tikztiming@testfortext
+ \expandafter\lowercase\expandafter{%
+ \expandafter\def\expandafter\@tempa
+ \expandafter{\tikztiming@currentchar}%
+ }%
+ \pgfkeysifdefined{/tikz/timing/\@tempa/text/.@cmd}%
+ {\expandafter\expandafter\expandafter\tikztiming@testfortext}%
+ {\expandafter\expandafter\expandafter\tikztiming@parser}%
\fi
}
\def\tikztiming@testfortext{%
@@ -672,32 +712,25 @@
\expandafter\def\expandafter\@tempa
\expandafter{\tikztiming@currentchar}%
}%
- \pgfkeysifdefined{/tikz/timing/\@tempa/text/.@cmd}%
- {%
- \edef\@tempa{node [timing/\@tempa/text,}%
- \expandafter\tikztiming@output@addcode\expandafter{%
- \@tempa
- #1] at ($ (timing@dstart) !.5! (timing@dend) $)
- {\tikztiming@textformat{#2}}
- }%
- \ifcase0%
- \if @\tikztiming@output@bufchara
+ \edef\@tempa{node [timing/\@tempa/text,}%
+ \expandafter\tikztiming@output@addcode\expandafter{%
+ \@tempa
+ #1] at ($ (timing@dstart) !.5! (timing@dend) $)
+ {\tikztiming@textformat{#2}}
+ }%
+ \ifcase0%
+ \if @\tikztiming@output@bufchara
+ 1%
+ \else
+ \ifx\tikztiming@output@bufchara\tikztiming@currentchar
1%
- \else
- \ifx\tikztiming@output@bufchara\tikztiming@currentchar
- 1%
- \fi
\fi
- \relax
- \else
\fi
- \xdef\tikztiming@output@bufcharb{\tikztiming@currentchar @edge@}%
- \xdef\tikztiming@lastchar{\tikztiming@currentchar @edge@}%
- }{%
- \endgroup
- \PackageWarning{tikz-timing}{Ignoring text for character
- '\tikztiming@currentchar'!}{}{}{}%
- }%
+ \relax
+ \else
+ \fi
+ \xdef\tikztiming@output@bufcharb{\tikztiming@currentchar @edge@}%
+ \xdef\tikztiming@lastchar{\tikztiming@currentchar @edge@}%
\tikztiming@parser
}
\let\tikztiming@textformat\empty
@@ -790,6 +823,37 @@
\tikztiming@output@addcode{ [#1] }%
\tikztiming@parser
}
+\tikztiming@defcode{\bgroup}{%
+ \tikztiming@output@eaddcode{%
+ [timing/pushoptions]
+ \newdraw
+ }%
+ \tikztiming@parser
+}
+\tikztiming@defcode{\egroup}{%
+ \tikztiming@output@eaddcode{%
+ [timing/popoptions]
+ \newdraw
+ }%
+ \tikztiming@parser
+}
+\def\tikztiming@popoptions{%
+ \expandafter\tikztiming@popoptions@\tikztiming@optionstack\relax
+}
+\def\tikztiming@optionstack{{}}
+\def\tikztiming@popoptions@#1#2\relax{%
+ \gdef\tikztiming@saved@options{#1}%
+ \gdef\tikztiming@optionstack{#2}%
+ \ifx\tikztiming@optionstack\empty
+ \gdef\tikztiming@optionstack{{}}%
+ \fi
+}
+\def\tikztiming@pushoptions{%
+ \expandafter\expandafter\expandafter\gdef
+ \expandafter\expandafter\expandafter\tikztiming@optionstack
+ \expandafter\expandafter\expandafter{%
+ \expandafter\expandafter\expandafter{\expandafter\tikztiming@saved@options\expandafter}\tikztiming@optionstack}%
+}
\def\tikztiming@addnode@getoptions[#1]{%
\@ifnextchar(%)
{\tikztiming@addnode@getname{#1}}%
@@ -975,6 +1039,10 @@
\endcsname\expandafter[#2]{#3}%
\fi
\fi
+ \ifnum\tikztiming@debug=-1
+ \message{^^J Defined meta-char '#1' as:
+ \expandafter\meaning\csname tikztiming@metachar@\meaning#1\endcsname ^^J}%
+ \fi
}
\def\if@tikztiming@metachar#1#2{%
\@ifundefined{tikztiming@metachar@\meaning\@let@token}{#2}{#1}%
@@ -1001,10 +1069,11 @@
\def\nrows{\the\c@tikztiming@nrows}%
\def\twidth{\tikztiming@maxwidth}%
\tikzpicture[timing/table,#1]%
- \coordinate (last row) at (0,\rowdist);
- \coordinate (label pos) at (-1*{(\coldist)},0);
- \coordinate (timing/table/top left) at (0,1);
- \coordinate (timing/table/bottom right) at (0,0);
+ \coordinate (@last row) at (0,\rowdist);
+ \coordinate (label@header) at (-1*{(\tikztiming@coldist)},1.5*{(\tikztiming@rowdist)});
+ \coordinate (diagram@header) at (0,1.5*{(\tikztiming@rowdist)});
+ \coordinate (timing@table@bottom right) at (0,0);
+ \coordinate (timing@table@bottom left) at (-1*{(\tikztiming@coldist)},0);
\tikztiming@picinit
\tikzset{timing/before table}%
\tikztimingtable@checkrow
@@ -1014,15 +1083,30 @@
\endgroup
}
\def\tikztiming@extracode{%
- \path let
- \p1 = (timing/table/top left),
- \p2 = (timing/table/bottom right)
- in
- coordinate (timing/table/bottom left) at (\x1,\y2)
- coordinate (timing/table/top right) at (\x2,\y1)
- coordinate (timing/table/size) at (\x2-\x1,\y1-\y2)
- ;
- \@ifnextchar[{\tikztiming@oset}{}
+ \path
+ let
+ \p1 = (row1.north west),
+ \p2 = (timing@table@bottom right),
+ \p3 = (\pgf@pt@aa * {(\x2-\x1)},\pgf@pt@bb * {(\y1-\y2)})
+ in
+ node [shape=rectangle,anchor=north west,
+ minimum width=\x3,minimum height=\y3,
+ inner sep=0pt,outer sep=0pt]
+ at (\x1,\y1) (all rows) {}
+ ;
+ \path
+ let
+ \p0 = (-1*{(\tikztiming@coldist)},1),
+ \p1 = (label1.north east),
+ \p2 = (timing@table@bottom left),
+ \p3 = (\pgf@pt@aa * {(\x0-\x2)},\pgf@pt@bb * {(\y1-\y2)})
+ in
+ node [shape=rectangle,anchor=north east,
+ minimum width=\x3,minimum height=\y3,
+ inner sep=0pt,outer sep=0pt]
+ at (\x1,\y1) (all labels) {}
+ ;
+ \@ifnextchar[{\tikztiming@oset}{}%
}
\def\tikztiming@endextracode{%
\@ifnextchar\@checkend
@@ -1089,15 +1173,18 @@
}%
\long\def\tikztimingtable@row@@#1#2{%
\addtocounter{tikztiming@nrows}{1}%
- \coordinate (last row) at ($ (last row) - (0,\tikztiming@rowdist) $);
- \node [anchor=base east,timing/name] (last row text)
- at ($ (last row) - (\tikztiming@coldist,0) $) {\ignorespaces #1\unskip};
+ \coordinate (@last row) at ($ (@last row) - (0,\tikztiming@rowdist) $);
+ \node [anchor=base east,timing/name,alias=last label] (label\the\c@tikztiming@nrows)
+ at ($ (@last row) - (\tikztiming@coldist,0) $) {\ignorespaces #1\unskip\strut};
+ \path let \p1 = (timing@table@bottom left), \p2 = (last label.south west) in
+ coordinate (timing@table@bottom left) at ({min(\x1,\x2)},\y2);
+ %
\@ifnextchar{[}%
{\tikztiming@tabletiming}%
{\tikztiming@tabletiming[]}%
#2\relax
- \path let \p1 = (timing/table/bottom right), \p2 = (timing/end base) in
- coordinate (timing/table/bottom right) at ({max(\x1,\x2)},\y2);
+ \path let \p1 = (timing@table@bottom right), \p2 = (timing/end base) in
+ coordinate (timing@table@bottom right) at ({max(\x1,\x2)},\y2);
%
\pgfmathparse{max(\tikztiming@maxwidth,\tikztimingwidth)}%
\let\tikztiming@maxwidth\pgfmathresult
@@ -1113,24 +1200,24 @@
\ifx\tikztiming@lastchar\empty
\def\tikztiming@lastchar{@}%
\fi
- \edef\@tempa{\noexpand\timing[name=row\the\c@tikztiming@nrows,\tikztiming@settings]
- at (last row)}%
+ \edef\@tempa{\noexpand\timing
+ [name=row\the\c@tikztiming@nrows,alias=last row,%
+ \expandafter\unexpanded\expandafter{\tikztiming@settings}] at (@last row)}%
\expandafter\@tempa\expandafter{\expandafter[\tikztiming@lastchar]#2};
}
\newcommand*\tikztiming@fulltablegrid[1][]{%
\begin{pgfonlayer}{background}
\scope[xstep={\timingwidth/2.},ystep={\timingheight/2.},
- shift={(timing/table/bottom left)},timing/table/grid,#1]
- \draw (0,0) grid
- ($ (timing/table/top right) - (timing/table/bottom left) $);
+ shift={(all rows.south west)},timing/table/grid,#1]
+ \draw (0,0) grid ($ (all rows.north east) - (all rows.south west) $);
\endscope
\end{pgfonlayer}
}
\def\tikztiming@tablegrid{%
\@ifnextchar{*}%
{\tikztiming@tablegrid@{row\row.high end}}%
- {\tikztiming@tablegrid@{timing/table/top right}}%
+ {\tikztiming@tablegrid@{all rows.north east}}%
}
\def\tikztiming@tablegrid@#1{%
\@ifnextchar{[}%]
@@ -1147,13 +1234,40 @@
\endscope
\end{pgfonlayer}
}
-\newcommand*\tikztiming@tableheader[3][]{%
- \path [timing/table/header,#1]
- (-1*{(\tikztiming@coldist)},1.5*{(\tikztiming@rowdist)}) node
- [anchor=base east] {\ignorespaces #2\unskip\strut}
- (0,1.5*{(\tikztiming@rowdist)}) node
- [anchor=base west] {\ignorespaces #3\unskip\strut}
- ;
+\def\tikztiming@tableheader{%
+ \@ifnextchar[%]
+ {\tikztiming@tableheader@}%
+ {\tikztiming@tableheader@@{}[]}%
+}
+\def\tikztiming@tableheader@[#1]{%
+ \@ifnextchar[%]
+ {\tikztiming@tableheader@@{#1}}%
+ {\tikztiming@tableheader@@{#1}[]}%
+}
+\def\tikztiming@tableheader@@#1[#2]#3{%
+ \@ifnextchar[%]
+ {\tikztiming@tableheader@@@{#1}{#2}{#3}}%
+ {\tikztiming@tableheader@@@{#1}{#2}{#3}[]}%
+}
+\def\tikztiming@tableheader@@@#1#2#3[#4]#5{%
+ \path
+ let
+ \p1 = (label@header),
+ \p2 = (all labels.east),
+ \p3 = (all labels.west)
+ in
+ (\x2,\y1) -- node [pos=0,anchor=base east,timing/table/header,timing/table/label header,#1,#2]
+ (label header) {\ignorespaces #3\unskip\strut} (\x3,\y1)
+ ;
+ \path
+ let
+ \p4 = (diagram@header),
+ \p5 = (all rows.west),
+ \p6 = (all rows.east)
+ in
+ (\x5,\y4) -- node [pos=0,anchor=base west,timing/table/header,timing/table/row header,#1,#4]
+ (row header) {\ignorespaces #5\unskip\strut} (\x6,\y4)
+ ;
\tikztiming@tableheadtrue
}
\newif\iftikztiming@tablehead
@@ -1166,7 +1280,7 @@
let
\p1 = (NW),
\p2 = (SE),
- \p3 = (last row)
+ \p3 = (@last row)
in
($ (\x1-\tabcolsep,\y3) - (0,.5*{(\rowdist)}) $) --
($ (\x2+\tabcolsep,\y3) - (0,.5*{(\rowdist)}) $)
@@ -1192,7 +1306,7 @@
\fi
\foreach \row in \list {%
\draw [timing/table/lines,#1] let
- \p1 = (timing/table/bottom right)
+ \p1 = (all rows.south east)
in
($ (0,\rowdist) - (0,\row * {(\rowdist)}) $) -- +(\x1,0);
}%
@@ -1205,7 +1319,7 @@
\def\list{0,1,...,\twidth}%
\fi
\draw [timing/table/lines,#1] let
- \p1 = ($ (timing/table/bottom right) - (0,2) $)
+ \p1 = ($ (all rows.south east) - (0,2) $)
in
\foreach \clk in \list {
(\clk,+1.5) -- +(0,\y1)
@@ -1214,24 +1328,9 @@
\endgroup
}
\pgfdeclareshape{tikztiming@shape}{%
- \savedanchor\northeast{\pgfpointxy{.5*\tikztimingwidth}{.5}}%
- \savedanchor\northeastborder{\pgfpointxy{.5*\tikztimingwidth+0.1}{.6}}%
- \savedanchor\startpoint{%
- \pgfpointanchor{timing/start}{center}%
- \@tempdima=\pgf@x
- \@tempdimb=\pgf@y
- \pgfpointxy{-.5*\tikztimingwidth}{-.5}%
- \advance\pgf@x by \@tempdima
- \advance\pgf@y by \@tempdimb
- }%
- \savedanchor\endpoint{%
- \pgfpointanchor{timing/end}{center}%
- \@tempdima=\pgf@x
- \@tempdimb=\pgf@y
- \pgfpointxy{-.5*\tikztimingwidth}{-.5}%
- \advance\pgf@x by \@tempdima
- \advance\pgf@y by \@tempdimb
- }%
+ \savedanchor\northeast{\tikztiming@northeast}%
+ \savedanchor\startpoint{\tikztiming@startpoint}%
+ \savedanchor\endpoint{\tikztiming@endpoint}%
\anchor{center}{\pgfpointorigin}%
\anchor{start}{\startpoint}%
\anchor{end}{\endpoint}%
@@ -1262,7 +1361,7 @@
\anchorborder{%
\@tempdima=\pgf@x
\@tempdimb=\pgf@y
- \pgfpointborderrectangle{\pgfpoint{\@tempdima}{\@tempdimb}}{\northeastborder}%
+ \pgfpointborderrectangle{\pgfpoint{\@tempdima}{\@tempdimb}}{\northeast}%
}%
}
\gdef\tikztiming@oldnodecenter@{}%
@@ -1405,6 +1504,9 @@
\csname tikztiming@nocombine@#1\expandafter\endcsname
\csname tikztiming@nocombine@#2\endcsname
}
+\def\tikztiming@setref#1#2{%
+ coordinate (#1) coordinate (#1) at ([shift={(#2)}]#1)
+}
\def\tikztiming@newdraw{%
node [timing/save] (timing@save) {};%
\draw [timing/restore] (timing@save) ++(0,0)
@@ -1594,7 +1696,7 @@
-- (timing@save)
($ (timing@ref) + (#1,0) $)
coordinate (timing@ref)
- coordinate [shift={(\dslope/2,0)}] (timing@dend)
+ \tikztiming@setref{timing@dend}{\dslope/2,0}
\tikztiming@oldnodecenter{%
(0,-\height/2)
}%
@@ -1642,14 +1744,14 @@
+(0,0)
coordinate (timing/start)
coordinate (timing@ref)
- coordinate [shift={(-\dslope/2,0)}] (timing@dstart)
+ \tikztiming@setref{timing@dstart}{-\dslope/2,0}
+(0,\height/2)
-- +(#1,\height/2)
+(#1,-\height/2)
-- ($ (timing@save) + (0,-\height/2) $)
++(#1,\height/2)
coordinate (timing@ref)
- coordinate [shift={(\dslope/2,0)}] (timing@dend)
+ \tikztiming@setref{timing@dend}{\dslope/2,0}
\tikztiming@oldnodecenter{%
(0,-\height/2)
}%
@@ -1728,7 +1830,7 @@
-- ($ (timing@save) + (0,-\height/2) $)
($ (timing@ref) + (#1,0) $)
coordinate (timing@ref)
- coordinate [shift={(\dslope/2,0)}] (timing@dend)
+ \tikztiming@setref{timing@dend}{\dslope/2,0}
\tikztiming@oldnodecenter{%
(0,-\height/2)
}%
@@ -1850,34 +1952,34 @@
}
\tikztimingdef{HD@}{%
- coordinate [shift={(0,-\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
-- ++(\dslope/2, -\height/2)
\tikztiming@chard@{#1}%
}
\tikztimingdef{TD@}{%
- coordinate [shift={(0,-\height/2 * \value{tikztimingtrans})}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2 * \value{tikztimingtrans}}
-- ++(\dslope/2, -\height/2 * \value{tikztimingtrans})
\tikztiming@chard@{#1}%
}
\tikztimingdef{TD}{%
\code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
- coordinate [shift={(0,\height/2 * \value{tikztimingtrans})}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2 * \value{tikztimingtrans}}
-- ++(\dslope/2, \height/2 * \value{tikztimingtrans})
\tikztiming@chard{#1}%
}
\tikztimingdef{TDD}{%
\code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
- coordinate [shift={(0,\height/2 * \value{tikztimingtrans})}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2 * \value{tikztimingtrans}}
-- ++(\dslope/2, \height/2 * \value{tikztimingtrans})
\tikztiming@chard@{#1}%
}
\tikztimingdef{TUD}{%
\code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
- coordinate [shift={(0,\height/2 * \value{tikztimingtrans})}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2 * \value{tikztimingtrans}}
-- ++(\dslope/2, \height/2 * \value{tikztimingtrans})
\tikztiming@chard{#1}%
}
@@ -1886,7 +1988,7 @@
\tikztimingcpy{TUU}{TDD}
\tikztimingdef{LD@}{%
- coordinate [shift={(0,\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2}
-- ++(\dslope/2, \height/2)
\tikztiming@chard@{#1}%
}
@@ -1918,19 +2020,19 @@
}
\tikztimingdef{LD}{
- coordinate [shift={(0,\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2}
-- ++(\dslope/2, \height/2)
\tikztiming@chard{#1}%
}
\tikztimingdef{LDD}{
- coordinate [shift={(0,\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2}
-- ++(\dslope/2, \height/2)
\tikztiming@chard@{#1}
}
\tikztimingdef{LDU}{
- coordinate [shift={(0,\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2}
-- ++(\dslope/2, \height/2)
\tikztiming@chard{#1}
}
@@ -1939,19 +2041,19 @@
\tikztimingcpy{LUU}{LDD}
\tikztimingdef{HD}{
- coordinate [shift={(0,-\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
-- ++(\dslope/2, -\height/2)
\tikztiming@chard{#1}
}
\tikztimingdef{HDD}{
- coordinate [shift={(0,-\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
-- ++(\dslope/2, -\height/2)
\tikztiming@chard@{#1}
}
\tikztimingdef{HDU}{
- coordinate [shift={(0,-\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
-- ++(\dslope/2, -\height/2)
\tikztiming@chard{#1}
}
@@ -2091,13 +2193,13 @@
\tikztimingcpy{{U@edge@}UU}{{D@edge@}DD}
\tikztimingdef{H{D@edge@}}{
- coordinate [shift={(0,-\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,-\height/2}
-- ++(\dslope/2, -\height/2)
\tikztiming@chard{#1}%
}
\tikztimingdef{L{D@edge@}}{
- coordinate [shift={(0,\height/2)}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2}
-- ++(\dslope/2, \height/2)
\tikztiming@chard{#1}%
}
@@ -2109,7 +2211,7 @@
\tikztimingdef{T{D@edge@}}{
\code{\setcounter{tikztimingtrans}{-\value{tikztimingtrans}}}
- coordinate [shift={(0,\height/2 * \value{tikztimingtrans})}] (timing@ref)
+ \tikztiming@setref{timing@ref}{0,\height/2 * \value{tikztimingtrans}}
-- ++(\dslope/2, \height/2 * \value{tikztimingtrans})
\tikztiming@chard{#1}%
}