% File: tabularkv.sty % Version: 2005/07/22 v1.0 % Author: Heiko Oberdiek % Email: % % 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