Portál AbcLinuxu, 12. května 2025 09:31

Dotaz: LaTeX a zalamování slov

bazil avatar 10.5.2006 17:09 bazil | skóre: 33 | blog: sluje | Miroslav
LaTeX a zalamování slov
Přečteno: 538×
Odpovědět | Admin
Ahoj, píšu dokument a LaTeX mi zalomil slova na čtyřech řádcích pod sebou, což je proti typografickým pravidlům, nevítě někdo, jak LaTeXu povolit maximálně 3 zalomení pod sebou? nemohu to nikde najít :-/
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.5.2006 17:52 Vlastimil Ott | skóre: 66 | blog: Plastique | Opava
Rozbalit Rozbalit vše Re: LaTeX a zalamování slov
Odpovědět | | Sbalit | Link | Blokovat | Admin
Přidat nebo ubrat slovo.
Práce: Liberix, o.p.s. | Blog: OpensourceBlog.cz | Online kurz Zlatý WordPress
bazil avatar 10.5.2006 18:11 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: LaTeX a zalamování slov
ok chapu :-)
10.5.2006 18:16 Marble
Rozbalit Rozbalit vše Re: LaTeX a zalamování slov
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám pocit, že konkrétně na tohle algoritmus řádkového zlomu TeXu nestačí. Asi nejblíže požadavku je proměnná \doublehyphendemerits, která udává přídavný postih (demerits) za dva řádky těsně nad sebou, které končí rozděleným slovem. Defaultně je 10000, takže můžete zkusit zvýšit. Nicméně z principu algoritmu nemůže jakákoliv hondota takovémuto dělení 100% zabránit.

TeX totiž nejdřív najde všechna možná zalomení odstavce pouze s ohledem na rozumné roztažení, či stlačení řádků (v tuto chvíli tedy nezkoumá žádné meziřádkové vztahy) a z těchto možných řešení na základě několika pravidel vybere to s nejmenší demerits. Tady už se projevují meziřádkové vztahy, včetně přídavné demerits za dvě dělení pod sebou (viz proměnná výše), takže jejím nastavením na dostatečně vysokou hodnotu TeX nikdy nedá dvě rozdělená slova pod sebe, pokud existuje jiné řešení, které splňuje základní podmínky na roztažení/stlačení řádků. Nicméně takové řešení může být hodně nehezké z jiných důvodů (velmi roztažené/stlačené řádky, i když v mezích základní tolerance, hodně rozdílné roztažení dvou řádek pod sebou apod.). Takže s \doublehyphendemerits zacházet s jistou opatrností. :-)

Nic, co by kontrolovalo více, než dva řádky nad sebou v algoritmu TeXu není a nějak takto korigovat zlom odstavce pomocí maker bude někde mezi naprosto šílené a nemožné. :-)

Jinak více k tomuto v TeXbook naruby od Olšáka.
bazil avatar 10.5.2006 18:36 bazil | skóre: 33 | blog: sluje | Miroslav
Rozbalit Rozbalit vše Re: LaTeX a zalamování slov
a teď už chápu i proč, díky

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.