Jak funguje \csname?

Milan Vancura milan at ucw.cz
Thu Jan 15 00:36:58 CET 2004


Dobry den nebo spis noc :-)

Samozrejme "originalni" odpoved je odkaz na TeXbook naruby, kde uvidite i mnoho
pouziti. Tady se pokusim jen o strucny popis z (me) hlavy:

vysledkem posloupnosti \csname blabla\endcsname je token \blabla jako byste ho
primo napsala. Tedy

ahoj \csname bf\endcsname nazdar

je ekvivalentni

ahoj \bf nazdar

Cili nic se nedefinuje, je to pouze jiny zapis \blabla. Pozor: ve Vasem
prikladu je i mezera pred \endcsname a tim se stane soucasti identifikatoru
"makra" - cili volate makro s nazvem "cmmd " coz nevim , jestli je zamer :-)

K cemu je to dobre? Prave k tomu, kdyz v dobe psani dokumentu nevite, jak se
bude makro jmenovat a v prubehu zpracovani dokumentu to nejak zjistite - pak
lze napsat makro, ktere to cele pomoci \csname posklada a zavola.

Psat takova makra je pro LaTeXistu asi bez predchozi prupravy nemozne, na to
byste potrebovala prosedet par veceru nad vyse zminenou knihou - je to uplne
neco jineho nez s cim se v LaTeXu setkate. Napr. musite pomoci \expandafter
zajistit, aby se tokeny expandovaly ve spravnem poradi atd.

Hodne stesti pri studiu :-)

Milan Vancura



More information about the csTeX mailing list