在 LaTeX 字符串中显示天体数量
Display an astropy Quantity within a LaTeX string
我正在寻找一种方法来在 IPython 笔记本中的 LaTeX 字符串中呈现 astropy
变量。例如,给定一个简单的前提,
from astropy.constants import c
import astropy.units as u
from astropy import log
光速默认精美渲染为:
只需在 ipython 提示符中输入即可。现在,如果我想将其嵌入到字符串中怎么办?如何跳上 astropy 已经使用的相同渲染火车来打印示例字符串,如 'Speed limit: {}'.format(c)
?
到目前为止我尝试过的所有方法,包括 LaTeX 格式字符串的变体,都只显示 ASCII 字符串作为输出:
可能有更优雅的解决方案,但这个可行:
# Science
import numpy as np
from astropy.units import Unit
# Notebook
from IPython.display import Markdown
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
# Handy functions
def Qshow(Q, sigfig=2, unit=None, name=None):
name = Q.info.name
if unit is not None:
Q = Q.to(unit)
if sigfig is not None:
q = Q.round(sigfig - int(np.log10(Q.value)))
else:
q = Q
if name is not None:
output = Markdown(f'{name} = {q._repr_latex_()}')
else:
output = Markdown(f'{q._repr_latex_()}')
return output
# Parameter
density = 1.23456e12 * Unit('g/cm^3')
density.info.name = r'$\rho$'
# Results
Qshow(density)
请参阅 this gist 了解最新版本。
我正在寻找一种方法来在 IPython 笔记本中的 LaTeX 字符串中呈现 astropy
变量。例如,给定一个简单的前提,
from astropy.constants import c
import astropy.units as u
from astropy import log
光速默认精美渲染为:
只需在 ipython 提示符中输入即可。现在,如果我想将其嵌入到字符串中怎么办?如何跳上 astropy 已经使用的相同渲染火车来打印示例字符串,如 'Speed limit: {}'.format(c)
?
到目前为止我尝试过的所有方法,包括 LaTeX 格式字符串的变体,都只显示 ASCII 字符串作为输出:
可能有更优雅的解决方案,但这个可行:
# Science
import numpy as np
from astropy.units import Unit
# Notebook
from IPython.display import Markdown
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
# Handy functions
def Qshow(Q, sigfig=2, unit=None, name=None):
name = Q.info.name
if unit is not None:
Q = Q.to(unit)
if sigfig is not None:
q = Q.round(sigfig - int(np.log10(Q.value)))
else:
q = Q
if name is not None:
output = Markdown(f'{name} = {q._repr_latex_()}')
else:
output = Markdown(f'{q._repr_latex_()}')
return output
# Parameter
density = 1.23456e12 * Unit('g/cm^3')
density.info.name = r'$\rho$'
# Results
Qshow(density)
请参阅 this gist 了解最新版本。