[cstex] Řešení potíží se zlomem v odstavcích

Marcel Svitalský marcel.svitalsky at centrum.cz
Tue Sep 1 12:05:38 CEST 2015


(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ý/ /
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20150901/a6b2f7ff/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 246 bytes
Desc: OpenPGP digital signature
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20150901/a6b2f7ff/attachment-0002.bin>


More information about the csTeX mailing list