Jupyter nbconvert LaTex 导出主题
Jupyter nbconvert LaTex Export Theme
我正在使用 Jupyter Notebook nbconvert(另存为菜单)通过 Latex 导出为 pdf。但是,pdf 文件的状态不是很好。例如,一些宽表显示得很好。我希望有一个表格框可以调整到页面的宽度。是否有任何样式、模板可用于制作漂亮的报告以及我如何要求 nbconverter 使用该样式?
这是 Latex 输出:
我想要这样的东西:
看起来 Pandas 在 0.23 版本中获得了 ._repr_latex_()
方法。您需要设置 pd.options.display.latex.repr=True
才能激活它。
查看 options 以获得接近您想要的格式。为了准确匹配您想要的输出,您需要使用自定义乳胶模板。
编辑以提供有关模板的更多信息:
Start here 有关模板的一般信息。您可以在与笔记本相同的路径中创建一个 .tplx
文件,并在命令行中 运行 nbconvert
时将其指定为模板:!jupyter nbconvert --to python 'example.ipynb' --stdout --template=my_custom_template.tplx
。或者,您可以通过修改 ~.jupyter
目录中的 jupyter_notebook_config.py
文件,指定在通过菜单导出为 Latex 时使用的默认模板。如果这个文件不存在,你可以从命令行通过 运行 命令 jupyter notebook --generate-config
生成它。我的模板也位于 ~/.jupyter
目录中,因此我将以下内容添加到我的 jupyter_notebook_config.py
中:
# Insert this at the top of the file to allow you to reference
# a template in the ~.jupyter directory
import os.path
import sys
sys.path.insert(0, os.path.expanduser("~") + '/.jupyter')
# Insert this at the bottom of the file:
c.LatexExporter.template_file = 'my_template' # no .tplx extension here
c.LatexExporter.template_path = ['.', os.path.expanduser("~") + '/.jupyter'] # nbconvert will look in ~/.jupyter
要了解模板的工作原理,请先查看 null.tplx。 ((*- for cell in nb.cells -*))
行遍历笔记本中的所有单元格。随后的 if
语句检查每个单元格的类型并调用适当的块。
其他模板扩展 null.tplx
。每个模板定义(或重新定义)一些块。层次结构为 null->display_priority->document_contents->base->style_*->article
。
您的自定义模板可能应该扩展 article.tplx
并向 header 添加一些 Latex 命令以按照您想要的方式设置表格。查看 this blog post 以获取设置自定义模板的示例。
任何更改 table 大小以适应页面宽度的设置?
乳胶代码是这样的:\resizebox*{\textwidth}{!}{%
我正在使用 Jupyter Notebook nbconvert(另存为菜单)通过 Latex 导出为 pdf。但是,pdf 文件的状态不是很好。例如,一些宽表显示得很好。我希望有一个表格框可以调整到页面的宽度。是否有任何样式、模板可用于制作漂亮的报告以及我如何要求 nbconverter 使用该样式?
这是 Latex 输出:
我想要这样的东西:
看起来 Pandas 在 0.23 版本中获得了 ._repr_latex_()
方法。您需要设置 pd.options.display.latex.repr=True
才能激活它。
查看 options 以获得接近您想要的格式。为了准确匹配您想要的输出,您需要使用自定义乳胶模板。
编辑以提供有关模板的更多信息:
Start here 有关模板的一般信息。您可以在与笔记本相同的路径中创建一个 .tplx
文件,并在命令行中 运行 nbconvert
时将其指定为模板:!jupyter nbconvert --to python 'example.ipynb' --stdout --template=my_custom_template.tplx
。或者,您可以通过修改 ~.jupyter
目录中的 jupyter_notebook_config.py
文件,指定在通过菜单导出为 Latex 时使用的默认模板。如果这个文件不存在,你可以从命令行通过 运行 命令 jupyter notebook --generate-config
生成它。我的模板也位于 ~/.jupyter
目录中,因此我将以下内容添加到我的 jupyter_notebook_config.py
中:
# Insert this at the top of the file to allow you to reference
# a template in the ~.jupyter directory
import os.path
import sys
sys.path.insert(0, os.path.expanduser("~") + '/.jupyter')
# Insert this at the bottom of the file:
c.LatexExporter.template_file = 'my_template' # no .tplx extension here
c.LatexExporter.template_path = ['.', os.path.expanduser("~") + '/.jupyter'] # nbconvert will look in ~/.jupyter
要了解模板的工作原理,请先查看 null.tplx。 ((*- for cell in nb.cells -*))
行遍历笔记本中的所有单元格。随后的 if
语句检查每个单元格的类型并调用适当的块。
其他模板扩展 null.tplx
。每个模板定义(或重新定义)一些块。层次结构为 null->display_priority->document_contents->base->style_*->article
。
您的自定义模板可能应该扩展 article.tplx
并向 header 添加一些 Latex 命令以按照您想要的方式设置表格。查看 this blog post 以获取设置自定义模板的示例。
任何更改 table 大小以适应页面宽度的设置?
乳胶代码是这样的:\resizebox*{\textwidth}{!}{%