B
    .Kc                 @   sX   d Z ddlmZ ddlmZ ddlmZ eejedddZ	eee e
edd	d
ZdS )zUtility functions for math.    )Optional)nodes)HTMLTranslator)writernodereturnc             C   s|   | j jjrp| j jjrpd}| j jdkr8d| jd |f }n|}|d d }| j j|i |d}dt	t
|S |d	 S d S )
NZdisplaymathZ
singlehtmlz%s/%sZidsr    .number)ZbuilderZconfigZmath_numfigZnumfignameZdocnamesZ
fignumbersgetjoinmapstr)r   r   Zfigtypekeyidr   r	   r	   /lib/python3.7/site-packages/sphinx/util/math.pyget_node_equation_number
   s    r   )textlabel	numberingr   c       
      C   s   t t ddd}|d krd}nd| }d}tt|| d}g }t|dkrRdS t|d	kr|rpd
| }d}nd| }d}|d|d   n>|rd| }d}nd| }d}x|D ]}	|d|	   qW d|d||f S )N)partr   c             S   s   |   S )N)strip)r   r	   r	   r   is_equation   s    z%wrap_displaymath.<locals>.is_equation z
\label{%s}Tz

r      z\begin{equation}z\end{equation}z\begin{equation*}z\end{equation*}z\begin{split}%s\end{split}
z \begin{align}%s\!\begin{aligned}z\end{aligned}\end{align}z!\begin{align*}%s\!\begin{aligned}z\end{aligned}\end{align*}z%s\\
z%s
%s%s)r   listfiltersplitlenappendr   r   )
r   r   r   r   ZlabeldefpartsZ	equationsZbeginendr   r	   r	   r   wrap_displaymath   s0    
r$   N)__doc__typingr   Zdocutilsr   Zsphinx.builders.htmlr   Z
math_blockr   r   boolr$   r	   r	   r	   r   <module>   s
   