Style file for drawing timing diagrams in LaTeX, forked from https://github.com/glipari/rtsched
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rtsched.sty 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514
  1. \NeedsTeXFormat{LaTeX2e}[1995/12/01]
  2. \ProvidesPackage{rtsched}[2005/01/01]
  3. \typeout{'rtsched' style for Latex and PSTricks}
  4. \typeout{Easily draw real-time schedules in TeX/Latex.}
  5. \typeout{(c) 2005, Giuseppe Lipari, Pisa, Italy (g.lipari@sssup.it)}
  6. \typeout{Version 1.2beta}
  7. \RequirePackage{multido}
  8. \RequirePackage{pstricks}
  9. \RequirePackage{keyval}
  10. %%
  11. %% These can be changed at any time
  12. %%
  13. \def\RTWindowLength{10cm} % window length
  14. \def\RTWindowHeight{0cm} % window height
  15. \def\RTNullWindowHeight{0cm} % nullwindow height
  16. \def\RTTaskLabelSize{10pt} % Size in pt of the task label
  17. \def\RTNumberLabelSize{10pt} % Size in pt of the number labels
  18. \def\RTDefTaskSymbol{\tau}
  19. \def\RTDefNumberOffset{0}
  20. \def\RTDefTaskFill{solid}
  21. \def\RTDefTaskColor{gray}
  22. \def\RTDefLineColor{black}
  23. \def\RTDefXScale{1}
  24. \def\RTDefWriteSymbols{0}
  25. \def\RTDefGridInvisible{0}
  26. \def\RTDefNumbersInvisible{0}
  27. \def\RTDefRowLabelOffset{0pt}
  28. \def\RTDefAxisInvisible{0}
  29. \def\RTDefLineWidth{1pt}
  30. \def\RTDefLineStyle{solid}
  31. \def\RTDefExecHeight{1}
  32. \def\RTExecLabel{\ }
  33. \def\RTTaskSymbol{\RTDefTaskSymbol}
  34. \def\RTTaskFill{\RTDefTaskFill}
  35. \def\RTTaskColor{\RTDefTaskColor}
  36. \def\RTLineColor{\RTDefLineColor}
  37. \def\RTXScale{\RTDefXScale}
  38. \def\RTWriteSymbols{\RTDefWriteSymbols}
  39. \def\RTNumberOffset{\RTDefNumberOffset}
  40. \def\RTNumberOffset{\RTDefNumberOffset}
  41. \def\RTGridInvisible{\RTDefGridInvisible}
  42. \def\RTAxisInvisible{\RTDefAxisInvisible}
  43. \def\RTNumbersInvisible{\RTDefGridInvisible}
  44. \def\RTRowLabelOffset{\RTDefRowLabelOffset}
  45. \def\RTLineWidth{\RTDefLineWidth}
  46. \def\RTLineStyle{\RTDefLineStyle}
  47. \def\RTExecHeight{\RTDefExecHeight}
  48. \define@key{RT}{height}[\RTNullWindowHeight]{\def\RTWindowHeight{#1}}
  49. \define@key{RT}{width}[10cm]{\def\RTWindowLength{#1}}
  50. \define@key{RT}{labelsize}[10pt]{\def\RTTaskLabelSize{#1}}
  51. \define@key{RT}{numbersize}[10pt]{\def\RTNumberLabelSize{#1}}
  52. \define@key{RT}{color}[\RTDefTaskColor]{\def\RTTaskColor{#1}}
  53. \define@key{RT}{linecolor}[\RTDefLineColor]{\def\RTLineColor{#1}}
  54. \define@key{RT}{execlabel}[\ ]{\def\RTExecLabel{#1}}
  55. \define@key{RT}{fillstyle}[\RTDefTaskFill]{\def\RTTaskFill{#1}}
  56. \define@key{RT}{nocommand}{}
  57. \define@key{RT}{xscale}[\RTDefXScale]{\def\RTXScale{#1}}
  58. \define@key{RT}{symbol}[{\tau}]{\def\RTTaskSymbol{#1}}
  59. \define@key{RT}{nosymbols}[\RTDefWriteSymbols]{\def\RTWriteSymbols{#1}}
  60. \define@key{RT}{numoffset}[\RTDefNumberOffset]{\def\RTNumberOffset{#1}}
  61. \define@key{RT}{nogrid}[\RTDefGridInvisible]{\def\RTGridInvisible{#1}}
  62. \define@key{RT}{nonumbers}[\RTDefNumbersInvisible]{\def\RTNumbersInvisible{#1}}
  63. \define@key{RT}{labeloffset}[\RTDefRowLabelOffset]{\def\RTRowLabelOffset{#1}}
  64. \define@key{RT}{axis}[\RTDefAxisInvisible]{\def\RTAxisInvisible{#1}}
  65. \define@key{RT}{lw}[\RTDefLineWidth]{\def\RTLineWidth{#1}}
  66. \define@key{RT}{style}[\RTDefLineStyle]{\def\RTLineStyle{#1}}
  67. \define@key{RT}{exeheight}[\RTDefExecHeight]{\def\RTExecHeight{#1}}
  68. %%
  69. %% temporaries
  70. \newdimen\sx % slot length
  71. \newdimen\sy % slot height
  72. \newdimen\hy % frame height
  73. \newdimen\xx % x position
  74. \newdimen\yy % y position
  75. \newdimen\xxx % x position
  76. \newdimen\yyy % y position
  77. \newcount\nsx % number of horizontal slots
  78. \newcount\nsy % number of vertical slots
  79. \newcount\nhl % number of horizonatal lines
  80. \newcount\nvl % number of vertical lines
  81. \newcount\tmp % temp
  82. \newcounter{myLabel}
  83. \def\RTGrid{\@ifnextchar[\@mygrid@begin{\@mygrid@begin[]}}
  84. \def\RTGridBegin{\@ifnextchar[\@mygrid@begin{\@mygrid@begin[]}}
  85. \def\@mygrid@begin[#1]#2#3{\setkeys{RT}{#1}%
  86. %% number of horizontal steps in the grid
  87. \nsx = #3 \advance \nsx by 2 %
  88. %% real lenght of the window (approx)
  89. \nvl = \nsx \advance \nvl by 1 %
  90. %% compute lenght of a step
  91. \sx = \RTWindowLength \divide \sx by \nsx %
  92. %% number of vertical steps in the grid
  93. \nsy = #2 \multiply \nsy by 3 \advance \nsy by 1 %
  94. %% compute lenght of a vertical step (if height is null, \sy is the
  95. %% same as \sx)
  96. \ifx\RTWindowHeight\RTNullWindowHeight%
  97. \sy = \sx%
  98. \hy = \sy \multiply \hy by \nsy \advance \hy by \sy%
  99. \else
  100. \sy = \RTWindowHeight \divide \sy by \nsy %
  101. \hy = \RTWindowHeight \advance \hy by \sy %
  102. \fi
  103. %% compute real height
  104. \nhl = \nsy \advance \nhl by 1 %
  105. \advance \nsy by -1 \advance \nsx by -1
  106. %% the picture
  107. \begin{pspicture}(0,0)(\RTWindowLength,\hy) %
  108. %% draw grid (if not invisible)
  109. \if\RTGridInvisible\RTDefGridInvisible
  110. \multips(0,\sy)(0,\sy){\nsy}{\psline[linecolor=lightgray]{-}(0,\sy)(\RTWindowLength,\sy)}%
  111. \multips(\sx,0)(\sx,0){\nsx}{\psline[linecolor=lightgray]{-}(0,\sy)(0,\hy)}%
  112. \psframe(0,\sy)(\RTWindowLength,\hy)%
  113. \else\relax
  114. \fi
  115. %% draw numbers (if not invisible)
  116. \if\RTNumbersInvisible\RTDefNumbersInvisible
  117. \tmp = #3 \divide \tmp by 2 \advance \tmp by 1%
  118. \pssetlength{\xx}{\sx}%
  119. \setcounter{myLabel}{\RTNumberOffset}
  120. \multido{\n=0+1}{\tmp}{%
  121. \uput{4pt}[d](\xx,\sy){%
  122. \usefont{T1}{phv}{m}{n}%
  123. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  124. \selectfont{\arabic{myLabel}}}%
  125. \psaddtolength{\xx}{\sx}%
  126. \psaddtolength{\xx}{\sx}%
  127. \addtocounter{myLabel}{2}
  128. }
  129. \else\relax
  130. \fi
  131. %
  132. %% Task Names
  133. \setcounter{myLabel}{1}
  134. \pssetlength{\yy}{\hy}%
  135. \psaddtolength{\yy}{-\sy}
  136. \multido{\n=0+1}{#2}{%
  137. \uput{4pt}[d](-\sx,\yy){
  138. \usefont{T1}{phv}{m}{n}
  139. \fontsize{\RTTaskLabelSize}{\RTTaskLabelSize}
  140. \if\RTWriteSymbols\RTDefWriteSymbols\selectfont{$\RTTaskSymbol_{\arabic{myLabel}}$}
  141. \else\relax
  142. \fi
  143. }%
  144. \psaddtolength{\yy}{-3\sy}%
  145. \addtocounter{myLabel}{1}
  146. }%
  147. %% Horizontal axes
  148. \if\RTAxisInvisible\RTDefAxisInvisible
  149. \xx = \sx \xxx = \RTWindowLength \advance \xxx by -\sx
  150. \yy = 2\sy
  151. \multido{\n=0+1}{#2}{
  152. \psline{->}(\xx,\yy)(\xxx,\yy)
  153. \advance \yy by 3\sy
  154. }
  155. \fi
  156. }
  157. \def\@RTDefaultValues{%
  158. \setkeys{RT}{height}%
  159. \setkeys{RT}{width}%
  160. \setkeys{RT}{labelsize}%
  161. \setkeys{RT}{numbersize}%
  162. \setkeys{RT}{symbol}%
  163. \setkeys{RT}{fillstyle}%
  164. \setkeys{RT}{color}
  165. \setkeys{RT}{linecolor}%
  166. \setkeys{RT}{xscale}%
  167. \setkeys{RT}{nosymbols}%
  168. }
  169. \def\@RTExecDefaultValues{
  170. \setkeys{RT}{color}%
  171. \setkeys{RT}{execlabel}%
  172. \setkeys{RT}{linecolor}%
  173. }
  174. \def\RTGridEnd{
  175. \end{pspicture}%
  176. \@RTDefaultValues%
  177. }
  178. \def\endRTGrid{
  179. \end{pspicture}%
  180. \@RTDefaultValues%
  181. }
  182. \newcommand{\RTSet}[1]{
  183. \setkeys{RT}{#1}
  184. }
  185. \newcommand{\RTSetDefault}{
  186. \@RTDefaultValues
  187. }
  188. %% internal
  189. \newcommand{\@compute@xx}[1]{
  190. \xx = #1\sx
  191. \divide \xx by \RTXScale
  192. \advance \xx by \sx
  193. }
  194. \newcommand{\@compute@xxx}[1]{
  195. \xxx = #1\sx
  196. \divide \xxx by \RTXScale
  197. \advance \xxx by \sx
  198. }
  199. \newcommand{\@compute@yy}[1]{
  200. \yy = -3\sy \multiply \yy by #1
  201. \advance \yy by \hy
  202. }
  203. \newcommand{\DrawTaskAxis}[2][nocommand=1]{%
  204. \setkeys{RT}{#1}%
  205. \@compute@yy{#2}
  206. \@compute@xx{0}
  207. \xxx = \RTWindowLength \advance \xxx by -\sx
  208. \psline[linecolor=\RTLineColor]{->}(\xx,\yy)(\xxx,\yy)%
  209. \@RTExecDefaultValues%
  210. }
  211. \newcommand{\DrawXYAxis}[3][nocommand=1]{%
  212. \setkeys{RT}{#1}%
  213. \@compute@yy{#2}
  214. \@compute@xx{0}
  215. \xxx = \RTWindowLength \advance \xxx by -\sx
  216. \psline[linecolor=\RTLineColor]{->}(\xx,\yy)(\xxx,\yy)%
  217. \yyy = 3\sy \multiply \yyy by #3 \advance \yyy by \yy
  218. \advance \yyy by -\sy
  219. \psline[linecolor=\RTLineColor]{->}(\xx,\yy)(\xx,\yyy)%
  220. \@RTExecDefaultValues%
  221. }
  222. \newcommand{\FLine}[5][nocommand=1]{%
  223. \setkeys{RT}{#1}%
  224. \@compute@xx{#2}
  225. \@compute@xxx{#4}
  226. \yy = #3\sy \advance \yy by 2\sy
  227. \yyy = #5\sy \advance \yyy by 2\sy
  228. \psline[linecolor=\RTLineColor,linestyle=\RTLineStyle,linewidth=\RTLineWidth]{-}(\xx,\yy)(\xxx,\yyy)
  229. \@RTExecDefaultValues%
  230. }
  231. %% Task Arrival: draws an up arrow at the specified slot
  232. %% #1 : task number from 1 to n
  233. %% #2 : slot number from 0 to l-1
  234. \newcommand{\TaskArrival}[3][nocommand=1]{%
  235. \setkeys{RT}{#1}%
  236. \@compute@yy{#2}
  237. \@compute@xx{#3}
  238. \yyy = \yy \advance \yyy by 2\sy%
  239. \psline[linecolor=\RTLineColor]{->}(\xx,\yy)(\xx,\yyy)%
  240. \@RTExecDefaultValues%
  241. }
  242. %% Task Arrival and deadline: draws an up arrow and a down arrow at the specified slots
  243. %% #1 : task number from 1 to n
  244. %% #2 : slot number from 0 to l-1
  245. %% #3 : relative deadline
  246. \newcommand{\TaskArrDead}[4][nocommand=1]{
  247. \setkeys{RT}{#1}%
  248. \@compute@yy{#2}
  249. \@compute@xx{#3}
  250. \yyy = \yy \advance \yyy by 2\sy
  251. \psline[linecolor=\RTLineColor]{->}(\xx,\yy)(\xx,\yyy)
  252. \advance \xx by #4\sx
  253. \psline[linecolor=\RTLineColor]{->}(\xx,\yyy)(\xx,\yy)
  254. \@RTExecDefaultValues
  255. }
  256. %% Task Deadline: draws a down arrow at the specified slot
  257. %% #1 : task number from 1 to n
  258. %% #2 : slot number from 0 to l-1
  259. \newcommand{\TaskDeadline}[3][nocommand=1]{
  260. \setkeys{RT}{#1}%
  261. \@compute@yy{#2}
  262. \@compute@xx{#3}
  263. \yyy = \yy \advance \yyy by 2\sy
  264. \psline[linecolor=\RTLineColor]{<-}(\xx,\yy)(\xx,\yyy)
  265. \@RTExecDefaultValues
  266. }
  267. \newcommand{\TaskExecution}[4][nocommand=1]{
  268. \setkeys{RT}{#1}%
  269. \@compute@yy{#2}
  270. \@compute@xx{#3}
  271. \yyy = \yy \advance \yyy by \RTExecHeight\sy
  272. \@compute@xxx{#4}
  273. \psframe[fillstyle=\RTTaskFill,fillcolor=\RTTaskColor,linecolor=\RTLineColor](\xx,\yy)(\xxx,\yyy)
  274. \advance \xx by \xxx \xx = .5\xx
  275. \uput{2pt}[u](\xx,\yy){%
  276. \usefont{T1}{phv}{m}{n}%
  277. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  278. \selectfont{\RTExecLabel}%
  279. }
  280. \@RTExecDefaultValues
  281. }
  282. % Task Lock
  283. % par 1: task
  284. % par 2: time
  285. % par 3: resource
  286. %
  287. \newcommand{\TaskLock}[4][nocommand=1]{
  288. \setkeys{RT}{#1}%
  289. \@compute@yy{#2}
  290. \@compute@xx{#3}
  291. \yyy = \yy \advance \yyy by \sy
  292. \uput{2pt}[u](\xx,\yyy){%
  293. \usefont{T1}{phv}{m}{n}%
  294. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  295. \selectfont{L(#4)}%
  296. }
  297. \@RTExecDefaultValues
  298. }
  299. % \TaskUnlock
  300. % par 1: task
  301. % par 2: time
  302. % par 3: resource
  303. %
  304. \newcommand{\TaskUnlock}[4][nocommand=1]{
  305. \setkeys{RT}{#1}%
  306. \@compute@yy{#2}
  307. \@compute@xx{#3}
  308. \yyy = \yy \advance \yyy by \sy
  309. \uput{2pt}[u](\xx,\yyy){%
  310. \usefont{T1}{phv}{m}{n}%
  311. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  312. \selectfont{U(#4)}%
  313. }
  314. \@RTExecDefaultValues
  315. }
  316. %
  317. % par 1: number of vertical slot
  318. % par 2: time
  319. % par 3: label
  320. %
  321. \newcommand{\Label}[4][nocommand=1]{
  322. \setkeys{RT}{#1}%
  323. %\@compute@yy{#2}
  324. \@compute@xx{#3}
  325. \yy = -\sy \multiply \yy by #2
  326. \advance \yy by \hy
  327. \yyy = \yy \advance \yyy by \sy
  328. \uput{2pt}[u](\xx,\yyy){%
  329. \psshadowbox{
  330. \usefont{T1}{phv}{m}{n}%
  331. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  332. \selectfont{{#4}}}%
  333. }
  334. \@RTExecDefaultValues
  335. }
  336. %
  337. % par 1: higher priority task (from)
  338. % par 2: lower priority task (to)
  339. % par 3: time
  340. %
  341. \newcommand{\Inherit}[4][nocommand=1]{
  342. \setkeys{RT}{#1}%
  343. \@compute@yy{#2}
  344. \@compute@xx{#4}
  345. \yyy = -3\sy \multiply \yyy by #3 \advance \yyy by \sy
  346. \advance \yyy by \hy \advance \yyy by -\sy % \RTWindowHeight
  347. \psline[linestyle=dashed,linewidth=1.5pt]{->}(\xx,\yy)(\xx,\yyy)
  348. \@RTExecDefaultValues
  349. }
  350. %
  351. % par 1: activating task (from)
  352. % par 2: signal start time
  353. % par 3: activated task (to)
  354. % par 4: signal arrival time
  355. %
  356. \newcommand{\Activation}[5][nocommand=1]{
  357. \setkeys{RT}{#1}%
  358. \@compute@yy{#2}
  359. \@compute@xx{#3}
  360. \yyy = -3\sy \multiply \yyy by #4 %\advance \yyy by \sy
  361. \advance \yyy by \hy %\advance \yyy by -\sy %\RTWindowHeight
  362. \xxx = #5\sx \advance \xxx by \sx
  363. \psline[linestyle=dashed,linewidth=1pt]{->}(\xx,\yy)(\xxx,\yyy)
  364. }
  365. %
  366. % par 1: time1
  367. % par 2: time2
  368. %
  369. \newcommand{\RTBox}[3][nocommand=1]{
  370. \setkeys{RT}{#1}%
  371. \yy = 0cm
  372. \advance \yy by \hy
  373. \yyy = \sy
  374. \@compute@xx{#2}
  375. \@compute@xxx{#3}
  376. \psframe[fillstyle=crosshatch,hatchwidth=.2pt,hatchsep=2pt,hatchcolor=lightgray,linewidth=0pt,framearc=.2](\xx,\yy)(\xxx,\yyy)
  377. \@RTExecDefaultValues
  378. }
  379. % %
  380. % % par 1: task
  381. % % par 2: first instant (arrival)
  382. % % par 3: second instant (deadline)
  383. % %
  384. % \newcommand{\Interval}[4][nocommand=1]{
  385. % \setkeys{RT}{#1}%
  386. % \@compute@yy{#2}
  387. % \advance \yy by 2.5\sy
  388. % \@compute@xx{#3}
  389. % \@compute@xxx{#4}
  390. % % da cambiare con psarc
  391. % \pscurve*[linecolor=\RTLineColor]{-}(\xx,\yy)(\xxx,\yy)
  392. % \@RTExecDefaultValues
  393. % }
  394. \newcommand{\RowLabel}[3][nocommand=1]{
  395. \setkeys{RT}{#1}%
  396. \@compute@yy{#2}
  397. \advance \yy by 1.5\sy
  398. \xx = \RTRowLabelOffset %\advance \xx by \sx
  399. \uput{4pt}[dl](-\xx,\yy){
  400. \usefont{T1}{phv}{m}{n}
  401. \fontsize{\RTTaskLabelSize}{\RTTaskLabelSize}
  402. \selectfont{#3}
  403. }%
  404. }
  405. \newcommand{\TaskExecDelta}[4][nocommand=1]{
  406. \setkeys{RT}{#1}%
  407. \@compute@yy{#2}
  408. \@compute@xx{#3}
  409. \yyy = \yy \advance \yyy by \RTExecHeight\sy
  410. %\@compute@xxx{#4}
  411. \xxx = \xx \advance \xxx by #4\sx
  412. \psframe[fillstyle=\RTTaskFill,fillcolor=\RTTaskColor,linecolor=\RTLineColor](\xx,\yy)(\xxx,\yyy)
  413. \advance \xx by \xxx \xx = .5\xx
  414. \uput{2pt}[u](\xx,\yy){%
  415. \usefont{T1}{phv}{m}{n}%
  416. \fontsize{\RTNumberLabelSize}{\RTNumberLabelSize}%
  417. \selectfont{\RTExecLabel}%
  418. }
  419. \@RTExecDefaultValues
  420. }
  421. \newcommand{\TaskRespTime}[4][nocommand=1]{
  422. \setkeys{RT}{#1}
  423. \@compute@yy{#2}
  424. \@compute@xx{#3}
  425. \yyy = \yy \advance \yyy by \sy
  426. \xxx = \xx \advance \xxx by #4\sx
  427. \psframe[fillstyle=crosshatch*,hatchcolor=white,
  428. hatchwidth=.4pt,hatchsep=1pt,
  429. linestyle=none,fillcolor=\RTTaskColor](\xx,\yy)(\xxx,\yyy)
  430. \@RTExecDefaultValues
  431. }
  432. \@ifclassloaded{beamer}{
  433. \renewcommand<>{\TaskArrival}[3][nocommand=1]{
  434. \only#4{\beameroriginal{\TaskArrival}[#1]{#2}{#3}}
  435. }
  436. \renewcommand<>{\TaskArrDead}[4][nocommand=1]{
  437. \only#5{\beameroriginal{\TaskArrDead}[#1]{#2}{#3}{#4}}
  438. }
  439. \renewcommand<>{\TaskDeadline}[3][nocommand=1]{
  440. \only#4{\beameroriginal{\TaskDeadline}[#1]{#2}{#3}}
  441. }
  442. \renewcommand<>{\TaskExecution}[4][nocommand=1]{
  443. \only#5{\beameroriginal{\TaskExecution}[#1]{#2}{#3}{#4}}
  444. }
  445. \renewcommand<>{\TaskExecDelta}[4][nocommand=1]{
  446. \only#5{\beameroriginal{\TaskExecDelta}[#1]{#2}{#3}{#4}}
  447. }
  448. \renewcommand<>{\TaskRespTime}[4][nocommand=1]{
  449. \only#5{\beameroriginal{\TaskRespTime}[#1]{#2}{#3}{#4}}
  450. }
  451. \renewcommand<>{\TaskLock}[4][nocommand=1]{
  452. \only#5{\beameroriginal{\TaskLock}[#1]{#2}{#3}{#4}}
  453. }
  454. \renewcommand<>{\TaskUnlock}[4][nocommand=1]{
  455. \only#5{\beameroriginal{\TaskUnlock}[#1]{#2}{#3}{#4}}
  456. }
  457. \renewcommand<>{\Label}[4][nocommand=1]{
  458. \only#5{\beameroriginal{\Label}[#1]{#2}{#3}{#4}}
  459. }
  460. \renewcommand<>{\Inherit}[4][nocommand=1]{
  461. \only#5{\beameroriginal{\Inherit}[#1]{#2}{#3}{#4}}
  462. }
  463. \renewcommand<>{\Activation}[5][nocommand=1]{
  464. \only#6{\beameroriginal{\Activation}[#1]{#2}{#3}{#4}{#5}}
  465. }
  466. \renewcommand<>{\RTBox}[3][nocommand=1]{
  467. \only#4{\beameroriginal{\RTBox}[#1]{#2}{#3}}
  468. }
  469. \renewcommand<>{\FLine}[5][nocommand=1]{
  470. \only#6{\beameroriginal{\FLine}[#1]{#2}{#3}{#4}{#5}}
  471. }
  472. }
  473. {\typeout{beamer not loaded}}
  474. \endinput