X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=ginac%2Ffderivative.cpp;h=30157c44d5a7d949d6a253c50a79218a18838fc2;hp=2ce60fb3efddf571546bd401a479cd80041e5e91;hb=f62443c1f2c678be0b6ff6ce58618f6e3b4cdfa8;hpb=90cec97dc7de15159ce50bbcc95fdff5179bad48;ds=sidebyside diff --git a/ginac/fderivative.cpp b/ginac/fderivative.cpp index 2ce60fb3..30157c44 100644 --- a/ginac/fderivative.cpp +++ b/ginac/fderivative.cpp @@ -3,7 +3,7 @@ * Implementation of abstract derivatives of functions. */ /* - * GiNaC Copyright (C) 1999-2016 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2017 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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_";