[cstex] Proč se nenačte parametr?
arecuktk at yahoo.co.uk
arecuktk at yahoo.co.uk
Tue Mar 20 13:09:51 CET 2007
Dobrý den, asi přehlížím nějakou banalitu, ale nemohu vyřešit
následující problém v plainu:
Chci definovat makro, které se bude pro uživatele tvářit, jako že má 3
parametry.
Používat se má takto:
\zalozka{cíl v dokumentu}{text záložky}{počet podzáložek}
Makro má ve skutečnosti jen jeden parametr, ten první. Po něm spustí
makro \textin, které otevře skupinu s fůrou aktivních znaků, odstraní
levou svorku a nějak zpracuje "text záložky". Vypadne z toho \textout,
obsahující zpracovaný text.
Aktivní pravá svorka nakonec skupinu uzavře a spustí makro \zalozkaa,
které by mělo s tím vším nějak naložit a před tím nabrat do parametru
obsah třetí dvojice svorek.
Ale nenabere! A to je právě to, co nemůžu pochopit proč.
Pokud by se na to někdo byl ochoten podívat, tady je kód:
\def\sezerznak{\afterassignment\relax\let\sezranyznak=}
\newtoks\cilodkazu
\def\zalozka#1{\cilodkazu={#1}\textin} %Vlastní uživatelský povel
\bgroup
\catcode"7D=13\catcode"7C=2 %Definice aktivní pravé svorky
\gdef}{\egroup\zalozkaa|
\egroup
\def\textin{ % To bude dělat hlavní práci, teď jen ladicí forma
\sezerznak % Sežere levou svorku
\bgroup\gdef\textout{Nazev}\catcode"7D=13} %Otevřeni skupiny,
ladicí definice \utfout a aktivace pravé svorky
%Pravá svorka skupinu uzavře a spustí \zalozkaa
\def\zalozkaa#1{% %Pokračování uživatelského povelu -
ladicí forma
\par Parametr 1 = \the\cilodkazu\par Parametr 2 = \textout\par
Parametr 3 = #1 (nula)}
\zalozka{cil}{Tohle se v ostré verzi zpracuje jinak.}{0}
\bye
More information about the csTeX
mailing list