Let me summarize the present situation, which should be the starting point.
Presently,
def _latex_(self):
....
defines the latex representation of the object, which you can get by
latex(obj)
This latex representation is oriented for latex typesetting, originally for printing on paper. You can view it by
view(obj)
on the screen instead. On the other hand,
show(obj)
shows the html+mathjax representation (the rich output) of the object, which you can get by
html(obj)
Presently this html+mathjax representation is also defined by the above latex(obj)! This makes it difficult to provide a proper html+mathjax representation of the object, when necessary. Hence the ticket lets you provide it by
def _html_(self):
...
if you do not like the default html+mathjax representation computed from the latex representation.
By the way, you can always override the rich output of an object by defining
def _rich_repr_(self):
...
which may provide any representation (svg, png, ...) supported by the frontend(=backend).
I think we should distinguish the html+mathjax representation clearly from the latex representation. This is the aim of the ticket.
Logically then %display latex should be renamed to %display html. Hence the title of this thread.