o
oa @ s d Z ddlZddlmZmZmZ ddlmZ ddlZddl m
Z
ddlmZ ddl
mZ ddlmZ dd lmZ dd
lmZ dZejjeZded
ejddfddZded
ejddfddZde
dededededdfddZ de
deeef fddZ!dS )aT
sphinx.ext.mathjax
~~~~~~~~~~~~~~~~~~
Allow `MathJax `_ to be used to display math in
Sphinx's HTML writer -- requires the MathJax JavaScript library on your
webserver/computer.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
N)AnyDictcast)nodes)Sphinx)
MathDomain)ExtensionError)_)get_node_equation_number)HTMLTranslatorz;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.jsselfnodereturnc C sV | j | j|dddd | j | jjjd | | | jjjd d tj )Nspan math notranslate nohighlightCLASSr )
bodyappendstarttagbuilderconfigmathjax_inlineencodeastextr SkipNode)r r
r 4/usr/lib/python3/dist-packages/sphinx/ext/mathjax.pyhtml_visit_math! s r! c C sn | j | j|ddd |d r$| j | | | j d tj|d rCt| |}| j d| | |t d | j d | j | j
jjd
dd |
d
D }t|dkrf| j d t|D ],\}}| |}d|v r| j d| d n| j | |t|d k r| j d qjt|dkr| j d | j | j
jjd | j d tj)Ndivr r nowrapznumberz(%s)zPermalink to this equationr r c S s g | ]}| r|qS r )strip).0prtr r r
7 s z*html_visit_displaymath..z
r z \begin{align}\begin{aligned}z\\z
\begin{split}z\end{split}z\end{aligned}\end{align} z
)r r r r r r r r
add_permalink_refr r r mathjax_displaysplitlen enumerate)r r
r$ partsipartr r r html_visit_displaymath) s6
r1 apppagenametemplatenamecontext event_argc C s" | j jdks| j jdkrd S | jjstdtt| j d}| j
jdks*||ri }| jj
r7|| jj
d|vrLd|vrL| jjrHd|d<