
    
3j.#                        S SK r S SKJr  S SKrS SKJr  S SKrS SK	r
S SK	Jr  S SKJr  S SKJrJr  S SKJr  S SKJr  \r\" S/S	S
/SS9S 5       r\" / SQS9S 5       r\" / SQS9S 5       rS r\" S/SS9S 5       r\R8                  R;                  S/ SQ5      S 5       r\R8                  R;                  SSS/5      S 5       r\R8                  R;                  SSS/5      S  5       r S! r!\R8                  RE                  S"S#9\R8                  R;                  S$S	S%/5      S& 5       5       r#S' r$ \
RJ                  " S(5      RL                  \" S)5      :  r'\" S+// S,QS\'(       a  S-OS S.9S/ 5       r)S0 r*g! \
RP                   a    S*r' N3f = f)1    N)TemporaryFile)parse)dviread)_has_tex_package)check_figures_equalimage_comparison)needs_usetextest_usetexpdfpngmpl20)baseline_images
extensionsstylec                  r   S[         R                  S'   [        R                  " 5       u  pSS[	        SSSS9S	.nUR
                  " S
0 UD6  UR
                  " S0 UD6  UR
                  " S0 UD6  UR
                  " S0 UD6  UR
                  " S0 UD6  UR                   Vs1 s H  o3R                  5       S   iM     sn H  nUR                  U5        M     UR                   Vs1 s H  o3R                  5       S   iM     sn H  nUR                  U5        M     UR                  5         g s  snf s  snf )NTtext.usetexbaseline   r   knone)pad	edgecolor	facecolor)verticalalignmentsizebbox)皙?ffffff?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         V/home/wildlama/miniconda3/lib/python3.13/site-packages/matplotlib/tests/test_usetex.pyr
   r
      s   
 #'CLLllnGC#-rqC6BDFGG   GG%f%GG4V4GG,V,GG,V,+-8848annq!84


1 5+-8848annq!84


1 5OO	 54s   "D/'D4)r   r   svg)r   c                 P    S[         R                  S'   U R                  SSS5        g )NTr         ?z% a commentr"   r#   r'   fig_testfig_refs     r3   
test_emptyr;   .   s     "&CLLMM"b-(    c                 v    S[         R                  S'   U R                  SSS5        UR                  SSS5        g )NTr   r6   z$-$u   −r7   r8   s     r3   test_unicode_minusr>   4   s1    "&CLLMM"b% LLR)*r<   c                      S[         R                  S'   [         R                  " 5       n U R                  5       R	                  SS5        S[
        R                  S'   U R                  R                  5         g )NTzaxes.formatter.use_mathtextr!   r   )r$   r#   figureadd_subplotset_xlimr"   canvasdraw)r-   s    r3   test_mathdefaultrF   ;   sQ    26CLL./
**,COOr1% #'CLLJJOOr<   zeqnarray.png)r   c            	      X    Sn [         R                  " SS9nUR                  SSU SSSS9  g )Nz/\begin{eqnarray*}foo\\bar\\baz\\\end{eqnarray*})r!   r!   )figsizer6   Tcenter)usetexhorizontalalignmentr   )r$   rA   r'   )r'   r-   s     r3   test_multiline_eqnarrayrL   E   s;    	 	 **V
$CHHS#tD!)X  Gr<   fontsize)   
      c           	         [         R                  R                  S5        U [         R                  S'   0 n[        R
                  " 5       nS H  nUR                  5         U H  nUR                  SSSU S3SS9  M     UR                  R                  5         [        R                  " UR                  R                  5       5      S   S	:g  R                  S
S9R                  5       X'   M     [        1 UR!                  5       k5      S
:X  d   eg )Nr   z	font.size))r!   )r@   )r@   r!   r6   $TrJ   ).r      r!   )axis)r"   r   user#   r$   rA   clearr'   rD   rE   nparraybuffer_rgbaanysumlenvalues)rM   heightsr-   valsr1   s        r3   test_minus_no_descentra   T   s    
 IIMM' (CLLG
