Predefinovani znaku ^^I

Richard Kralovic kralovic at gjh.sk
Tue Apr 20 11:22:11 CEST 1999


On Tue, 20 Apr 1999, Robert Wolf wrote:

> Chtel bych predefinovat znak ^^I (tabulator) tak, aby mi vypisoval nejaky text
> misto aby se choval jako mezera (kategorie 10). Udelal jsem nasledujici pokus:

Problem je v tom, ze TeX priradi jednotlivym znakom (presnejsie tokenom)
kody kategorii hned pri nacitavani zo vstupneho suboru. Ak sa niekedy
dotatocne pouzije prikaz \catcode na zmenu kategorie, TeX ju uz nezmeni.

V tomto pripade:

> \documentclass{article}
> \usepackage{czech}
> \begin{document}
> \def\karel{
> \def\tabul{(TAB)}
> \catcode`\^^I=\active\let^^I=\tabul%
> \input zk.txt
> }
> \karel
> \end{document}

TeX priradi kody kategorii pri nacitavani definicie. Preto v \let^^I ma
znak ^^I stale nezmenenu kategoriu. Pri pouziti prikazu \karel teda TeX
nema comu priradit vyznam makra \tabul.

Mozne riesenie je nasledovne:
niekde na zaciatok dokumentu sa vlozi:
{\catcode`\^^I=\active \gdef^^I{ (TAB) }}

Zmena kategorie je uzavreta v skupine, tabulatoru teda zostane jeho
kategoria. Pri najblizsej zmene jeho kategorie na \active vsak uz bude
definovany ako (TAB).

Potom sa makro \karel definuje takto:
\def\karel{{
\catcode`\^^I=\active
\input zk.txt
}}

S pozdravom
	Riso Kralovic




More information about the csTeX mailing list