Vyplnovani formulare -- ztrata mezer
Petr Mandys
mandp0am at artax.karlin.mff.cuni.cz
Wed Mar 26 22:58:47 CET 2003
Zdravim!
Potrebuju vyplnovat predtisteny formular. Mam okynka do kterych musi
padnout jednotliva pismenka. Mam definovana makra typu:
\def\Jmeno{Antonin}
\def\Prijmeni{Novak}
\def\Mesto{Praha 8-Holesovice}
\def\Ulice{Patkova 3}
\def\PSC{180 00}
...
Tato makra mam do formulare rozmistit.
Myslenka je jasna: Budu si odebirat postupne znaky a centrovat je do
\hboxu potrebne sirky, ktere pak budu skladat za sebe...
V cem je teda problem: Jak zajistit, aby mi nemizely mezery? Odebirani po
znaku delam pomoci makra
\def\vytiskni#1{\expandafter\odebertoken#1;}
\def\odebertoken#1#2;{\zpracuj{#1}\odebertoken#2;}
(velmi zjednodusene napsano...) Jenze mezera se mi v takovem pripade
sezere, jako nepovinna mezera pred parametry makra... Nakonec jsem to
vyresil nejak takhle:
\def\vytiskni#1{\setbox\boxi=\hbox{#1}\expandafter\odebertoken#1;}
\def\odebertoken#1#2;{\setbox\boxii=\hbox{#1#2}%
\ifdim\wd\boxi=\wd\boxii
\else % byla tam mezera
\zpracuj{ }
\fi
\zpracuj{#1}\setbox\boxi=\hbox{#2}\odebertoken#2;}
(opet zjednoduseno; nechce se mi tu demonstrovat, jak pekne umim psat
v TeXu cykly :-))
Ale to mi preci jen prijde trochu drasticke. Napada me, ze by se to mohlo
resit pomoci registru typu <toks>. Ale nemam s tim moc zkusenosti...
S tim vstupem nic nenadelam, takze rada at misto mezery pouzivam \ nebo
\space jsou mi na nic...
Pouzivam i tu variantu, ktera uzira mezery, protoze pro PSC tam je 5
policek a obcas mi prijde PSC s mezerou a obcas bez ni...
Dekuji za napady.
Petr Mandys
More information about the csTeX
mailing list