So it looks as though you check for change in content, but
> not for change in size.
Yep, you're right. mathtext does cache for efficiency and the
fontsize key was not being used in the cache. This does not affect
normal text, which does the caching properly. The good news it's a
one-line-fix. In matplotlib.mathtext.math_parse_s, change the
cacheKey = (s, dpi, fontsize)
Thanks for the detailed report.