Dam*_* Lu 1 python markdown python-markdown
将内容从markdown转换为HTML格式时,使用以下数学函数
${\{y_{i}, x_{i1}, ..., x_{id}\}}_{i=1}^{n}$
Run Code Online (Sandbox Code Playgroud)
转换成了
${{y_{i}, x_{i1}, ..., x_{id}}}<em>{i=1}^{n}$
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉Python的Markdown没有这样做?谢谢!
是的,数学语法与Markdown的语法冲突.您需要告诉解析器不要将其视为Markdown.
您有几种不同的方法可以做到这一点:
用原始HTML包装Math函数.Markdown不在原始块级HTML中处理.所以把你的数学包装成div:
<div>${\{y_{i}, x_{i1}, ..., x_{id}\}}_{i=1}^{n}$</div>
Run Code Online (Sandbox Code Playgroud)使用第三方扩展(也在这里),它提供了一种将文档的一部分标记为数学的方法.您需要安装其中一个扩展,然后告诉Python-Markdown使用它.例如,要安装Python-Markdown-Math,请执行以下操作:
pip install python-markdown-math
Run Code Online (Sandbox Code Playgroud)
然后,在Python代码中,您可以告诉Markdown使用扩展名:
markdown.markdown(src, extensions=['mdx-math'])
Run Code Online (Sandbox Code Playgroud)
请注意,为了避免与用于指定货币(正常使用)的美元符号冲突,大多数扩展不支持使用单个美元符号作为包装.在这种情况下,您将需要使用双美元符号($$...$$).或者你可以打开像这样的单一美元符号的支持:
markdown.markdown(
src,
extensions=['mdx_math'],
extension_configs={
'mdx_math': {'enable_dollar_delimiter': True}
}
)
Run Code Online (Sandbox Code Playgroud)
另外,Arithmatex Extension默认支持单一美元符号.但是,它是更大的扩展包的一部分.如果您只需要一个,Python-Markdown-Math将为您提供服务(每个都由Python-Markdown团队的不同成员开发).
| 归档时间: |
|
| 查看次数: |
386 次 |
| 最近记录: |