
    <ip$              	         d Z ddlmZ dZddlZddlmZ ddlmZm	Z	 dZ
g fdZd%d&dZd%dZd%dZd%dZedk    rdZ ed            ed ee           d            ed ee                    dd                     d            ed ee           d            ed ee           d            ed            ed            e eed                      ed            e ee                    dd          d                      ed             e eed                      ed!            e eed                      ed"           d#Z	  e ed$e d$                     dS # e$ rMZ ee            eej                   ej        D ]Z ee                                            Y dZ[dS dZ[ww xY wdS )'zWrappers for TeX->MathML conversion by external tools

This module is provisional:
the API is not settled and may change with any minor Docutils version.
    )annotationsreStructuredTextN)nodes)	MathErrorwrap_math_codez;\documentclass{article}
\begin{document}
%s
\end{document}
c                   d}|s%| j         rt          j        d| j         dg          g}|rd| j        d          d}n9| j        rd| j        d          d| j         d	}n| j        sd| j        d          d
}|rt          ||          d S )N pre-wrapclasseszTeX to MathML converter `r   z	` failed:zTeX to MathMl converter `z` exited with Errno .z` returned no MathML.details)stderrr   	paragraphargs
returncodestdoutr   )resultr   msgs      /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/docutils/utils/math/tex2mathml_extern.py_check_resultr   #   s     C Mv} M?2v}zlKKKL PC&+a.CCC		 P96;q> 9 9$*$59 9 9] PO&+a.OOO
 .W----. .    Freturnstrc                   g d}|rdnd}t          | |          }d|v r|                    dd          } t          j        || dd          }d|j        v rH|j        |j                            d	          d
z   |j                            d                   |_        nG|j        |j                            d          d
z   |j                            d                   |_        t          |           d| d|j         dS )zbConvert LaTeX math code to MathML with blahtexml__.

    __ http://gva.noekeon.org/blahtexml/
    )	blahtexml--mathmlz
--indentedz	--spacingmoderatez--mathml-encodingrawz--other-encodingr    z--doctype-xhtml+mathmlz--annotate-TeXz display="block"r	   z{align*}z	{aligned}Tinputcapture_outputtextz<error>z	<message>	   z
</message>z<markup>z	</markup>z0<math xmlns="http://www.w3.org/1998/Math/MathML"z>
</math>)r   replace
subprocessrunr   findr   r   )	math_codeas_blockr   mathml_args_wrappedr   s         r   r   r   4   s<   
  D )18$$bKi22HX$$Z==	^D	+/d< < <F FM!!fm&8&8&E&Ea&G&,m&8&8&F&F'G H fm&8&8&D&DQ&F&,m&8&8&E&E'F G&({ ( (( ( ( )r   c                |  	 g d}t           t          | |          z  } d	t          j        || dd          }|j        r=d                    	fd|j                                        D                       |_        t          |           g d}t          j        ||j        dd          }|j        	                    d          }|d	k    rG|j        	                    d
|          dz   }|j        ||         
                    dd          |_        nG|j        |j        	                    d          |j        	                    d          dz            |_        |j        r|j        }n|j        }d                    	fd|                                D                       |_        t          |           |j        S )zConvert LaTeX math code to MathML with LaTeXML__.

    Comprehensive macro support but **very** slow.

    __ http://dlmf.nist.gov/LaTeXML/
    )latexml-z--preload=amsmathz--preload=amssymbz--inputencoding=utf8--)zError:zWarning:zFatal:Tr!   
c              3  F   K   | ]}|                               |V  d S N
startswith.0line
error_tagss     r   	<genexpr>zlatexml.<locals>.<genexpr>s   sP       #C #CD&*ooj&A&A#C4 #C #C #C #C #C #Cr   )latexmlpostr1   z--nonumbersectionsz--format=html5z--omitdoctypez--noscanz--nocrossrefz--nographicimagesz--nopictureimagesz--nodefaultresourcesr2   z<table class="ltx_equationgroupz</table>   ltx_equationgroupzborderless align-center<mathr&      c              3  F   K   | ]}|                               |V  d S r5   r6   r8   s     r   r<   zlatexml.<locals>.<genexpr>   sG       ? ?"&//*"="=?t ? ? ? ? ? ?r   )document_templater   r(   r)   r   join
splitlinesr   r   r*   r'   )
r+   r,   args1result1args2result2startstop_msg_sourcer;   s
            @r   r0   r0   X   s     E "N9h$G$GGI1JnU),0t= = =G~ C #C #C #C #CGN4M4M4O4O #C #C #C C C'  E nU'.,0t= = =G N ABBE{{~"":u55a7 d
3;;!:< < !(;(;G(D(D(/(;(;I(F(Fq(H)I J ~ %nnYY ? ? ? ?0F0F0H0H ? ? ? ? ?GN'>r   c                X   g d}t          j        |t          | |          dd          }|j        |j                            d          |j                            d          dz            |_        g }|j        r|j                                        }|t          j        d|d                   t          j	        dd	
                    |d
d                             t          j        dd	
                    |dd                   dg          gz  }t          ||           |j        S )zQConvert LaTeX math code to MathML with pandoc__.

    __ https://pandoc.org/
    )pandocr   z--from=latexTr!   rA   r&   rB   r	   r   r3         Nr
   r   r   )r(   r)   r   r   r*   r   rF   r   r   literal_blockrE   r   )r+   r,   r   r   r   liness         r   rO   rO      s6   
  D ^Dy((K(K+/d< < <F M&-"4"4W"="="(-"4"4Y"?"?"A#B CFM G} ((**EOBa11'DIIeAaCj,A,ABBOB		%)(<(<-7L: : : 	
 &'****=r   c                   g d}t          | |          } 	 t          j        || ddd          }n!# t          $ r}t	          |          d}~ww xY w|j        |j                            d          |j                            d          dz            |_        |r |j                            d	d
          |_        d                    d |j	        
                                D                       |_	        t          |           |j        S )z{Convert LaTeX math code to MathML with TtM__.

    Aged, limited, but fast.

    __ http://silas.psfc.mit.edu/tth/mml/
    )ttmz-Lz-rTz
ISO-8859-1)r"   r#   r$   encodingNrA   r&   rB   z<math xmlns=z<math display="block" xmlns=r3   c              3  Z   K   | ]&}|                     d           |dd         dz   V  'dS )z****    Nr   r6   )r9   r:   s     r   r<   zttm.<locals>.<genexpr>   sS       ; ;"&!%!9!9;d122hn ; ; ; ; ; ;r   )r   r(   r)   UnicodeEncodeErrorr   r   r*   r'   rE   r   rF   r   )r+   r,   r   r   errs        r   rU   rU      s;     D y(33II/3$)57 7 7    nn M&-"4"4W"="="(-"4"4Y"?"?"A#B CFM N--n.LN NII ; ;*0-*B*B*D*D; ; ; ; ;FM &=s   0 
AA		A__main__uR   \frac{\partial \sin^2(\alpha)}{\partial \vec r}\varpi \mathbb{R} \, \text{Grüße}z<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>test external mathml converters</title>
</head>
<body>
<p>Test external converters</p>
<p>
z	latexml: ,zttm: mathbbmathbfzblahtexml: zpandoc: r   z</p>z<p>latexml:</p>T)r,   z<p>ttm:</p>z<p>blahtexml:</p>z<p>pandoc:</p>z</main>
</body>
</html>z
\sinc \phy$)F)r   r   )__doc__
__future__r   __docformat__r(   docutilsr   docutils.utils.mathr   r   rD   r   r   r0   rO   rU   __name__exampleprintr'   buggyrZ   r   nodeastext r   r   <module>rl      s]    # " " " " ""           9 9 9 9 9 9 9 9  #% . . . ."!) !) !) !) !)H? ? ? ?D   B   F z6G 
E     
E
)ggg&&
)
)
)***	E
=##gooh99::
=
=
=>>>	E
-		'**
-
-
-...	E
'VVG__
'
'
'(((	E&MMM	E
	E'''D
)
)
)***	E-	E##gooh11D
A
A
ABBB	E
	E))Gd
+
+
+,,,	E
	E&&4
(
(
()))	E
%&&&E	! 	ff\\\\""##### ! ! !c


ckK 	! 	!DE$++--    	! 	! 	! 	! 	! 	!!K s   .F GAGG