
    oVhT	                         d Z  G d d      Zy)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                   2    e Zd ZdZdZd ZeZd ZeZeZ	d Z
y)	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                 "    ddl m}  || d       S )N    )sstr)order)sympy.printing.strr   )selfr   s     I/home/dcms/DCMS/lib/python3.12/site-packages/sympy/core/_print_helpers.py__str__zPrintable.__str__   s    +D%%    c                      y)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
   s    r   _repr_disabledzPrintable._repr_disabled!   s     r   c                 ,    ddl m}  || d      }d|z  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   ss      r   _repr_latex_zPrintable._repr_latex_6   s     	/$W%$q((r   N)__name__
__module____qualname____doc__	__slots__r   __repr__r   
_repr_png_
_repr_svg_r   r   r   r   r   r      s0    	 I& H"  JJ)r   r   N)r   r   r   r   r   <module>r      s   9) 9)r   