Article View: pl.comp.dtp.tex
Article #16978Re: book/memoir; wdowy sieroty; \paraskip i \lineskip problem.
From: Jarosław Sokołowski
Date: Fri, 06 May 2011 20:13
Date: Fri, 06 May 2011 20:13
68 lines
4108 bytes
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-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>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