
Estoy intentando utilizar el paquete sagetex, pero encontré este tipo de problema al ejecutar el código.
¿Alguien puede ayudar?
Aquí está el 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}
Respuesta1
Para utilizar el sagetex
paquete necesita LaTeX, SAGE,sagetex
. Después de eso, las 3 piezas deben comunicarse entre sí. La solución más sencilla es abrir una cuenta gratuita.cocalcuenta, cree un documento LaTeX, copie/pegue el código anterior en él, guarde el documento y presione compilar. ¡Terminaste en un par de minutos! Súper simple y puedes realizar tu trabajo en cualquier parte del mundo donde tengas conexión a Internet.
Si no desea utilizar Cocalc, hay muchas más cosas que pueden salir mal. Suponiendo que está utilizando una distribución LaTeX que sagetex
la incluye, la respuesta más probable es que no ha descargado SAGE. Ese ha sido el caso de muchas personas que conozco que asumieron que, ya que lo tenían, sagetex
estaban listos para usarlo. El problema es que SAGE requiere alrededor de 5 GB de espacio, por lo que no forma parte de su distribución de LaTeX. Tendrás que ir alsabiomathsitio y haga clic en la pestaña 'Descargar' donde seleccionará la versión Mac/Windows/Linux. Tenga en cuenta que muchas distribuciones de Linux tienen SAGE en sus repositorios, en cuyo caso deberá descargarlo desde allí. Una vez que tenga LaTeX, SAGE y sagetex
en su computadora, procesar un documento es un proceso de 3 pasos mencionado en la página.de donde viene tu código: primero procese el archivo .tex, luego procese el archivo .sage y luego procese el archivo .tex. Esto se explica en la respuesta de Samuel Lelièvre y tenga en cuenta que procesar el archivo .sage requiere la línea de comando como se muestra en mi respuesta con imágenes.aquí. El proceso de 3 pasos se puede automatizar con algunos IDE de LaTeX. Por ejemplo, aquíkilose discute y aquí,TeXstudiopara ventanas. El resultado es que al presionar un botón se realizarán los 3 pasos, lo que ahorra una cantidad considerable de tiempo.
Si aún no logras que el proceso de 3 pasos funcione, entonces probablemente sea una cuestión de que LaTeX y SAGE no se comunican correctamente. Esto se discute en elenlace mencionado anteriormentey puede ser difícil de entender.
Cabe mencionar que la forma en que se lo ha dado sagetex
a conocer a SAGE, discutidoaquípuede ocasionar problemas más adelante donde dice: "Sin embargo, hay un par de pequeños problemas con esto: el primero es que terminará con muchas copias innecesarias de sagetex.sty esparcidas por su computadora. El segundo y más serio problema es que Si actualiza Sage y obtiene una nueva versión de SageTeX, es posible que el código Python y el código LaTeX para SageTeX ya no coincidan, lo que provocará errores". Usar Cocalc significa que alguien más se asegura de que todas las versiones de LaTeX sagetex
funcionen juntas correctamente.
Respuesta2
Correr
pdflatex myfile.tex
produce un archivo auxiliar que contiene todos los cálculos que Sage necesita hacer:
myfile.sagetex.sage
Ejecutando Sage en este archivo:
sage myfile.sagetex.sage
calcula los resultados de todos estos cálculos, de modo que la próxima vez que ejecute
pdflatex myfile.tex
Los resultados de los cálculos se incluyen y aparecen en el pdf resultante.
Respuesta3
Además de las otras respuestas aquí (sobre los conceptos básicos de cómo usar sagetex), permítanme agregar esto: hay un error en el archivo. Como dije en una respuesta ahttps://stackoverflow.com/questions/57369317/why-does-the-result-of-my-sage-command-becomes-question-mark:
Cuando intento compilar esto, obtengo:
**** 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
El problema es esta línea:
\sageplot[scale=.5]{plot3d(sin(pi*(x^2+y^2))/2,(x,-1,1),(y,-1,1))}
y en particular, no has definido y. (En SageMath, x se define automáticamente como una variable, pero no y). Si agrega esto antes del gráfico, debería funcionar:
\begin{sagesilent}
var('y')
\end{sagesilent}
Respuesta4
Lo siguiente es un trabajo de pirateo, sin duda, pero descubrí a qué directorio tenía acceso mi sage shell, llámelo directorio A. Copié y pegué el archivo 'xxx.sagetex.sage' del directorio donde estaba ejecutando latex ( directorio B) en el directorio A. Luego, desde Sage Shell, ejecuté el comando load('intro_to_analysis.sagetex.sage') que creó una cantidad de archivos, en el directorio A. Copié y pegué esos archivos en el directorio B, y compilé látex nuevamente y las tramas aparecieron en mi documento.