Fully fill the table headers with color
[kugel-rb/myfork.git] / manual / booktabs.sty
blobcf25d78c2bed7467ff4b0a2e5bed6a53319be62f
1 %%
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
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
182 %% End of file `booktabs.sty'.