🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#16982
From: Jarosław Sokołowski
Date: Sat, 07 May 2011 14:06
77 lines
5132 bytes
Pan Aleksander napisał:

>>> Czyli w zasadzie albo wszystko trzymamy w pamięci albo algorytm
>>> składania jest wieloprzebiegowy. Sam nie wiem co byłoby lepsze.
>>
>> Pewnie lepiej by było w pamięci, zwałaszcza że jest do tego algorytm,
>> który można zaadaptować. Ale wieloprzebiegowością też można się
>> podeprzeć -- daltego wysunąłem hipotezę, że może to dać niezłe
>> rezultaty. Tylko czy komuś będzie się chciało ją sprawdzić?
>
> Czy komuś będzie się chciało sprawdzić to jedno. A czy ,,chcący''
> będzie umiał to zrobić (i to w skończonym czasie) to drugie. =:-)

Ech, żeby mi się tak chciało jak mi się nie chce. Lepiej by wtedy
wszystko wyglądało (a przynajmniej bym wiedział, czy umiem).

>> Teraz kary poziome i pionowe funkcjonują niezależnie. Jak TeX nie
>> umie złożyć akapitu mieszcząc się w limicie kary, robi "overfull",
>> czyli wiersz wystający na margines, co jest rozpaczliwym wołaniem
>> "człowieku, zrób coś z tym, bo ja lepiej nie potrafię". Pionowy
>> rozkład jest bardziej tolerancyjny, a błędy mniej spektakularne.
>> Zwykle powstaje pionowy "underfull", czyli dodanie gdzieś na stronie
>> ekstraordynaryjnego światła o łączniej wysokości jednej czy dwóch
>> interlinii. Myślę, że ta rozłączność mogłaby pozostać.
>
> No właśnie niekoniecznie. Jeśli tekst ma dwie strony, ale na
> drugiej jest tylko jedna linia z dwoma wyrazami, to można albo
> przerzucić ostatnią linię z pierwszej strony, albo postarać się
> składać ciaśniej -- może dwa wyrazy się zmieszczą, albo składać
> tekst luźniej -- wtedy na drugą stronę wyjdzie więcej tekstu i
> nie będzie to źle wyglądało. Zdaje się, że pierwszy wariant jest
> obecnie realizowany i rzeczywiście nie wymaga interakcji.

To co jest obecnie realizowane, wygląda trochę inaczej niż pierwszy
wariant. Karanie za wdowy i sieroty może spowodować wyrzucenie
dwóch wierszy zamiast jednego na następną stronę, albo wciągnięcie
samotnego wiersza. To zależy od tego, jakie pionowe klajstry są na
wyprowadzanej stronie.

> 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.

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.

Proszę zwrócić uwagę na to, że TeX nie upiera się przy tym, że wszystko
potrafi. Nie ma takiego założenia, że z automatu uzyskamy zawsze
idealny skład. Jest za to system kar i możliwość ustawienia tolerancji
mniejszej od nieskończoności (czyli 10000). Można oczywiście ustawić
\tolerance10000, wtedy skład będzie przypominał Worda. Ale rzadko się
tak robi. Lepszy algorytm podziału na strony też nie oznacza, że wszystko
się zrobi samo.

> Składam się w ciasnym ukłonie

I ja takoż

Jarek

-- 
Chmurno, durno, nieprzyjemnie,
luźna plomba dzwoni w zębie,
a za oknem w środku maja,
dudni grad jak strusie jaja
Technical Details
Message-ID: <slrnisakfu.qdp.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>

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 14:06:54 +0000 (UTC)
Organization: : : :
Lines: 77
Message-ID: <slrnisakfu.qdp.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>
NNTP-Posting-Host: 213-238-72-224.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1304777214 2892 213.238.72.224 (7 May 2011 14:06:54 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 7 May 2011 14:06:54 +0000 (UTC)
User-Agent: slrn/0.9.8.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit