🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#16979
From: AMX
Date: Fri, 06 May 2011 20:50
86 lines
4858 bytes
On Fri, 6 May 2011 20:13:07 +0000 (UTC), 
Jarosław Sokołowski <jaros@lasek.waw.pl> wrote:

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

Czyli w zasadzie albo wszystko trzymamy w pamięci albo algorytm
składania jest wieloprzebiegowy. Sam nie wiem co byłoby lepsze.

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

Teoretyzując, (bo szczegółów życia wewnętrznego TeXa nie znam)
można zwiększyć/zmniejszyć odstępy międzywierszowe. To mogłoby
być niedobre przy składzie dwustronnym, jeśli na kolejnych
stronach byłyby różne ale nie powinno być globalnie tak
uciążliwe.  


Można ciaśniej/luźniej składać same akapity. Tu jest ewidentna
interakcja składu strony i linii. No i duży problem z doborem
mnożnika między jedną wartością kary i drugą.

Chyba innych pomysłów 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.
>

No, to już kwestia czysto TeXniczna. System nie musi (a nawet nie
mógłby) się nazywać TeX. Na razie nie bardzo jestem sobie w
stanie wyobrazić algorytm łamania stron. A do tego trzeba by
najpierw sprawdzić, że jest lepszy niż to, co w tej chwili jest w
TeXu.

Pozdrawiam serdecznie 

	max


-- 
adres w rot13
Nyrxfnaqre Znghfmnx r-znk@b2.cy
Technical Details
Message-ID: <slrnis8n7v.i1g.r-znk@amber.within.nat>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: AMX <r-znk@b2.cy>
Newsgroups: pl.comp.dtp.tex
Subject: Re: book/memoir; wdowy sieroty; \paraskip i \lineskip problem.
Date: Fri, 6 May 2011 20:50:00 +0000 (UTC)
Organization: Home Access
Lines: 86
Message-ID: <slrnis8n7v.i1g.r-znk@amber.within.nat>
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>
NNTP-Posting-Host: 77-255-98-124.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: mx1.internetia.pl 1304715000 27507 77.255.98.124 (6 May 2011 20:50:00 GMT)
X-Complaints-To: abuse@inetia.pl
NNTP-Posting-Date: Fri, 6 May 2011 20:50:00 +0000 (UTC)
X-Tech-Contact: usenet@internetia.pl
User-Agent: slrn/pre1.0.0-18 (Linux)
X-Server-Info: http://www.internetia.pl/
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit