_repr_latex_方法在Jupyter / IPython笔记本

时间:2015-10-15 13:39:01

标签: latex ipython-notebook jupyter

我有一个Expr类来表示我定义的数学表达式

def _latex(self):
    """:return: string LaTex formula"""
    (...)
    return res

def _repr_latex_(self):
    return r'$%s$'%self._latex() #tried several variations of this...

@property
def latex(self):
    from IPython.display import Math
    return Math(self._latex())

正如您在单元格[42]上的http://nbviewer.ipython.org/github/Goulu/Goulib/blob/master/notebook.ipynb上看到的那样,当属性明确指定时,乳胶会正确呈现 但是当使用UnicodeDecodeError通过_repr_latex_调用时,下一个单元格失败。

e2(e1)._ latex()返回没有unicode的'\ sin(3x + 2)',所以这里有什么问题? 谢谢!

1 个答案:

答案 0 :(得分:0)

嗯......部分是我的错误:my Expr class继承自my Plot class,其中有_repr_svg_方法,而Jupyter默认调用此方法而不是_repr_latex_ ...

好的但是:

  1. Jupyter / IPython中的错误消息并未提及此
  2. 我仍然不知道如何选择类的默认_repr_xxx_方法