为什么jupyter无法使用LaTex \ mathscr下载为PDF格式的降价单元?

时间:2017-04-13 02:10:35

标签: latex jupyter-notebook jupyter xelatex nbconvert

刚刚在Jupyter中使用一些方程式创建了一个降价单元格,其中一些使用\ mathscr来生成类似“数学”的字体。当我运行包含方程式的内核时,一切正常,但是当我点击通过LaTex下载PDF格式的选项时,我收到以下错误:

!未定义的控制序列。 l.300 [\ mathscr                 {L}({\ bf {y}} | \ beta,\ sigma ^ 2,{\ bf {X}})=(2 \ pi \ sigma ^ 2)^ {-...

? !紧急停止。 l.300 [\ mathscr                 {L}({\ bf {y}} | \ beta,\ sigma ^ 2,{\ bf {X}})=(2 \ pi \ sigma ^ 2)^ {-...

如果我删除\ mathscr部分,一切都可以导出而没有问题(除了特殊字符的某些转换问题),但是,我想知道如何解决它。我一直在阅读,看起来可以修改nbconvert配置文件来解决这个问题,但我找不到上面提到的文件以及修改它的确切方法

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为问题在于中间\usepackage{mathrsfs}文件中缺少.tex指令。 所以你有几种方法可以克服它。 如果你面对这个问题occasianaly你可以以下:

  • 下载.tex - 文件而不是pdf;
  • 手动插入\usepackage{mathrsfs}。 例如,在第一个\usepackage之前;
  • 运行类似的东西 xelatex file.tex最终转换为pdf。

如果你经常这样做,你可以尝试编辑适当的jinja-template。

  • 首先,找到安装nbconvert的位置。例如,使用pip:pip show nbconvert。想象一下,路径是/home/i/.local/lib/python3.5/site-packages
  • 然后模板将在/home/i/.local/lib/python3.5/site-packages/nbconvert/templates/latex/base.tplx
  • 再次:在\usepackage{mathrsfs}之后立即添加((* block packages *))

Voila - 问题应该消失了。

最后,您有第三个选项 - 您可以从头开始创建自己的模板,并将其与nbconvert一起使用。我不认为这是解决问题的非常方便的方法。您可以在文档中阅读更多内容:http://nbconvert.readthedocs.io/en/latest/customizing.html