Wei-Wei Guo wrote:
Hi Taco,
I just finished reading the 'System_Macros'. I still don't get the meaning of '\??pb @lang@' in the following codes:
\def\lang#1% {\def\biblanguage{#1}% \ifcsname \??pb @lang@#1\endcsname \expanded{\mainlanguage[\getvalue{\??pb @lang@#1}]}% \expanded{\language[\getvalue{\??pb @lang@#1}]}% \fi \ignorespaces}
In \lang[zh], for example, '\??pb @lang@' will be expanded to \@@pblangen, will it? Is \??pb a command? Is '\??pb @lang@' a command? Why can there be a whitespace in '\??pb @lang@'?
\??pb creates a namespace so you cannot mess with it in your document easily \??pb is just a macro and the ?? makes it kind of private (hidden) there has to be a whitespace otherwise you'd call for \??pb@lang@
Sorry for some many questions. I'm so confused and don't know what to search in wiki, manuals, etc..
this is not stuff most users want to know or see; add a few \expandafter's, \futurelet's and \afterassignments and one wonders in what universe one has ended up Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------