Longtable does not break correctly when used with \specialrule instead of \hline
\hline
in longtable
really needs to know a lot about how longtable
s are put together, in particular how the left and right margin works, and what to do at a page break. It's basically more like \cline
, or rather two \cline
s one on top of the other to allow duplication at a break.
So basically rules from other packages are not likely to work unless they explicitly cater for longtable
.
If you just need varying \arrayrulewidth
you should be able to use \setlength{\arrayrulewidth}{3pt}
and then a normal \hline
.
booktabs
does have some support for it but I note its documentation says explicitly.
A somewhat technical note: within a
longtable
,\hline
and\hline\hline
both produce a double rule (to allow for page breaks occurring at that point). But thebooktabs
rules do not.longtable
's automatic doubling of\hline
is questionable, even according to the documentation within that package. But doubledbooktabs
rules make almost no sense at all.
So it seems to imply that the behaviour at the page break is by design.