* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include <iostream>
#include <stdexcept>
-#include <algorithm>
#include "idx.h"
#include "symbol.h"
} else {
- if (!is_of_type(c, print_latex))
+ if (is_a<print_latex>(c))
+ c.s << "_{";
+ else
c.s << ".";
bool need_parens = !(is_ex_exactly_of_type(value, numeric) || is_ex_of_type(value, symbol));
if (need_parens)
value.print(c);
if (need_parens)
c.s << ")";
+ if (is_a<print_latex>(c))
+ c.s << "}";
}
}
dim.print(c, level + delta_indent);
} else {
-
- if (!is_of_type(c, print_latex)) {
+ if (is_a<print_latex>(c)) {
+ if (covariant)
+ c.s << "_{";
+ else
+ c.s << "^{";
+ } else {
if (covariant)
c.s << ".";
else
value.print(c);
if (need_parens)
c.s << ")";
+ if (is_a<print_latex>(c))
+ c.s << "}";
}
}
} else {
bool is_tex = is_of_type(c, print_latex);
- if (!is_tex) {
+ if (is_tex) {
+ if (covariant)
+ c.s << "_{";
+ else
+ c.s << "^{";
+ } else {
if (covariant)
c.s << ".";
else
c.s << ")";
if (is_tex && dotted)
c.s << "}";
+ if (is_tex)
+ c.s << "}";
}
}