
    Mh                     v    d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ dd	lmZ  G d
 de          ZdS )zLaTeX Exporter class    N)default)Config)resolve_references)Highlight2Latex)ConvertExplicitlyRelativePaths   )TemplateExporterc                        e Zd ZdZdZ ed          d             Z ed          d             ZdZ fdZ	e
 fd	            Zd fd	Z fdZ xZS )LatexExporteraL  
    Exports to a Latex template.  Inherit from this class if your template is
    LaTeX based and you need custom transformers/filters.
    If you don't need custom transformers/filters, just change the
    'template_file' config option.  Place your template in the special "/latex"
    subfolder of the "../templates" folder.
    LaTeXfile_extensionc                     dS )Nz.tex selfs    Y/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/nbconvert/exporters/latex.py_file_extension_defaultz%LatexExporter._file_extension_default   s    v    template_namec                     dS )Nlatexr   r   s    r   _template_name_defaultz$LatexExporter._template_name_default!   s    wr   
text/latexc              #   n   K   t                                                      E d{V  dt          fV  dS )zGet the default filters.Nr   )superdefault_filtersr   )r   	__class__s    r   r   zLatexExporter.default_filters'   sG      77**,,,,,,,,,#%7888888r   c           
          t          dg diddiddiddiddiddiddid          }t                      j        r<t                      j                                        }|                    |           |}|S )Ndisplay_data_priority)r   zapplication/pdfz	image/pngz
image/jpegzimage/svg+xmlztext/markdownz
text/plainenabledT)NbConvertBaseExtractAttachmentsPreprocessorExtractOutputPreprocessorSVG2PDFPreprocessorLatexPreprocessorSphinxPreprocessorHighlightMagicsPreprocessor)r   r   default_configcopymerge)r   cc2r   s      r   r(   zLatexExporter.default_config,   s     , . . .
" 4=d2C.7->(14'8&/%6'0$&7094/@# 
 
* 77! 	',,..BHHQKKKAr   Nc                    |j                             di           }|                    d|                    dd                    }| j                            dt          ||                     }|                     d|           |r)|                    di                               d          nd}|rt
          j                            |          nt          j                    }| j                            d	t          || 
                    }	|                     d	|	            t                      j        ||fi |S )zConvert from notebook node.language_infopygments_lexernameNhighlight_code)r/   parentmetadatapath!convert_explicitly_relative_paths)	texinputsr2   )r3   getfiltersr   register_filterosr4   abspathgetcwdr   r   from_notebook_node)r   nb	resourceskwlanginfolexerr1   nb_pathr6   r5   r   s             r   r=   z LatexExporter.from_notebook_nodeI   s4   ;???B77-x||FD/I/IJJ))oU4PPP
 
 	-~>>> @IR)--
B//33F;;;d07HBGOOG,,,RY[[	,0L,<,</*YtLLL-
 -
) 	@Bcddd)uww)"i>>2>>>r   c                     t                                                      }d|_        d|_        d|_        d|_        d|_        d|_        |S )Nz((*z*))z(((z)))z((=z=)))r   _create_environmentblock_start_stringblock_end_stringvariable_start_stringvariable_end_stringcomment_start_stringcomment_end_string)r   environmentr   s     r   rE   z!LatexExporter._create_environment^   sP    gg1133 */&',$,1)*/'+0().&r   )N)__name__
__module____qualname____doc__export_from_notebookr   r   r   output_mimetyper   propertyr(   r=   rE   __classcell__)r   s   @r   r   r      s          #W   W_   #O9 9 9 9 9
     X8? ? ? ? ? ?*        r   r   )rP   r:   	traitletsr   traitlets.configr   nbconvert.filters.filter_linksr   nbconvert.filters.highlightr   nbconvert.filters.pandocr   templateexporterr	   r   r   r   r   <module>r[      s     
 
			       # # # # # # = = = = = = 7 7 7 7 7 7 C C C C C C . . . . . .W W W W W$ W W W W Wr   