Como usar o pacote sagetex

Como usar o pacote sagetex

Estou tentando usar o pacote sagetex, mas encontrei esse tipo de problema ao executar o código,a alguém pode ajudar?

Aqui está o código:

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

Responder1

Para usar o sagetexpacote você precisa de LaTeX, SAGE, sagetex. Depois disso as 3 peças precisam se comunicar entre si. A solução mais fácil é abrir uma conta gratuitaCocalcconta, crie um documento LaTeX, copie/cole o código acima nele, salve o documento e pressione build. Você termina em alguns minutos! Super simples e você pode fazer seu trabalho em qualquer lugar do mundo onde tenha conexão com a internet.

Se você não quiser usar o Cocalc, há muito mais coisas que podem dar errado. Supondo que você esteja usando uma distribuição LaTeX sagetexincluída, a resposta mais provável é que você não baixou o SAGE. Esse tem sido o caso de muitas pessoas que conheço que presumiram que, desde que o fizeram, sagetexestão prontas para usá-lo. O problema é que o SAGE requer cerca de 5 GB de espaço, portanto não faz parte da sua distribuição LaTeX. Você precisará ir até oSagemathsite e clique na guia ‘Download’ onde você selecionará a versão Mac/Windows/Linux. Observe que muitas distribuições Linux possuem SAGE em seus repositórios e, nesse caso, você deve fazer o download a partir daí. Depois de ter o LaTeX, o SAGE e sagetexo seu computador, o processamento de um documento é um processo de 3 etapas mencionado na páginade onde vem seu código: primeiro processe o arquivo .tex, depois processe o arquivo .sage e, em seguida, processe o arquivo .tex. Isso é explicado na resposta de Samuel Lelièvre e observe que o processamento do arquivo .sage requer a linha de comando, conforme mostrado na minha resposta com imagensaqui. O processo de 3 etapas pode ser automatizado com alguns IDEs LaTeX. Por exemplo, aquiKileé discutido e aqui,TeXstudiopara Windows. O resultado é que pressionar um botão executará as 3 etapas, o que economiza uma quantidade considerável de tempo.

Se você ainda não conseguir fazer o processo de 3 etapas funcionar, provavelmente é uma questão de LaTeX e SAGE não se comunicarem corretamente. Isto é discutido nolink mencionado anteriormentee pode ser difícil de descobrir.

Vale ressaltar que a forma como você deu sagetexa conhecer à SAGE, discutiuaquipode resultar em problemas mais tarde, onde diz: "No entanto, existem alguns pequenos problemas com isso: o primeiro é que você acabará com muitas cópias desnecessárias de sagetex.sty espalhadas pelo seu computador. O segundo e mais sério problema é que se você atualizar o Sage e obter uma nova versão do SageTeX, o código Python e o código LaTeX do SageTeX podem não corresponder mais, causando erros.". Usar Cocalc significa que outra pessoa garante que todas as versões do LaTeX sagetexestejam funcionando juntas corretamente.

Responder2

Correndo

pdflatex myfile.tex

produz um arquivo auxiliar que contém todos os cálculos que o Sage precisa fazer:

myfile.sagetex.sage

Executando o Sage neste arquivo:

sage myfile.sagetex.sage

calcula os resultados de todos esses cálculos, para que na próxima vez que você executar

pdflatex myfile.tex

os resultados dos cálculos estão incluídos e aparecem no pdf resultante.

Responder3

Além das outras respostas aqui (sobre o básico de como usar o sagetex), deixe-me acrescentar o seguinte: há um erro no arquivo. Como eu disse em uma resposta ahttps://stackoverflow.com/questions/57369317/why-does-the-result-of-my-sage-command-becomes-question-mark:

Quando tento compilar isso, recebo:

**** 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

O problema é esta linha:

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

e, em particular, você não definiu y. (No SageMath, x é automaticamente definido como uma variável, mas não y.) Se você adicionar isso antes do gráfico, deverá funcionar:

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

Responder4

O seguinte é um trabalho de hack, com certeza, mas descobri a qual diretório meu Sage Shell tinha acesso, chame-o de diretório A. Copiei e colei o arquivo 'xxx.sagetex.sage' do diretório onde estava executando o latex ( diretório B) no diretório A. Em seguida, a partir do shell sage, executei o comando load('intro_to_análise.sagetex.sage') que criou vários arquivos, no diretório A. Copiei e colei esses arquivos no diretório B e compilei látex novamente e os gráficos apareceram no meu documento.

informação relacionada