|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: C T
Length: 4169 (0x1049)
Types: TextFile
Names: »Cell3.tex«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z«
└─⟦036c765ac⟧
└─⟦this⟧ »TeX3.0/TeXcontrib/pittman/Cell3.tex«
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
└─⟦this⟧ »./tex82/TeXcontrib/pittman/Cell3.tex«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
└─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z«
└─⟦c58930e5c⟧
└─⟦this⟧ »TeX3.14/TeXcontrib/pittman/Cell3.tex«
% File: TeX Inputs Cell3.tex
% Author: J E Pittman
% Bitnet: JEPTeX@TAMVenus
% Internet: JEPTeX@Venus.TAMU.EDU
% Date: October 11, 1988
%
% Process the column and row span info.
%
\declaredimen\expansion
%
\edef\everycolumn{\everycolumn\expansion=\zeropt\relax}%
\edef\everyrow{\everyrow\expansion=\zeropt\relax}%
%
\catcode`_=11 % used to protect local control sequence names.
%
%\message{\string\row_span_info=\the\row_span_info}% debug
%\message{\string\column_span_info=\the\column_span_info}% debug
%
\def\process#1#2#3{\relax
\last_cell=#3\relax
\first_cell=\last_cell
\advance \first_cell \by -#1\relax
\span_size=#2\relax
%
% Compute the gap between the size of the span and the total size of
% the cells spanned.
%
\gap=\span_size
\forcount \cell_number=\first_cell to \last_cell by 1 do
\everycell
\get_cell_number_data
\advance \gap \by -\cell_size
\advance \gap \by -\expansion
\endfor \cell_number
% \message{\string\first_cell=\the\first_cell}% debug
% \message{\string\last_cell=\the\last_cell}% debug
% \message{\string\span_size=\the\span_size}% debug
% \message{\string\gap=\the\gap}% debug
%
% If the gap is 0pt or less, nothing needs to be done, else search for
% the minimum expansion that can be applied to every cell with a
% current expansion less than the expansion found such that the span
% is properly accomadated.
%
\ifdim \gap>\zeropt
\expandable_cells=#1\relax
\advance \expandable_cells \by 1
\trial_expansion=\zeropt
\whilenot\search \ifdim\gap=\zeropt do
% \message{\string\gap=\the\gap}% debug
\ifnum \expandable_cells=0
\advance \trial_expansion \by \expansion
\else
\multiply \trial_expansion \by \expandable_cells
\advance \trial_expansion \by \gap
\divide \trial_expansion \by \expandable_cells
\expandable_cells=0
\fi
\gap=\span_size
% \message{\string\trial_expansion=\the\trial_expansion}% debug
\forcount \cell_number=\first_cell to \last_cell by 1 do
\everycell
\get_cell_number_data
\advance \gap \by -\cell_size
\ifdim \expansion>\trial_expansion
\advance \gap \by -\expansion
\else
\advance \gap \by -\trial_expansion
\advance \expandable_cells \by 1
\fi
\endfor \cell_number
\temp_dimen=1sp
\multiply \temp_dimen \by \expandable_cells
\ifdim \gap>-\temp_dimen
\ifdim \gap<\temp_dimen
\gap=\zeropt
\fi
\fi
\endwhilenot \search
\forcount \cell_number=\first_cell to \last_cell by 1 do
\everycell
\get_cell_number_data
\ifdim \expansion<\trial_expansion
\let\info=\relax
\edef\temp{\the\cell_number>\info
{\expansion=\the\trial_expansion\relax}}%
\let\info=\cell_info
\x_after \add_data \temp
\ifnum\tracingexpansions>0
\message{Expanded \the\cell_number}%
\message{by \the\trial_expansion}%
\message{from \the\cell_size}%
\advance \cell_size \by \trial_expansion
\message{to \the\cell_size.}%
\fi
\fi
\endfor \cell_number
\fi
}%
%
\declarecount\first_cell
\declarecount\last_cell
\declaredimen\span_size
\let\expandable_cells=\temp_count
\declaredimen\trial_expansion
\let\gap=\scratch_dimen
%
\let\cell_number=\row_number
\let\everycell=\everyrow
\let\get_cell_number_data=\get_row_number_data
\let\cell_info=\row_info
\let\cell_size=\rowheight
\ifnum\tracingexpansions>0
\message{Checking row expansions.}%
\fi
\the\row_span_info
%
\let\cell_number=\column_number
\let\everycell=\everycolumn
\let\get_cell_number_data=\get_column_number_data
\let\cell_info=\column_info
\let\cell_size=\columnwidth
\ifnum\tracingexpansions>0
\message{Checking column expansions.}%
\fi
\the\column_span_info
%
\let\process=\relax
%
\catcode`_=8 % back to normal
%
\endinput