From 36f29ff6b3109c0d830f7255b78622163d3434ff Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 25 Feb 2016 22:37:50 +0000 Subject: diagbox (25feb16) git-svn-id: svn://tug.org/texlive/trunk@39862 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/diagbox/diagbox.sty | 116 ++++++++++++++++++------ 1 file changed, 87 insertions(+), 29 deletions(-) (limited to 'Master/texmf-dist/tex/latex/diagbox') diff --git a/Master/texmf-dist/tex/latex/diagbox/diagbox.sty b/Master/texmf-dist/tex/latex/diagbox/diagbox.sty index d4659714070..34cb4ecdd37 100644 --- a/Master/texmf-dist/tex/latex/diagbox/diagbox.sty +++ b/Master/texmf-dist/tex/latex/diagbox/diagbox.sty @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2011 by Leo Liu +%% Copyright (C) 2011--2016 by Leo Liu %% -------------------------------------------------------------------------- %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -20,25 +20,65 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{diagbox} - [2011/11/23 v2.0 Making table heads with diagonal lines] + [2016/02/24 v2.1 Making table heads with diagonal lines] \RequirePackage{keyval} \RequirePackage{pict2e} -\RequirePackage[nomessages]{fp} +\PassOptionsToPackage{nomessages}{fp} +\RequirePackage{fp} +\RequirePackage{array} \newbox\diagbox@boxa \newbox\diagbox@boxb \newbox\diagbox@boxm \newdimen\diagbox@wd \newdimen\diagbox@ht -\newdimen\diagbox@sepl -\newdimen\diagbox@sepr +\newdimen\diagbox@insepl +\newdimen\diagbox@insepr +\newdimen\diagbox@outsepl +\newdimen\diagbox@outsepr +\def\diagbox@clear{% + \diagbox@wd=\z@ + \diagbox@ht=\z@ + \diagbox@insepl=\tabcolsep + \diagbox@insepr=\tabcolsep + \diagbox@outsepl=-\tabcolsep + \diagbox@outsepr=-\tabcolsep +} \define@key{diagbox}{width}{% - \setlength{\diagbox@wd}{#1}} + \unless\ifdim\diagbox@wd=\z@ + \PackageWarning{diagbox}% + {You should not set width/innerwidth option more than once.}% + \fi + \setlength{\diagbox@wd}{\dimexpr#1\relax}} \define@key{diagbox}{height}{% - \setlength{\diagbox@ht}{#1}} + \begingroup + \def\line{\normalbaselineskip}% + \edef\x{\noexpand\setlength{\diagbox@ht}{\the\dimexpr#1\relax}}% + \expandafter\endgroup\x} +\define@key{diagbox}{innerleftsep}{% + \setlength{\diagbox@insepl}{\dimexpr#1\relax}} +\define@key{diagbox}{innerrightsep}{% + \setlength{\diagbox@insepr}{\dimexpr#1\relax}} +\define@key{diagbox}{innerwidth}{% + \unless\ifdim\diagbox@wd=\z@ + \PackageWarning{diagbox}% + {You should not set width/innerwidth option more than once.}% + \fi + \setlength{\diagbox@wd}{\dimexpr#1+\diagbox@insepl+\diagbox@insepr\relax}} +\define@key{diagbox}{outerleftsep}{% + \setlength{\diagbox@outsepl}{\dimexpr#1\relax}} +\define@key{diagbox}{outerrightsep}{% + \setlength{\diagbox@outsepr}{\dimexpr#1\relax}} +\define@key{diagbox}{leftsep}{% + \setlength{\diagbox@insepl}{\dimexpr#1\relax}% + \setlength{\diagbox@outsepl}{-\dimexpr#1\relax}} +\define@key{diagbox}{rightsep}{% + \setlength{\diagbox@insepr}{\dimexpr#1\relax}% + \setlength{\diagbox@outsepr}{-\dimexpr#1\relax}} \define@key{diagbox}{trim}{% \@tfor\@reserveda:=#1\do{% - \ifcsname diagbox@sep\@reserveda\endcsname - \setlength{\csname diagbox@sep\@reserveda\endcsname}{\z@}% + \ifcsname diagbox@insep\@reserveda\endcsname + \setlength{\csname diagbox@insep\@reserveda\endcsname}{\z@}% + \setlength{\csname diagbox@outsep\@reserveda\endcsname}{\z@}% \else \PackageError{diagbox}{Unknown trim option `#1'.}{l, r, lr and rl are supported.}% \fi}} @@ -52,40 +92,51 @@ \let\diagbox@dir@SW\relax \let\diagbox@dir@NE\relax \let\diagbox@dir@NW\relax +\define@key{diagbox}{linewidth}{% + \linethickness{\dimexpr#1\relax}} +\define@key{diagbox}{linecolor}{% + \def\diagbox@setlinecolor{\color{#1}}} +\let\diagbox@setlinecolor\empty +\define@key{diagbox}{font}{% + \def\diagbox@font{#1}} +\let\diagbox@font\empty \def\diagbox@pict{% \unitlength\p@ \begin{picture} - (\strip@pt\dimexpr\diagbox@wd-\diagbox@sepl-\diagbox@sepr\relax,\strip@pt\diagbox@ht) - (\strip@pt\diagbox@sepl,0) + (\strip@pt\dimexpr\diagbox@wd+\diagbox@outsepl+\diagbox@outsepr\relax,\strip@pt\diagbox@ht) + (\strip@pt\dimexpr-\diagbox@outsepl\relax,0) \@nameuse{diagbox@\diagbox@part @pict@\diagbox@dir} \end{picture}} \def\diagbox@double@pict@SE{% \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxa}} \put(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht) {\makebox(0,0)[tr]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,\strip@pt\diagbox@ht)(\strip@pt\diagbox@wd,0)} \let\diagbox@double@pict@NW\diagbox@double@pict@SE \def\diagbox@double@pict@NE{% \put(0,\strip@pt\diagbox@ht) {\makebox(0,0)[tl]{\box\diagbox@boxa}} \put(\strip@pt\diagbox@wd,0) {\makebox(0,0)[br]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,0)(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht)} \let\diagbox@double@pict@SW\diagbox@double@pict@NE \def\diagbox@double#1#2#3{% \begingroup - \diagbox@wd=\z@ - \diagbox@ht=\z@ - \diagbox@sepl=\tabcolsep - \diagbox@sepr=\tabcolsep + \diagbox@clear \def\diagbox@part{double}% \setkeys{diagbox}{dir=NW,#1}% \setbox\diagbox@boxa=\hbox{% - \begin{tabular}{@{\hspace{\diagbox@sepl}}l@{}}#2\end{tabular}}% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} + #2 + \end{tabular}}% \setbox\diagbox@boxb=\hbox{% - \begin{tabular}{@{}r@{\hspace{\diagbox@sepr}}}#3\end{tabular}}% + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} + #3 + \end{tabular}}% \ifdim\diagbox@wd=\z@ \ifdim\wd\diagbox@boxa>\wd\diagbox@boxb - \diagbox@wd=\dimexpr2\wd\diagbox@boxa+\diagbox@sepl+\diagbox@sepr\relax + \diagbox@wd=\dimexpr2\wd\diagbox@boxa+\diagbox@insepl+\diagbox@insepr\relax \else - \diagbox@wd=\dimexpr2\wd\diagbox@boxb+\diagbox@sepl+\diagbox@sepr\relax + \diagbox@wd=\dimexpr2\wd\diagbox@boxb+\diagbox@insepl+\diagbox@insepr\relax \fi \fi \ifdim\diagbox@ht=\z@ @@ -95,50 +146,57 @@ \endgroup} \def\diagbox@triple@setbox@NW#1#2#3{% \setbox\diagbox@boxa=\hbox{% - \begin{tabular}{@{\hspace{\diagbox@sepl}}l@{}}#1\end{tabular}}% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} + #1 + \end{tabular}}% \setbox\diagbox@boxm=\hbox{% - \begin{tabular}{@{\hspace{\diagbox@sepl}}l@{}}#2\end{tabular}}% + \begin{tabular}{@{\hspace{\diagbox@insepl}}>{\diagbox@font}l@{}} + #2 + \end{tabular}}% \setbox\diagbox@boxb=\hbox{% - \begin{tabular}{@{}r@{\hspace{\diagbox@sepr}}}#3\end{tabular}}} + \begin{tabular}{@{}>{\diagbox@font}r@{\hspace{\diagbox@insepr}}} + #3 + \end{tabular}}} \let\diagbox@triple@setbox@SW\diagbox@triple@setbox@NW \def\diagbox@triple@setbox@SE#1#2#3{% \setbox\diagbox@boxa=\hbox{% - \begin{tabular}{@{\hspace{\diagbox@sepl}}l@{}}#1\end{tabular}}% + \begin{tabular}{@{\hspace{\diagbox@insepl}}l@{}}#1\end{tabular}}% \setbox\diagbox@boxm=\hbox{% - \begin{tabular}{@{}r@{\hspace{\diagbox@sepr}}}#2\end{tabular}}% + \begin{tabular}{@{}r@{\hspace{\diagbox@insepr}}}#2\end{tabular}}% \setbox\diagbox@boxb=\hbox{% - \begin{tabular}{@{}r@{\hspace{\diagbox@sepr}}}#3\end{tabular}}} + \begin{tabular}{@{}r@{\hspace{\diagbox@insepr}}}#3\end{tabular}}} \let\diagbox@triple@setbox@NE\diagbox@triple@setbox@SE \def\diagbox@triple@pict@NW{% \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxa}} \put(0,\y) {\makebox(0,0)[tl]{\box\diagbox@boxm}} \put(\x,\y) {\makebox(0,0)[tr]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,\yym)(\x,0) \Line(\xm,\y)(\x,0)} \def\diagbox@triple@pict@NE{% \put(0,\y) {\makebox(0,0)[tl]{\box\diagbox@boxa}} \put(\x,\y) {\makebox(0,0)[tr]{\box\diagbox@boxm}} \put(\x,0) {\makebox(0,0)[br]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,0)(\xxm,\y) \Line(0,0)(\x,\yym)} \def\diagbox@triple@pict@SW{% \put(0,\y) {\makebox(0,0)[tl]{\box\diagbox@boxa}} \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxm}} \put(\x,0) {\makebox(0,0)[br]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,\ym)(\x,\y) \Line(\xm,0)(\x,\y)} \def\diagbox@triple@pict@SE{% \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxa}} \put(\x,0) {\makebox(0,0)[br]{\box\diagbox@boxm}} \put(\x,\y) {\makebox(0,0)[tr]{\box\diagbox@boxb}} + \diagbox@setlinecolor \Line(0,\y)(\xxm,0) \Line(0,\y)(\x,\ym)} \def\diagbox@triple#1#2#3#4{% \begingroup - \diagbox@wd=\z@ - \diagbox@ht=\z@ - \diagbox@sepl=\tabcolsep - \diagbox@sepr=\tabcolsep + \diagbox@clear \def\diagbox@part{triple}% \setkeys{diagbox}{dir=NW,#1}% \@nameuse{diagbox@triple@setbox@\diagbox@dir}{#2}{#3}{#4}% -- cgit v1.2.3