🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#16978
From: Jarosław Sokołowski
Date: Fri, 06 May 2011 20:13
68 lines
4108 bytes
Pan Aleksander napisał:

>> Idealnym rozwiązaniem by było zastosowanie algorytmu dzielącego
>> akapit na wiersze do podziału wierszy na strony.
>
> Funkcję kary?

Kara to tylko element systemu -- miara, którą posługuje się algorytm.
Istotą jest całościowe spojrzenie na dzielony obiekt. Prymitywne
systemy składaja akapit w ten sposób, że zaczynaja od pierwszej
linijki, dokładają kolejne wyrazy (lub ich niepodzielne części),
a gdy dojdą do elementu, który się nie mieści, przerzucają go do
następnego wiersza. I tak składają kolejne linijki aż się nie skończy
akapit. TeX rozpatruje cały akapit na raz i ze wszystkich potencjalnych
miejsc podziału na wiersze wybiera takie, dla których suma kar za
zwiększenie lub zmniejszenie odstępu międzywyrazowaego będzie
najmniejsza. Karane mogą być też inne przewinienia, na przykład
przeniesienie słowa. Oprócz karania, można też nagradzać -- zamiast
kijem można podziałać marchewką (ujemne \penalty) i nagrodzić podział
w preferowanych miejscach.

Podział na strony w TeXu jest bardziej prymitywny. Funkcja kary też
istnieje, ale procesor widzi tylko bieżącą stronę, i jak już ją wypchnie
przez \output, to nie ma do niej powrotu.

>> Plus dodatkowe oddziaływanie zwrotne na \looseness. 
>
> Chyba w oddziaływaniu zwrotnym jest cały pies pogrzebany.
> Dlaczego akurat na \looseness? Chyba jest trochę więcej
> możliwości?

Napisałem \looseness, bo akurat o tym była mowa. A teraz się nad tym
zastanawia i nic innego mi do głowy nie przychodzi. Algorytm podziału
na wiersze korzysta z pojęcia kleju poziomego -- tu dla odmiany mamy
klej pionowy. System kija i marchewki w obu przypadkach jest jednaki.
Pudełka składające się na akapit mają stałą długość, a tu *dodatkowo*
możemy zmienić liczbę wierszy w akapicie -- właśnie przez \looseness.
Innych pomysłów na wsteczną modyfikację nie mam.

>> Na to jednak jest już za późno.
>
> Dlaczego?

To wynika z warunku zbieżności funkcji monotonicznej. Funkcja opisująca
numer wersji programu musi być niemalejąca (w czasie). Wiadomo też, że
wersja TeXa jest zbieżna do $\pi$. Jej aktualna wartość, to 3.141592,
oznaczmy ją jako $V_t$. Rozpatrzmy $\epsilon = \pi - V_t$. Wartość
$\epsilon$ rzędu 0.000000653589 nie jest wystarczająca do przeprowadzenia
tak rewolucyjnej zmiany.

> Od dawna mnie zastanawiało, dlaczego algorytm łamania stron pozostał
> z czasów prehistorycznych.  

Z czasów (nie tak odległych), gdy pomysły umieszczenia całej książki
na raz w pamięci operacyjnej komputera wydawały się nieodpowiedzialne.
Dlatego właśnie (co napisałem wyżej).

> A skoro temat wypłynął, więc chętnie bym się dowiedział czegoś więcej. 

Ja mam tak samo. To chyba zdrowy objaw.

Jarek

-- 
Jest już za późno!
Nie jest za późno!
Jest już za późno!
Nie jest za późno!
Technical Details
Message-ID: <slrnis8lij.694.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>

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: Fri, 6 May 2011 20:13:07 +0000 (UTC)
Organization: : : :
Lines: 68
Message-ID: <slrnis8lij.694.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>
NNTP-Posting-Host: 213-238-72-224.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1304712787 20096 213.238.72.224 (6 May 2011 20:13:07 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Fri, 6 May 2011 20:13:07 +0000 (UTC)
User-Agent: slrn/0.9.8.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit