sagetexパッケージの使い方

sagetexパッケージの使い方

sagetexパッケージを使用しようとしていますが、コードを実行するとこのような問題が発生しました。1つの 誰か助けてくれませんか?

コードは次のとおりです:

\documentclass{article}
\usepackage{sagetex}

\begin{document}
Using Sage\TeX, one can use Sage to compute things and put them into
your \LaTeX{} document. For example, there are
$\sage{number_of_partitions(1269)}$ integer partitions of $1269$.
You don't need to compute the number yourself, or even cut and paste
it from somewhere.
Here's some Sage code:
\begin{sageblock}
f(x) = exp(x) * sin(2*x)
\end{sageblock}
The second derivative of $f$ is
\[
\frac{\mathrm{d}^{2}}{\mathrm{d}x^{2}} \sage{f(x)} =
\sage{diff(f, x, 2)(x)}.
\]
Here's a plot of $f$ from $-1$ to $1$:
\sageplot{plot(f, -1, 1)}
\sageplot[scale=.5]{plot3d(sin(pi*(x^2+y^2))/2,(x,-1,1),(y,-1,1))}
we know that 2010 factors to $\sage{factor(2010)}$
\begin{sagesilent}
    m=identity_matrix(QQ,3)
    m[0]=m[0]+m[1]
    m[1]=m[1]-m[2]
    m[2]=m[2]-2*m[1]
    m[1]=m[1]+3*m[0]
    m[0]=2*m[0]
\end{sagesilent}
Compute the rref of $\sage{m}$
\begin{sageblock}
    g(x)=taylor(tan(x),x,0,10)
    \end{sageblock}
    $$\tan(x)=\sage{g(x)}$$
\end{document}

答え1

パッケージを使用するには、sagetexLaTeX、SAGE、sagetex。その後、3つの部分が互いに通信する必要があります。最も簡単な解決策は、無料のコカルクアカウントを作成し、LaTeX ドキュメントを作成し、上記のコードをコピー/貼り付けしてドキュメントを保存し、ビルドを押します。数分で完了します。非常に簡単で、インターネット接続があれば世界中のどこからでも作業できます。

Cocalc を使いたくない場合は、他にも問題が発生する可能性が大いにあります。SAGE がsagetex含まれている LaTeX ディストリビューションを使用している場合、最も可能性の高い答えは、SAGE をダウンロードしていないことです。私の知り合いの多くがそうで、ダウンロードしたのでsagetex使用できると想定していました。問題は、SAGE には約 5 GB のスペースが必要なため、LaTeX ディストリビューションの一部ではないことです。サジェマスサイトにアクセスし、「ダウンロード」タブをクリックして、Mac/Windows/Linux版のいずれかを選択します。多くのLinuxディストリビューションにはリポジトリにSAGEが含まれているので、そこからダウンロードしてください。LaTeX、SAGE、およびsagetexコンピュータにインストールしたら、ドキュメントの処理は、ページに記載されている3つの手順で行います。コードの出所: 最初に.texファイルを処理し、次に.sageファイルを処理し、最後に.texファイルを処理します。これはSamuel Lelièvreの回答で説明されており、.sageファイルの処理には私の画像付き回答に示されているコマンドラインが必要であることに注意してください。ここ3ステップのプロセスは、いくつかのLaTeX IDEで自動化できます。たとえば、ここカイル議論されており、ここでは、テキストスタジオWindows の場合。その結果、ボタンを 1 回押すだけで 3 つの手順が実行され、かなりの時間が節約されます。

それでも3ステップのプロセスがうまくいかない場合は、LaTeXとSAGEが適切に通信していないことが原因である可能性があります。これについては、前述のリンク理解するのが難しい場合があります。

sagetexSAGEに知らせて議論した方法は言及する価値があるここ後になって問題が発生する可能性があり、次のように表示されます。「ただし、これにはいくつかの小さな問題があります。1 つ目は、sagetex.sty の不要なコピーがコンピューターに多数散在してしまうことです。2 つ目の、より深刻な問題は、Sage をアップグレードして SageTeX の新しいバージョンを入手すると、SageTeX の Python コードと LaTeX コードが一致しなくなり、エラーが発生する可能性があることです。」Cocalc を使用するということは、他の誰かがすべてのバージョンの LaTeX とがsagetex正しく連携して動作していることを確認することを意味します。

答え2

ランニング

pdflatex myfile.tex

Sage が実行する必要のあるすべての計算を含む補助ファイルを生成します。

myfile.sagetex.sage

このファイルで Sage を実行します:

sage myfile.sagetex.sage

これらすべての計算の結果を計算し、次に

pdflatex myfile.tex

計算の結果は含まれ、結果の PDF に表示されます。

答え3

ここでの他の回答(sagetexの使い方の基本について)に加えて、これを追加させてください:ファイルにエラーがあります。私が回答で述べたように、https://stackoverflow.com/questions/57369317/why-does-the-result-of-my-sage-command-becomes-question-mark:

これをコンパイルしようとすると、次のようになります:

**** Error in Sage code on line 23 of file.tex! Traceback follows.
Traceback (most recent call last):
  File "file.sagetex.sage.py", line 39, in <module>
    _st_.plot(_sage_const_1 , format='notprovided', _p_=plot3d(sin(pi*(x**_sage_const_2 +y**_sage_const_2 ))/_sage_const_2 ,(x,-_sage_const_1 ,_sage_const_1 ),(y,-_sage_const_1 ,_sage_const_1 )))
NameError: name 'y' is not defined

問題は次の行です:

\sageplot[scale=.5]{plot3d(sin(pi*(x^2+y^2))/2,(x,-1,1),(y,-1,1))}

特に、y を定義していません。(SageMath では、x は自動的に変数として定義されますが、y は定義されません。) プロットの前にこれを追加すると、動作するはずです。

\begin{sagesilent}
var('y')
\end{sagesilent}

答え4

以下は確かにハックジョブですが、Sage シェルがアクセスできるディレクトリを特定し、ディレクトリ A と呼びます。LaTeX を実行していたディレクトリ (ディレクトリ B) から 'xxx.sagetex.sage' ファイルをコピーしてディレクトリ A に貼り付けました。次に、Sage シェルからコマンド load('intro_to_analysis.sagetex.sage') を実行しました。これにより、ディレクトリ A にいくつかのファイルが作成されました。これらのファイルをディレクトリ B にコピーして貼り付け、LaTeX を再度コンパイルすると、ドキュメントにプロットが表示されました。

関連情報