Yes, one way to have latex printing is to add  _latex method. Then maybe it
would be worth add this line to _can_print_latex:

https://github.com/sympy/sympy/blob/master/sympy/interactive/printing.py#L105

Then anything with the _latex printing method will print.


Jason
moorepants.info
+01 530-601-9791


On Tue, Aug 26, 2014 at 8:20 PM, Alan Bromborsky <abro...@verizon.net>
wrote:

>  Are you saying if my class is Dop I should have
>
> class Dop(object):
>
>     def _latex(self,GaLatexPrinter):
>         etc.
>
> where GaLatexPrinter is my custom latex printer that has member _print_Dop.
>
>
>
> On 08/26/2014 08:09 PM, Aaron Meurer wrote:
>
> You can define methods on the class, depending on what printer you want to
> override. For the LaTeX printer, it's _latex. The signature should be
> _latex(self, printer), and it should use printer to recursively print any
> subexpressions. See
> http://docs.sympy.org/latest/modules/printing.html#module-sympy.printing.latex
> (the printmethod attribute), and search the SymPy codebase for some
> examples.
>
>  Aaron Meurer
>
>
> On Tue, Aug 26, 2014 at 7:07 PM, Alan Bromborsky <abro...@verizon.net>
> wrote:
>
>>  Can you suggest how I could override the function without modifying
>> interactive/printing.py?
>>
>>
>> On 08/26/2014 07:38 PM, Jason Moore wrote:
>>
>>  Maybe you need to override this function:
>>
>>
>> https://github.com/sympy/sympy/blob/master/sympy/interactive/printing.py#L90
>>
>>  Notice how some odd classes that don't fit the sympy standards have
>> special cases. Try adding your class to that list and see if it works.
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>>
>> On Tue, Aug 26, 2014 at 6:57 PM, Alan Bromborsky <abro...@verizon.net>
>> wrote:
>>
>>>  I am trying to print a list of instances of a custom class. The input
>>> is -
>>>
>>> print (o3d.grad, o3d.grad)
>>>
>>> the output is (custom latex printer)
>>>
>>> [image: $$ (e_{x} \frac{\partial}{\partial x} + e_{y}
>>> \frac{\partial}{\partial y} + e_{z} \frac{\partial}{\partial z}, e_{x}
>>> \frac{\partial}{\partial x} + e_{y} \frac{\partial}{\partial y} + e_{z}
>>> \frac{\partial}{\partial z}) $$]
>>>
>>> however  in ipyrhon notebook I input
>>>
>>> (o3d.grad, o3d.grad)
>>>
>>> I get out
>>>
>>> (e_{x} \frac{\partial}{\partial x} + e_{y} \frac{\partial}{\partial y} + 
>>> e_{z} \frac{\partial}{\partial z},
>>>  e_{x} \frac{\partial}{\partial x} + e_{y} \frac{\partial}{\partial y} + 
>>> e_{z} \frac{\partial}{\partial z})
>>>
>>> Also the standard latex tuple and list printer is not using \left (
>>> \right  and \left [ \right ) to enclose
>>> the tuple or list.  How can I write a custom latex tuple and list
>>> printer that will also work in ipython notebook.
>>>   --
>>> You received this message because you are subscribed to the Google
>>> Groups "sympy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to sympy+unsubscr...@googlegroups.com.
>>> To post to this group, send email to sympy@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/sympy.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/sympy/53FD10D1.6080309%40verizon.net
>>> <https://groups.google.com/d/msgid/sympy/53FD10D1.6080309%40verizon.net?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sympy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sympy@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sympy.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/CAP7f1AgriAFv0KoeL1ePt0n%3DEEjvpHYE6_2CtwoiX7%2B7%3Dp7hbg%40mail.gmail.com
>> <https://groups.google.com/d/msgid/sympy/CAP7f1AgriAFv0KoeL1ePt0n%3DEEjvpHYE6_2CtwoiX7%2B7%3Dp7hbg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>    --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to sympy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sympy@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sympy.
>>  To view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/53FD212F.6090802%40verizon.net
>> <https://groups.google.com/d/msgid/sympy/53FD212F.6090802%40verizon.net?utm_medium=email&utm_source=footer>.
>>
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/CAKgW%3D6KkuzhJY-s5AGkjJ0DyXk6F3XC4QNkKwMNcpO66ecic0A%40mail.gmail.com
> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6KkuzhJY-s5AGkjJ0DyXk6F3XC4QNkKwMNcpO66ecic0A%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/53FD244E.7050900%40verizon.net
> <https://groups.google.com/d/msgid/sympy/53FD244E.7050900%40verizon.net?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAP7f1AjYExHn0B_D6Rw_1y4cS%3DkhVf9Lkv2U8D-_4t0r8Wf%2Bdw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to