我们可以在 latex 中导入 Python 文件吗?

我们可以在 latex 中导入 Python 文件吗?

例如,假设我们有一个 Python 文件 songbook-makeindex.py,它要求输入文件扩展名为 .xsd,输出文件扩展名为 .sbx,该文件需要在 latex 文件中运行。

\documentclass{article}

{here some required packages}

\begin{document}

songbook-makeindex.py english_auth.sxd > english_auth.sbx

songbook-makeindex.py english_title.sxd > english_title.sbx

\end{document}

答案1

它可以是一个文件吗?我的意思是 LaTeX 代码加上 Python 代码加上 Python 输出全部混合在一个带有.Rnw扩展名的文件中。

如果是这样,您必须将其转换为.tex使用Rknitr然后像往常一样编译 LaTeX 文件,或者更好的是,让 Rstudio 来处理整个过程。

例子:

姆韦

% For .tex output use:  
% Rscript -e "library(knitr); knit('filename.Rnw')" 
\documentclass[a5paper]{article}
\setlength\parindent{0pt}
\begin{document}

This is not just verbatim text, but  executable python code:
<<test1, echo=T, eval=FALSE, engine='python'>>=
x = 'hello, python world!'
print(x)
print(x.split(' '))
@

And this the phython ouput of the above code from \textsc{this} file: 
<<test2, echo=F, comment="", engine='python'>>=
<<test1>>
@

All inside only a \LaTeX\ (R noweb) file.   

\end{document}

答案2

我认为使用该包应该可以实现sagetex;其文档可供查阅这里在 CTAN 上。该软件包允许您运行名为 Sage 的计算机代数系统。这意味着 Sage 需要安装在您的计算机上本地,或者更简单的是,您可以免费获得科卡尔帐户,以前称为 SagemathCloud。该sagetex包是一种轻松获得 Python 的强大功能以及 Sage 的所有内置数学功能的方法。我将一个计算 Recaman 序列开头的 Python 文件上传到 Cocal。代码本身并不重要,重要的是运行程序的结果包含在名为的字符串中output。该sagesilent块允许 Sage 代码运行,但不会在 LaTeX 代码中显示任何内容。在这种情况下,我只是加载了 Python 程序并运行它。在 LaTeX 文档的正文中,\sagestr 命令告诉 Sage 抓取字符串输出并将其放入文档中。可以使用 \sage 命令进行计算。您可以在此站点搜索 sagetex 以了解有关其用法的更多信息。请注意,下图显示 Python 文档和 LaTeX 文档位于同一目录中。

\documentclass{article}
\usepackage{sagetex}
\begin{document}
\begin{sagesilent}
load("Recaman.py")
python Recaman.py
\end{sagesilent}
Result printed:\\
\sagestr{output}
\end{document}

结果是: 在此处输入图片描述

我不清楚你的其他扩展,但很明显 Python 文件被导入、运行,并且输出被合并到 LaTeX 文档中。Sage 的文档是这里上面链接的 Cocal 网站称:

“CoCalc 是一个用于在线计算的复杂网络服务:数学计算:SageMath、SymPy、Maxima;统计分析:R 项目、Pandas、statsmodels、scikit-learn、Tensorflow、NLTK;各种其他计算:Octave、Julia 等。”所以有很多可能性。

相关内容