Jupiter:nbconvert确实将HTML图像转换为LaTex

2024-04-27 13:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我喜欢用jupyter笔记本来记录物理课程的主题,所以我让我的学生使用CoCalc和Markdown或jupyter笔记本来写他们的实验报告。我有个问题。在

例如,在jupyter笔记本中,插入图像的降价方式是![Two slit](twoSlit1.png)。但是,您无法控制大小、位置和包装。堆栈交换有许多有用的建议[这里]来控制大小1。在

但是当我尝试将其转换为pdf时,如果使用HTML插入图像,图像就会丢失。例如

![Two slit](twoSlit1.png)

jupyter nbconvert Example.ipynb --to html转换的效果很好,但不控制放置的图像大小。然后我可以打印成pdf格式,但它没有一个好的“文档”外观。但是

<img align="right" src="twoSlit1.png" width="200" />

使用jupyter nbconvert Example.ipynb --to pdf转换后,将提供pdf呈现,但缺少图像。我尝试了许多不同的HTML图像编码,但是没有一种方法可以处理nbconvert --to pdf

CoCalcFile->;Download as PDF via LaTex (.pdf)...也不会渲染图像。在

如果我创建一个降价文档并使用pandoc Example1.md -o Example1.pdf创建一个pdf文件,在CoCalc上也会得到类似的结果。在

顺便说一句,这两种方法都能完美地呈现方程。在

我在本地运行jupyter的Mac上也得到了相同的结果(Anaconda发行版,python3.7)


Tags: to图像pdfpngexamplehtml笔记本jupyter
1条回答
网友
1楼 · 发布于 2024-04-27 13:27:28

当我发布支持请求时,CoCalc的williamstein和haraldschilly得到了迅速的回答。这是我的答案。在

  1. 问题是Markdown(可能还有jupyter笔记本的Markdown单元格)预览窗格是在前端呈现的,而不是在后端使用pandoc,所以当我从终端使用pandoc时,得到了不同的结果。

  2. 我可以通过在Markdown文档的开头放置一个HTML <style>标记并在<style>标记中放置CSS代码,来获得看起来合理的HTML。然后我把我的图片放在一个HTML <div>中,它使用CSS设置其大小、将其向右浮动、添加标题等。我还减小了CSS文件中标题字体的大小,将字体系列设置为serif等等。然后预览看起来还不错,但是当我打印预览并将其保存为pdf时仍然存在问题。所以:

  3. 只需使用Markdown并使用HTML做一些事情:a)a<div class="center">将标题居中,作者。。。b) <blockquote>设置摘要的样式。c) 一个<div class=figure width="280px">来插入浮点数。

  4. 创建一个文件style.css,并使用命令行运行pandoc

    pandoc Example.md -s  css="style.css"  mathjax -o Example.html
    
  5. 打开示例.html在CoCalc中,使用渲染窗格中的打印图标并保存pdf文件。

我很满意。学生们可以得到体面的报告,而不需要额外的劳动与乳胶和最低限度的HTML。我把CSS文件给他们。在

相关问题 更多 >