%%
%% This is file `ctable.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% ctable.dtx  (with options: `package')
%% 
%% IMPORTANT NOTICE:
%% 
%% For the copyright see the source file.
%% 
%% Any modified versions of this file must be renamed
%% with new filenames distinct from ctable.sty.
%% 
%% For distribution of the original source see the terms
%% for copying and modification in the file ctable.dtx.
%% 
%% This generated file may be distributed as long as the
%% original source files, as listed above, are part of the
%% same distribution. (The sources need not necessarily be
%% in the same archive or directory.)
%%% File: ctable.dtx
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ctable}
        [2005/08/09 v1.7 LaTeX package ctable]
\RequirePackage{color,xkeyval,array,tabularx,booktabs,rotating}
\def\NN{\tabularnewline}
\def\FL{\toprule}
\def\ML{\NN\midrule}
\def\LL{\NN\bottomrule}
\def\@ctblfgcolor#1 #2 #3={\definecolor{@ctblframefg}{rgb}{#1,#2,#3}}
\def\@ctblbgcolor#1 #2 #3={\definecolor{@ctblframebg}{rgb}{#1,#2,#3}}
\newdimen\@ctblframesep
\newdimen\@ctblframerule
\newdimen\@ctblwidth
\newdimen\@ctblcaptionskip
\newdimen\@ctblmaxwidth
\newdimen\@ctblw % the final width
\newbox\ctbl@tabelx     % the width with X columns
\newbox\ctbl@tabel      % the width where X is replaced with l
\newbox\ctbl@t          % the final box will become one of the two above
\define@key{ctbl}{caption}{\def\@ctblcaption{#1}}%
\define@key{ctbl}{cap}{\def\@ctblcap{#1}}%
\define@key{ctbl}{label}{\def\@ctbllabel{#1}}%
\define@key{ctbl}{pos}{\def\@ctblpos{#1}\def\@ctblbegin{\@ctblbeg[#1]}}%
\define@key{ctbl}{width}{\@ctblwidth=#1}%
\define@key{ctbl}{maxwidth}{\@ctblmaxwidth=#1}%
\define@key{ctbl}{botcap}[]{\def\@ctblbotcap{1}}%
\define@key{ctbl}{sideways}[]{\def\@ctblsideways{sideways}}%
\define@key{ctbl}{rotate}[]{\def\@ctblsideways{sideways}\PackageWarning{ctable}{using obsolete option 'rotate', use 'sideways' instead}}%
\define@key{ctbl}{figure}[]{\def\@ctbltaborfig{figure}}%
\define@key{ctbl}{center}[]{\def\@ctblalign{center}}%
\define@key{ctbl}{right}[]{\def\@ctblalign{flushright}}%
\define@key{ctbl}{left}[]{\def\@ctblalign{flushleft}}%
\define@key{ctbl}{star}[]{\def\@ctblstarred {*}}%
\define@key{ctbl}{framerule}{\@ctblframerule=#1}%
\define@key{ctbl}{framesep}{\@ctblframesep=#1}%
\define@key{ctbl}{framefg}{\@ctblfgcolor#1=}%
\define@key{ctbl}{framebg}{\@ctblbgcolor#1=}%
\define@key{ctbl}{captionskip}{\@ctblcaptionskip=#1}%
\def\@ctblCaption{
   \ifx\@ctblcap\empty\let\@ctblcap\@ctblcaption\fi
   \ifx\@ctblcaption\empty\else
      \caption[\@ctblcap]{\label{\@ctbllabel}\@ctblcaption}
   \fi
}
\newdimen\@ctbloldsep
\newdimen\@ctbloldrule
\def\@ctblframe#1#2#3{%
   \@ctbloldsep\fboxsep\fboxsep\@ctblframesep%
   \@ctbloldrule\fboxrule\fboxrule\@ctblframerule%
   \fcolorbox{#1}{#2}{\fboxsep\@ctbloldsep\fboxrule\@ctbloldrule #3}%
}
\newcommand{\tnote}[2][a]{%
   \hbox{\@textsuperscript{\normalfont\textit{#1}}}&#2\NN}
\newcommand{\tmark}[1][a]{%
   \hbox{\@textsuperscript{\normalfont\textit{#1}}}}
\newcommand{\ctable}[4][]{%
   \def\@ctbltaborfig{table}%
   \def\@ctblalign   {center}%
   \def\@ctblsideways  {}%
   \def\@ctblpos     {}%
   \def\@ctblcaption {}%
   \def\@ctblcap     {}%
   \def\@ctbllabel   {}%
   \def\@ctblbeg     {\begin{\@ctblsideways\@ctbltaborfig\@ctblstarred}}%
   \def\@ctblbegin   {\@ctblbeg}%
   \def\@ctblend     {\end{\@ctblsideways\@ctbltaborfig\@ctblstarred}}%
   \def\@ctblbotcap  {}%
   \def\@ctblstarred {}%
   \definecolor{@ctblframefg}{rgb}{0,0,0}%
   \definecolor{@ctblframebg}{rgb}{1,1,1}%
   \@ctblframerule0pt
   \@ctblcaptionskip2ex
   \@ctblframesep0pt
   \@ctblwidth=0pt
   \@ctblmaxwidth=0pt
   \setkeys{ctbl}{#1}%
   \ifdim\@ctblwidth=0pt\else
      \ifdim\@ctblmaxwidth=0pt\else
         \PackageError{ctable}{
            You may not use the width and maxwidth options together}{%
            Use either width or maxwidth}
      \fi
   \fi
   \ifx\@ctblpos\empty\else
      \ifx\@ctblsideways\empty\else
      \PackageError{ctable}{
         You may not use the pos and sideways options together}{%
         Rotated tables and figures are always typeset on a separate page}
      \fi
   \fi
   \newcolumntype{Y}{X}% save the X type
   \sbox\ctbl@tabel{%
      \newcolumntype{X}{l}% temporarily make  type X = l
      \@ctblframe{@ctblframefg}{@ctblframebg}{%
         \begin{tabular}{#2}
            #4
         \end{tabular}%
      }%
   }%
   \sbox\ctbl@tabelx{%
      \newcolumntype{X}{Y}% restore X
      \@ctblframe{@ctblframefg}{@ctblframebg}{%
         \begin{tabularx}{\ifdim\@ctblwidth>0pt\@ctblwidth\else\@ctblmaxwidth\fi}{#2}
            #4
         \end{tabularx}%
      }%
   }%
   \ifdim\@ctblmaxwidth=0pt
      \ifdim\@ctblwidth=0pt
         \sbox{\ctbl@t}{\usebox\ctbl@tabel}%
      \else
         \sbox{\ctbl@t}{\usebox\ctbl@tabelx}%
      \fi
   \else
      \ifdim\wd\ctbl@tabel>\@ctblmaxwidth
         \sbox{\ctbl@t}{\usebox\ctbl@tabelx}%
      \else
         \sbox{\ctbl@t}{\usebox\ctbl@tabel}%
      \fi
   \fi
   \@ctblw=\wd\ctbl@t
   \@ctblbegin
      \begin{\@ctblalign}
         \begin{minipage}{\@ctblw}
            \ifx\@ctblbotcap\empty\@ctblCaption\vspace{\@ctblcaptionskip}\fi
            \usebox\ctbl@t % insert the tabular
            \def\@ctblfootnotes{#3}
            \ifx#3\empty\else % append footnotes, if any
               \\
               \begin{tabularx}{\@ctblw}{r@{\,}>{\footnotesize\raggedright}X}
                  #3
               \end{tabularx}
            \fi
            \ifx\@ctblbotcap\empty\else\@ctblCaption\fi
         \end{minipage}
      \end{\@ctblalign}
   \@ctblend
}
\endinput
%%
%% End of file `ctable.sty'.
