2020-02-02 Johannes Braams * supertabular.dtx: Replaced the way the height of normal tabular lines is calculated by basing it on the height and depth of \strutbox. This also ment being able to take the \extrarowheight from the array package into account. Also the height of the first and subsequent heads was not taken into account in the calculation of the available pageheigt. This meant that especially the first part of the table could become too high and hence be forced onto the next page (which is, by consequence) not entirely filled). Finally, if a caption preceeds the table, the entire height of the caption and the white space around it may not yet be accounted in \pagesofar. Therefore we substract a little extra from \ST@pageleft. 2020-01-26 Johannes Braams * supertabular.dtx: Updated the copyright year and rearranged the text around the examples in order to get the first table to split accross a page boundary again. 2019-01-18 Johannes Braams * supertabular.dtx: The linenumber in the tracing information, that is reported from within \\, is off by one when the optional argument is missing. Therefore the input linenumber is now saved before TeX starts scanning. Problem reported by Frank Mittelbach. 2019-01-16 Johannes Braams * supertabular.dtx: The option "pageshow" didn't work as it set a too low value in \c@tracingst. Problem reported by Frank Mittelbach. 2019-01-12 Johannes Braams * supertabular.dtx : The definition for the first table head was different from the definition of the regular table heads. This problem was reported by FMi as it produced an extra table in an example. The same was true for the table tail and the last table tail, applied the same fix. FMi also reported that a first table head, once set would appear on all subsequent supertabulars. The internal macro's now `undefine' themselves although this couteracts the change that was introduced on 08-08-1999. 2001-08-21 Johannes Braams * supertabular.dtx : The macro \ST@next needs to be defined when \ST@skippage was called. Therefore I moved the default definition to earlier in the code; just before the \if clause after which it is called; possibly defined by \ST@newpage. This problem was reported by Andrew Dorrell . 1999-08-08 Johannes Braams * supertabular.dtx : No longer re-initialize the internal variable \@table@first@head and \@table@last@tail. This made it impossible to have more than one supertabular in the same document with the exact same appearance of the heads and tail without repeatedly redeclaring the firsthead and/or lasttail. Reported by Christian Matuszewski . Fri Nov 7 20:27:27 1997 Johannes Braams * supertabular.dtx : For standard LaTeX we need to change \@@startpbox not \@startpbox. Found by Peter R Wilson Wed Oct 8 22:35:40 1997 Johannes Braams * supertabular.dtx: Running the documentation revealed a loop; inside the table tail and head \\ was reset to \@tabularcr instead of to \@@tabularcr (now: \org@tabularcr). First found by Thomas Esser Sat Sep 27 21:35:29 1997 Johannes Braams * supertabular.dtx: Added the mpsupertabular and mpsupertabular* environments provided by Axel Kielhorn ; added \noindent in front of all the starts of tabulars and minipages as it seems senseles to have a paragraph indent in front of a large tabularl; fixed a few documentation bugs. The calculation of the available height still missed the case where TeX has already begun the second column. Thu Sep 18 00:31:55 1997 Johannes Braams * supertabular.dtx : The \tablehead and \tabletail commands reset the command \\; they used \cr for it. That should have been \@tabularcr to properly deal with it's optional argument. Found by Axel Kielhorn Wed Sep 17 23:59:13 1997 Johannes Braams * supertabular.dtx : In two column mode the parameters that determine how much space is left on the page were not correctly initialised when TeX hasn't yet filled up the first column completely. Found by Jeffrey Spielberg Tue May 20 23:46:08 1997 Johannes Braams * supertabular.dtx : \shrinkheight didn't shrink the available height for a part of the tabular (as documented); it just *set* it to the value given. Made it perform as documented and added \setSTheight for the former functionality At the end of a supertabular \@table@first@head and \@table@last@tail are undefined; this shoud be done globally. Found by Axel Kielhorn Sat Apr 12 23:37:33 1997 Johannes Braams * supertabular.dtx : Added \ST@stretchht and \ST@prevht to improve decision process. \estimate@lineht now also computes the difference between a normal line height and when \arraystretch is in effect. Thu Apr 10 23:33:07 1997 Johannes Braams * supertabular.dtx: Had to repaire some documentation errors. (found by Thomas Esser ) Wed Apr 9 00:29:36 1997 Johannes Braams * supertabular.dtx : Only the first part of a supertabular can be moved to the next page. Therefore we need to change the definition of \ST@skippage in the middle of processing the supertabular data. Thu Mar 6 21:56:18 1997 Johannes Braams * supertabular.dtx : Using a tabular environment in the cells of a supertabular gives `interesting' results when the algorithm decides to split the supertabular down the middle of an inner tabular. A number of changes were necessary to make this work. Found by Axel Kielhorn Thu Feb 20 23:29:18 1997 Johannes Braams * supertabular.dtx: Renamed \tableformat into \ST@tableformat because the KOPMA-packages also use \tableformat and therefore clashed with babel. Found by Axel Kielhorn Tue Feb 4 23:50:50 1997 Johannes Braams * supertabular.dtx (section{The Implementation}): Removed the use of the page height correction for p-columns; the current algorithm no longer needs this correction. Fixed the fact that the height of the head and/or tail of a supertabular were counted *twice* when they contain tabular material. Base the decision whether to start a new supertabular on the next page on a calculated minimum height of the table. The minimum is the head, the tail and 1 line of tabular data. Thu Nov 28 20:38:53 1996 Johannes Braams * supertabular.dtx: Started a cleanup of the code, made source file a full fledged .dtx file Old change notes from supertabular.doc are saved here: % % % supertabular sty % original idea: Theo Jurriens 1988 % jurriens at fwn.rug.nl P.O Box 800, 9700 AV Groningen % % revised by: Johannes Braams % texniek at braams.xs4all.nl TeXniek (NL) % \def\fileversion{3.7c} % \def\filename{supertabular sty} % \def\filedate{1995/10/16} % % \changes{v3.7c}{1995/10/16}{No space after the argument of % supertabular led to a `mysterious' error because of the space % delemiting the argument} % \changes{v3.7b}{1994/05/16}{Rewrote the page break deciding % algorithm again} % \changes{v3.7b}{1994/05/16}{Started to convert to dtx format} % % 05.04.93 - Supertabular didn't work correctly in twocolumn mode. % V 3.7a Rewrote the mechanism for establishing the amount of % space that supertabular can use. This still needs further % thought. The algorithm to compute the places to break % the table is still a bit fragile, especially when p{} % columns are used. % 10.07.92 - Still a problem in the combination of supertabular with array.sty % V 3.6h I overlooked the fact that array doesn't use \@tabulacr anymore % and it behaves differently with respect to \@startparbox. % 03.07.92 - A problem in the combination of supertabular with array.sty % V 3.6g It can be solved by removing the \string from \def\tableformat % and passing \tableformat expanded to \tabular. % 11.02.92 - Bug found by Michael Heissmeier when p{...} is used. % V 3.6f A change in LaTeX.tex didn't find its way into supertabular. % 11/03/92 JB: The following change didn't find its way into the % \@sendpbox command. This caused a difference in linespacing % between a supertabular and a normal tabular. % \def\@endpbox{\unskip\strut\par\egroup\hfil} % % 14 Jan 89: Def of \@endpbox changed from % % \def\@endpbox{\par\vskip\dp\@arstrutbox\egroup\hfil} % % so vertical spacing works out right if the last line of a `p' entry % % has a descender. % % 01.08.91 - Take height of tabletail into account when computing the % V 3.6e maximum tableheight; add tolerance on first (partial) page % of the supertabular. % 27.06.91 - Cured bug that made the first part of the table one line % V 3.6d shorter than the others. Appeared when supertabular was % used in a twocolumn environment. % 26.06.91 - Made \@process@tablecaption a global macro. Previous caption % V 3.6c turned up on a table without one. % 27.05.91 - Replaced \clearpage with \newpage to make supertabulars work % V 3.6b in a twocolumn environment. This also prevents all floats % from being printed. % 15.02.91 - Because of the check for the use of tablefirsthead the % V 3.6a combination of an \hline in the head and an \hline as the first % thing in the data went wrong. The \futurelet in the definition % of \hline found \fi instead of \hline, so no \doublerulesep % was added. % Also had to modify the way the environments were defined. % The blank space (from the CR after the argument of \supertabular) % has to be gobbled. This can only be done using a construction % like \def\command#1 {...}. So removed the use of \newenvironment % 04.02.91 - Added the commands \topcaption, \bottomcaption and \tablecaption % V 3.6 to include a caption within the supertabular environment. The % default behaviour is to put the caption before the actual start % of the table. % - Also added \tablefirsthead and \tablelasttail to let the % user specify a different head for the first page of the table % and for consecutive pages as well as different tails for first % pages and the last one. If these commands are not used, the % default behaviour will be to use the value of \tablehead end % \tabletail % - Removed the need for the \noalign{\global\let\\=\@stabularcr} % commands by storing and resetting \@stabularcr % % 16.10.90 Added the supertabular* environment that was in an earlier % V 3.5 version (2.0) by the original author % Reintroduced the version numbering % % revised by: Gabriele Kruljac % kruljac@ds0mpi11 Max-Planck-Institute Stuttgart % % % 06.06.89 Correction: now care is taken of probably existing onecolumn % head (title or tables ...) in twocolumn sty. % % 10.05.89 Correction: the new \\ definition has been added to the % begin of each `sub'-tabular % Added: algorithm to produce the tabulars in twocolumn style % % 06.04.89 Correction: put \global statement in \end{supertabular} % into \noalign % % 22.02.89 Correction: restore the original meaning of \\ with % \end{supertabular} % % (Feb 89) The whole algorithm has been changed, so that I can use % the most features of a normal tabular: % \\ for new line, including \\[#1] % p{...} in the preamble ... % Account is taken to \baselinestretch and \arraystretch % -I'm not counting the lines because of too much rounding errors % but instead I add the (estimated) used space in pt. % -The tablehead is taken into this algorithm of proofing, so % I really know how much space the head uses. % -When no p-arg is given I add a variable \midlineheight to % calculate the used space. To calculate \midlineheight I % take the \baselineskip, which is active when the supertabular % starts (\baselineskip includes the \value of \baselinestretch) % and multiply it with \arraystretch. % -When a p-arg is given the text will be stored in a box. So % I know the height I have to add. Also I reduce the maximum % pagesize, so that the last parbox on a page can get up to % max 4 lines without producing an overfull vbox. % -To do so I had to make some additions to LaTeX's tabular % commands. These new commands got a leading `s'.