summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/diagbox
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-02-25 22:37:50 +0000
committerKarl Berry <karl@freefriends.org>2016-02-25 22:37:50 +0000
commit36f29ff6b3109c0d830f7255b78622163d3434ff (patch)
tree6740275075e6899188a8e9f34b8944fbea768406 /Master/texmf-dist/tex/latex/diagbox
parentd5549a9409ee20ad3a68e970697b176f5d1d0841 (diff)
diagbox (25feb16)
git-svn-id: svn://tug.org/texlive/trunk@39862 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/diagbox')
-rw-r--r--Master/texmf-dist/tex/latex/diagbox/diagbox.sty116
1 files changed, 87 insertions, 29 deletions
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 <leoliu.pku@gmail.com>
+%% Copyright (C) 2011--2016 by Leo Liu <leoliu.pku@gmail.com>
%% --------------------------------------------------------------------------
%% 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}%