在 overleaf 或 journals 上使用 pythontex 导入包

在 overleaf 或 journals 上使用 pythontex 导入包

好吧,我使用 overleaf,overleaf 提供pythontex 的一个简单示例这需要一个 latexmkrc 文件。到目前为止一切顺利。您甚至可以打开该示例并开始编辑它。这太神奇了(不是讽刺,我真的印象深刻)!

如果你添加

\begin{pyconsole}
print("hello world")
\end{pyconsole}

对于该示例,它正确地显示了 Python 会话是什么样子的。

但接下来,我们再进一步:

\begin{pyconsole}
import numpy
\end{pyconsole}

并且有一个导入错误(是的,生成的文档实际上显示了一个带有导入错误的 python 会话)。所以默认情况下 overleaf 中没有 numpy。我可以将自己的小包上传到我的项目中并导入它,它可以正常工作(好吧,除了我的包依赖于 numpy 这一事实)。将整个 numpy 上传到我的项目中似乎是一个我不想进入的兔子洞[除非也许有一种干净的方法来压缩它并上传它......?]。

我尝试在自己的机器上创建 pythontex 文件并上传它们(不行,因为 overleaf 似乎不允许上传该文件类型)。

我尝试使用 pythontex 访问 python 的os包来调用pip和安装 numpy,但它似乎pip不存在,或者也许我没有执行此操作所需的权限(os.system 返回 32512)。这可能是最好的选择 - 如果我可以使用 pythontex 从他们的服务器开始访问互联网,我可能会将此报告给他们,因为这可能是一个漏洞。

那我该怎么办?

答案1

以下步骤有效:

  1. 在我的计算机上编译乳胶代码(并运行pythontex
  2. 然后删除文件中的 python 代码.tex。但是,保留\begin{pyconsole}\end{pyconsole}。[注释掉它不起作用 - 我相信pyconsole可能是重新定义%]
  3. 复制pythontex-files-main/main.pytxpyg到文件PythontexFile.tex
  4. 添加\input{PythontexFile}到序言中(或者我认为在之前的任何地方\begin{pyconsole}
  5. 然后将.tex文件上传至 overleaf。

我想这可能适用于大多数期刊。

相关内容