summaryrefslogtreecommitdiff
path: root/sphinx/transforms/post_transforms/compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/transforms/post_transforms/compat.py')
-rw-r--r--sphinx/transforms/post_transforms/compat.py30
1 files changed, 17 insertions, 13 deletions
diff --git a/sphinx/transforms/post_transforms/compat.py b/sphinx/transforms/post_transforms/compat.py
index 9a03ff6b5..8065cf91c 100644
--- a/sphinx/transforms/post_transforms/compat.py
+++ b/sphinx/transforms/post_transforms/compat.py
@@ -64,19 +64,23 @@ class MathNodeMigrator(SphinxTransform):
nowrap=node.get('nowrap'),
docname=node.get('docname'))
node.replace(alt)
- else:
- # case: old styled ``displaymath`` node generated by old extensions
- for node in self.document.traverse(math_block):
- if len(node) == 0:
- warnings.warn("math node for Sphinx was replaced by docutils'. "
- "Please use ``docutils.nodes.math_block`` instead.",
- RemovedInSphinx30Warning)
- if isinstance(node, displaymath):
- newnode = nodes.math_block('', node['latex'], **node.attributes)
- node.replace_self(newnode)
- else:
- latex = node['latex']
- node += nodes.Text(latex, latex)
+ elif getattr(self.app.builder, 'math_renderer_name', None) == 'unknown':
+ # case: math extension provides old styled math renderer
+ for node in self.document.traverse(nodes.math_block):
+ node['latex'] = node.astext()
+
+ # case: old styled ``displaymath`` node generated by old extensions
+ for node in self.document.traverse(math_block):
+ if len(node) == 0:
+ warnings.warn("math node for Sphinx was replaced by docutils'. "
+ "Please use ``docutils.nodes.math_block`` instead.",
+ RemovedInSphinx30Warning)
+ if isinstance(node, displaymath):
+ newnode = nodes.math_block('', node['latex'], **node.attributes)
+ node.replace_self(newnode)
+ else:
+ latex = node['latex']
+ node += nodes.Text(latex, latex)
def setup(app):