| 1 | initial version |
Hello, Sage community. I was able to adapt @Juanjo's answer, but then I did some incantation (which I don't completely understand) that generalized his method. The only problem is that I had to modify the code in the file sage.misc.latex.latex. Here I describe what I did.
First of all, I made a copy of the file I just mentioned, and added a small modification of part of your code. Here is the patch:
@@ -36,6 +36,7 @@
from sage.misc.sage_ostools import have_program
from sage.misc.temporary_file import tmp_dir
@@ -36,6 +36,7 @@
from sage.misc.sage_ostools import have_program
from sage.misc.temporary_file import tmp_dir
+from sage.all import RR, CC
EMBEDDED_MODE = False
COMMON_HEADER = \
@@ -921,6 +922,10 @@
sage: latex((x,2), combine_all=True)
x 2
"""
+ if x in RR:
+ return LatexExpr(r'\num{' + str(x) + '}')
+ elif x in CC:
+ return LatexExpr(r'\num{' + str(x.real_part()) + '+' + str(x.imag_part()) + 'i}')
if has_latex_attr(x):
return LatexExpr(x._latex_())
try:
I saved this as LaTeX.py., then I made an import:
from LaTeX import latex
And here is the part I don't understand:
sage.misc.latex.latex = latex
This last line makes my new latex() function work on matrices, tuples, list, etc. automatically. (Why?)
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.