-GINAC_IMPLEMENT_REGISTERED_CLASS(idx, basic)
-GINAC_IMPLEMENT_REGISTERED_CLASS(varidx, idx)
-GINAC_IMPLEMENT_REGISTERED_CLASS(spinidx, varidx)
+GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(idx, basic,
+ print_func<print_context>(&idx::do_print).
+ print_func<print_latex>(&idx::do_print_latex).
+ print_func<print_tree>(&idx::do_print_tree))
+
+GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(varidx, idx,
+ print_func<print_context>(&varidx::do_print).
+ print_func<print_latex>(&varidx::do_print_latex).
+ print_func<print_tree>(&varidx::do_print_tree))
+
+GINAC_IMPLEMENT_REGISTERED_CLASS_OPT(spinidx, varidx,
+ print_func<print_context>(&spinidx::do_print).
+ print_func<print_latex>(&spinidx::do_print_latex).
+ print_func<print_tree>(&spinidx::do_print_tree))