Prehozeni pismen (lokalne)

Petr Sojka sojka at daeron.ics.muni.cz
Thu May 26 13:30:04 CEST 1994


: Prosim vsechny TeXove kouzelniky opet o pomoc.
: Omlouvam se za takove strasne nesmysly, co si vymyslim, ale prinesl je
: sam zivot a pokud by to chodilo usetrilo by mi to spoustu rucniho
: substituovani (mozna jsem neco v TeXbooku prehledl a reseni je trivialni-
: aspon se poucim)
: Jde mi o to, jestli lze v TeXu v ramci nejakeho prestredi lokalne
: predefinovat (zamenit) 2 pismena v textu - konkretne pouziju-li
: KD rectinu a zacnu prostredi \begingreek (nebo dollar po \greekdelims)
: chci aby vse co obsahuje pismeno "s" se chovalo jako "c" a opacne -
: temto pismenum jsou prirazeny obycejna (s) a koncova (c) sigma
: a ja je mam v textu psane opacne :-(( .
: Chci reseni ciste TeXovske (substituce editorem by byly slozite pro
: nemoznost rozhodnout jsem-li v prostredi rectiny, ci ne - pro jeji uvozeni
: se pouziva mnoho ruznych znaku a text je uz napsan (cca 5 MB) v 20 souborech
: Reseni pregenerovani fontu s prohozenyni pozicemi se mi taky nelibi.
Proc? Staci pustit tftopl, zeditovat 2 cisla a pltotf.
:
: Obecne by mozne reseni mohlo byt treba taky uzitecne i v normalnim textu
: - i kdyz zatim me napada jenom pouziti pro sifrovani daneho useku
: \encode{ bla bla bla } by udelalo lba lba lba  , pokud by bylo prohozeno
: "l" a "b".
Budiz, zkuste:

\documentstyle{article}
\begingroup
  \catcode`\l=\active
  \catcode`\b=\active
  \gdef l{\char'142} %b  %\global\newcommand nelze kvuli b a l v slove global
  \gdef b{\char'154} %l
\endgroup
\newcommand{\encode}{\begingroup%
  \catcode`\l=\active
  \catcode`\b=\active
  \xencode%
}
\newcommand{\xencode}[1]{#1\endgroup}
\begin{document}
bla bla bla \encode{bla bla bla}
\end{document}

Petr <sojka at muni.cz>



More information about the csTeX mailing list