mirror of
https://github.com/sphinx-doc/sphinx.git
synced 2025-02-25 18:55:22 -06:00
sphinx.ext.pngmath: make Latex errors non-fatal for HTML output
This commit is contained in:
parent
331f625f91
commit
6be9f22ecf
@ -177,8 +177,29 @@ def cleanup_tempdir(app, exc):
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def _html_error(latex, message):
|
||||||
|
html = """
|
||||||
|
<div class="system-message">
|
||||||
|
<p class="system-message-title">System Message: WARNING/2</p>
|
||||||
|
<p>Latex error in a math directive</p>
|
||||||
|
<pre class="literal-block">
|
||||||
|
%s
|
||||||
|
</pre>
|
||||||
|
<pre class="literal-block">
|
||||||
|
%s
|
||||||
|
</pre>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
""" % (latex, message)
|
||||||
|
print "WARNING:", message
|
||||||
|
return html
|
||||||
|
|
||||||
def html_visit_math(self, node):
|
def html_visit_math(self, node):
|
||||||
|
try:
|
||||||
fname, depth = render_math(self, '$'+node['latex']+'$')
|
fname, depth = render_math(self, '$'+node['latex']+'$')
|
||||||
|
except MathExtError, exc:
|
||||||
|
self.body.append(_html_error(node['latex'], exc))
|
||||||
|
raise nodes.SkipNode
|
||||||
self.body.append('<img class="math" src="%s" alt="%s" %s/>' %
|
self.body.append('<img class="math" src="%s" alt="%s" %s/>' %
|
||||||
(fname, self.encode(node['latex']).strip(),
|
(fname, self.encode(node['latex']).strip(),
|
||||||
depth and 'style="vertical-align: %dpx" ' % (-depth) or ''))
|
depth and 'style="vertical-align: %dpx" ' % (-depth) or ''))
|
||||||
@ -189,7 +210,11 @@ def html_visit_displaymath(self, node):
|
|||||||
latex = node['latex']
|
latex = node['latex']
|
||||||
else:
|
else:
|
||||||
latex = wrap_displaymath(node['latex'], None)
|
latex = wrap_displaymath(node['latex'], None)
|
||||||
|
try:
|
||||||
fname, depth = render_math(self, latex)
|
fname, depth = render_math(self, latex)
|
||||||
|
except MathExtError, exc:
|
||||||
|
self.body.append(_html_error(node['latex'], exc))
|
||||||
|
raise nodes.SkipNode
|
||||||
self.body.append(self.starttag(node, 'div', CLASS='math'))
|
self.body.append(self.starttag(node, 'div', CLASS='math'))
|
||||||
self.body.append('<p>')
|
self.body.append('<p>')
|
||||||
if node['number']:
|
if node['number']:
|
||||||
|
Loading…
Reference in New Issue
Block a user