
    :Mcn                     b    d 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    )default)Config)resolve_references)Highlight2Latex   )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    9lib/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 )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          }|                    t                      j                   |S )Ndisplay_data_priority)r   zapplication/pdfz	image/pngz
image/jpegzimage/svg+xmlztext/markdownz
text/plainenabledT)NbConvertBaseExtractOutputPreprocessorSVG2PDFPreprocessorLatexPreprocessorSphinxPreprocessorHighlightMagicsPreprocessor)r   merger   default_config)r   cr   s     r   r'   zLatexExporter.default_config)   s     , . . .
" /8->(14'8&/%6'0$&7094/@! 
 
( 	
&'''r   Nc                 D   |j                             di           }|                    d|                    dd                     }| j                            dt          ||                     }|                     d|            t                      j        ||fi |S )Nlanguage_infopygments_lexernamehighlight_code)r+   parent)metadatagetfiltersr   register_filterr   from_notebook_node)r   nb	resourceskwlanginfolexerr-   r   s          r   r3   z LatexExporter.from_notebook_nodeB   s    ;???B77-x||FD/I/IJJ))oU4PPP
 
 	-~>>>)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   r:   z!LatexExporter._create_environmentL   sP    gg1133 */&',$,1)*/'+0().&r   )N)__name__
__module____qualname____doc__export_from_notebookr   r   r   output_mimetyper   propertyr'   r3   r:   __classcell__)r   s   @r   r
   r
      s          #W   W_   #O9 9 9 9 9     X0? ? ? ? ? ?        r   r
   N)rE   	traitletsr   traitlets.configr   nbconvert.filters.filter_linksr   nbconvert.filters.highlightr   templateexporterr   r
   r   r   r   <module>rO      s            # # # # # # = = = = = = 7 7 7 7 7 7 . . . . . .G G G G G$ G G G G Gr   