verbatim s tabelatorem, lamani odstavce

Hans Ginzel Hans at kolej.mff.cuni.cz
Mon Jun 18 14:23:25 CEST 2001


	Dobry den.

    Pouzivam makro Petra Olsaka na tisk asci souboru z linuxovych novin
(2000-01).

Na jednom souboru se me stalo, ze TeX hlasil

	! Dimension too large.

Nechal jsem si vypisovat hodnotu \predisplaysize v makru tabelatoru
(meri delku vysazeneho radku pomoci \predisplaysize v display modu).
Ano, v specialni situaci nastalo \predisplaysize=-\maxdimen. Zkoumal
jsem, kdy k tomu dochazi, nebot (predchozi) radek urcite neni prazdny.


    Tady je obycejny plainovy kod, kt. to demonstruje:

\parindent=0pt
\tt

\dimen0=2em \message{\the\hsize, 2em=\the\dimen0}
\tracingall
\hskip0.9\hsize WWWWWWWWW \ $$\message{\the\predisplaysize}Q$$

\end


    Ve varbitim jsou mezery aktivni, tady jsem si pomohl pomoci \ . Tady
je cast logu:

{\hskip}
{horizontal mode: \hskip}
{the letter W}
{blank space  }
{\ }
{math shift character $}
@firstpass
@secondpass
[] \tentt WWWWWWWWW
@ via @@0 b=* p=0 d=*
@@1: line 1.3 t=0 -> @@0

@\par via @@1 b=10000 p=-10000 d=*
@@2: line 2.0- t=0 -> @@1


Overfull \hbox (1.95003pt too wide) in paragraph at lines 7--7
[] \tentt WWWWWWWWW|

\hbox(6.07343+0.0)x452.96786
.\hbox(0.0+0.0)x0.0
.\glue 407.6683
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\tentt W
.\glue(\rightskip) 0.0
.\rule(*+*)x5.0


Underfull \hbox (badness 10000) in paragraph at lines 7--7


\hbox(0.0+0.0)x452.96786
.\glue(\rightskip) 0.0



Vynecham-li tu vnucenou mezeru \ , pak diff logu vypada:


21a22
> {\ }
26,27c27,31
< @\par via @@0 b=* p=-10000 d=*
< @@1: line 1.3- t=0 -> @@0
---
> @ via @@0 b=* p=0 d=*
> @@1: line 1.3 t=0 -> @@0
>
> @\par via @@1 b=10000 p=-10000 d=*
> @@2: line 2.0- t=0 -> @@1
31c35
< [] \tentt WWWWWWWWW |
---
> [] \tentt WWWWWWWWW|
45,46d48
< .\penalty 10000
< .\glue(\parfillskip) 0.0 plus 1.0fil
49a52,58
>
> Underfull \hbox (badness 10000) in paragraph at lines 7--7
>
>
> \hbox(0.0+0.0)x452.96786
> .\glue(\rightskip) 0.0
>


    Zkratka muj soubor obsahoval pred tabelatory nejake mezery (ja vim,
to by normalne nemelo byt). Radek byl hodne dlouhy, pretekl, zalomil se
s overfull,
odlomeny radek obsahoval pouze mezeru, kt. se vlastne odstrani, za ni
doslo k jeste jednomu zlomu (Proc?). Vznikl tak prazdny underfull hbox
akorat s \rightskip, proto pak \predisplaysize=-\maxdimen.

    Proc doslo ke dvoum zlomum? Vzdyt vnucena mezera je odstranitelny
element.

    Proc je svisla cara v logu hned za WWW v pripade s mezerou a je
mezera mezi www a svislou carou v pripade zdrojoveho souboru bez mezery?

    Co je to za underfull hbox, obsahujici akorat \rightskip?

    Proc nezmizi vnucena mezera pomoci \unskip z "neuplneho" \par pred
$$.

    Kam se stratila mezera \parfillskip v pripade vstupu s mezerou?


	Zdravi
					Hans Ginzel



More information about the csTeX mailing list