diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-21 23:56:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-21 23:56:08 +0000 |
commit | 5149fd09e4686b79e89ecc9b5e8fb7b1619f39ba (patch) | |
tree | f90cbaf38e4222828f3cbc25e60bcd0673c058c1 /Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty | |
parent | 1384ead159c0cd068f3a731042d86fd83abb98c3 (diff) |
tikz-timing (21dec17)
git-svn-id: svn://tug.org/texlive/trunk@46111 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty | 133 |
1 files changed, 133 insertions, 0 deletions
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..2bfdf50ebbd --- /dev/null +++ b/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty @@ -0,0 +1,133 @@ +%% +%% 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 <martin@scharrer-online.de> +%% ---------------------------------------------------------------------- +%% 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'. |