%% %% 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 %% ---------------------------------------------------------------------- %% 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'.