blob: cf25d78c2bed7467ff4b0a2e5bed6a53319be62f [file] [log] [blame]
Martin Arvera245e882006-03-08 15:04:36 +00001%%
2%% This is file `booktabs.sty',
3%% generated with the docstrip utility.
4%%
5%% The original source files were:
6%%
7%% booktabs.dtx (with options: `package')
8%%
9%% -----------------------------------------------------------------
10%% Author: Simon Fear
11%% Maintainer: Danie Els (dnjels@sun.ac.za)
12%%
13%% This file is part of the booktabs package for publication
14%% quality tables for LaTeX
15%%
16%% Copyright (C) 1995--2005 Simon Fear
17%%
18%% This program is free software; you can redistribute it and/or
19%% modify it under the terms of the GNU General Public License as
20%% published by the Free Software Foundation; either version 2 of
21%% the License, or (at your option) any later version.
22%%
23%% This program is distributed in the hope that it will be useful,
24%% but WITHOUT ANY WARRANTY; without even the implied warranty of
25%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26%% GNU General Public License for more details.
27%%
28%% You should have received a copy of the GNU General Public
29%% License along with this program; if not, write to the Free
30%% Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
31%% MA 02111-1307 USA
32%% -----------------------------------------------------------------
33\NeedsTeXFormat{LaTeX2e}[1999/12/01]
34\ProvidesPackage{booktabs}
35 [2005/04/14 v1.61803 publication quality tables]
36\newdimen\heavyrulewidth
37\newdimen\lightrulewidth
38\newdimen\cmidrulewidth
39\newdimen\belowrulesep
40\newdimen\belowbottomsep
41\newdimen\aboverulesep
42\newdimen\abovetopsep
43\newdimen\cmidrulesep
44\newdimen\cmidrulekern
45\newdimen\defaultaddspace
46\heavyrulewidth=.08em
47\lightrulewidth=.05em
48\cmidrulewidth=.03em
49\belowrulesep=.65ex
50\belowbottomsep=0pt
51\aboverulesep=.4ex
52\abovetopsep=0pt
53\cmidrulesep=\doublerulesep
54\cmidrulekern=.5em
55\defaultaddspace=.5em
56\newcount\@cmidla
57\newcount\@cmidlb
58\newdimen\@aboverulesep
59\newdimen\@belowrulesep
60\newcount\@thisruleclass
61\newcount\@lastruleclass
62\@lastruleclass=0
63\newdimen\@thisrulewidth
64\def\futurenonspacelet#1{\def\@BTcs{#1}%
65 \afterassignment\@BTfnslone\let\nexttoken= }
66\def\@BTfnslone{\expandafter\futurelet\@BTcs\@BTfnsltwo}
67\def\@BTfnsltwo{\expandafter\ifx\@BTcs\@sptoken\let\next=\@BTfnslthree
68 \else\let\next=\nexttoken\fi \next}
69\def\@BTfnslthree{\afterassignment\@BTfnslone\let\next= }
70\def\toprule{\noalign{\ifnum0=`}\fi
71 \@aboverulesep=\abovetopsep
72 \global\@belowrulesep=\belowrulesep %global cos for use in the next noalign
73 \global\@thisruleclass=\@ne
74 \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
75\def\midrule{\noalign{\ifnum0=`}\fi
76 \@aboverulesep=\aboverulesep
77 \global\@belowrulesep=\belowrulesep
78 \global\@thisruleclass=\@ne
79 \@ifnextchar[{\@BTrule}{\@BTrule[\lightrulewidth]}}
80\def\bottomrule{\noalign{\ifnum0=`}\fi
81 \@aboverulesep=\aboverulesep
82 \global\@belowrulesep=\belowbottomsep
83 \global\@thisruleclass=\@ne
84 \@ifnextchar[{\@BTrule}{\@BTrule[\heavyrulewidth]}}
85\def\specialrule#1#2#3{\noalign{\ifnum0=`}\fi
86 \@aboverulesep=#2\global\@belowrulesep=#3\global\@thisruleclass=\tw@
87 \@BTrule[#1]}
88\def\addlinespace{\noalign{\ifnum0=`}\fi
89 \@ifnextchar[{\@addspace}{\@addspace[\defaultaddspace]}}
90\def\@addspace[#1]{\global\@belowrulesep=#1\global\@thisruleclass=\tw@
91 \futurelet\@tempa\@BTendrule}
92\def\@BTrule[#1]{%
93 \global\@thisrulewidth=#1\relax
94 \ifnum\@thisruleclass=\tw@\vskip\@aboverulesep\else
95 \ifnum\@lastruleclass=\z@\vskip\@aboverulesep\else
96 \ifnum\@lastruleclass=\@ne\vskip\doublerulesep\fi\fi\fi
97 \ifx\longtable\undefined
98 \let\@BTswitch\@BTnormal
99 \else\ifx\hline\LT@hline
100 \let\@BTswitch\@BLTrule
101 \else
102 \let\@BTswitch\@BTnormal
103 \fi\fi
104 \@BTswitch}
105\AtBeginDocument{%
106 \providecommand*\CT@arc@{}}%% colortbl support
107\def\@BTnormal{%
108 {\CT@arc@\hrule\@height\@thisrulewidth}%
109 \futurenonspacelet\@tempa\@BTendrule}
110\def\@BLTrule{\@ifnextchar({\@@BLTrule}{\@@BLTrule()}}
111\def\@@BLTrule(#1){\@setrulekerning{#1}%
112\global\@cmidlb\LT@cols
113\ifnum0=`{\fi}%
114\@cmidruleb
115\noalign{\ifnum0=`}\fi
116\futurenonspacelet\@tempa\@BTendrule}
117\def\@BTendrule{\ifx\@tempa\toprule\global\@lastruleclass=\@thisruleclass
118 \else\ifx\@tempa\midrule\global\@lastruleclass=\@thisruleclass
119 \else\ifx\@tempa\bottomrule\global\@lastruleclass=\@thisruleclass
120 \else\ifx\@tempa\cmidrule\global\@lastruleclass=\@thisruleclass
121 \else\ifx\@tempa\specialrule\global\@lastruleclass=\@thisruleclass
122 \else\ifx\@tempa\addlinespace\global\@lastruleclass=\@thisruleclass
123 \else\global\@lastruleclass=\z@\fi\fi\fi\fi\fi\fi
124 \ifnum\@lastruleclass=\@ne\relax\else\vskip\@belowrulesep\fi
125 \ifnum0=`{\fi}}
126\def\@setrulekerning#1{%
127 \global\let\cmrkern@l\z@
128 \global\let\cmrkern@r\z@
129 \@tfor\@tempa :=#1\do
130 {\def\@tempb{r}%
131 \ifx\@tempa\@tempb
132 \global\let\cmrkern@r\cmidrulekern
133 \def\cmrsideswitch{\cmrkern@r}%
134 \else
135 \def\@tempb{l}%
136 \ifx\@tempa\@tempb
137 \global\let\cmrkern@l\cmidrulekern
138 \def\cmrsideswitch{\cmrkern@l}%
139 \else
140 \global\expandafter\let\cmrsideswitch\@tempa
141 \fi
142 \fi}}
143\def\cmidrule{\noalign{\ifnum0=`}\fi
144 \@ifnextchar[{\@cmidrule}{\@cmidrule[\cmidrulewidth]}}
145\def\@cmidrule[#1]{\@ifnextchar({\@@cmidrule[#1]}{\@@cmidrule[#1]()}}
146\def\@@cmidrule[#1](#2)#3{\@@@cmidrule[#3]{#1}{#2}}
147\def\@@@cmidrule[#1-#2]#3#4{\global\@cmidla#1\relax
148 \global\advance\@cmidla\m@ne
149 \ifnum\@cmidla>0\global\let\@gtempa\@cmidrulea\else
150 \global\let\@gtempa\@cmidruleb\fi
151 \global\@cmidlb#2\relax
152 \global\advance\@cmidlb-\@cmidla
153 \global\@thisrulewidth=#3
154 \@setrulekerning{#4}
155 \ifnum\@lastruleclass=\z@\vskip \aboverulesep\fi
156 \ifnum0=`{\fi}\@gtempa
157 \noalign{\ifnum0=`}\fi\futurenonspacelet\@tempa\@xcmidrule}
158\def\@xcmidrule{%
159 \ifx\@tempa\cmidrule
160 \vskip-\@thisrulewidth
161 \global\@lastruleclass=\@ne
162 \else \ifx\@tempa\morecmidrules
163 \vskip \cmidrulesep
164 \global\@lastruleclass=\@ne\else
165 \vskip \belowrulesep
166 \global\@lastruleclass=\z@
167 \fi\fi
168 \ifnum0=`{\fi}}
169\def\@cmidrulea{%
170 \multispan\@cmidla&\multispan\@cmidlb
171 \unskip\hskip\cmrkern@l%
172 {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
173 \hskip\cmrkern@r\cr}%
174\def\@cmidruleb{%
175 \multispan\@cmidlb
176 \unskip\hskip \cmrkern@l%
177 {\CT@arc@\leaders\hrule \@height\@thisrulewidth\hfill}%
178 \hskip\cmrkern@r\cr}%
179\def\morecmidrules{\noalign{\relax}}
180\endinput
181%%
182%% End of file `booktabs.sty'.