Sagetex 패키지 사용 방법

Sagetex 패키지 사용 방법

sagetex 패키지를 사용하려고 하는데, 코드 실행 시 이런 문제를 발견하게 되었는데,ㅏ 누구든지 도와줄 수 있나요?

코드는 다음과 같습니다.

\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를 사용하고 싶지 않다면 잘못될 수 있는 일이 더 많이 있습니다. 포함된 LaTeX 배포판을 사용한다고 가정할 때 sagetex가장 가능성 있는 대답은 SAGE를 다운로드하지 않았다는 것입니다. 내가 아는 많은 사람들은 이미 가지고 있기 때문에 sagetex그것을 사용할 준비가 되어 있다고 생각했습니다. 문제는 SAGE에 약 5GB의 공간이 필요하므로 LaTeX 배포판의 일부가 아니라는 것입니다. 당신은에 가야 할 것입니다사게매스사이트를 방문하고 '다운로드' 탭을 클릭하여 Mac/Windows/Linux 버전을 선택하세요. 많은 Linux 배포판의 리포지토리에 SAGE가 있으므로 SAGE에서 다운로드해야 합니다. sagetex컴퓨터에 LaTeX, SAGE가 설치되어 있으면 문서 처리는 페이지에 언급된 3단계 프로세스입니다.코드의 출처: 먼저 .tex 파일을 처리한 다음 .sage 파일을 처리한 다음 .tex 파일을 처리합니다. 이것은 Samuel Lelièvre의 답변에 설명되어 있으며 .sage 파일을 처리하려면 내 답변 그림에 표시된 명령 줄이 필요합니다.여기. 일부 LaTeX IDE를 사용하면 3단계 프로세스를 자동화할 수 있습니다. 예를 들어 여기카일논의되었으며 여기서는TeXstudioWindows용. 결과적으로 하나의 버튼을 누르면 3단계가 수행되어 상당한 시간이 절약됩니다.

여전히 3단계 프로세스를 작동할 수 없다면 LaTeX와 SAGE가 제대로 통신하지 못하는 것일 수 있습니다. 이는 다음에서 논의됩니다.앞서 언급한 링크파악하기 어려울 수 있습니다.

당신이 SAGE에 알려준 방식에 대해 언급할 가치가 있습니다 sagetex.여기나중에 다음과 같은 문제가 발생할 수 있습니다. "그러나 여기에는 몇 가지 작은 문제가 있습니다. 첫 번째는 컴퓨터 주위에 불필요한 sagetex.sty 사본이 많이 흩어져 있게 된다는 것입니다. 두 번째이자 더 심각한 문제는 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를 실행하고 있던 디렉토리에서 'xxx.sagetex.sage' 파일을 복사하여 붙여넣었습니다. 그런 다음 sage 셸에서 load('intro_to_analytic.sagetex.sage') 명령을 실행하여 디렉터리 A에 여러 파일을 생성했습니다. 해당 파일을 디렉터리 B에 복사하여 붙여넣고 컴파일했습니다. 라텍스를 다시 사용하면 내 문서에 플롯이 나타납니다.

관련 정보