From dc9526cb9ac65af66d74d5b44c78647df15e5b13 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 11 Dec 2009 01:03:36 +0000 Subject: tikz-timing 0.7 (9dec09) git-svn-id: svn://tug.org/texlive/trunk@16348 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/tikz-timing/tikz-timing-nicetabs.sty | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty (limited to 'Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.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..4b4f8cc0ad8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty @@ -0,0 +1,125 @@ +%% +%% This is file `tikz-timing-nicetabs.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tikz-timing.dtx (with options: `lib,lib-nicetabs') +%% +%% Copyright (C) 2009 by Martin Scharrer +%% +%% 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-nicetabs] + {$Id: tikz-timing.dtx 1580 2009-12-09 11:14:01Z martin $} + [v0.7 + TikZ-Timing Library for + nice timing tables] +\GetFileInfoSVN*% +\RequirePackage{tikz-timing}[\filedate]% +\DefineFileInfoSVN + +\RequirePackage{array} +\RequirePackage{booktabs} + +\newcommand*\tikztiming@nicetabs@tableheader[3][]{% + \path [timing/table/midrules] [/utils/exec=\xdef\@gtempa{\the\pgflinewidth}]; + \path [timing/table/header,#1] + let \p1 = (0,\belowrulesep + \aboverulesep + \@gtempa + \arraystretch * + {(\ht\strutbox + \extrarowheight)} + \arraystretch\dp\strutbox) in + node [anchor=base west] (tikztiming@header) at (0,\y1) {\ignorespaces + #3\unskip\strut} + node [anchor=base east] at (-1*{(\tikztiming@coldist)},\y1) {\ignorespaces + #2\unskip\strut} + ; + \tikztiming@tableheadtrue +} +\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 row text.base), + \p4 = ($ (0,\y3) - (0,\arraystretch\dp\strutbox + \aboverulesep + + .5\pgflinewidth) $) + in + (\x1-\tabcolsep,\y4) -- (\x2+\tabcolsep,\y4) + \iftikztiming@tablehead + let + \p5 = (tikztiming@header.base), + \p6 = ($ (0,\y5) + (0,\arraystretch * {(\ht\strutbox + \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 + \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+\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'. -- cgit v1.2.3