
    g                        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j6                  j9                  dg d      d        Zej6                  j9                  dddg      d        Zej6                  j9                  dddg      d        Zd Z ej6                  jC                  d       ej6                  j9                  d!d	d"g      d#               Z"	  e	jF                  d$      jH                   ed%      k  Z% ed'gg d(de%rd)nd *      d+        Z'y# e	jL                  $ r d&Z%Y -w xY w),    )TemporaryFileN)parse)dviread)_has_tex_package)check_figures_equalimage_comparison)needs_usetextest_usetexpdfpngmpl20)baseline_images
extensionsstylec                  h   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 | |j                  D ch c]  }|j                         d    c}D ]  }|j                  |        |j                  D ch c]  }|j                         d    c}D ]  }|j                  |        |j                          y c c}w c c}w )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}$   )mplrcParamspltsubplotsdicttexttextsget_positionaxvlineaxhlineset_axis_off)figaxkwargstxys         Y/var/www/dash_apps/app1/venv/lib/python3.12/site-packages/matplotlib/tests/test_usetex.pyr
   r
      s   
 #'CLLllnGC#-rqC6BDFBGG   BGG%f%BGG4V4BGG,V,BGG,V,+-884aannq!4 


1+-884aannq!4 


1OO	 54s   %D*&D/c                 P    dt         j                  d<   | j                  ddd       y )NTr         ?z% a commentr!   r"   r&   fig_testfig_refs     r2   
test_emptyr9   -   s     "&CLLMM"b-(    c                 v    dt         j                  d<   | j                  ddd       |j                  ddd       y )NTr   r4   z$-$u   −r5   r6   s     r2   test_unicode_minusr<   3   s1    "&CLLMM"b% LLR)*r:   c                      dt         j                  d<   t        j                         } | j                         j	                  dd       dt
        j                  d<   | j                  j                          y )NTzaxes.formatter.use_mathtextr    r   )r#   r"   figureadd_subplotset_xlimr!   canvasdraw)r,   s    r2   test_mathdefaultrD   :   sQ    26CLL./
**,COOr1% #'CLLJJOOr:   zeqnarray.pngc                  b    d} t        j                  d      }|j                  dd| ddd       y )Nz/\begin{eqnarray*}foo\\bar\\baz\\\end{eqnarray*})r    r    )figsizer4   Tcenter)usetexhorizontalalignmentr   )r#   r?   r&   )r&   r,   s     r2   test_multiline_eqnarrayrJ   D   s;    	 	 **V
$CHHS#tD!)X  Gr:   fontsize)   
      c           	         t         j                  j                  d       | t         j                  d<   i }t	        j
                         }dD ]  }|j                          |D ]  }|j                  ddd| dd        |j                  j                          t        j                  |j                  j                               d   d	k7  j                  d
      j                         ||<    t        h |j!                               d
k(  sJ y )Nr   z	font.size))r    )r>   )r>   r    r4   $TrH   ).r      r    )axis)r!   r   user"   r#   r?   clearr&   rB   rC   nparraybuffer_rgbaanysumlenvalues)rK   heightsr,   valsr0   s        r2   test_minus_no_descentr_   S   s    
 IIMM' (CLLG
**,C& -		 	4AHHRq1XdH3	4

