- // Find constant by name (!! this is bad: 'twould be better if there
- // was a list of all global constants that we could search)
- string s;
- if (n.find_string("name", s)) {
- if (s == Pi.name)
- return Pi;
- else if (s == Catalan.name)
- return Catalan;
- else if (s == EulerGamma.name)
- return EulerGamma;
- else
- throw (std::runtime_error("unknown constant '" + s + "' in archive"));
- } else
- throw (std::runtime_error("unnamed constant in archive"));
+ c.s << class_name() << "('" << name << "'";
+ if (TeX_name != "\\mathrm{" + name + "}")
+ c.s << ",TeX_name='" << TeX_name << "'";
+ c.s << ')';