<div dir="ltr"><div>Hi GiNaC!</div><div>I love the library! Keep up the good work! <br></div><div><br></div><div>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:</div><div><br></div><div>#include <ginac/ginac.h><br>std::string addTeXbrackets(std::string const& in)<br>{<br>   std::string ret = in;<br>   std::string::size_type pos = 0;<br>    while((pos = ret.find('_', pos)) != std::string::npos)<br>    {<br>    ret.replace(pos, 1, "_{");<br>    pos += 1; // move past the dot (and the extra '\n')<br>    ret.push_back('}');<br>    }<br><br>   return ret;<br>}<br>int main(){<br>GiNaC::parser reader;<br>GiNaC::ex  e =  reader("2*x_1+sin(y_2)");<br>GiNaC::symtab & vars = reader.get_syms();<br>std::cout << GiNaC::latex; <br>for (std::pair<std::string, GiNaC::ex> var : vars) {<br>// loop through each symbol then texify and use "set_TeX_name()"<br>    GiNaC::ex_to<GiNaC::symbol &>(var.second).set_TeX_name(addTeXbrackets(var.first));<br>    std::cout<<var.second<<std::endl;<br>} //<- Not sure how to add latex to the output yet<br>std::cout<<e<<std::endl;<br>}</div><div>//output is:</div><div>x_{1}<br>y_{2}<br>2 x_1+\sin(y_2)<br></div><div><br></div><div>Thanks!</div><div>Charles<br></div></div>