🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.dtp.tex
Article #16984

Re: book/memoir; wdowy sieroty; \paraskip i \lineskip problem.

#16984
From: Jarosław Sokołowski
Date: Sat, 07 May 2011 21:08
71 lines
5059 bytes
Pan Aleksander napisał:

>>> Natomiast dwa ostatnie wymagałyby, aby kara za składanie stron
>>> wpływała na karę za składanie akapitów, dając w efekcie
>>> ciaśniejszy/luźniejszy skład tychże.
>>
>> Właśnie niekoniecznie tego wymagają. Jest wprawdzie tak, że TeX
>> (na przykład przy składaniu akapitu) stara się zminimalizować karę,
>> ale z drugiej strony, jeśli kara nie przekroczy ustalonego progu,
>> to zawsze skład uznawany jest za dobry i przechodzi przez TeXową
>> kontrolę jakości. Z tej zasady wynika, że może istnieć coś takiego
>> jak \looseness. Jeśli zadeklarujemy \tolerance=10000, to napisanie
>> przed dłuższym akapitem \looseness=7 przyniesie rzeczywiście wydłużenie
>> go o 7 wierszy.
>
> Próbuję przezwyciężyć swoją tępotę umysłową i zrozumieć jak to
> działa. Czyli dokąd nie ma problemów -- akapit na środku strony,
> to akapity są składane w sposób jednoznaczny. Co się dzieje z
> karą, kiedy dochodzimy np. do tytułu rozdziału na samym dole
> strony?

Rzecz w tym, że nie ma żadnego "dochodzenia do". Jest spojrzenie na
całość, na ciąg stron -- tak jak na ciąg wyrazów przy składaniu akapitu.

Wyobraźmy sobie, że mamy do złożenia rozdział, w którym siedem stron to
łatwy do złamania tekst, a w połowie ósmej pojawia się tabela na trzy
czwarte strony. TeX sobie z czymś takim nie radzi bez ludzkiej pomocy.
Trzeba każdą z ośmiu stron trochę porozsuwać w pionie (a więc pogorszyć
skład), a wtedy nadgonimy brakującą połówkę ósmej strony, a tabela
wypadnie na stronie dziewiątej.

W ten sposób TeX składa akapity -- jeśli w połowie akapitu jest długie
niepodzielne słowo, to kombinuje w ten sposób, by słowo to znalazło się
całe w którymś z wierszy, a nie wypadało na granicy łamania.

>> Tu by więc *wystarczyło* aby TeX przed przystąpieniem do podziału na
>> strony dokonał składu akapitów we wszystkich możliwych wariantach,
>> od najkrótszego do najdłuższego. Wcale *nie musi* zmieniać systemu
>> kar w akapitach, wystarczy założenie, że muszą mieścić się w przyjętej
>> wcześniej normie.
>
> No dobrze, ale nawet mając wszelkie możliwe podziały musi w jakiś
> sposób potem dokonać wyboru. Czyli w ten czy inny sposób funkcja
> kary. Tylko, że teraz są naraz dwa kryteria do spełnienia: jak
> najlepszy wygląd strony, przy możliwie najmniej zepsutym wyglądzie
> akapitów. 

Jeszcze raz powrórzę: nie ma w TeXu mniej i bardziej zepsutych akapitów.
Są akapity niezepsute, czyli takie, które maja kiepskość (badness)
mniejszą od zadeklarowanej tolerancji (tolerance). I są takie, których
*nie dało się złożyć* -- one mają 'overfull', czyli sterczące na
marginesie litery.

> Z mojego punktu widzenia jest to dodanie premii za nieco
> ciaśniejszy albo nieco luźniejszy skład. Czyli ingerencja w skład
> akapitów. Żeby było trudniej, to jest to albo ciaśniejszy albo
> luźniejszy. Nie można rozważać obu wariantów naraz.

Już samo całościowe spojrzenie (które opisałem w pierwszym akapicie)
powinno rozwiązać wiele problemów z łamaniem na strony. Szczególnie
w tekscie o dużej "elastyczności pionowej" (takie są np. teksty ze
wzorami matematycznymi).

Dopiero gdy to nic nie da, zmienić długość akapitów i podjąć następną
próbę złamania na strony. Aż do skutku. Teoretycznie jest tu lepiej
niż przy składzie akapitu, gdzie słowa mają niezmienną długość (a jak
czasem nie da się złożyć, to trzeba zamiast "samochód" napisać "auto",
albo odwrotnie).

-- 
Jarek
Technical Details
Message-ID: <slrnisbd5h.v2c.jaros@falcon.lasek.waw.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <83bbd898-1142-477e-a936-91a2abd55153@p19g2000yqh.googlegroups.com> <slrnis56ac.dd1.jaros@falcon.lasek.waw.pl> <35b293d4-9e54-4752-930a-2f0d54bf89f4@j31g2000yqe.googlegroups.com> <ipuljk$3ee$1@speranza.aioe.org> <slrnis666p.ind.jaros@falcon.lasek.waw.pl> <kjzhb98fc3s.fsf@ccfs1.fuw.edu.pl> <slrnis85o2.s5m.jaros@falcon.lasek.waw.pl> <slrnis8heb.fql.r-znk@amber.within.nat> <slrnis8lij.694.jaros@falcon.lasek.waw.pl> <slrnis8n7v.i1g.r-znk@amber.within.nat> <slrnis8q7l.cpo.jaros@falcon.lasek.waw.pl> <slrnisact4.402.r-znk@amber.within.nat> <slrnisakfu.qdp.jaros@falcon.lasek.waw.pl> <slrnisb97h.9a0.r-znk@amber.within.nat>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Jarosław Sokołowski <jaros@lasek.waw.pl>
Newsgroups: pl.comp.dtp.tex
Subject: Re: book/memoir; wdowy sieroty; \paraskip i \lineskip problem.
Date: Sat, 7 May 2011 21:08:01 +0000 (UTC)
Organization: : : :
Lines: 71
Message-ID: <slrnisbd5h.v2c.jaros@falcon.lasek.waw.pl>
References: <83bbd898-1142-477e-a936-91a2abd55153@p19g2000yqh.googlegroups.com> <slrnis56ac.dd1.jaros@falcon.lasek.waw.pl> <35b293d4-9e54-4752-930a-2f0d54bf89f4@j31g2000yqe.googlegroups.com> <ipuljk$3ee$1@speranza.aioe.org> <slrnis666p.ind.jaros@falcon.lasek.waw.pl> <kjzhb98fc3s.fsf@ccfs1.fuw.edu.pl> <slrnis85o2.s5m.jaros@falcon.lasek.waw.pl> <slrnis8heb.fql.r-znk@amber.within.nat> <slrnis8lij.694.jaros@falcon.lasek.waw.pl> <slrnis8n7v.i1g.r-znk@amber.within.nat> <slrnis8q7l.cpo.jaros@falcon.lasek.waw.pl> <slrnisact4.402.r-znk@amber.within.nat> <slrnisakfu.qdp.jaros@falcon.lasek.waw.pl> <slrnisb97h.9a0.r-znk@amber.within.nat>
NNTP-Posting-Host: 213-238-72-224.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1304802481 27849 213.238.72.224 (7 May 2011 21:08:01 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 7 May 2011 21:08:01 +0000 (UTC)
User-Agent: slrn/0.9.8.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit