使用ipython笔记本生成工程计算



我是一名结构工程师,我需要进行的计算基本上看起来像一份混合了文本、表格、数学表达式等的报告。这些计算具有高度重复性,因此当我设计托梁时,除了数字外,输出是相同的。

目前,我倾向于做计算,然后用手或在公开的办公室文件中写下来。为了进行一些重复的计算,我有时会将Ipython笔记本与我编写的一些python模块一起使用。

现在真正巧妙的方法是直接使用Ipytrhon笔记本中的计算来产生输出。输出可以是pdf文档。

因此,看到nbconvert的出现真的让我很感兴趣,我仍然需要做一些工作来理解模板。

因此,要到达那里,我需要:

  1. 让我的模块函数输出一些乳胶-我应该可以接受
  2. 根据需要格式化nbconvert输出。我在NBConvert中发现了这一点:将IPython笔记本编写为HTML或PDF,并带有目录和抑制代码?IPython有人能指出更全面的教程吗?有没有一种方法可以从输入中选择性地显示或隐藏一些代码块?在输入单元格中出现这样的东西会非常棒:

    /hide
    Boring code
    //hide
    Interesting python code I want to show
    
  3. 找到一种插入pdf页面的方法有时我需要插入其他东西,比如绘画,甚至手写的东西,如果能写一个小函数,那就太好了,比如insertmypdf(pathomy/document.pdf)。这样,当我执行nbconvert时,它会自动插入页面。

我在做梦吗?如果你能给我指明正确的方向,我将不胜感激。理想情况下,我花在重新输入以前计算过的东西上的所有时间都可以被取代

ipython nbconvert --to=latex --template=latex_template.tplx --post=pdf file.ipynb

有人能指出更全面的教程吗?

你可能会责怪我(以及其他人)没有写这些,但由于API仍在缓慢变化,我们不愿意写很快就会被弃用的文档,尽管我过去写了一些东西,可以给你一些想法。Damian Avila博客也是一个很好的资源,因为他自己使用自定义模板来隐藏/显示代码单元,并在他的一些帖子中写到了这一点。我也看过,但还没有完全读过。

有没有一种方法可以从输入中选择性地显示或隐藏一些代码块?

使用单元级元数据或标记语言,是的,但它需要模板中的自定义代码,当您深入研究nbconvert架构时,您可能会通过阅读上面的链接来了解。但这不会是一句俏皮话。

3)会更困难,但我想你可以在降价单元格上使用自定义过滤器

欢迎您和对流程的反馈。

最新更新