summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:01:05 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:01:05 +0000
commit7dc48e4d760aa8e703387e96794effaad3c24a78 (patch)
tree7d99efb2359a56ffe56c80d6c2192ffcc41e2d92 /Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty
parentfd257bd5c75a905dfa0ca6e3e507d9ed29338e1f (diff)
oberdiek
git-svn-id: svn://tug.org/texlive/trunk@1150 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty107
1 files changed, 107 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty b/Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty
new file mode 100644
index 00000000000..6d84a1f82e1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/oberdiek/tabularkv.sty
@@ -0,0 +1,107 @@
+% File: tabularkv.sty
+% Version: 2005/07/22 v1.0
+% Author: Heiko Oberdiek
+% Email: <oberdiek@uni-freiburg.de>
+%
+% Copyright: Copyright (C) 2005 Heiko Oberdiek.
+%
+% 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 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Heiko Oberdiek.
+%
+% Function: This package adds a key value interface for tabular
+% by the new environment "tabularkv". Thus the TeX
+% source code looks better by named parameters,
+% especially if package "tabularht" is used.
+%
+% Use: \usepackage{tabularkv}
+%
+% The package provides the environment "tabularkv"
+% that takes an optional argument with tabular
+% parameters:
+% * width (width specification, "tabular*" is used)
+% * x (width specification, "tabularx" is used,
+% package "tabularx" must be loaded)
+% * height (height specification, see package tabularht)
+% * valign (vertical positioning, this option is optional)
+% values: top, bottom, center
+%
+% Parameter "valign" optional, the following are
+% equivalent:
+% \begin{tabularkv}[..., valign=top]{l}...\end{tabularkv}
+% \begin{tabularkv}[...][t]{l}...\end{tabularkv}
+%
+% Example:
+% \documentclass{article}
+% \usepackage{tabularkv}
+%
+% \begin{document}
+% \fbox{%
+% \begin{tabularkv}[
+% width=4in,
+% height=1in,
+% valign=center
+% ]{@{}l@{\extracolsep{\fill}}r@{}}
+% upper left corner & upper right corner\\%
+% \noalign{\vfill}%
+% \multicolumn{2}{@{}c@{}}{bounding box}\\
+% \noalign{\vfill}%
+% lower left corner & lower right corner\\
+% \end{tabularkv}%
+% }
+% \end{document}
+%
+% Installation:
+% CTAN location: CTAN:macros/latex/contrib/oberdiek/tabularkv.sty
+% TDS location: TDS:tex/latex/oberdiek/tabularkv.sty
+%
+% History: 2005/09/22 v1.0:
+% * first public version,
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tabularkv}
+ [2005/09/22 v1.0 Key value interface for tabular parameters]
+
+\RequirePackage{keyval}
+\RequirePackage{tabularht}
+
+\let\tabKV@star@x\@empty
+\let\tabKV@width\@empty
+\let\tabKV@valign\@empty
+
+\define@key{tabKV}{height}{%
+ \setlength{\dimen@}{#1}%
+ \edef\@toarrayheight{to\the\dimen@}%
+}
+\define@key{tabKV}{width}{%
+ \def\tabKV@width{{#1}}%
+ \def\tabKV@star@x{*}%
+}
+\define@key{tabKV}{x}{%
+ \def\tabKV@width{{#1}}%
+ \def\tabKV@star@x{x}%
+}
+\define@key{tabKV}{valign}{%
+ \edef\tabKV@valign{[\@car #1c\@nil]}%
+}
+
+\newenvironment{tabularkv}[1][]{%
+ \setkeys{tabKV}{#1}%
+ \@nameuse{%
+ tabular\tabKV@star@x\expandafter\expandafter\expandafter
+ }%
+ \expandafter\tabKV@width\tabKV@valign
+}{%
+ \@nameuse{endtabular\tabKV@star@x}%
+}
+
+\endinput