Problém s makrem tabulky

Lubos Kloc kloc at ipm.cz
Mon Jan 10 11:58:04 CET 2005


Jirka Zeman wrote:

>Dobrý den.
>
>Mám začátečnický :-) problém s tabulkou. Definoval jsem si makro pro jednoduchou tabulku:
>
>
>\def\polozka#1#2{
>   \settabs
>   \+ \hskip 1cm & \hskip 5cm & \hskip 5cm \cr
>   \+ & #1 \hfill & #2 \hfil \cr}
>
>\polozka {Polozka 1} {Hodnota 1}
>\polozka {Polozka 2} {Hodnota 2}
>
>\end
>
>
>Vše zkončí chybovou hláškou:
>"Forbidden control sequence found while scanning definition of \polozka"
>
>Nevíte někdo kde mám chybu? Děkuji.
>  
>

1): makro \+ je definovano s priznakem \outer, takze nemuze byt pouzito 
v tele jineho makra.
     To je pricinou te chybove hlasky. Pro pouziti uvnitr makra musite 
\+ vymenit za \tabalign.
     Podrobne vysvetleni je v TBN na strane 127 (TBN je i v PDF formatu 
na siti, doporucuji
     stahnout a mit stale po ruce, pokud chcete psat v plainu).

2): Vase makro se snazi pro kazdy radek tabulky vzdy znovu nastavovat 
tabelacni zarazky. To neni
     zrovna smysluplne, a muze to pusobit problemy. Cely radek od 
\settabs po prvni \cr by nemel byt
     v tele makra, ale samostatne pred nim.

Jednoduche zacatecnicke funkcni makro dle Vaseho prikladu by mohlo 
vypadat treba takto:

\settabs
\+ \hskip 1cm & \hskip 5cm & \hskip 5cm \cr
\def\polozka#1#2{\tabalign & #1 \hfill & #2 \hfil \cr}

\polozka {Polozka 1} {Hodnota 1}
\polozka {Polozka 2} {Hodnota 2}

\end

Narazil jste na problem, ktery je pro zacatecnika obtizny. Nenechte se 
tim  odradit.

S pranim uspechu,

Lubos Kloc






More information about the csTeX mailing list