kalkul
Michal Kubecek
kubecek at karlin.mff.cuni.cz
Thu Oct 17 09:53:20 CEST 1996
> mel bych jeden dotaz na TeXprogramatory. Rad bych docilil toho, aby
> mi TeX secetl sloupec cisel, ktery prave vysazel a na zadanem miste
> dosadil vysledek. Predstavoval bych si to nejak takto:
>
> \bodypisemkaA{25} resp. \bodypisemkaA{Text prvni polozky}{25}
> \bodypisemkaB{40}
> \bodypisemkaC{15}
> \bodyustni{120}
> \celkem
>
> Jeste lepsi, kdyby to mohlo byt jedno makro \body{}, aby pouziti bylo
> variabilnejsi a univerzalnejsi.
> Pozadovany vysledek asi v podobe:
>
> Text prvni polozky 25
> Text druhe ... 40
> ...
> ------------------------
> Celkem 200
Tohle by snad mohlo fungovat:
\newcount\bodycnt
\newcount\xxcnt
\def\body#1\endbody{%
\global\bodycnt = 0
\halign{%
##\hfil&\hfil##\cr %% pred druhy \hfil by to chtelo nejakou mezeru
#1%
\noalign{%
\vskip 2 mm %% nevim kolik
\hrule %% height tloustka
\vskip 2 mm %% nevim kolik
}%
Celkem&\xxcnt=\bodycnt\divide\xxcnt2\relax\the\bodycnt\cr
}%
}
\def\bline#1#2 {%
#1&\global\xxcnt=#2\relax\the\xxcnt\global\advance\bodycnt\xxcnt\cr
}
%% to saskovani s delenim dvema na konci je tam kvuli tomu, ze v \halign
%% se kazda bunka expanduje dvakrat (poprve kdyz zjistuje sirku, podruhe
%% kdyz se skutecne sazi
%% pozor: takhle je to zavisle na neodkomentovanem konci radku (ale
%% nechce se mi premyslet, jak to odstranit). Moje oblibene \eatspaces
%% zpusobi 'Misplaced \noalign'
\body
\bline{prvni}{20}
\bline{druha}{10}
\bline{treti}{5}
\endbody
More information about the csTeX
mailing list