zalomenie textu bez medzier

David Necas (Yeti) yeti at physics.muni.cz
Fri Dec 19 00:36:49 CET 2003


On Thu, Dec 18, 2003 at 10:33:22PM +0100, Jozef Riha wrote:
> existuje v LaTeXu sposob akym zalomit text bez medzier bez pouzitia \-? mam
> na mysli dlhsi text (no, nebudem chodit okolo
> horucej kase - potrebujem to kvoli tahakom - medzery mrhaju miestom). malo
> by to teda vyzerat zhruba takto:
>
> ExistujeVLatexuSposobAkymZalomitText.Exist
> ujeVLatexuSposobAkymZalomitText.ExistujeVL
> atexuSposobAkymZalomitText.ExistujeVLatexu
> SposobAkymZalomitText...

To je tedy mirne receno obskurni pozadavek. K tomu by snad
ani nemel nikdo nic radit -- krome toho, at nepouzivate
tahaky a snazite se radeji vytvorit neco typograficky
hodnotneho, samozrejme.

Ale kdyz ja jsem tak zkazeny... slo by to zavedenim novych
vzoru deleni, kde je vse povoleno a zmenou \hyphenchar.
Nicmene asi vam bude stacit nasledujici makro \breakany,
ktere proste rozebere text na znaky a deleni mezi nimi
explicitne povoli.

\def\breakany#1{\bgroup\let\pp=\relax \let\next=\dobreakany
  \dobreakany#1\end}
\def\dobreakany{\afterassignment\checkchar \let\nextchr= }
\def\checkchar{\ifx\nextchr\end \let\next=\egroup
  \else\if\noexpand\nextchr\space
        \else\ifcat\noexpand\nextchr A\nextchr\allowbreak
             \else\ifcat\noexpand\nextchr .\nextchr\allowbreak
                  \else\nextchr \fi\fi\fi\fi \next}

Ma tu vyhodu, ze navic mezery ve svem argumentu pozira,
takze muzete psat normalne s mezerami (coz by slo zaridit
i v pripade predefinovani vzoru deleni).

Ma to samozrejme smysl jen s neproporcionalnim pismem nebo
roztazitelnym \rightskip, jinak dostanete same overfull
boxy...

Yeti


--
Do not use tab characters. Their effect is not predictable.



More information about the csTeX mailing list