Chyba v emTeXu?
Zdenek Wagner
wagner at cesnet.cz
Wed Jan 2 10:09:58 CET 2002
Vazeni kolegove,
asi jsem narazil na chybu v emTeXu, konkretne v tex386.exe 3.14159 [4b].
Jde o to, ze pravy TeX pouziva celociselnou aritmetiku, zatimco emTeX
pouziva plovouci aritmetiku v "double". A v tom je prave ten problem.
Pouzivam \documentclass[11pt]{book}. Prikaz \showthe\baselineskip mi
spravne ukaze 13.6pt. Kdyz zapnu \tracingpages, zjistim, ze vyska kazdeho
radku je jina a kolisa v rozmezi od 13.6pt do 13.60002pt. To stale neni
jeste nic spatneho, protoze tak male rozdily jsou nepodstatne. Kdyz
vypoctu \textheight jako n\baselineskip + \topskip, dojde ke stejnym
chybam, takze pri sazbe hladkeho souvisleho textu vse vyjde dobre. Kdyz
vsak do textu pridavam \vskip n\baselineskip (n je cele kladne cislo) nebo
dvojici \vskip a ... \vskib b, kde a+b je celociselny nasobek \vskip,
dojde k trochu jine zaokrouhlovaci chybe. Vysledkem je, ze vypocteny pocet
radku je o maly zlomek pt vyssi nez \textheight. Videt by to nebylo, ale
cena takoveho zlomu je nekonecna, takze stranka vyjde o radek kratsi a
hlasi se underfull \vbox badness 10000 (coz odpovida prislusnym
vzoreckum). Resim to tim, ze po vypocteni \textheight udelam nasledujici
korekci:
\advance\topskip 100sp minus 500sp
Jeste jsem zapomnel dodat, ze mam \parskip 0pt a pro jistotu
\lineskiplimit -2dd
Mate podobne zkusenosti, nebo mam hledat chybu jinde?
Zdenek Wagner
e-mail: wagner at mbox.cesnet.cz or wagner at icpf.cas.cz
see also http://www.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz
Your windows will look best with
________________________
/ / / / / / /
/_OS/2__/___/_OS/2__/___/
/ / / / / / /
/___/___/_OS/2__/___/___/
/ / / / / / /
/___/_OS/2__/___/_OS/2__/
/ / / / / / /
/___/___/___/___/___/___/
More information about the csTeX
mailing list