好吧,我使用 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
以下步骤有效:
- 在我的计算机上编译乳胶代码(并运行
pythontex
) - 然后删除文件中的 python 代码
.tex
。但是,保留\begin{pyconsole}
和\end{pyconsole}
。[注释掉它不起作用 - 我相信pyconsole
可能是重新定义%
] - 复制
pythontex-files-main/main.pytxpyg
到文件PythontexFile.tex
。 - 添加
\input{PythontexFile}
到序言中(或者我认为在之前的任何地方\begin{pyconsole}
) - 然后将
.tex
文件上传至 overleaf。
我想这可能适用于大多数期刊。