gpt4 book ai didi

python - 如何使用 nbconvert 从 ipynb 生成的 pdf 中删除日期

转载 作者:行者123 更新时间:2023-12-05 04:35:52 24 4
gpt4 key购买 nike

我正在以编程方式使用 nbconvert 将 jupyter notebook 文件导出为 pdf:

import nbformat
from nbconvert.exporters import PDFExporter
from nbconvert.preprocessors import TagRemovePreprocessor
from traitlets.config import Config

c = Config()
c.TagRemovePreprocessor.remove_cell_tags = ("remove_cell",)
c.PDFExporter.preprocessors = ["nbconvert.preprocessors.TagRemovePreprocessor"]
c.PDFExporter.exclude_input_prompt = True
c.PDFExporter.exclude_output_prompt = True
c.PDFExporter.exclude_input = True

exporter = PDFExporter(config=c)
exporter.register_preprocessor(TagRemovePreprocessor(config=c),True)

with open("example.ipynb") as f:
nb = nbformat.read(f, as_version=4)

pdf_data, _ = exporter.from_notebook_node(nb)

with open("example.pdf", "wb") as f:
f.write(pdf_data)

这行得通,但是今天的日期会插入到标题下的文档中。

enter image description here

这个日期在我正在制作的内容中具有误导性。

我尝试删除它涉及编辑 share\jupyter\nbconvert\templates\latex\base.tex.j2:

\renewcommand{\TeX}{\textrm{\Oldtex}}
\renewcommand{\LaTeX}{\textrm{\Oldlatex}}
% Document parameters
% Document title
((* block title -*))
((*- set nb_title = nb.metadata.get('title', '') or resources['metadata']['name'] -*))
\title{((( nb_title | escape_latex )))}
((*- endblock title *))
((* block date *))((* endblock date *))
((* block author *))
((* if 'authors' in nb.metadata *))
\author{((( nb.metadata.authors | join(', ', attribute='name') )))}
((* endif *))
((* endblock author *))

并删除行 ((* block date *))((* endblock date *)) 但这似乎没有效果。

我知道导出过程中正在使用该文件,因为如果我向其中插入乱码,则导出会失败。

知道日期的来源吗?

最佳答案

默认情况下,日期设置为 \date{\today},您可以通过将其设置为其他内容来覆盖它,例如使用空参数:

\date{}

关于python - 如何使用 nbconvert 从 ipynb 生成的 pdf 中删除日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70949216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com