たとえば、入力として .xsd ファイル拡張子が必要で、出力として .sbx ファイル拡張子が必要で、LaTeX ファイル内で実行する必要がある Python ファイル songbook-makeindex.py があるとします。
\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
すべてを 1 つのファイルにまとめることはできますか? つまり、LaTeX コード、Python コード、Python 出力がすべて、拡張子を持つ 1 つのファイルに混在しているということです.Rnw
。
もしそうなら、 を.tex
使用してに変換してR
からknitr
、通常どおり 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 は、オンライン計算のための洗練された Web サービスです。数学計算: SageMath、SymPy、Maxima。統計分析: R プロジェクト、Pandas、statsmodels、scikit-learn、Tensorflow、NLTK。その他のさまざまな計算: Octave、Julia など。」つまり、可能性は無限大です。