# Miss the bottom line of the frame header of the cals table on the first page?

If the first page first line no nullcell, then the header bottom line no miss. If nullcell, then miss, but only on the first page, the others do not. I don't understand why. Sorry, for my poor english.

Full source code:

\documentclass[12pt]{article}

\usepackage{cals}

\makeatletter

\begin{document}

\begin{calstable}
\colwidths{
{100pt}
{100pt}
}
\def\cals@borderT{0.4pt}
\def\cals@borderB{0.4pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\brow
\alignC
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0pt}
\def\cals@borderR{0pt}
\erow
}
\tfoot{
\hrule width 200pt height 0.4pt depth 0pt\relax
}

%\brow
%\def\cals@borderT{0pt}
%\def\cals@borderB{0pt}
%\def\cals@borderL{0.4pt}
%\def\cals@borderR{0.4pt}
%\cell{1}
%\def\cals@borderL{0pt}
%\def\cals@borderR{0.4pt}
%\cell{text 1}
%\def\cals@borderR{0pt}
%\erow

\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{ltr}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 2}
\def\cals@borderR{0pt}
\erow

\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{blr}
\spancontent{2}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 2}
\def\cals@borderR{0pt}
\erow

\tbreak{\vfill\break}

\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{ltr}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 3}
\def\cals@borderR{0pt}
\erow

\brow
\def\cals@borderT{0pt}
\def\cals@borderB{0pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\nullcell{blr}
\spancontent{3}
\def\cals@borderL{0pt}
\def\cals@borderR{0.4pt}
\cell{text 3}
\def\cals@borderR{0pt}
\erow

\end{calstable}

\end{document}


I'm afraid it is a bug, which is very hard to localize. Instead, I suggest to rework the approach and avoid the use of cell width overrides. For example:

\documentclass[12pt,a5paper,landscape]{article}

\usepackage[utf8]{inputenc}
\usepackage[a5paper]{geometry}
\geometry{top=10mm, bottom=10mm, left=20mm, right=20mm}
\geometry{includemp=false}
\geometry{layouthoffset=0mm, layoutvoffset=0mm}
\usepackage[T1]{fontenc}
\usepackage{cals}

\makeatletter

\begin{document}

\begin{calstable}
\alignC
\makeatletter
\colwidths{
{100pt}
{100pt}
{100pt}
}

\def\cals@framecs@width{.4pt }
\def\cals@framers@width{.4pt }
\def\cals@cs@width{0pt }
\def\cals@rs@width{0pt }
\def\rUp{\def\cals@borderR{0.4pt}}
\def\rDown{\let\cals@borderR=\relax}

\brow
\nullcell{ltb}
\nullcell{tbr}
\erow
}

\brow
\rUp \nullcell{ltr} \rDown
\cell{222}
\cell{222}
\erow

\brow
\rUp \nullcell{blr} \rDown
\spancontent{2}
\cell{222}
\cell{222}
\erow

\tbreak{\lastrule\vfill\break}

\brow
\rUp \nullcell{ltr} \rDown
\cell{333}
\cell{333}
\erow

\brow
\rUp \nullcell{lr} \rDown
\cell{333}
\cell{333}
\erow

\brow
\rUp \nullcell{blr} \rDown
\spancontent{3}
\cell{333}
\cell{333}
\erow

\end{calstable}

\end{document}

• Sorry, while I changed on the original :) The solution was good, but need: "\def\cals@bodyrs@width{0.4pt}", because the header line was too thick. Thank you! – Attila Kosa Feb 12 '14 at 15:12