U
    \Sh                     @  sR   d Z ddlmZ ddlmZ ddlmZ ddddd	d
ZdddddddZdS )zUtility functions for math.    )annotations)nodes)HTML5Translatorr   znodes.math_blockstr)writernodereturnc                 C  s~   | j jjrr| j jjrrd}| j jdkr:| jd  d| }n|}|d d }| j j|i |d}dt	t
|S |d	 S d S )
NZdisplaymathZ
singlehtml/Zidsr    .number)ZbuilderconfigZmath_numfigZnumfignameZdocnamesZ
fignumbersgetjoinmapr   )r   r   Zfigtypekeyidr   r   r   C/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/util/math.pyget_node_equation_number
   s    r   z
str | Nonebool)textlabel	numberingr   c                 C  s   dd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}|D ]}	|d|	   qd|}
| d|
 | S )Nr   )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\\

)listfiltersplitlenappendr   r   )r   r   r   r   ZlabeldefpartsZ	equationsbeginendr   Zconcatenated_equationsr   r   r   wrap_displaymath   s2    
r)   N)	__doc__
__future__r   Zdocutilsr   Zsphinx.builders.htmlr   r   r)   r   r   r   r   <module>   s
   