summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/drawmatrix
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-11-30 23:00:12 +0000
committerKarl Berry <karl@freefriends.org>2015-11-30 23:00:12 +0000
commit55ced3ef06cb4f4b34023320264c2b428699f3cf (patch)
tree2bc99c804e894b75ba672538285b4e17020f2516 /Master/texmf-dist/tex/latex/drawmatrix
parentaf61853c84d7141bbb1a12c61553d47cdec19cdf (diff)
drawmatrix (30nov15)
git-svn-id: svn://tug.org/texlive/trunk@38980 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/drawmatrix')
-rw-r--r--Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty162
1 files changed, 162 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty b/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty
new file mode 100644
index 00000000000..1fa5fc7afb3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty
@@ -0,0 +1,162 @@
+%%
+%% This is file `drawmatrix.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% drawmatrix.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2015 by Elmar Peise
+%%
+%% This package is distributed under the MIT license.
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesPackage{drawmatrix}[2015/11/26 v1.1.0 drawmatrix package]
+\RequirePackage{tikz}
+\newif\ifdrawmatrix@externalize
+\pgfkeys{
+ drawmatrix/.is family,
+ drawmatrix/.cd,
+ picture/.style={},
+ baseline/.style={picture/.append style={baseline=(drawmatrix #1)}},
+ baseline=label.base,
+ bbox/.style={},
+ bbox style/.style={bbox/.append style={#1}},
+ bbox height/.initial,
+ bbox width/.initial,
+ bbox size/.style={bbox height=#1, bbox width=#1},
+ offset height/.initial=0,
+ offset width/.initial=0,
+ offset/.style={offset height=#1, offset width=#1},
+ height/.initial=1,
+ width/.initial=1,
+ size/.style={height=#1, width=#1},
+ lower bandwidth/.initial,
+ upper bandwidth/.initial,
+ bandwidth/.style={lower bandwidth=#1, upper bandwidth=#1},
+ lower banded/.style={lower bandwidth=.3},
+ upper banded/.style={upper bandwidth=.3},
+ banded/.style={lower banded, upper banded},
+ lower/.style={upper bandwidth=0},
+ upper/.style={lower bandwidth=0},
+ diag/.style={lower, upper},
+ externalize/.is if=drawmatrix@externalize,
+ externalize=true,
+ label/.style={},
+ label pos/.style={label/.append style={at=(drawmatrix #1)}},
+ label pos=bbox.center,
+ label anchor/.style={label/.append style={anchor=#1}},
+ label anchor=mid,
+ drawmatrix/.style={},
+ .unknown/.code={%
+ \let\@currname\pgfkeyscurrentname%
+ \let\@currval\pgfkeyscurrentvalue%
+ \ifx#1\pgfkeysnovalue\pgfkeysalso{
+ drawmatrix/.append style/.expand once={\@currname}
+ }\else\pgfkeysalso{
+ drawmatrix/.append style/.expand twice={%
+ \expandafter\@currname\expandafter=\@currval%
+ }
+ }\fi%
+ },
+ every picture/.style={},
+ every bbox/.style={
+ name=drawmatrix bbox,
+ inner sep=0,
+ },
+ every drawmatrix/.style={
+ fill=white,
+ draw=gray,
+ },
+ every label/.style={
+ name=drawmatrix label,
+ outer sep=0,
+ inner sep=0,
+ }
+}
+\newcommand\drawmatrixset[1]{\pgfqkeys{/drawmatrix}{#1}}
+\newcommand\drawmatrix[2][]{{%
+ \ifmmode\def\@labeltext{$#2$}\else\def\@labeltext{#2}\fi%
+ \drawmatrixset{#1}%
+ \ifdrawmatrix@externalize\else%
+ \ifx\tikz@library@external@loaded\undefined\else%
+ \tikzset{external/export=false}%
+ \fi%
+ \fi%
+ \pgfqkeys{/drawmatrix}{
+ height/.get=\@height,
+ width/.get=\@width,
+ lower bandwidth/.get=\@lowerbandwidth,
+ upper bandwidth/.get=\@upperbandwidth,
+ offset height/.get=\@offsetheight,
+ offset width/.get=\@offsetwidth,
+ bbox height/.get=\@bboxheight,
+ bbox width/.get=\@bboxwidth,
+ }%
+ \pgfmathsetmacro\@height{\@height + 0.0}%
+ \pgfmathsetmacro\@width{\@width + 0.0}%
+ \pgfmathsetmacro\@minsize{min(\@width, \@height)}%
+ \pgfmathsetmacro\@zero{0.0}%
+ \expandafter\ifx\@lowerbandwidth\pgfkeysnovalue%
+ \edef\@lowerbandwidth{\@minsize}%
+ \fi%
+ \expandafter\ifx\@upperbandwidth\pgfkeysnovalue%
+ \edef\@upperbandwidth{\@minsize}%
+ \fi%
+ \pgfmathsetmacro\@lowerbandwidth{min(\@minsize, \@lowerbandwidth)}%
+ \pgfmathsetmacro\@upperbandwidth{min(\@minsize, \@upperbandwidth)}%
+ \expandafter\ifx\@bboxheight\pgfkeysnovalue%
+ \pgfmathsetmacro\@bboxheight{\@height + \@offsetheight}%
+ \fi%
+ \expandafter\ifx\@bboxwidth\pgfkeysnovalue%
+ \pgfmathsetmacro\@bboxwidth{\@width + \@offsetwidth}%
+ \fi%
+ \begin{tikzpicture}[/drawmatrix/every picture, /drawmatrix/picture]
+ \node[/drawmatrix/every bbox, /drawmatrix/bbox,
+ minimum height=\@bboxheight cm,
+ minimum width=\@bboxwidth cm] {};
+ \path (drawmatrix bbox.north west)
+ ++(\@offsetwidth, -\@offsetheight)
+ ++(.5\pgflinewidth, -.5\pgflinewidth)
+ coordinate (drawmatrix north west)
+ ++(\@width, 0)
+ +(-\@minsize + \@upperbandwidth, 0)
+ coordinate (drawmatrix north)
+ +(0, -\@minsize + \@upperbandwidth)
+ coordinate (drawmatrix east)
+ ++(0, -\@height)
+ coordinate (drawmatrix south east)
+ ++(-\@width, 0)
+ +(\@minsize - \@lowerbandwidth, 0)
+ coordinate (drawmatrix south)
+ +(0, \@minsize - \@lowerbandwidth)
+ coordinate (drawmatrix west);
+ \filldraw[/drawmatrix/every drawmatrix, /drawmatrix/drawmatrix]
+ (drawmatrix north west)
+ \ifx\@upperbandwidth\@zero
+ \ifx\@width\@minsize\else -- (drawmatrix north) \fi
+ \ifx\@height\@minsize\else -- (drawmatrix east) \fi
+ \else
+ -- (drawmatrix north)
+ \ifx\@upperbandwidth\@minsize\else -- (drawmatrix east) \fi
+ \fi
+ -- (drawmatrix south east)
+ \ifx\@lowerbandwidth\@zero
+ \ifx\@width\@minsize\else -- (drawmatrix south) \fi
+ \ifx\@height\@minsize\else -- (drawmatrix west) \fi
+ \else
+ -- (drawmatrix south)
+ \ifx\@lowerbandwidth\@minsize\else -- (drawmatrix west) \fi
+ \fi
+ -- cycle;
+ \node[minimum height=\@height cm, minimum width=\@width cm,
+ anchor=north west] at (drawmatrix north west)
+ (drawmatrix matrix) {};
+ \node[/drawmatrix/every label, /drawmatrix/label] {\@labeltext};
+ \end{tikzpicture}%
+}}
+\endinput
+%%
+%% End of file `drawmatrix.sty'.