
    f                     n    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y)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                      y)Nz.tex selfs    T/var/www/cvtools/html/venv/lib/python3.12/site-packages/nbconvert/exporters/latex.py_file_extension_defaultz%LatexExporter._file_extension_default   s        template_namec                      y)Nlatexr   r   s    r   _template_name_defaultz$LatexExporter._template_name_default!   s    r   
text/latexc              #   R   K   t         |          E d{    dt        f y7 w)zGet the default filters.Nr   )superdefault_filtersr   )r   	__class__s    r   r   zLatexExporter.default_filters'   s)     7*,,,#%788 	-s   '%'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        |   r+t        |   j                         }|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/@#
* 7!',,.BHHQKAr   c                 :   |j                   j                  di       }|j                  d|j                  dd            }| j                  j                  dt        ||             }| j	                  d|       |r!|j                  di       j                  d      nd}|rt
        j                  j                  |      nt        j                         }| j                  j                  d	t        || 
            }	| j	                  d	|	       t        
| ,  ||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   s    ;;???B7-x||FD/IJ))oU4P
 	-~> @I)--
B/33F;d07BGGOOG,RYY[	,0LL,<,</*YtL-
) 	@Bcdw)"i>2>>r   c                 x    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^   sH    g1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      sp     #  _  #O9
  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 C .W$ Wr   