Jak prelstit \midinsert

Anton Surda fyzisurd at savba.sk
Mon Oct 29 11:46:12 CET 2001



On Fri, 26 Oct 2001, Pavel Calabek wrote:

> Pri nacitani obrazku pomoci \midinsert mam
> nasledujici problem, ktery je snad zpusoben
> nasedujici vlastnosti TeXu:
>   Pri sestavovani strany TeX nacte vice
> materialu
> nez potrebuje sestavi stranu a zbytek
> materialu
> vrati do pripravne oblasti. Pokud je ve
> vracenem
> materialu \midinsert, podle definice se
> obrazek uz
> na sestavovanou stranu nevejde a je vysazen
> na
> zacatek nasledujici strany. Jestlize se ovsem
> do
> pripravne oblasti vrati take nejaky text,
> ktery
> byl vlozen >pred< \midinsert, ocitne se tento
> text
> az >za< materialem vlozenym pomoci \midisert
> (protoze po sestaveni predchozi strany se
> \midinsert zacne chovat jako \topinsert).
>


Cely problem je sposobeny tym, ze ak pri zalamovani strany napr. na
poslednom riadku odstavca je cenova funkcia nekonecna, program nezacne,
ako by mal podle pokynov p. Olsaka, pekne hladat nalepsie miesto zlomu,
ale
kupodivu este spracuje za nim iduci insert s prislusnym obrovskym
\pagetotalom, co samozrejme sposobi, ze plainovsky \midinsert sa zacne
spravat ako
\topinsert. Nastastie Tex je tak mnohostranny program, ze umozni  z
tohoto problemu (zapricineneho sebou samym) lahko vybrdnut. V definicii
\endinsert po teste ci suma \pagetotalu + velkosti insertu - \pageshrinku
+ 12 pt nie je vacsia ako \pagegoal nechame otestovat este ci uz samotny
\pagetotal - \pageshrink nie je vacsi ako ako \pagegoal a v kladnom
pripade zmenime \mid at false spat na \mid at true. Zda sa mi, ze mi to malo
zapracovat vzdy ked treba, a nikdy nehodit insert pod predchadzajucu
stranu.


Ked som pri insertoch, chcel by som odpovedat aj na moju davnejsiu
otazku,
ako mozno spravit medzeru pod alebo nad insertom pruznu, pretoze ak date
pruznu vypln napr. pod obrazok priamo v inserte jej pruzna cast zmizne a
zostane len zaklad a pripadne problemy s plnenim bude Tex riesit typicky
davanim medzier medzi odstavce. Je to skoda, lebo nepoznam lepsie miesto
kam schovat nadbytocne vertikalne medzery ako okolo obrazku. Da sa to
vyriesit tiez jednuducho. Treba spravit prislusny \dimen k danemu insertu
pruzny. napr. pri topinserte \dimen\topins, ktory je v plaine presna nula.

Prijemnu pracu vo vylepsenom plaine praje

Anton Surda


> To znamena, ze dochazi k situaci (nekdy jsou
> to
> opravdu perly), ze treba na zacatku stranky
> je
> obrazek 5 a za nim nasleduje dva radky textu
> ve
> stylu
>
> ... jak vidime na nasledujicim obrazku cislo
> 5.
>
> Pritom zdrojovy kod vypada takto:
>
> ... jak vidime na nasledujicim obrazku cislo
> 5.
> \midinsert
> %%% vlozeni obrazku
> \endinsert
>
> Proto bych se chtel zeptat: Da se TeX nejakym
> zpusobem premluvit k tomu,
> aby se prostredi \midinsert chovalo tak, jak
> by
> clovek ocekaval, to znamena, ze
> obrazek by byl vlozen do textu opravdu az za
> textem (bud primo, nebo na nasedujici strane)
> jinak, nez ze
> si to sazec ohlida rucne?
>
> Diky
>
> calabek
>
>
>




More information about the csTeX mailing list