¿Podemos importar archivos Python en látex?

¿Podemos importar archivos Python en látex?

p.ej. Digamos que tenemos un archivo Python songbook-makeindex.py que requiere entrada como extensión de archivo .xsd y da salida como extensión de archivo .sbx, que debe ejecutarse dentro del archivo 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}

Respuesta1

¿Podría ser un único archivo para todos? Me refiero al código LaTeX más el código Python más la salida de Python, todo mezclado en un archivo con la .Rnwextensión.

Si es así, debe convertirlo a .texwith Ry knitrluego compilar el archivo LaTeX como de costumbre, o mejor dicho, dejar que Rstudio se encargue de todo el proceso.

Ejemplo:

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}

Respuesta2

Creo que eso debería ser posible usando el sagetexpaquete; su documentación está disponibleaquíen CTAN. El paquete le permite ejecutar un sistema de álgebra informática llamado Sage. Esto significa que Sage debe instalarse localmente en su computadora o, aún más fácil, puede obtener una versión gratuita.cocalcuenta, anteriormente conocida como SagemathCloud. El sagetexpaquete es una manera fácil de obtener el poder de Python más todas las matemáticas integradas de Sage. Subí un archivo Python a Cocal que calcula el comienzo de la secuencia Recaman. El código en sí no es importante, lo importante es que los resultados de ejecutar el programa estén contenidos en una cadena llamada output. El sagesilentbloque permite que se ejecute el código Sage pero no muestra nada en el código LaTeX. En este caso, simplemente cargué el programa Python y lo ejecuté. En el cuerpo del documento LaTeX, el comando \sagestr le dice a Sage que tome la cadena de salida y la coloque en el documento. Los cálculos se pueden realizar usando el comando \sage. Puede buscar sagetex en este sitio para ver más sobre su uso. Tenga en cuenta que la siguiente imagen muestra que el documento Python y el documento LaTeX están en el mismo directorio.

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

El resultado es: ingrese la descripción de la imagen aquí

No sé nada sobre sus otras extensiones, pero claramente el archivo Python se importó, ejecutó y el resultado se incorporó a un documento LaTeX. La documentación para Sage esaquí. El sitio web de Cocal vinculado anteriormente dice:

"CoCalc es un sofisticado servicio web para computación en línea: cálculo matemático: SageMath, SymPy, Maxima; análisis estadístico: proyecto R, Pandas, statsmodels, scikit-learn, Tensorflow, NLTK; varios otros cálculos: Octave, Julia, etc." entonces hay muchas posibilidades.

información relacionada