On Fri, 23 Oct 2015, Wolfgang Schuster wrote:
Aditya Mahajan mailto:adityam@umich.edu 22. Oktober 2015 um 02:52 Hi,
The following example fails:
\usemodule[pgfplots] \usepgfplotslibrary[fillbetween]
\starttext \startformula \left. a \right| \stopformula
\stoptext
with
tex error > tex error on line 7 in file /private/tmp/test.tex: ! Missing \endgroup inserted
<inserted text> \endgroup <to be read again> \Ucheckedstopdisplaymath \stopdisplaymath ...math \Ucheckedstopdisplaymath \par \ifvmode \ifcase \c_s... \strc_formulas_stop_formula ...native \v!formula } \dostoptagged \dostoptagge... l.7 \stopformula
This is a weird bug. Only \left. \right| fails; \left| \right| works correctly. If I remove the fillbetween library, the error goes away.
Any hints as to what is happening will be appreciated.
The fillbetween library changes the catcode of the bar character.
\starttext
\the\catcode`|
\usemodule[pgfplots] \usepgfplotslibrary[fillbetween]
\the\catcode`|
\stoptext
Thanks! What is the easiest way to fix this (without patching tikz)? I thought that \pushcatcodetable \usemodule[pgfplots] \usepgfplotslibrary[fillbetween] \popcatcodetable should work, but it does not. Why? Surrounding by \unprotect ... \protect does work, so I am wondering what is the difference between the two? Aditya