summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-12-21 23:56:08 +0000
committerKarl Berry <karl@freefriends.org>2017-12-21 23:56:08 +0000
commit5149fd09e4686b79e89ecc9b5e8fb7b1619f39ba (patch)
treef90cbaf38e4222828f3cbc25e60bcd0673c058c1 /Master/texmf-dist/tex/latex/tikz-timing/tikz-timing-nicetabs.sty
parent1384ead159c0cd068f3a731042d86fd83abb98c3 (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.sty133
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'.