
    P/Ph                     L   d dl mZ d dlZd dlmZ d dlZd dlZ	d dlm
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ eZ edgd	d
gd          d             Z e            d             Z e            d             Zd Z edg          d             Zej                            dg d          d             Zej                            dddg          d             Zej                            dddg          d             Zd Z ej        !                    d           ej                            d!d	d"g          d#                         Z"	  e	j#        d$          j$         ed%          k     Z%n# e	j&        $ r d&Z%Y nw xY w ed'gg d(de%rd)nd *          d+             Z'dS ),    )TemporaryFileN)parse)dviread)_has_tex_package)check_figures_equalimage_comparison)needs_usetextest_usetexpdfpngmpl20)baseline_images
extensionsstylec                     dt           j        d<   t          j                    \  } }ddt	          ddd          d	} |j        d
i |  |j        di |  |j        di |  |j        di |  |j        di | d |j        D             D ]}|                    |           d |j        D             D ]}|                    |           |	                                 d S )NTtext.usetexbaseline   r   knone)pad	edgecolor	facecolor)verticalalignmentsizebbox)皙?gffffff?zO\LaTeX\ $\left[\int\limits_e^{2e}\sqrt\frac{\log^3 x}{x}\,\mathrm{d}x \right\}$)r   333333?lg)g?r   z$\frac{1}{2}\pi$)g333333?r   z	$p^{3^A}$)g?r   z	$p_{3_2}$c                 B    h | ]}|                                 d          S r   get_position.0ts     \/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/matplotlib/tests/test_usetex.py	<setcomp>ztest_usetex.<locals>.<setcomp>&   '    444aannq!444    c                 B    h | ]}|                                 d          S    r"   r$   s     r'   r(   ztest_usetex.<locals>.<setcomp>(   r)   r*   )
mplrcParamspltsubplotsdicttexttextsaxvlineaxhlineset_axis_off)figaxkwargsxys        r'   r
   r
      sA   
 #'CLlnnGC#-rqC6BBBD DFBG      BG%%f%%%BG44V444BG,,V,,,BG,,V,,,4428444  


14428444  


1OOr*   c                 R    dt           j        d<   |                     ddd           d S )NTr         ?z% a commentr.   r/   r3   fig_testfig_refs     r'   
test_emptyrC   -   s*    "&CLMM"b-(((((r*   c                     dt           j        d<   |                     ddd           |                    ddd           d S )NTr   r>   z$-$u   −r?   r@   s     r'   test_unicode_minusrE   3   sA    "&CLMM"b%   LLR)*****r*   c                      dt           j        d<   t          j                    } |                                                     dd           dt
          j        d<   | j                                         d S )NTzaxes.formatter.use_mathtextr-   r   )r0   r/   figureadd_subplotset_xlimr.   canvasdraw)r8   s    r'   test_mathdefaultrM   :   s`    26CL./
*,,COOr1%%% #'CLJOOr*   zeqnarray.pngc                  j    d} t          j        d          }|                    dd| ddd           d S )Nz/\begin{eqnarray*}foo\\bar\\baz\\\end{eqnarray*})r-   r-   )figsizer>   Tcenter)usetexhorizontalalignmentr   )r0   rH   r3   )r3   r8   s     r'   test_multiline_eqnarrayrS   D   sW    	 	 *V
$
$
$CHHS#tD!)X  G G G G Gr*   fontsize)   
      c           	      B   t           j                            d           | t           j        d<   i }t	          j                    }dD ]}|                                 |D ]}|                    ddd| dd            |j        	                                 t          j        |j                                                  d         d	k                        d
                                          ||<   t          h |                                          d
k    sJ d S )Nr   z	font.size)r,   )rG   )rG   r-   r>   $TrQ   ).r      r-   )axis)r.   r   user/   r0   rH   clearr3   rK   rL   nparraybuffer_rgbaanysumlenvalues)rT   heightsr8   valsr;   s        r'   test_minus_no_descentrh   S   s
   
 IMM' (CLG
