Hi GiNaC! I love the library! Keep up the good work! Currently though I am having trouble with LaTeX output; I would like to parse an expression, then set the LaTeX name to the symbols that were generated from the reader. I can do that, but the expression doesn't change when I print it. Here is an minimal example: #include <ginac/ginac.h> std::string addTeXbrackets(std::string const& in) { std::string ret = in; std::string::size_type pos = 0; while((pos = ret.find('_', pos)) != std::string::npos) { ret.replace(pos, 1, "_{"); pos += 1; // move past the dot (and the extra '\n') ret.push_back('}'); } return ret; } int main(){ GiNaC::parser reader; GiNaC::ex e = reader("2*x_1+sin(y_2)"); GiNaC::symtab & vars = reader.get_syms(); std::cout << GiNaC::latex; for (std::pair<std::string, GiNaC::ex> var : vars) { // loop through each symbol then texify and use "set_TeX_name()" GiNaC::ex_to<GiNaC::symbol &>(var.second).set_TeX_name(addTeXbrackets(var.first)); std::cout<<var.second<<std::endl; } //<- Not sure how to add latex to the output yet std::cout<<e<<std::endl; } //output is: x_{1} y_{2} 2 x_1+\sin(y_2) Thanks! Charles