X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Ffderivative.cpp;h=30157c44d5a7d949d6a253c50a79218a18838fc2;hp=494b1047768f7a55c4ccbb0919190bfc13dab545;hb=f62443c1f2c678be0b6ff6ce58618f6e3b4cdfa8;hpb=c3acaef24f0ac4c9024e0a116ce9249e46472624 diff --git a/ginac/fderivative.cpp b/ginac/fderivative.cpp index 494b1047..30157c44 100644 --- a/ginac/fderivative.cpp +++ b/ginac/fderivative.cpp @@ -31,6 +31,7 @@ namespace GiNaC { GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(fderivative, function, print_func(&fderivative::do_print). + print_func(&fderivative::do_print_latex). print_func(&fderivative::do_print_csrc). print_func(&fderivative::do_print_tree)) @@ -111,6 +112,23 @@ void fderivative::do_print(const print_context & c, unsigned level) const printseq(c, '(', ',', ')', exprseq::precedence(), function::precedence()); } +void fderivative::do_print_latex(const print_context & c, unsigned level) const +{ + int order=1; + c.s << "\\partial_{"; + auto i = parameter_set.begin(), end = parameter_set.end(); + --end; + while (i != end) { + ++order; + c.s << *i++ << ","; + } + c.s << *i << "}"; + if (order>1) + c.s << "^{" << order << "}"; + c.s << "(" << registered_functions()[serial].TeX_name << ")"; + printseq(c, '(', ',', ')', exprseq::precedence(), function::precedence()); +} + void fderivative::do_print_csrc(const print_csrc & c, unsigned level) const { c.s << "D_";