**,C&		AHHRq1XdH3 

((3::#9#9#;<VDK#1#+cce 	 ' "!"#q(((r<   pkgxcolorchemformulac                 (   [        U 5      (       d  [        R                  " U  S35        S[        R                  S'   [
        R                  " 5       nUR                  SSS5      nUR                  R                  5         SU -  [        R                  S'   [
        R                  " 5       nUR                  SSS5      nUR                  R                  5         [        R                  R                  UR                  5       UR                  5       5        g )Nz is not availableTr   r6   zSome text 0123456789z8\PassOptionsToPackage{dvipsnames}{xcolor}\usepackage{%s}text.latex.preamble)r   pytestskipr"   r#   r$   rA   r'   rD   rE   rX   testingassert_array_equalget_window_extent)rb   r-   r'   text2s       r3   test_usetex_packagesrm   h   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                     U [         R                  S'   [         R                  " 5       nUR                  SSSSS9  UR                  R                  5         g )Nrf   r6   zhello, worldTrS   )r$   r#   rA   r'   rD   rE   )rn   r-   s     r3   test_latex_pkg_already_loadedrp   {   s@    
 +3CLL&'
**,CHHR^DH1JJOOr<   c                  "   S[         R                  S'   [        S5      S S S2   [        S5      S.n [         R                  " 5       u  pUR	                  SSU S9  UR                  5         UR                  S	S	S
SS9  [         R                  " 5         g )NTr      r@   )a_bcrt   rs   )datar   foo_barrS   )r$   r#   ranger%   plotlegendr'   rE   )dfr-   r.   s      r3   test_usetex_with_underscorer{      so    "&CLLq$B$eAh	/BllnGCGGCRG IIKGGAq)DG)HHJr<      )rerunsfmtr4   c                    UR                  [        R                  SS 5        S[        R                  S'   [
        R                  " 5       u  p#UR                  SSS5        [        5        n[        R                  " [        5         UR                  X@S9  SSS5        SSS5        g! , (       d  f       N= f! , (       d  f       g= f)	z:An error is raised if a TeX font lacks a Type-1 equivalent__getitem__c                 2    [         R                  " SSS S S S9$ )Ns   texfonts	   Some Font)texnamepsnameeffectsencodingfilename)r   PsFont)selfr   s     r3   <lambda>%test_missing_psfont.<locals>.<lambda>   s    |4$8r<   Tr   r6   helloformatN)setattrr   
PsfontsMapr"   r#   r$   r%   r'   r   rg   raises
ValueErrorsavefig)r~   monkeypatchr-   r.   tmpfiles        r3   test_missing_psfontr      s     M	89
 #'CLLllnGCGGCg	GV]]:%>G( &?%>%>s$   *B7B&B7&
B4	0B77
Cc                  H   [         R                  " S5      n S[        R                  S'   S[        R                  S'   [        R
                  " 5       u  pUR                  SSS5        UR                  SS	S
5        [        5        nUR                  USS9  UR                  S5        U R                  R                  U5      n0 nUR                  S   nUR                  R                  R                  5        H  u  pxUR                   S:X  d   SU SU S35       e[#        US   5      R%                  S5      n	[&        R(                  " SU	5      (       d   SU SU	 S35       eSUR*                  ;   d   SU SU	 S35       eU	R-                  SS5      u  p[/        [1        US   S   5      5      X['   M     SSS5        [3        SW5        1 SkR5                  U5      (       d   S5       eUR                  5        H  u  puUS :  a  M   SU SU S!35       e   g! , (       d  f       Ng= f)"z2Test that fonts in PDF output are properly subset.pikepdfTr   z\usepackage{amssymb}rf   r   r   z<$\int_{-\infty}^{\aleph}\sqrt{\alpha\beta\gamma}\mathrm{d}x$r6   z3$\mathfrak{x}\circledcirc\mathfrak{y}\in\mathbb{R}$r   r   r   z/Type1zFont =z is not a Type 1 fontz	/BaseFont/z^[A-Z]{6}\+z lacks a subset indicator tagz	/FontFilezType 1 font z is not embedded+r!   z/FontDescriptorNzEmbedded font stream lengths:>   CMR12CMSY8CMEX10CMMI12CMSY10EUFM10MSAM10MSBM10z!Missing expected fonts in the PDFi:  z is larger than expected)rg   importorskipr"   r#   r$   r%   r'   r   r   seekPdfopenpages	ResourcesFontitemsSubtypestrremoveprefixrematchFontDescriptorsplitr]   bytesprintissubset)r   r-   r.   r   r   lengthpage	font_namefont	base_font_original_names               r3   test_pdf_type1_font_subsettingr      s    !!),G"&CLL*ACLL&'llnGCGGCUVGGCLM	GGE*Qkkw'yy|#~~2288:OI<<8+ 	{!D6)>?+
 D-.;;C@I88NI66 	{!I;.KL6 $"5"55 yk9+5EF5  )sA6A$'d3D.Ek.R(S$TF!  ; 
. 

)62	 hv	 	< <	< 	 $\\^	 	
I;ax'?@	
 ,K 
s   D.H
H!gsz9.55Trotation)epsr   r   r4   gHzG@)r   r   r   tolc                     S[         R                  S'   [        R                  " 5       n U R	                  S5      nUR                  S/ S/ SS9  S Vs0 s H  o"US	   _M
     nnS
US'   SUS'   [        / SQ5       Hy  u  pE[        / SQ5       Hc  u  pg[        / SQ5       HM  u  pUS-  nXHS-  -   n
XhS-  -   nUR                  XSSU 3SSS9  UR                  XSX7    X5    SU	 S3XUS9  MO     Me     M{     g s  snf )NTr   )r   r   r!   r!   )      rr   )r   r|   F)xlimxticksylimyticksframe_on)toprI   bottomleftrightr   Br   Ccenter_baseline)r   rI   r   r   r   )r   rI   r   )r   Z      i     r      r6   )rt   
markersizemarkeredgewidthz$\mathrm{My  z}$)r   rK   r   )	r"   r#   r$   rA   add_axesset	enumeraterx   r'   )r-   r.   valr'   ivajhar   angler1   r2   s               r3   test_rotationr      s    #'CLL
**,C	l	#BFF	"9R%FP#OP#OCQK#ODPD!D	UV:;EA%&78aAIAIcqWSQtxj
!E7#N!&RT  V 9 < W	 Qs   C7c                  *   [         R                  R                  5       n U R                  [         R                  R                  5       S5      S   S   S   nU R                  [         R                  R                  5       S5      S   S   S   nX:X  d   eg )NWr   r|   z\textwon)r"   textpath
TextToPathget_glyphs_texfont_managerFontProperties)tpscale1scale2s      r3   test_unicode_sizingr      s    		 	 	"Bs//>>@#FqI!LQOFs//>>@+NqQRSTUVWFr<   )+r   tempfiler   numpyrX   packaging.versionr   parse_versionrg   
matplotlibr"   r   matplotlib.testingr   matplotlib.testing.decoratorsr   r   matplotlib.testing._markersr	   matplotlib.pyplotpyplotr$   
pytestmarkr
   r;   r>   rF   rL   markparametrizera   rm   rp   r{   flakyr   r   _get_executable_infoversion_old_gs_versionExecutableNotFoundErrorr   r    r<   r3   <module>r      s   	 "  4    / O 4  
 "Ou~
	.  56) 7)
  56+ 7+ >"'2G 3G [1) 2)& = 9:< ;<$ #%?@	 !/) 0 )2
~..t4<<}V?TTO
 :,;W_T!EVEV.; "" Os   0%E4 4F	F	