o
    *ήcT	                     @   s   d Z G dd dZdS )z
Base class to provide str and repr hooks that `init_printing` can overwrite.

This is exposed publicly in the `printing.defaults` module,
but cannot be defined there without causing circular imports.
c                   @   s8   e Zd ZdZdZdd ZeZdd ZeZeZ	dd Z
d	S )
	Printablea  
    The default implementation of printing for SymPy classes.

    This implements a hack that allows us to print elements of built-in
    Python containers in a readable way. Natively Python uses ``repr()``
    even if ``str()`` was explicitly requested. Mix in this trait into
    a class to get proper default printing.

    This also adds support for LaTeX printing in jupyter notebooks.
     c                 C   s   ddl m} || d dS )N    )sstr)order)sympy.printing.strr   )selfr   r   r   @/tmp/pip-target-vg8gfxp4/lib/python/sympy/core/_print_helpers.py__str__   s   zPrintable.__str__c                 C   s   dS )ax  
        No-op repr function used to disable jupyter display hooks.

        When :func:`sympy.init_printing` is used to disable certain display
        formats, this function is copied into the appropriate ``_repr_*_``
        attributes.

        While we could just set the attributes to `None``, doing it this way
        allows derived classes to call `super()`.
        Nr   )r   r   r   r   _repr_disabled!   s   zPrintable._repr_disabledc                 C   s    ddl m} || dd}d| S )a^  
        IPython/Jupyter LaTeX printing

        To change the behavior of this (e.g., pass in some settings to LaTeX),
        use init_printing(). init_printing() will also enable LaTeX printing
        for built in numeric types like ints and container types that contain
        SymPy objects, like lists and dictionaries of expressions.
        r   )latexplain)modez$\displaystyle %s$)sympy.printing.latexr   )r   r   sr   r   r   _repr_latex_6   s   	zPrintable._repr_latex_N)__name__
__module____qualname____doc__	__slots__r	   __repr__r
   
_repr_png_
_repr_svg_r   r   r   r   r   r      s    r   N)r   r   r   r   r   r   <module>   s    