[cstex] Řešení potíží se zlomem v odstavcích
Kuben Jaromír
jaromir.kuben at unob.cz
Wed Sep 2 10:09:58 CEST 2015
Dobrý den.
Dočetl jsem se to v dokumentaci k balíčku microtype. Ve standradním
stromu TeXLive je to soubor
\texlive\2015\texmf-dist\doc\latex\microtype\microtype.pdf.
Na str. 7 je tabulka, která uvádí přehled, která mikrotypografická
rozšíření jsou v TeXových strojích pdfTeX, luaTeX a xeTeX k dispozici.
Zdraví
Jaromír Kuben
Dne 2. 9. 2015 v 9:29 Vit Zyka napsal(a):
> Dobrý den,
>
>> Pokud používáte pdfTeX, ten umí mikrotypografická rozšíření. Ta obvykle
> > ...
>> LuaTeX umí těch rozšíření o něco míň, xeTeX ještě míň. Ale i to by asi
>
> když tak mně opravte, kdo používáte LuaTeX, ale nevím o tom, že by
> LuaTeX neuměl nějaké mikrotypografické rozšíření (hz nebo visící
> znaky), které umí pdfTeX. LuaTeX vznikl klonem pdfTeXu v době, kdy již
> tato rozšíření uměl (a od které se již téměř nevyvíjí). Naopak je
> možné, že umí něco navíc (minimálně tyto algoritmy aplikovat na OTF
> fonty).
>
> Vítek Zýka
>
>
>>
>> Zdraví
>> Jaromír Kuben
>>
>> Dne 1. 9. 2015 v 12:05 Marcel Svitalský napsal(a):
>>> (Tento dotaz jsem postnul na tex.stackexchange.com, ale s dovolením se
>>> zeptám i zde.)
>>>
>>> Dobrý den,
>>>
>>> pracuji teď na větším projektu s textem, jejž naprosto nemohu měnit,
>>> takže občas narážím na problémy se zlomem. Vytvořil jsem si tedy
>>> následující makro pro plain i LaTeX (jehož užití samozřejmě
>>> předpokládá, že už je nastaveno hyphenation atp.):
>>>
>>> \def\emergency #1 #2\par{%
>>> \begingroup
>>> \ifcase #1
>>> \message{Emergency level 0 does nothing at all.}%
>>> \or
>>> \tolerance = 250
>>> \message{Emergency level 1: increasing
>>> \string\tolerance\space to \the\tolerance.}%
>>> \or
>>> \tolerance = 300
>>> \message{Emergency level 2: increasing
>>> \string\tolerance\space to \the\tolerance.}%
>>> \or
>>> \tolerance = 300
>>> \righthyphenmin = 2
>>> \message{Emergency level 3: increasing
>>> \string\tolerance\space to \the\tolerance,
>>> decreasing \string\righthyphenmin\space to
>>> \the\righthyphenmin.}%
>>> \message{You might need to set hyphenation properly for
>>> this emergency level to work.}%
>>> \or
>>> \righthyphenmin = 2
>>> \emergencystretch = 5pt
>>> \message{Emergency level 4: increasing
>>> \string\emergencystretch\space to \the\emergencystretch,
>>> decreasing \string\righthyphenmin\space to
>>> \the\righthyphenmin.}%
>>> \message{You might need to set hyphenation properly for
>>> this emergency level to work.}%
>>> \or
>>> \righthyphenmin = 2
>>> \emergencystretch = 8pt
>>> \message{Emergency level 5: increasing
>>> \string\emergencystretch\space to \the\emergencystretch,
>>> decreasing \string\righthyphenmin\space to
>>> \the\righthyphenmin.}%
>>> \message{You might need to set hyphenation properly for
>>> this emergency level to work.}%
>>> \else
>>> \errmessage{Emergency level #1 not supported!}%
>>> \fi
>>> #2
>>> \par
>>> \endgroup
>>> }
>>>
>>>
>>> Předpoklad je takový, že makro umístím na začátek odstavce, jenž dělá
>>> problémy, a vyzkouším postupně hodnoty od jedné do pěti.
>>>
>>> ...předchozí odstavec.
>>>
>>> \emergency 1 % nebo 2, 3 až 5
>>> Text odstavce, jenž se chová nehezky a odmítá se pěkně zlomit...
>>>
>>> Nejsem ale v nastavování těchto parametrů příliš zkušený (načrtl jsem
>>> to narychlo po nahlédnutí do TBN) a jsem trochu v časovém stresu,
>>> proto bych byl vděčný, kdyby se kdokoli zkušenější na to případně
>>> podíval a posoudil, zda jsou ty kroky přiměřeně rovnoměrné nebo naopak
>>> možná je některý příliš hrubý, zda by to nešlo někde lépe atd. apod.
>>>
>>> Děkuji a zdravím
>>> Marcel Svitalský
>>>
>>> --
>>> Marcel Svitalský//
>
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
More information about the csTeX
mailing list