From 2e05ff6e2fdfe8be763245181437e76214502d41 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 5 Jun 2017 23:10:52 +0000 Subject: drawmatrix (5jun17) git-svn-id: svn://tug.org/texlive/trunk@44471 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/tex/latex/drawmatrix/drawmatrix.sty | 96 ++++++++++++++++------ 1 file changed, 70 insertions(+), 26 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty b/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty index bdadb90799f..ebfc690e481 100644 --- a/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty +++ b/Master/texmf-dist/tex/latex/drawmatrix/drawmatrix.sty @@ -8,12 +8,12 @@ %% %% This is a generated file. %% -%% Copyright (C) 2016 by Elmar Peise +%% Copyright (C) 2017 by Elmar Peise %% %% This package is distributed under the MIT license. %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{drawmatrix}[2016/12/20 v1.4.0 drawmatrix package] +\ProvidesPackage{drawmatrix}[2017/06/05 v1.5.0 drawmatrix package] \RequirePackage{tikz} \newif\ifdrawmatrix@externalize \pgfkeys{ @@ -45,7 +45,7 @@ banded/.style={lower banded, upper banded}, lower/.style={upper bandwidth=0}, upper/.style={lower bandwidth=0}, - diag/.style={lower, upper}, + diag/.style={bandwidth=0}, label text/.initial, label/.style={}, label pos/.style={label/.append style={at=(drawmatrix #1)}}, @@ -96,24 +96,17 @@ at=(drawmatrix north west) }, externalize/.is if=drawmatrix@externalize, - externalize=true -} -\newcommand\drawmatrixset[1]{\pgfqkeys{/drawmatrix}{#1}} -\newcommand\drawmatrix[2][]{{% - \drawmatrixset{ - label text={#2}, - #1, - label text/.get=\dm@labeltext, - height/.get=\dm@height, - width/.get=\dm@width, - lower bandwidth/.get=\dm@lowerbandwidth, - upper bandwidth/.get=\dm@upperbandwidth, - offset height/.get=\dm@offsetheight, - offset width/.get=\dm@offsetwidth, - bbox height/.get=\dm@bboxheight, - bbox width/.get=\dm@bboxwidth, - label base/.get=\dm@labelbase - }% + externalize=true, + pre code/.code={}, + post setup code/.code={}, + pre coordinate code/.code={}, + post coordinate code/.code={}, + pre draw code/.code={}, + post draw code/.code={}, + pre label code/.code={}, + post label code/.code={}, + post code/.code={}, + setup label code/.code={ \ifmmode\edef\dm@labeltext{$\dm@labeltext$}\fi% \expandafter\ifx\dm@labelbase\pgfkeysnovalue\else% \let\dm@labeltextouter\dm@labeltext% @@ -122,12 +115,15 @@ }% \def\dm@labeltext{\phantom{\dm@labelbase}}% \fi% - \ifdrawmatrix@externalize\else% - \ifx\tikz@library@external@loaded\undefined\else% - \tikzset{external/export=false}% + }, + externalization code/.code={ + \ifdrawmatrix@externalize\else% + \ifx\tikz@library@external@loaded\undefined\else% + \tikzset{external/export=false}% + \fi% \fi% - \fi% - \begin{tikzpicture}[/drawmatrix/every picture, /drawmatrix/picture] + }, + setup sizes code/.code={ \path[/drawmatrix/path] (\dm@width, \dm@height); \pgfgetlastxy\dm@width\dm@height \path[/drawmatrix/path] (\dm@offsetwidth, \dm@offsetheight); @@ -168,10 +164,14 @@ \path[/drawmatrix/path] (\dm@bboxwidth, 0); \pgfgetlastxy\dm@bboxwidth\dm@zero \fi + }, + bbox code/.code={ \pgfresetboundingbox \node[/drawmatrix/every bbox, /drawmatrix/bbox, minimum height=\dm@bboxheight, minimum width=\dm@bboxwidth] {}; + }, + coordinate code/.code={ \path (drawmatrix bbox.north west) ++(\dm@offsetwidth, -\dm@offsetheight) ++(.5\pgflinewidth, -.5\pgflinewidth) @@ -188,9 +188,13 @@ coordinate (drawmatrix south) +(0, \dm@minsize - \dm@lowerbandwidth) coordinate (drawmatrix west); + }, + node code/.code={ \node[/drawmatrix/every node, minimum height=\dm@height, minimum width=\dm@width] {}; + }, + draw code/.code={ \filldraw[/drawmatrix/every drawmatrix, /drawmatrix/drawmatrix] (drawmatrix north west) \ifx\dm@upperbandwidth\dm@zero @@ -213,13 +217,53 @@ \fi \fi -- cycle; + }, + label code/.code={ \node[/drawmatrix/every label, /drawmatrix/label] {\dm@labeltext}; \expandafter\ifx\dm@labelbase\pgfkeysnovalue\else \node[/drawmatrix/every label, /drawmatrix/label, /drawmatrix/label outer] {\dm@labeltextouter}; \fi + } +} +\newcommand\drawmatrixset[1]{\pgfqkeys{/drawmatrix}{#1}} +\newcommand\drawmatrix[2][]{{% + \drawmatrixset{ + label text={#2}, + #1, + label text/.get=\dm@labeltext, + height/.get=\dm@height, + width/.get=\dm@width, + lower bandwidth/.get=\dm@lowerbandwidth, + upper bandwidth/.get=\dm@upperbandwidth, + offset height/.get=\dm@offsetheight, + offset width/.get=\dm@offsetwidth, + bbox height/.get=\dm@bboxheight, + bbox width/.get=\dm@bboxwidth, + label base/.get=\dm@labelbase, + pre code, + setup label code, + externalization code + }% + \begin{tikzpicture}[/drawmatrix/every picture, /drawmatrix/picture] + \drawmatrixset{ + setup sizes code, + post setup code, + bbox code, + pre coordinate code, + coordinate code, + post coordinate code, + node code, + pre draw code, + draw code, + post draw code, + pre label code, + label code, + post label code + } \end{tikzpicture}% + \drawmatrixset{post code}% }} \endinput %% -- cgit v1.2.3