Article View: pl.comp.dtp.tex
Article #16982Re: book/memoir; wdowy sieroty; \paraskip i \lineskip problem.
From: Jarosław Sokołowski
Date: Sat, 07 May 2011 14:06
Date: Sat, 07 May 2011 14:06
77 lines
5132 bytes
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-mailReferences:
<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