1

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.

enter image description here

Full source code:

\documentclass[12pt]{article}

\usepackage{cals}

\makeatletter

\begin{document}

\begin{calstable}
\colwidths{
{100pt}
{100pt}
}
\thead{
\def\cals@borderT{0.4pt}
\def\cals@borderB{0.4pt}
\def\cals@borderL{0.4pt}
\def\cals@borderR{0.4pt}
\brow
\alignC
\cell{head1}
\cell{head2}
\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}

1 Answer 1

3

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{includehead=true,includefoot=true}
\geometry{layouthoffset=0mm, layoutvoffset=0mm}
\geometry{headsep=10pt}
\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}

\thead{
\brow
\rUp \cell{head1} \rDown
\nullcell{ltb}
\nullcell{tbr}
\spancontent{head2}
\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}
1
  • 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! Commented Feb 12, 2014 at 15:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .