Können wir Python-Dateien in Latex importieren?

Können wir Python-Dateien in Latex importieren?

zB. Nehmen wir an, wir haben eine Python-Datei namens songbook-makeindex.py, die eine Eingabe mit der Dateierweiterung .xsd erfordert und eine Ausgabe mit der Dateierweiterung .sbx liefert, die innerhalb der Latex-Datei ausgeführt werden muss.

\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}

Antwort1

Es könnte eine einzelne Datei für alles sein? Ich meine LaTeX-Code plus Python-Code plus Python-Ausgabe, alles gemischt in einer Datei mit der .RnwErweiterung.

Wenn ja, müssen Sie es .texmit Rund konvertieren knitrund dann die LaTeX-Datei wie gewohnt kompilieren oder besser noch mampfen und den gesamten Vorgang Rstudio überlassen.

Beispiel:

mwe

% 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}

Antwort2

Ich denke, das sollte mit dem sagetexPaket möglich sein; die Dokumentation dazu ist verfügbarHierauf CTAN. Das Paket ermöglicht es Ihnen, ein Computeralgebrasystem namens Sage auszuführen. Dies bedeutet, dass Sage lokal auf Ihrem Computer installiert werden muss oder, noch einfacher, Sie können eine kostenloseKokalKonto, früher bekannt als SagemathCloud. Das sagetexPaket ist eine einfache Möglichkeit, die Leistungsfähigkeit von Python sowie die gesamte integrierte Mathematik von Sage zu nutzen. Ich habe eine Python-Datei auf Cocal hochgeladen, die den Anfang der Recaman-Folge berechnet. Der Code selbst ist nicht wichtig, wichtig ist, dass die Ergebnisse der Programmausführung in einem String namens enthalten sind output. Der sagesilentBlock ermöglicht die Ausführung von Sage-Code, zeigt aber nichts im LaTeX-Code an. In diesem Fall habe ich einfach das Python-Programm geladen und ausgeführt. Im Hauptteil des LaTeX-Dokuments weist der Befehl \sagestr Sage an, die String-Ausgabe zu erfassen und in das Dokument einzufügen. Berechnungen können mit dem Befehl \sage durchgeführt werden. Sie können diese Site nach sagetex durchsuchen, um mehr über seine Verwendung zu erfahren. Beachten Sie, dass das Bild unten zeigt, dass sich das Python-Dokument und das LaTeX-Dokument im selben Verzeichnis befinden.

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

Das Ergebnis ist: Bildbeschreibung hier eingeben

Ich weiß nichts über Ihre anderen Erweiterungen, aber die Python-Datei wurde eindeutig importiert, ausgeführt und die Ausgabe in ein LaTeX-Dokument integriert. Die Dokumentation für Sage istHier. Auf der oben verlinkten Cocal-Website heißt es:

„CoCalc ist ein ausgereifter Webdienst für Online-Berechnungen: Mathematische Berechnungen: SageMath, SymPy, Maxima; Statistische Analyse: R-Projekt, Pandas, Statsmodels, Scikit-Learn, Tensorflow, NLTK; Verschiedene andere Berechnungen: Octave, Julia usw.“ Es gibt also viele Möglichkeiten.

verwandte Informationen