[NTG-context] Bug with ConTeXt and pgfplot library fillbetween

Aditya Mahajan adityam at umich.edu
Sat Oct 24 20:45:05 CEST 2015


On Fri, 23 Oct 2015, Wolfgang Schuster wrote:

>> Aditya Mahajan <mailto:adityam at 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


More information about the ntg-context mailing list