File: //usr/lib/python3/dist-packages/sphinx/ext/__pycache__/mathjax.cpython-310.pyc
o
o�a� � @ s� d Z ddlZddlmZmZmZ ddlmZ ddlZddl m
Z
ddlmZ ddl
mZ ddlmZ dd lmZ dd
lmZ dZejj�e�Zded
ejddfdd�Zded
ejddfdd�Zde
dededededdfdd�Z de
deeef fdd�Z!dS )aT
sphinx.ext.mathjax
~~~~~~~~~~~~~~~~~~
Allow `MathJax <https://www.mathjax.org/>`_ 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)�Any�Dict�cast)�nodes)�Sphinx)�
MathDomain)�ExtensionError)�_)�get_node_equation_number)�HTMLTranslatorz;https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js�self�node�returnc C sV | j �| j|dddd�� | j �| jjjd | �|�� � | jjjd d � tj �)N�span� �math notranslate nohighlight��CLASSr � �</span>)
�body�append�starttag�builder�config�mathjax_inline�encode�astextr �SkipNode)r r
� r �4/usr/lib/python3/dist-packages/sphinx/ext/mathjax.py�html_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�)N�divr r �nowrapz</div>�numberz<span class="eqno">(%s)zPermalink to this equationr r c S s g | ]}|� � r|�qS r )�strip)�.0�prtr r r �
<listcomp>7 s z*html_visit_displaymath.<locals>.<listcomp>z
r z \begin{align}\begin{aligned}z\\z
\begin{split}z\end{split}z\end{aligned}\end{align} z</div>
)r r r r r r r r
�add_permalink_refr r r �mathjax_display�split�len� enumerate)r r
r$ �parts�i�partr r r �html_visit_displaymath) s6
�r1 �app�pagename�templatename�context� event_argc C s" | j jdks| j jdkrd S | jjstd��tt| j� d��}| j
jdks*|�|�r�i }| jj
r7|�| jj
� d|vrLd|vrL| jjrHd|d<