【问题标题】:Pandoc Jupyter (.ipynb) to Word (.docx) incorrect resultsPandoc Jupyter (.ipynb) 到 Word (.docx) 的结果不正确
【发布时间】:2022-08-11 21:46:47
【问题描述】:

Jupyter 笔记本 (ipynb) 到 Word 格式文档 (.docx) 的转换无法正常工作。我尝试了几种使用 jupyter nbconvert、pandoc 和商业文档格式转换器的方法。到目前为止,没有一个产生适当的结果。我必须相信 pandoc 有某种方法可以正确地进行转换。非常感谢您在这方面的帮助。

Word 格式的文档应该保留 Jupyter notebook 的这些方面:

  • 标题编号
  • 隐藏的代码单元
  • 正确显示 Latex 数学表达式
  • 带有正确显示图像的表格
  • Data.frame 以与 Jupyter 中相同的格式呈现(漂亮的行带状表)
  • Kable data.frame 以与 Jupyter 中相同的格式呈现(漂亮的行带状表)

这里附上一个测试 Jupyter 笔记本和一些(不适当的)结果的例子。

  • PrintTest.ipynb 是要转换为 Word 格式的 Jupyter 笔记本。

  • PrintTest.jpg 是 Jupyter 笔记本的屏幕截图。

  • 来自 Jupyter 的 PrintTest_1.html,文件 > 下载为 > HTML Embedded (.html)

    • 没有标题编号
    • 代码单元暴露
  • PrintTest_2.html jupyter nbconvert PrintTest.ipynb --to=html --template=toc2 --output PrintTest_2.html

    • 侧边栏目录暴露
  • PrintTest_3.docx pandoc PrintTest.ipynb -o PrintTest_3.docx

    • 以纯文本形式显示的乳胶数学表达式
    • 没有显示图像的表格
    • 代码单元暴露
    • Data.frame 显示为纯文本
    • Kable data.frame 未显示
  • PrintTest_4.docx pandoc PrintTest_2.html -o PrintTest_4.docx

    • 以纯文本形式显示的乳胶数学表达式
    • 图像未居中的表格
    • Data.frame 显示为纯文本
    • Kable data.frame 显示为纯文本
  • PrintTest_5.docx pandoc PrintTest.ipynb --mathjax -o PrintTest_5.docx

    • 与 PrintTest_3.docx 相同
  • PrintTest_6.docx pandoc PrintTest_2.html --mathjax -o PrintTest_6.docx

    • 与 PrintTest_4.docx 相同

    标签: ms-word jupyter pandoc nbconvert


    【解决方案1】:
    【解决方案2】:

    潘多克有一个标志-N 供某些输出编写器(word、html、...)对标题进行编号。

    例子:

    pandoc jupyter_file.ipynb -s -N -o new_word_file.docx
    

    如果您还想导出目录,请添加 --toc

    pandoc jupyter_file.ipynb -s -N --toc -o new_word_file.docx
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2017-09-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-02
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多