((3::#9#9#;<VDK#1#+cce 	- "!"#q(((r:   pkgxcolorchemformulac                    t        |       st        j                  |  d       dt        j                  d<   t        j                         }|j                  ddd      }|j                  j                          d| z  t        j                  d<   t        j                         }|j                  ddd      }|j                  j                          t        j                  j                  |j                         |j                                y )Nz is not availableTr   r4   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}text.latex.preamble)r   pytestskipr!   r"   r#   r?   r&   rB   rC   rV   testingassert_array_equalget_window_extent)r`   r,   r&   text2s       r2   test_usetex_packagesrk   g   s    C se,-."&CLL
**,C88C45DJJOO 	DcI LL&'
**,CHHS#56EJJOOJJ!!%"9"9";"&"8"8":<r:   preamblez\usepackage[full]{textcomp}z\usepackage{underscore}c                     | t         j                  d<   t        j                         }|j                  dddd       |j                  j                          y )Nrd   r4   zhello, worldTrQ   )r#   r"   r?   r&   rB   rC   )rl   r,   s     r2   test_latex_pkg_already_loadedrn   z   s@    
 +3CLL&'
**,CHHR^DH1JJOOr:   c                  ,   dt         j                  d<   t        d      d d d   t        d      d} t        j                         \  }}|j	                  dd|        |j                          |j                  d	d	d
d       t        j                          y )NTr      r>   )a_bcrr   rq   )datar   foo_barrQ   )r#   r"   ranger$   plotlegendr&   rC   )dfr,   r-   s      r2   test_usetex_with_underscorery      sq    "&CLLq$B$eAh	/BllnGCGGCRG IIKGGAq)DG)HHJr:      )rerunsfmtsvgc                    |j                  t        j                  dd        dt        j                  d<   t        j                         \  }}|j                  ddd       t               5 }t        j                  t              5  |j                  ||        ddd       ddd       y# 1 sw Y   xY w# 1 sw Y   yxY w)	z:An error is raised if a TeX font lacks a Type-1 equivalent__getitem__c                 6    t        j                  ddd d d       S )Ns   texfonts	   Some Font)texnamepsnameeffectsencodingfilename)r   PsFont)selfr   s     r2   <lambda>z%test_missing_psfont.<locals>.<lambda>   s    |4$8 r:   Tr   r4   hello)formatN)setattrr   
PsfontsMapr!   r"   r#   r$   r&   r   re   raises
ValueErrorsavefig)r|   monkeypatchr,   r-   tmpfiles        r2   test_missing_psfontr      s     M	89
 #'CLLllnGCGGCg	 )GV]]:%> )GC() ) ) ) ) )s$   *B5B)B5)B2	.B55B>gsz9.55Trotation)epsr   r   r}   gHzG@)r   r   r   tolc                     dt         j                  d<   t        j                         } | j	                  g d      }|j                  ddgg ddgg d       d	D ci c]  }||d
   
 }}d|d<   d|d<   t        g d      D ]  \  }}t        g d      D ]o  \  }}t        g d      D ]Z  \  }}	|dz  }||dz  z   }
||dz  z   }|j                  |
|dd| dd       |j                  |
|d||    ||    d|	 d|	||       \ q  y c c}w )NTr   )r   r   r    r    g      rp   rz   F)xlimxticksylimyticksframe_on)toprG   bottomleftrightr   Br   Ccenter_baseline)r   rG   r   r   r   )r   rG   r   )r   Z      i     +   r4   )rr   
markersizemarkeredgewidthz$\mathrm{My  z}$)r   rI   r   )	r!   r"   r#   r?   add_axesset	enumeraterv   r&   )r,   r-   valr&   ivajhar   angler0   r1   s               r2   test_rotationr      sL    #'CLL
**,C	l	#BFFq	"D!9R%FP#OPCCQKPDPD!D	UV 	V2:; 	VEAr%&78 V5aAIAI1cqWSQ1tBxjb
!E7#N!&BRT  VV	V	V	 Qs   D)(tempfiler   numpyrV   packaging.versionr   parse_versionre   
matplotlibr!   r   matplotlib.testingr   matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr	   matplotlib.pyplotpyplotr#   
pytestmarkr
   r9   r<   rD   rJ   markparametrizer_   rk   rn   ry   flakyr   _get_executable_infoversion_old_gs_versionExecutableNotFoundErrorr    r:   r2   <module>r      s   "  4    / O 4  
 "Ou~
	. ) )
 + + >"#G $G [1) 2)& = 9:< ;<$ #%?@	 !/) 0 ).c..t4<<}V?TTO
 :,;W_T!EVEV "" Os   .%E- -F F