Processing math: 100%
Ask Your Question
0

How do I get the output of this text in latex with sagetex?

asked 4 years ago

Moondoggy gravatar image

updated 4 years ago

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

\end{document}

Preview: (hide)

Comments

And your question is ?

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 4 years ago )

I don't know how to run a code in latex with sagetex. I have got some calculations in sage and I want latex to print them out.

Moondoggy gravatar imageMoondoggy ( 4 years ago )

1 Answer

Sort by » oldest newest most voted
1

answered 4 years ago

Emmanuel Charpentier gravatar image

updated 4 years ago

EDIT: a good starting point is this documentation.

Very roughly :

  • create your text in LaTeX, interspeding Sage fragments as needed : this will be, say, yourtext.tex.

  • pdflatex yourtext.tex : this will create yourtext.sagetex.sage, and give warninges about undefined references.

  • sage yourtext.sagetex.sage. This will, among other effects, update yourtext.tex.

  • pdflatex yourtext.tex (usually, you have to do it twice).

yourtext.pdf is now the sought document...

EDIT : The documenntation compiled in PDF form an an example tec=xt are available in $SAGE_ROOT/local/share/doc/sagetex/.

To recompile it (and get the indices) : in your installation, you have:

(sage-sh) charpent@zen-book-flip:~$ ls $SAGE_ROOT/local/share/texmf/tex/latex/sagetex/
CONTRIBUTORS        py-and-sty.dtx       sagetex.dtx      scripts.dtx
example.tex     remote-sagetex.dtx       sagetex.ins
extractsagecode.py  remote-sagetex.py        sagetexparse.py
makestatic.py       run-sagetex-if-necessary.py  sagetex.sty

Compiling sagetex.dtx with pdflatex (in a scratch directory) will give you instructions on how to compile both Sagetex and its documentation. More details here.

This cannot be done automatically in Sage's installation, because it requires a (not inconsequential) functional installation of LaTeX, which is not a Sage dependency.

The fie example.tex is also quite instructive... Fiddle with it a bit.

HTH,

Preview: (hide)
link

Comments

Thanks for your help. I do not really understand the third point. Now latex is telling me the following:"Run Sage on sage.sagetex.sage, and then run LaTeX on sage.tex again.".

Moondoggy gravatar imageMoondoggy ( 4 years ago )

I suppose you named your LaTeX file sage.tex, right ? So just do what you're instructed to do :

  • Step 1 : pdflatex sage.tex gives you :

    • asage.pdf file with [??] marks in place of your Sage results, which are supposed to exist in files yet nonexistant.

    • a sage.sagetex.sage file (as well as other files), which contain your Sage code (wrapped in execution instructions).

    • Step 2 : sage sage.sagetex.sage will run this file through Sage, generating a bunch of .tex files containing your results.

    • Step 3 pdflatex sage.tex will reconpile your tex file, where the references can now be obtained from the files created at step 2.

The new material added in step 2 may well change page, figure and table numbering, thus entailing further recompilation.

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 4 years ago )

Now I have the file .sagetex.sout: % This file was autogenerated from 2020-06-12-230428.sagetex.sage with % sagetex.py version 2019/01/09 v3.3 %b138f8a4fc7b23f763cd933974ea7272% md5sum of corresponding .sage file (minus "goboom", "current_tex_line", and pause/unpause lines)

Moondoggy gravatar imageMoondoggy ( 4 years ago )

That has been generated by Step 2, and contains (references to) your Sage results. They are referenced by the sagetex.tex file (via the \sagexxx macroes), and ill be read during Step 3. Go ahead !

Emmanuel Charpentier gravatar imageEmmanuel Charpentier ( 4 years ago )

Thank you for your patience. I do not really know how to do step 3. If I recompile the latex file nothing changes.

Moondoggy gravatar imageMoondoggy ( 4 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 4 years ago

Seen: 512 times

Last updated: Jun 12 '20