%% %% This is file `widetable.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% widetable.dtx (with options: `package') %% %% Copyright 2009 Claudio Beccari %% %% This package is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. %% %% 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". %% %% The Current Maintainer of this work is Claudio Beccari %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{widetable}% [2009/10/26 v.1.1 Package for typesetting specified width tables] \dimendef\wt@Numer=2 \dimendef\wt@Denom=4 \countdef\wt@Num=2 \countdef\wt@Den=4 \countdef\wt@I=6 \def\wt@segno{} \newif\ifm@mifetex \m@mifetexfalse \IfFileExists{ifetex.sty}{\RequirePackage{ifetex}\relax}{% \PackageWarningNoLine{widetable}{% If there is an `ifetex' package then it is not installed.\MessageBreak The package is being emulated}% \m@mifetextrue \newif\ifetex \etexfalse \ifx\eTeXversion\undefined \else \ifx\eTeXversion\@undefined \else \ifx\eTeXversion\relax \else \ifnum\eTeXversion>0\relax \etextrue \fi \fi \fi \fi %%\EmulatedPackage{ifetex}[2008/07/23]% from memoir.cls } \def\dividi#1\per#2\in#3{% \begingroup \wt@Numer #1\relax \wt@Denom #2\relax \ifdim\wt@Denom<\z@ \wt@Denom -\wt@Denom \wt@Numer -\wt@Numer\fi \ifdim\wt@Numer<\z@ \def\wt@segno{-}\wt@Numer -\wt@Numer\fi \ifdim\wt@Denom=\z@ \edef\wt@Q{\ifdim\wt@Numer<\z@-\fi\strip@pt\maxdimen}% \else \wt@Num=\wt@Numer \wt@Den=\wt@Denom \divide\wt@Num\wt@Den \edef\wt@Q{\number\wt@Num.}% \advance\wt@Numer -\wt@Q\wt@Denom \wt@I=6 \@whilenum \wt@I>\z@ \do{\wt@dividiDec\advance\wt@I\m@ne}% \fi \edef\x{\noexpand\endgroup\noexpand\def\noexpand#3{\wt@segno\wt@Q}} \x } \def\wt@dividiDec{% \wt@Numer=10\wt@Numer \wt@Num=\wt@Numer \divide\wt@Num\wt@Den \edef\wt@q{\number\wt@Num}\edef\wt@Q{\wt@Q\wt@q}% \advance\wt@Numer -\wt@q\wt@Denom} \def\scala#1\per#2\diviso#3\in#4{\begingroup \wt@Num #2\relax \wt@Den #3\relax \ifnum\wt@Den<\z@ \wt@Den -\wt@Den \wt@Num -\wt@Num \fi \ifnum\wt@Den=\z@ \@tempdima\ifnum\wt@Num<0-\fi\maxdimen \else \@tempdima\dimexpr#1*\wt@Num/\wt@Den\relax \fi \edef\x{\noexpand\endgroup\noexpand\def\noexpand#4{\the\@tempdima}}% \x} \newdimen\wt@width \def\wt@starttabular{\expandafter\tabular\expandafter{\wt@preamble}} \def\widetable#1#2{% \def\@tempC{widetable}\setlength{\wt@width}{#1}% \def\wt@preamble{#2}\wt@getTable} \newif\ifwt@scartare\wt@scartarefalse \def\endwidetable{% \ifwt@scartare \noindent\null \else \tabcolsep=\z@ \setbox\z@=\hbox{\wt@starttabular\the\toks@\endtabular}% \tabcolsep=1cm\relax \setbox\tw@=\hbox{\wt@starttabular\the\toks@\endtabular}% \advance\wt@width-\wd\z@ \@tempdimb=\wd\tw@ \advance\@tempdimb-\wd\z@ \ifetex \scala\tabcolsep\per\wt@width\diviso\@tempdimb\in\tabcolsep\relax \else \dividi\wt@width\per\@tempdimb\in\@tempA \tabcolsep=\@tempA\tabcolsep \fi \wt@starttabular\the\toks@\endtabular \fi \ignorespacesafterend } \def\wt@finetabella{\end{widetable}}% \def\wt@getTable#1\end#2{\def\@tempB{#2}% \ifx\@tempB\@tempC \toks@={#1}% \expandafter\wt@finetabella \else \PackageWarning{widetable}{% The table contains environment `\@tempB' % \MessageBreak not enclosed in braces. This is expressly forbidden!% \MessageBreak The table is not typeset and is substituted% \MessageBreak with a framed box}% \advance\wt@width-2\fboxsep \noindent\fbox{\parbox{\wt@width}{The table was not typeset because it contains a visible \texttt{\char`\\end} in one or more cells.}}\par \expandafter\wt@finishTable \fi } \def\wt@finishTable#1\end#2{% \def\@tempB{#2}% \ifx\@tempB\@tempC \wt@scartaretrue\expandafter\wt@finetabella \else \expandafter\wt@finishTable \fi } \endinput %% %% End of file `widetable.sty'.