如何通过IPython Notebook转换移除PDF-Latex输出中的日期?
解决IPython Notebook转PDF-LaTeX时无法移除日期的问题
别着急,这个问题其实和你移除LaTeX包关系不大——IPython Notebook转PDF时的日期是由nbconvert的LaTeX模板控制的,不是普通包导致的。给你几个靠谱的解决办法:
方法1:通过笔记本元数据直接隐藏日期
这是最简单的方式,不用碰模板或LaTeX代码:
- 打开你的IPython Notebook,点击顶部菜单栏的「编辑」→「编辑笔记本元数据」
- 在弹出的JSON编辑框里,添加(或修改)
latex_metadata字段,设置date为空字符串:
{ "kernelspec": { // 这里保留你原有的内核信息即可,无需修改 }, "latex_metadata": { "date": "" } }
- 保存元数据后,重新执行转换命令:
jupyter nbconvert --to pdf your_notebook.ipynb,日期就会消失了。
方法2:修改nbconvert的LaTeX模板
如果元数据方法没生效,可能是你用的模板不支持这个字段,那就直接改模板:
- 先找到nbconvert的模板目录,在终端运行:
jupyter --data-dir
- 进入输出路径下的
nbconvert/templates/latex文件夹,找到当前使用的模板(默认是article.tplx) - 建议复制一份模板到用户目录做自定义修改(避免系统升级覆盖默认模板):
cp $(jupyter --data-dir)/nbconvert/templates/latex/article.tplx ~/.jupyter/nbconvert/templates/latex/custom.tplx
- 打开
custom.tplx,找到类似\date{\date}的行,把它改成\date{}或者直接删除这一行 - 转换时指定自定义模板:
jupyter nbconvert --to pdf --template custom your_notebook.ipynb
方法3:转换后手动修改LaTeX文件
要是你不想折腾模板,也可以先转成.tex文件再修改:
- 先把Notebook转成LaTeX源文件:
jupyter nbconvert --to latex your_notebook.ipynb
- 打开生成的
your_notebook.tex,找到\date{...}这一行(通常在\title和\maketitle之间),改成\date{}或者直接删掉 - 用LaTeX编译器重新生成PDF:
pdflatex your_notebook.tex
优先试试方法1,最省心~
内容的提问来源于stack exchange,提问作者Yousra
相关产品推荐
相关产品推荐

