RE: [NTG-context] esoteric macro expansion bug in t-bib?
===== Original Message From Taco Hoekwater
===== Christopher Creutzig wrote: Idris Samawi Hamid wrote:
\def\IBAR% {\leavevmode\vbox{\offinterlineskip\lineskip0.295ex% \ialign{##\cr\USHIFT{120}\hfill\hbox to .21243em{\leaders\hrule height .07ex\hfill}\hfill\SHIFT{1}\cr\i\cr}}}
Could you try \unexpanded\def\IBAR% ...
That was my first thought as well.
That finally ocurred to me after you all were sleep yesterday-) Yes, the \unexpanded solves things. I'm curious: how exactly does \unexpanded work? Is this an eTeX primitive? Best Idris ============================ Professor Idris Samawi Hamid Department of Philosophy Colorado State University Fort Collins, CO 80523
Idris Samawi Hamid wrote:
That finally ocurred to me after you all were sleep yesterday-) Yes, the \unexpanded solves things.
I'm curious: how exactly does \unexpanded work? Is this an eTeX primitive?
\unexpanded is macro, but it normally expands to \protected, which is an eTeX primitive indeed. In 'normal' tex, it uses a macro approach to achieve a similar effect: it defines two macros instead of one. There will be \def\IBAR{\donottest\doIBAR} and it's accompagnying \def\doIBAR% ... your definition ConTeXt internals toggle the definition of \donottest depending on the surrounding environment, using \let\donottest\noexpand or \let\donottest\relax etc. This achieves the same effect as the eTeX primitive, but is not as robust. Cheers, Taco
Taco Hoekwater wrote:
\unexpanded is macro, but it normally expands to \protected, which is an
Justto add to the confusion: It expands to what eTeX calls \protected, not to what ConTeXt users get when they type \protected. But Hans' version was there first. :-) regards, Christopher Creutzig
participants (3)
-
Christopher Creutzig
-
Idris Samawi Hamid
-
Taco Hoekwater