diff --git a/src/nbsphinx/__init__.py b/src/nbsphinx/__init__.py index b8672ff9..84692aa3 100644 --- a/src/nbsphinx/__init__.py +++ b/src/nbsphinx/__init__.py @@ -27,6 +27,7 @@ import sphinx.directives.other import sphinx.environment import sphinx.errors +import sphinx.transforms import sphinx.transforms.post_transforms.images from sphinx.util.matching import patmatch try: @@ -1458,7 +1459,7 @@ def apply(self): env.nbsphinx_files.setdefault(env.docname, []).append(file) -class ForceEquations(docutils.transforms.Transform): +class ForceEquations(sphinx.transforms.SphinxTransform): """Unconditionally enable equations on notebooks. Except if ``nbsphinx_assume_equations`` is set to ``False``. @@ -1468,9 +1469,15 @@ class ForceEquations(docutils.transforms.Transform): default_priority = 900 # after checking for equations in MathDomain def apply(self): - env = self.document.settings.env - if env.config.nbsphinx_assume_equations: - env.get_domain('math').data['has_equations'][env.docname] = True + if sphinx.version_info[:2] >= (8, 2): + # Sphinx 8.2 detects equations via the writer/translator, + # so ForceEquations isn't needed. + return + if not self.config.nbsphinx_assume_equations: + return + + maths_data = self.env.get_domain('math').data + maths_data.setdefault('has_equations', {})[self.env.docname] = True class GetSizeFromImages(