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