Am 14.07.2012 um 17:20 schrieb Eythan Weg:
Hi,
I run into trouble with mkiv (ConTeXt ver: 2012.05.30 11:26 MKIV fmt: 2012.7.7 int: english/english).
A small example: \starttext \def\c#1#2{\halign{##\hfil#\cr\bf#1&\quad#2\cr}} \c{11}{this} \stoptext
gives and error:
! Only one # is allowed per tab.
This runs error-free under mkii (pdftex, xetex), plain tex (luatex, xetex), latex (luatex) etc.
Would someone comment?
The error message is not very helpful in this case because the & is the problem. In MkIV we made a while ago _, ^ and & normal characters in the text and you don’t have to write \_ (or \textunderscore) etc. to use them. A side effect of this was that \halign can’t be used anymore in a document (which isn’t recommended anyway because ConTeXt has other high level table interfaces), when you now want to use \halign to create a command put it in a \unprotect … \protect block or use the \aligntab (it’s a LuaTeX primitive with the same meaning as &). \unprotect \def\one#1#2{\halign{##\hfil#\cr\bf#1&\quad#2\cr}} \protect \def\two#1#2{\halign{##\hfil\aligntab##\cr\bf#1\aligntab\quad#2\cr}} \starttext \one{underscore}{_} \two{ampersand}{&} \stoptext BTW: \c is already defined as a accent macro. Wolfgang