summaryrefslogtreecommitdiff
path: root/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html')
-rw-r--r--Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html478
1 files changed, 478 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html b/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html
new file mode 100644
index 00000000000..6f0b577b792
--- /dev/null
+++ b/Master/texmf-doc/doc/polish/tex-virtual-academy-pl/prog/hyph.html
@@ -0,0 +1,478 @@
+
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
+<meta http-equiv="Content-language" content="pl">
+<meta name="Author" content="Włodzimierz Macewicz">
+<meta name="Keywords" content="tex, dzielenie wyrazów, Wirtualna Akademia">
+<title>Tam gdzie minus oznacza dzielenie</title>
+</head>
+<body bgcolor=#a0F0f0>
+
+<center>
+<h2>Tam gdzie minus oznacza dzielenie</h2>
+
+<i></i><p>
+<i></i><p>
+autor: <i>
+Bogusław Jackowski,
+Marek Ryćko
+</i><p>
+
+<i></i><p>
+</center>
+
+<hr>
+
+<i></i><p>
+<i></i><p>
+<h3>Spis treści</h3>
+<dd><b><a href=#r1>Reguły dzielenia wyrazów w języku polskim </a></b>
+<dd><b><a href=#r2>Jak TeX dzieli wyrazy </a></b>
+<dd><b><a href=#r3>Automatyczne tworzenie danych dla algorytmu dzielenia
+ wyrazów</a></b>
+<dd><b><a href=#r4>Ręczne tworzenie danych dla algorytmu dzielenia
+ wyrazów</a></b>
+<dd><b><a href=#r5>Inne aspekty automatycznego dzielenia wyrazów</a></b>
+<dd><b><a href=#r6>Uwagi końcowe</a></b>
+
+<i></i><p>
+<i></i><p>
+<hr>
+
+Ten nieco przewrotny tytuł dotyczy oczywiście przenoszenia, czyli inaczej
+dzielenia wyrazów, zwyczajowo zaznaczanego w tekstach kreską przypominającą
+minus.
+
+<p>
+Automatyczne dzielenie wyrazów należy do podstawowych zadań
+wykonywanych przez programy komputerowe służące do składania tekstów.
+
+<p>
+Jednym z najciekawszych algorytmów dzielenia wyrazów, a przy tym
+dokładnie opisanych i udokumentowanych, posługuje się system TeX.
+Jego ,,ciekawość'' polega na tym, że jest to
+algorytm uniwersalny, tzn. dający się przystosować do dzielenia wyrazów
+w różnych językach, a jednocześnie zdumiewająco prosty i efektywny
+w implementacji. Warto się temu algorytmowi przyjrzeć.
+
+<h3><a name=r1>Reguły dzielenia wyrazów w języku polskim</a></h3>
+
+Żeby zrozumieć, jak trudne zadanie postawił przed sobą Knuth, zajmijmy się
+przez chwilę regułami dzielenia wyrazów w języku polskim. M. Szymczak
+(,,Słownik ortograficzny języka polskiego'', PWN, Warszawa, 1986) pisze:
+
+
+<p>
+,,(...) Dzielenie wyrazów przy przenoszeniu wyrazów z jednego wiersza do
+następnego opiera się w ortografii polskiej na dwóch kryteriach: fonetycznym
+i morfologicznym. Kryterium fonetyczne nakazuje przenoszenie części wyrazu
+z jednego wiersza do drugiego zgodnie z podzielnością na sylaby,
+np. "bu&nbsp;rza", "nie&nbsp;wy trzy&nbsp;ma&nbsp;nie", "li&nbsp;tość",
+"po&nbsp;na&nbsp;pi&nbsp;sy&nbsp;wa&nbsp;li&nbsp;by", "za&nbsp;nie&nbsp;po&nbsp;ko&nbsp;jo&nbsp;ny", "wy&nbsp;so&nbsp;ko", "le&nbsp;piej",
+"te&nbsp;go", "prze&nbsp;ciw". Kryterium morfologiczne nakazuje przenoszenie
+części wyrazu z jednego wiersza do drugiego zgodnie z podzielnością na
+przedrostek i rdzeń, a w wyrazach złożonych --- w miejscu złożenia,
+np. "przed&nbsp;murze", "pod&nbsp;punkt", "wy&nbsp;brzeże", "roz&nbsp;łąka",
+"od&nbsp;dźwięk", "przy&nbsp;kład", "za&nbsp;płata", "na&nbsp;trafić", "wy&nbsp;ścigi",
+"o&nbsp;brona", "bez&nbsp;wstyd", "u&nbsp;kładowy", "po&nbsp;dróż", "pod&nbsp;oficer",
+"pod&nbsp;oddział", "na&nbsp;przód", "pod&nbsp;o&nbsp;pieczny", "po&nbsp;dmuch", "noc&nbsp;leg",
+"konio&nbsp;krad". (...)''
+
+<p>
+
+przy czym
+
+<p>
+,,(...) kryterium morfologiczne jest nadrzędne w stosunku do kryterium
+fonetycznego (...)''
+
+
+<p>
+Zasady ogólne wyglądają prosto i przejrzyście. Omówienie zasad szczegółowych
+zajmuje Szymczakowi pięć stron i o ile człowiekowi mogłoby to wystarczyć,
+to jednak zalecenia takie jak:
+
+<p>
+
+,,(...) Jeżeli przejrzystość podziału na przedrostek i rdzeń jest w <i><b>
+dzisiejszej świadomości językowej zatarta</b></i> (podkr. aut.), grupy
+spółgłoskowe znajdujące się na granicy cząstek dzielimy dowolnie,
+np. "o&nbsp;błok" a. "ob&nbsp;łok", "o&nbsp;tręby" a. "ot&nbsp;ręby", (...)''
+
+<p>
+bardzo trudno zalgorytmizować.
+
+<p>
+Spróbujmy się zastanowić, czy nie ma takich zasad, od których nie
+byłoby wyjątków.
+
+<p>
+Dobrym kandydatem wydawać by się mogła reguła niedzielenia głosek "cz",
+"dz", "rz" oraz "sz". Niestety, są wyjątki od tej reguły:
+"tysiąc&nbsp;złotowy", "pod&nbsp;zwrotnikowy", "mar&nbsp;znąć" i "em&nbsp;es&nbsp;zet".
+Podobnie miękkie "ni" może ulec rozbiciu, na przykład w słowie
+"in&nbsp;iekcja".
+
+<p>
+To może chociaż da się ustalić, że sylaba nie może składać się z samych
+spółgłosek? Jest to w zasadzie dobra reguła, ale ma (co najmniej) jeden
+wyjątek: szkocki przedrostek "Mc" wolno oddzielić. Na przykład nazwisko
+"McMillan" wolno podzielić "Mc-Millan". Oczywiście implikuje to kłopoty
+z rzymskim zapisem liczb --- rok "MCMXCII" komputer mógłby uznać za
+szkockie nazwisko.
+
+<p>
+W takim razie może istnieją nie zakazy, a nakazy dzielenia, od których nie ma
+wyjątków? Np. nakaz rozdzielania par identycznych spółgłosek ("świec&nbsp;cy",
+"Jagieł&nbsp;ło", "łam&nbsp;my", "pan&nbsp;na", "ar&nbsp;ras", "las&nbsp;so", "get&nbsp;to" itp.).
+Odpowiedź, jak łatwo było przewidzieć, brzmi: ,,nie''. Np. kryterium
+morfologiczne nakazuje podział "ode&nbsp;ssie", a nie "odes&nbsp;sie", chyba że chodzi
+o "Odessę". A jeśli się zgodzić, że przedrostek rodzimy musi być oddzielony,
+to będzie kłopot ze słowem "zeppelin", bo jak komputer miałby się domyślić,
+że w tym przypadku nie chodzi o przedrostek "ze"? Mógłby wprawdzie
+wiedzieć, że żadne słowo w języku polskim nie zaczyna się od "pp" (chociaż
+jest słowo zaczynające się od trzech spółgłosek, z czego dwie pierwsze to
+"ww" --- proszę zgadnąć jakie to słowo). Ale jeśli jakiś autor chciałby
+oddać mowę jąkającego się bohatera pisząc np. "zeppsuuty", to co wtedy?
+
+<p>
+Niejednoznaczności typu ,,"odessie"'' stanowią dla komputera trudność
+praktycznie nie do pokonania. Choć jest ich niewiele, to jednak zdarzają się
+i utrudniają życie, np.: "podróżować" --- być w podróży lub pokryć różem
+lica; "odziewać" --- ubierać lub odpowiedzieć w taki sam sposób komuś, kto
+ziewnął; "podrobić" --- np. karmę ptactwu lub podpis;
+"Tarzanie" --- słowo to może oznaczać wzywanie znanego bohatera komiksów
+lub czynność tarzania się; "narwali" --- to słowo z kolei można rozumieć
+jako czas przeszły dokonany albo dopełniacz liczby mnogiej.
+
+<p>
+W sytuacjach tego typu jedynie kontekst semantyczny decyduje o podziale
+słowa. Rozsądnie jest nie żądać zbyt wiele od programów składających teksty
+i zostawić człowiekowi możliwość ingerencji w bardziej skomplikowanych
+przypadkach.
+
+<p>
+Sporo trudności nastręcza dzielenie
+nazwisk i nazw własnych. O nazwiskach
+szkockich już była mowa. Ale i polskie nazwy potrafią sprawić kłopot. Na
+przykład czy w nazwisku "Utnik" głoskę "u" należy traktować jako
+przedrostek, tak jak w słowie "u&nbsp;tnie"? Szczególnie trudne do podziału są
+słowa będące zbitką dwóch lub więcej słów. Zalecany jest oczywiście podział
+w miejscu złożenia: "noc&nbsp;leg", "trzech&nbsp;set&nbsp;letni" itp. Zdarzają się jednak
+czasem bardzo osobliwe nazwy własne, np. "Wierzch&nbsp;las". Chociaż taki właśnie
+podział wydaje się uzasadniony, to przecież trudno dać głowę, że nazwy tej
+nie da się wywieść od "wierzenia" i "chlastania". Podobnie gdyby jakaś
+miejscowość nazywała się "Szynkwas", to nazwa mogłaby się wywodzić
+ostatecznie --- choć jest to mało prawdopodobne --- od "szyn" i "kwasu".
+
+<p>
+"Zeppelin" i "szynkwas" to przykłady słów obcych bądź obcego
+pochodzenia, które zadomowiły się w naszym języku. Słowa tej kategorii, takie
+jak np. "er&nbsp;zac", "jazz&nbsp;man" czy "soft&nbsp;ware", to źródło nowych
+utrapień dla kogoś, kto chciałby sformalizować reguły dzielenia wyrazów
+w języku polskim.
+
+
+<p>
+W tej sytuacji nie dziwią wyniki testów porównawczych W. Puzy
+(W. Puza, praca magisterska pt. ,,Analiza porównawcza wybranych programów
+Desktop Publishing (DTP)'', Instytut Poligrafii Politechniki Warszawskiej),
+który stwierdził, co następuje:
+
+<p>
+,,(...) Test sprawdzający poprawność dzielenia polskich słów
+wyodrębnił 3 różne poziomy skuteczności testowanych programów:
+
+<ul>
+<li>Cyfroset, TeX -- ok. 10% błędów
+
+<li>Dywiz (dedykowany dla Quark'a) -- powyżej 20% błędów
+
+<li>Bizon (dedykowany Calamusowi), VP Commander (dedykowany
+ Venturze) -- powyżej 50% błędów. (...)''
+</ul>
+
+Tak więc pozornie trywialny problem okazuje się w praktyce trudnym
+orzechem do zgryzienia.
+
+
+<p>
+Można oczywiście polemizować z wytycznymi językoznawców. Zalecany przez
+Szymczaka podział "za&nbsp;jrzeć" lub "po&nbsp;jmać" wydaje się dziś anachroniczny.
+Pójście dalej tym tropem, przy równoczesnym zasłanianiu się ,,wymaganiami
+komputerów'', powoduje, że zbyt kuszące staje się maksymalne upraszczanie
+reguł, oczywiście z uszczerbkiem dla języka polskiego.
+
+<p>
+Autor TeX-a obrał zupełnie inną drogę: szukał takiego algorytmu, który
+byłby w zasadzie niezależny od reguł dzielenia wyrazów; reguły dzielenia
+miałyby być określone za pomocą danych do tego algorytmu. Algorytm
+spełniający te wymagania skonstruował F. M. Liang (rozprawa doktorska
+pt. ,,Word Hy-phen-a-tion by Com-put-er'', Uniwersytet Stanforda, USA,
+1983). Udało mu się nawet coś więcej: dane są stosunkowo łatwe do
+utworzenia, nie jest do tego bynajmniej potrzebna wiedza informatyczna.
+
+<h3><a name=r2>Jak TeX dzieli wyrazy</a></h3>
+
+Algorytm dzielenia wyrazów jest niezwykle prosty. Oczywiście przy założeniu,
+że odpowiednie dane zostały utworzone. Załóżmy więc, że te dane mamy.
+Składa się na nie zbiór ciągów utworzonych na przemian z liter
+i cyfr, np.: <code>2s0z1z0</code>, <code>2s0z0l0n0</code>, <code>2t1ć0</code> itp. Zamiast cyfry skrajnej może
+wystąpić kropka, np.: <code>.w0e3s2</code>, <code>.w0w8</code>, <code>8r0s0z.</code>, <code>8r0z0ł.</code> itp. Ciągi te
+nazywać będziemy wzorcami.
+
+<p>
+Przypuśćmy teraz, że mamy dane jakieś słowo, np. <code>odkaszlnąć</code>. Najpierw
+zamieniamy je na postać taką, jaką mają wzorce, wstawiając pomiędzy literami
+cyfrę <code>0</code>, a na brzegach kropki, otrzymując <code>.o0d0k0a0s0z0l0n0ą0ć.</code>
+(kropka --- jak stąd widać --- oznacza skraj słowa). Następnie wyszukujemy
+w naszym zbiorze danych wszystkie wzorce, które na to słowo dają się nałożyć
+w taki sposób, że zgadzają się położenia liter i kropek, ale niekoniecznie
+cyfr; w szczególności cyfra może się nakładać na kropkę, ale nie na literę.
+Powiedzmy, że znaleźliśmy następujące wzorce: <code>.o2d2</code>,
+<code>.o0d3k2</code>, <code>0ą1</code>,
+<code>2d1k0</code>, <code>2l1n0</code>, <code>2s0z1l0</code>,
+<code>2s0z0l0n0</code>, <code>8ć.</code>, <code>0a1</code>,
+<code>0o1</code>, <code>0s4z0</code>. Jeśli
+je nałożymy na słowo <code>.o0d0k0a0s0z0l0n0ą0ć.</code> i spośród cyfr
+nakładających się
+na siebie weźmiemy największe, to otrzymamy <code>.o2d3k2a2s4z2l1n0ą8ć.</code> --- i to
+już wszystko. Zgodnie z algorytmem Lianga słowo wolno podzielić jedynie
+w takim miejscu, w którym pojawia się cyfra nieparzysta. Oznacza to, że
+algorytm dopuszcza w tym wypadku dwa punkty podziału: "od-kaszl-nąć".
+
+<p>
+Wzorce przechowywane są w pamięci komputera jako struktura drzewiasta
+(dokładniej "trie"; p. D. E. Knuth, ,,The Art of
+Computer Programming'', tom 3, ,,Sorting and Searching''). Pozwala to na
+znaczne upakowanie danych przy zachowaniu szybkiego dostępu do informacji,
+a równocześnie struktura danych i algorytm są stosunkowo łatwo
+implementowalne.
+
+<p>
+Warto podkreślić, że dzięki efektywności zastosowanej metody TeX może
+przechowywać w pamięci kilka różnych zestawów wzorców i dzielić wyrazy
+w kilku językach w obrębie jednego dokumentu (a nawet akapitu).
+
+
+<p>
+Problem jedynie w tym skąd wziąć wzorce?
+
+<h3><a name=r3>Automatyczne tworzenie danych dla algorytmu dzielenia
+wyrazów</a></h3>
+
+Główna część pracy Lianga dotyczyła metody tworzenia wzorców na podstawie
+słownika zawierającego słowa poprawnie podzielone. Przygotowanie takiego
+słownika jest oczywiście czaso- i pracochłonne, ale za to dalsza część
+zadania jest już względnie łatwa. W największym uproszczeniu algorytm Lianga
+można zapisać następująco:
+
+<pre>
+ <i>m </i> := maksymalna długość wzorca
+ <b>for</b> <i>c := 1</i> <b>to</b> <i>9</i> <b>do</b>
+ <b>begin</b>
+ ustal kryteria akceptowalności dla wzorców
+ <b>for</b> <i>l:=1</i> <b>to</b> <i>m</i> <b>do</b>
+ <b>begin</b>
+ dla każdego słowa w słowniku sprawdź, czy nie
+ dostarcza ono informacji o możliwości wstawienia
+ cyfry <i>c</i> we wzorcach długości <i>l</i> przy
+ zadanych kryteriach akceptowalności
+ <b>end</b>
+ <b>end</b>
+</pre>
+
+Innymi słowy program uzupełnia zestaw wzorców kolejno dla coraz
+większych cyfr i coraz dłuższych wzorców, zostawiając użytkownikowi na każdym
+etapie możliwość ingerencji. Kryteria akceptowalności określa się przez
+podanie trzech liczb: wagi dla podziałów poprawnych <i>w<sub>p</sub></i>,
+wagi dla podziałów niepoprawnych <i>w<sub>n</sub></i> i poziomu
+akceptowalności <i>p</i>. Wzorzec jest akceptowany,
+gdy <i>{k<sub>p</sub>w<sub>p</sub>-k<sub>n</sub>w<sub>n</sub>&gt;= p}</i>,
+gdzie <i>k<sub>p</sub></i> i <i>k<sub>n</sub></i> oznaczają odpowiednio
+liczbę poprawnych i niepoprawnych podziałów generowanych przez dany wzorzec.
+
+<p>
+W niektórych przypadkach może się zdarzyć, że program nie znajdzie zestawu
+wzorców dzielącego poprawnie wszystkie słowa. Powodem mogą być błędne dane
+(np. w słowniku może się znaleźć dwa razy to samo słowo, ale inaczej
+podzielone) bądź niewłaściwy dobór liczb <i>w<sub>p</sub></i>,
+<i>w<sub>n</sub></i> oraz <i>p</i> w kolejnych
+iteracjach. Różne strategie dobierania wartości tych współczynników wpływają
+na objętość wynikowego zestawu wzorców. Minimalizacja liczby wzorców
+w wygenerowanym automatycznie zestawie wymaga pewnej wprawy
+i --- oczywiście --- przestudiowania pracy doktorskiej Lianga, gdzie
+zagadnienie to jest szczegółowo omówione.
+
+<p>
+Jak widać ,,nauczenie'' TeX-a zasad dzielenia wyrazów w danym języku jest
+właściwie kwestią odpowiednio zasobnego słownika podzielonych poprawnie
+wyrazów. Dostarczenie takiego słownika to zadanie dla językoznawców.
+Natomiast dalszy etap jest ideowo prosty, nie wymaga znajomości technik
+programowania, ani żadnych innych specjalnych umiejętności. Potrzebna jest
+jedynie cierpliwość.
+
+<h3><a name=r4>Ręczne tworzenie danych dla algorytmu dzielenia wyrazów</a></h3>
+
+Możliwość automatycznego tworzenia zestawu wzorców nie wyklucza możliwości
+stworzenia takiego zestawu ręcznie. Początkowo wydawało się, że język polski
+ma na tyle regularne zasady dzielenia wyrazów, że łatwiej będzie utworzyć
+zestaw wzorców w ten właśnie sposób.
+
+<p>
+W 1984 J. D&eacute;sarm&eacute;nienowi udało się zamknąć reguły dzielenia
+wyrazów dla
+języka francuskiego w zestawie liczącym 804 wzorce i dla języka włoskiego
+w zestawie liczącym zaledwie 88 wzorców, podczas gdy standardowy zestaw
+wzorców dla amerykańskiego TeX-a zawiera ich 4447
+(J. D&eacute;sarm&eacute;nien,
+,,The use of TeX in French: hyphenation and
+typography'', w: D. Lucarella (ed.), ,,TeX for Scientific Documentation,
+Proc. of the First European Conference, Addison-Wesley, 1984). Sukces
+podejścia D&eacute;sarm&eacute;niena zainspirował H. Kołodziejską, która
+w roku 1987 opublikowała listę 2168 wzorców dla języka polskiego
+(H. Kołodziejska, ,,Dzielenie wyrazów w systemie TeX'', Sprawozdania
+Instytutu Informatyki Uniwersytetu Warszawskiego, nr 165, 1987).
+
+Wynik Kołodziejskiej zdawał się potwierdzać wstępne założenia. Niestety. Po
+kilku latach intensywnego testowania (maczali w tym palce m.in. autorzy
+niniejszej pracy) wzorców znacznie przybyło. Po gruntownej przeróbce
+liczebność zestawu wzorców wzrosła do 4053 i wolno przypuszczać, że to
+jeszcze nie koniec.
+
+<p>
+W tych warunkach zasadne staje się pytanie, czy nie należałoby zrewidować
+założenia o regularności zasad podziału słów w języku polskim. Jest
+prawdopodobne, że program Lianga mógłby wygenerować mniej liczny zestaw
+wzorców.
+
+<p>
+Tym niemniej, jak wynikało z porównań poczynionych przez Puzę (p. wyżej),
+zestaw wzorców dla języka polskiego w swojej obecnej postaci daje wyniki
+zadowalające. Zważywszy, że Puza w istocie dysponował jedną z wersji
+pośrednich zestawu i że zestaw aktualny jest znacznie udoskonalony w stosunku
+do tamtej wersji, można oczekiwać jeszcze lepszych rezultatów.
+
+<p>
+Najaktualniejsza wersja tego zestawu wchodzi w skład pakietu MeX (polskiej
+adaptacji TeX-a). Pakiet ten jest dystrubuowany w postaci źródłowej jako
+produkt "public domain" przez
+GUST.
+
+<h3><a name=r5>Inne aspekty automatycznego dzielenia wyrazów</a></h3>
+
+Automatyczne znajdowanie miejsc podziału słów nie wyczerpuje spraw związanych
+z dzieleniem wyrazów do celów składu komputerowego. Jak zostało już
+wspomniane, czasami ingerencja człowieka staje się niezbędna. Poprawnie
+zaprojektowany system składu taką ingerencję powinien umożliwiać. Użytkownik
+powinien mieć w szczególności możliwość wprowadzenia zakazu dzielenia
+niektórych słów.
+
+<p>
+W przypadku TeX-a nierozsądne byłoby manipulowanie za każdym razem przy
+zestawie wzorców. Użytkownik TeX-a może podzielić słowo według własnego
+uznania na dwa sposoby.
+
+<p>
+Pierwszy sposób to umieszczenie go na liście wyjątków, nadrzędnej w stosunku
+do wzorców. Jest to, niestety, metoda wygodna jedynie w językach
+niefleksyjnych. W języku polskim umieszczenie jakiegoś słowa na liście
+wyjątków wiąże się (w przypadku TeX-a) z podaniem od razu wszystkich jego
+odmian, co jest raczej nieporęczne. Na szczęście problem taki nie pojawia się
+zbyt często. Głównym powodem tego typu zabiegów bywają słowa złożone lub
+obcego pochodzenia (bądź i jedno, i drugie).
+
+<p>
+Drugi sposób polega na wskazaniu w tekście dodatkowych miejsc podziału
+(ang. <em>discretionary hyphens</em>). Większość systemów DTP
+oferuje taką możliwość użytkownikom. W przypadku TeX-a należy ostrożnie
+posługiwać się tą metodą, bo można przeszkodzić TeX-owi w automatycznym
+wstawianiu drobnych odstępów między znakami (inaczej podcięć, ang. <em>implicit
+kerns</em>).
+
+<p>
+TeX oferuje użytkownikowi jeszcze parę innych możliwości, pozwalających
+na panowanie nad algorytmem podziału wyrazów.
+
+<p>
+Zabronienie podziału wyrazu jest w TeX-u sprawą trywialną, wystarczy wyraz
+,,zamknąć'' w tzw. pudełko (TeX-owa komenda <code>\hbox</code>).
+
+<p>
+Użytkownik może też określić minimalną długość oddzielonego początku
+i końca słowa. Domyślnie TeX nie podzieli słowa krótszego niż
+pięcioliterowe: początek nie może być krótszy niż dwie litery, koniec --- nie
+krótszy niż trzy litery. Przy składaniu w wąskiej szpalcie może się pojawić
+konieczność złagodzenia tych rygorów, zwłaszcza że w języku polskim za
+dopuszczalne uznaje się oddzielanie pojedynczej samogłoski na początku słowa
+i dwuliterowej sylaby na końcu. Z drugiej strony w składzie wysokiej jakości
+powinno się unikać dzielenia wyrazów w ogóle, a tym bardziej na zbyt krótkie
+fragmenty. Możliwość sterowania wielkością dzielonego słowa jest więc bardzo
+przydatna w praktyce.
+
+<p>
+Zasady dobrego składu wymagają, aby wyrazy dzielone nie pojawiały się
+w sąsiednich wierszach i by ostatni wiersz na prawej stronie nie zawierał
+słowa dzielonego. Składy nie spełniające tych wymogów uważa się (i słusznie)
+za brzydkie. TeX dostarcza parametrów pozwalających skutecznie utrudniać
+brzydkie składanie. W szczególności można wręcz zabronić umieszczania słowa
+dzielonego w ostatnim wierszu na stronie. Może to sprawić pewne kłopoty
+algorytmowi łamiącemu wiersze na strony, ale to już zupełnie inna historia.
+
+<p>
+Zostaje jeszcze problem słów zawierających łącznik, np. "biało-czerwony".
+W języku angielskim słowa takie jak "machine-oriented" przenosi się
+
+
+<pre>
+ "machine-"
+ "oriented"
+</pre>
+
+podczas gdy w języku polskim stanowczo zaleca się dostawienie
+dodatkowo łącznika na początku następnego wiersza:
+
+
+<pre>
+"biało-"
+"-czerwony"
+</pre>
+
+TeX pozwala dołączyć do zestawu komend standardowych komendy definiowane
+przez użytkownika. W MeX-u została zdefiniowana komenda <code>\=</code>,
+którą należy podczas przygotowywania tekstu umieścić w miejscu łącznika.
+Kontynuując przykład, "biało-czerwony" należałoby podać TeX-owi jako
+<code>biało\=czerwony</code>. Użytkownik musi pamiętać o konsekwentnym
+przestrzeganiu tej zasady, a o resztę zadba już TeX. Pozostawienie zwykłego
+łącznika oznacza słowo niepodzielne. Jest to przydatne w przypadku takich
+słów jak np. "K-202", których oczywiście dzielić nie należy.
+
+<h3><a name=r6>Uwagi końcowe</a></h3>
+
+Jak widać zagadnienie automatycznego dzielenia wyrazów to problem bardzo
+obszerny. Wchodzą tu w grę zagadnienia językoznawcze, typograficzne
+i informatyczne.
+
+<p>
+Praktyka pokazuje, że bardzo efektywny algorytm automatycznego podziału słów,
+w połączeniu z niekoniecznie bardzo wygodnymi możliwościami ingerowania
+ręcznego, stwarza użytkownikowi możliwość panowania w pełni nad procesem
+dzielenia słów przez system komputerowego składu tekstów.
+
+<p>
+Wydaje się nam, że rozwiązania zastosowane przez Knutha są na tyle
+uniwersalne (a do tego sprawdzone w praktyce), że warto je szerzej
+rozpropagować. Mogą się okazać szczególnie przydatne w Polsce, gdzie rynek
+software'owy dopiero powstaje i dobre <i>nomen omen</i> wzorce są rzeczą nie
+do pogardzenia.
+
+
+<hr>
+<a href=../index.html><img src="../gify/lew-7vs.gif" hspace=10 border=0 align=left></a>
+<a href=mailto:W.Macewicz@ia.pw.edu.pl><img src="../gify/mail.gif" hspace=10 align=left></a>
+Zredagował</br>
+<a href=http://www.ia.pw.edu.pl/~wujek/index.html>Włodzimierz Macewicz</a><br clear=all>
+<hr>
+</body>
+</html>