1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
%%
%% This is file `tikz-timing-clockarrows.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tikz-timing.dtx (with options: `lib,lib-clockarrows')
%%
%% Copyright (C) 2009-2011 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.3c
%% 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.3c or later is part of all distributions of LaTeX
%% version 2008/05/04 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, tikz-timing.ins
%% and the derived file tikz-timing.sty.
%%
\RequirePackage{svn-prov}[2009/05/03]
\ProvidesPackageSVN[tikz-timing-clockarrows]
{$Id: tikz-timing.dtx 2038 2011-01-09 20:44:26Z martin $}
[v0.7d
TikZ-Timing Library for
timing clock arrows]
\GetFileInfoSVN*%
\RequirePackage{tikz-timing}[\filedate]%
\DefineFileInfoSVN
\tikztiming@iftrans{CC}%
{\let\tikztiming@trans@C@normal@C\tikztiming@trans@CC}%
{\PackageError{\@currname}{No 'CC' 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
\tikzset{timing/c/.cd,
rising arrows/.code={%
\def\tikztiming@trans@CC{\tikztiming@trans@C@arrow@C}%
\def\tikztiming@clockarrow@style{\ifnum1=\c@tikztimingtrans\tikzset{->,timing/c/arrow}\fi}%
},%
falling arrows/.code={%
\def\tikztiming@trans@CC{\tikztiming@trans@C@arrow@C}%
\def\tikztiming@clockarrow@style{\ifnum-1=\c@tikztimingtrans\tikzset{->,timing/c/arrow}\fi}%
},%
dual arrows/.code={%
\def\tikztiming@trans@CC{\tikztiming@trans@C@arrow@C}%
\def\tikztiming@clockarrow@style{\tikzset{->,timing/c/arrow}}%
},%
no arrows/.code={%
\def\tikztiming@trans@CC{\tikztiming@trans@C@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'.
|