*,,C& - -		 	4 	4AHHRXXXXdH3333
(3:#9#9#;#;<<VDK#1#++ccee 	"!!"##q((((((r*   pkgxcolorchemformulac                 (   t          |           st          j        |  d           dt          j        d<   t          j                    }|                    ddd          }|j        	                                 d| z  t          j        d<   t          j                    }|                    ddd          }|j        	                                 t          j                            |                                |                                           d S )Nz is not availableTr   r>   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}text.latex.preamble)r   pytestskipr.   r/   r0   rH   r3   rK   rL   r_   testingassert_array_equalget_window_extent)ri   r8   r3   text2s       r'   test_usetex_packagesrt   g   s    C   /s---..."&CL
*,,C88C455DJOO 	DcI L&'
*,,CHHS#566EJOOJ!!%"9"9";";"&"8"8":":< < < < <r*   preamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                     | t           j        d<   t          j                    }|                    dddd           |j                                         d S )Nrm   r>   zhello, worldTrZ   )r0   r/   rH   r3   rK   rL   )ru   r8   s     r'   test_latex_pkg_already_loadedrw   z   sN    
 +3CL&'
*,,CHHR^DH111JOOr*   c                  P   dt           j        d<   t          d          d d d         t          d          d} t          j                    \  }}|                    dd|            |                                 |                    d	d	d
d           t          j                     d S )NTr      rG   )a_bcr{   rz   )datar   foo_barrZ   )r0   r/   ranger1   plotlegendr3   rL   )dfr8   r9   s      r'   test_usetex_with_underscorer      s    "&CLq$$B$eAhh	/	/BlnnGCGGCRG   IIKKKGGAq)DG)))HJJJJJr*      )rerunsfmtsvgc                    |                     t          j        dd            dt          j        d<   t          j                    \  }}|                    ddd           t                      5 }t          j
        t                    5  |                    ||            ddd           n# 1 swxY w Y   ddd           dS # 1 swxY w Y   dS )	z:An error is raised if a TeX font lacks a Type-1 equivalent__getitem__c                 4    t          j        ddd d d           S )Ns   texfonts	   Some Font)texnamepsnameeffectsencodingfilename)r   PsFont)selfr   s     r'   <lambda>z%test_missing_psfont.<locals>.<lambda>   s#    |4$8 8 8 r*   Tr   r>   hello)formatN)setattrr   
PsfontsMapr.   r/   r0   r1   r3   r   rn   raises
ValueErrorsavefig)r   monkeypatchr8   r9   tmpfiles        r'   test_missing_psfontr      sF    M	8 	89 9 9
 #'CLlnnGCGGCg	 )GV]:%>%> ) )GC((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s6   -CB+C+B/	/C2B/	3CC
Cgsz9.55Trotation)epsr   r   r   gHzG@)r   r   r   tolc                  0   dt           j        d<   t          j                    } |                     g d          }|                    ddgg ddgg d           d	 d
D             }d|d<   d|d<   t          g d          D ]\  }}t          g d          D ]\  }}t          g d          D ]h\  }}|dz  }||dz  z   }	||dz  z   }
|                    |	|
dd| dd           |                    |	|
d||          ||          d| d|||           id S )NTr   )r   r   r-   r-   g      ry   r   F)xlimxticksylimyticksframe_onc                      i | ]}||d          S r!    )r%   vals     r'   
<dictcomp>z!test_rotation.<locals>.<dictcomp>   s    PPPCCQPPPr*   )toprP   bottomleftrightBr   Ccenter_baseline)r   rP   r   r   r   )r   rP   r   )r   Z      i     +   r>   )r{   
markersizemarkeredgewidthz$\mathrm{My  z}$)r   rR   r   )	r.   r/   r0   rH   add_axesset	enumerater   r3   )r8   r9   r3   ivajhar   angler;   r<   s              r'   test_rotationr      s    #'CL
*,,C	lll	#	#BFFq	"D!9R%FPPPPP#OPPPDD!D	UUUVV 	V 	V2:::;; 	V 	VEAr%&7&7&788 V V5aAIAI1cWWWSQQQ1NtBxNbNNENNN!&BRT  V V V VV	V	V 	Vr*   )(tempfiler   numpyr_   packaging.versionr   parse_versionrn   
matplotlibr.   r   matplotlib.testingr   matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr	   matplotlib.pyplotpyplotr0   
pytestmarkr
   rC   rE   rM   rS   markparametrizerh   rt   rw   r   flakyr   _get_executable_infoversion_old_gs_versionExecutableNotFoundErrorr   r   r*   r'   <module>r      s'   " " " " " "     4 4 4 4 4 4            / / / / / / O O O O O O O O 4 4 4 4 4 4       
 "Ou~
   	 . ) ) )
 + + +   >"##G G $#G [[[11) ) 21)& = 9::< < ;:<$ #%?@  	    !//) ) 0/ ).c.t44<}}V?T?TTOO
"   OOO :,;W;W;W_%CTT!E E EV VE EV V Vs   "E3 3FF