Using format strings in Python I can easily print a number in \"scientific notation\", e.g.
>> print \'%g\'%1e9
1e+09
What is the simples
Install num2tex:
pip install num2tex
and use it as so:
>>> from num2tex import num2tex
>>> '{:.0e}'.format(num2tex(1e9))
'1 \\times 10^{9}'
num2tex
inherits from str
so the format
function can be used in the same way.
You can also change the format of the exponent by using num2tex.configure()
(adding this in response to @Matt's comment).
>>>from num2tex import num2tex
>>>from num2tex import configure as num2tex_configure
>>>num2tex_configure(exp_format='cdot')
>>>num2tex(1.3489e17)
'1.3489 \cdot 10^{17}'
>>>num2tex_configure(exp_format='parentheses')
'1.3489 (10^{17})'
As of now this is undocumented in the GitHub, I'll try to change this soon!
Disclaimer: After using (and upvoting) Lauritz V. Thaulow's answer for a while (for Jupyter, Matplotlib etc.) I thought it would be better for my workflow to write a simple Python module, so I created num2tex on GitHub and registered it on PyPI. I would love to get some feedback on how to make it more useful.