vscode LaTeX在嵌入到html中的单元格文本/html编码输出中无法渲染

pkbketx9  于 6个月前  发布在  Vscode
关注(0)|答案(4)|浏览(56)

### 环境数据

* VS Code版本:1.74.3
* Jupyter扩展版本(在Extensions侧边栏中可用):v2022.11.1003412109
* Python扩展版本(在Extensions侧边栏中可用):v2022.20.2

### 预期行为

期望表格中的LaTeX能够被渲染。
输出在Jupyter和JupyterLab中正确渲染,但看起来html输出似乎没有通过MathJax进行排版以在html中渲染数学。

### 实际行为

表格中的LaTeX是原始文本,而不是呈现为渲染的数学公式。

### 重现步骤:

1. 打开一个Python内核
1. 运行以下单元格:

%%html

  1. 由于数学嵌套在div html中,而不是看到√2的LaTeX,您将看到纯文本 $\sqrt(2)$

可能的解决方法

在对text/html运行transform以响应元素后,是否可以在输出显示的根元素上调用MathJax.Typeset?这将使Jupyter/JupyterLab的行为更加原生地支持许多场景中的数学。目前,来自IQ#(Azure Quantum的Q#语言内核)等内核的html数学输出在没有渲染MathJax的情况下非常难以阅读。
Markdown渲染器对于许多这些场景不起作用,因为Markdown渲染器在许多情况下对html的处理不当,例如如果它是制表符化的,它将其视为块引用,因此仅更改表示类型无法解决问题。

r1zhe5dt

r1zhe5dt1#

相同的问题。在VSCode中打开一个Jupyter Notebook,将以下内容粘贴到markdown单元格中:

Version: 1.85.2 (user setup)
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
Date: 2024-01-18T06:40:10.514Z
Electron: 25.9.7
ElectronBuildId: 26354273
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: 11.4.183.29-electron.0
OS: Windows_NT x64 10.0.19045

标题行显示正确。
第一个方程行 - LaTeX未被解释。
第二个方程行 - LaTeX被正确解释。
最后一个方程行 - LaTeX未被解释。
在浏览器中的Jupyter Notebook服务器中,HTML表格显示正确,所有LaTeX都被正确解释,看起来像这样:

svujldwt

svujldwt2#

当你们计划解决这个问题时!~!!!!!!

csbfibhn

csbfibhn3#

在我的公司,我们有一个将LaTeX输出为HTML的图书馆,我们也遇到了这个问题。作为暂时的解决方法,我们发现注入KaTeX代码以自动渲染LaTeX是有效的(但这是一个烦人的技巧,我们宁愿不用做!)
https://katex.org/docs/autorender

from IPython.display import HTML

katexInjectString = '''<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" integrity="sha384-nB0miv6/jRmo5UMMR1wu3Gz6NLsoTkbqJghGIsx//Rlm+ZU03BU6SQNC66uf4l5+" crossorigin="anonymous">
<script type="module">
import renderMathInElement from "https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.mjs";
renderMathInElement(document.body);
</script>'''

def code():
    return '''<span>$$a_\gamma = z + \phi + x^y$$</span>'''

HTML(katexInjectString + code())

bz4sfanl

bz4sfanl4#

非常感谢提供的解决方案。

相关问题