Inteligentni "uriznuti" zahlavi

Antonin Strejc STREJC at vc.cvut.cz
Wed Aug 26 12:31:29 CEST 1998


Pavel Hanak pise:
>[...]
>tak mi celkem vse bez problemu funguje. Pokud je ale nazev kapitoly
>delsi nez 1 radek, chtel bych, aby se mi text v zahlavi "rozumne zkratil"
>a pridal se vypustek.
>
>Napriklad:
>
>\kapitola{Toto je prevelice dlouhy nazev kapitoly, ktery se nevejde na
>jeden radek}
>
>by melo v zahlavi dat
>
>              1. Toto je prevelice dlouhy nazev kapitoly...

Doporucuji neponechavat zkracovani nazvu na TeXu, protoze by mohla
obcas vzniknout nevhodna zkraceni. Podle mne je lepsi pridat do
nazvu kapitoly nepovinnou znacku, urcujici, kde se ma pripadne nazev
zkratit. Zkuste nasledujici konstrukci, pripadne s drobnymi upravami.

%%%%%%%%%%%%%%%
\def\ehead{\ifinner\$ldots$\egroup\smash\bgroup\fi}

\def\kapitola#1{\vfil\break\advance\kapnum by 1
    \headline={\hss\hbox{\fontzahlavi\the\kapnum.~#1}\hss}
    \noindent{\fontkapitola #1}}

\kapitola{Toto je prevelice dlouhy nazev kapitoly\ehead, ktery se
          nevejde na jeden radek}

%%%%%%%%%%%%%%%

V argumentu makra \kapitola je pouzita nepovinna znacka \ehead.
Makro \ehead nedela nic, pokud se sazi nazev kapitoly v odstavcovem
modu. Pokud se sazi hlavicka, je TeX ve vnitrnim (inner) modu. Tehdy
makro udela tri tecky a spolkne zbytek argumentu, ktery nasleduje za
znackou.

Mozna Vam to pomuze.

S pozdravem
Antonin Strejc

---------------------------------------------------------------------
Ing. Antonin Strejc                            Phone: +420-2-24352938
---------------------------------------------------------------------
Czech Technical University in Prague                 Computing Centre
Czech Republic                               Zikova 4, 166 35 Praha 6
---------------------------------------------------------------------



More information about the csTeX mailing list