我們可以在 Latex 中匯入 Python 檔案嗎?

我們可以在 Latex 中匯入 Python 檔案嗎?

例如。假設我們有一個Python檔songbook-makeindex.py,它需要輸入為.xsd檔案副檔名,並給出輸出為.sbx檔副檔名,它需要在乳膠檔內運作。

\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檔名的檔案中。

如果是這樣,您必須將其轉換為.texwith 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 的所有內建數學功能的簡單方法。我將一個 python 檔案上傳到 Cocal,用於計算 Recaman 序列的開頭。程式碼本身並不重要,重要的是執行程式的結果包含在一個名為 的字串中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 是一個複雜的線上運算 Web 服務:數學計算:SageMath、SymPy、Maxima;統計分析:R 專案、Pandas、statsmodels、scikit-learn、Tensorflow、NLTK;各種其他計算:Octave、Julia 等。」所以有很多可能性。

相關內容