经过研究,我发现mathjax可以做到这一点。但是当我在我的markdown文件中写一些例子时,它并没有显示正确的方程:

我在markdown文件的头部添加了这个:

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>

然后输入mathjax语句:

\(E=mc^2\),$$x_{1,2} = \frac{-b \pm \sqrt{b^2-4ac}}{2b}.$$

但是github没有显示任何数学符号!请帮帮我,谢谢! 告诉我如何显示数学符号在github markdown页面。


当前回答

但是github没有显示任何数学符号!请帮帮我,谢谢!

GitHub markdown解析由SunDown (ex libUpSkirt)库执行。

该库的座右铭是“符合标准、快速、安全的C语言markdown处理库”。考虑到你的问题,这里重要的词是“安全”:)。

事实上,允许执行javascript与MarkDown标准的文本到html合同有点不符。

此外,所有看起来像HTML标记的内容都被转义或删除。

告诉我如何显示数学符号在一般github markdown。

最好的办法是找一个类似yuml的网站。me,它可以通过解析提供的URL查询字符串生成实时图像。

更新

我发现一些网站为用户提供这样的服务:codedogs.com(似乎不再支持嵌入)或iTex2Img。 你可能想尝试一下。当然,其他的可能存在,一些Google-fu会帮助你找到它们。

给定以下markdown语法

![equation](http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

它将显示以下图像

注意:为了使图像正确显示,您必须确保url的querystring部分是百分比编码的。你可以很容易地找到在线工具来帮助你完成这项任务,比如www.url-encode-decode.com

其他回答

有一个很好的解决方案,你的问题-使用TeXify github插件(提到了汤姆黑尔的答案-但我开发了他的答案在下面给出的链接)-关于这个github插件的更多细节,并解释为什么这是一个很好的方法,你可以在答案中找到。

我在标记文件的头部使用了以下内容

<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js? 
config=TeX-MML-AM_CHTML"
</script>

然后输入以下mathjax语句 $$x_{1,2} = \frac{-b \pm \sqrt{b^2-4ac}}{2b}.$$ 这对我很有效

现在已经是2020年了,让我来总结一下源代码存储库主机的数学公式呈现支持的进展。

GitHub和Bitbucket

GitHub和Bitbucket仍然不支持数学公式的呈现,无论是默认的分隔符还是其他。

Bitbucket Cloud / BCLOUD-11192 -在MarkDown文档中添加LaTeX支持(BB-12552) GitHub / markup—呈现数学方程 GitHub / markup—支持latex GitHub社区论坛-[功能请求]乳胶数学在Markdown talk.commonmark.org—数学公式可以添加到markdown

GitHub近年来几乎没有取得任何实质性进展。

GitLab

GitLab已经得到了支持,但不是最常见的方式。它使用自己的分隔符。

This math is inline $`a^2+b^2=c^2`$.

This is on a separate line

```math
a^2+b^2=c^2
```

GitLab Flavored Markdown -- Math

谁支持通用分隔符?

Hugo使用的Markdown解析器

其他渲染方法

使用web api渲染根据一个黑客显示乳胶公式在GitHub markdown,你甚至可以写jupyter笔记本。 readme2tex

自2022年5月起正式支持:

Render mathematical expressions in Markdown You can now use LaTeX style syntax to render math expressions within Markdown inline (using $ delimiters) or in blocks (using $$ delimiters). Writing expressions as blocks To add math as a multiline block displayed separately from surrounding text, start a new line and delimit the expression with two dollar symbols $$. **The Cauchy-Schwarz Inequality** $$\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right)$$ Writing inline expressions To include a math expression inline with your text, delimit the expression with a dollar symbol $. This sentence uses `$` delimiters to show math inline: $\sqrt{3x-1}+(1+x)^2$ GitHub's math rendering capability uses MathJax; an open source, JavaScript-based display engine. MathJax supports a wide range of LaTeX macros and a number of useful accessibility extensions. For more information, see the MathJax documentation and the MathJax Accessibility Extensions documentation. Some users have previously used a workaround to generate images of mathematical expressions through API requests. Images generated this way will remain viewable, but this technique will no longer work. Going forward, expressions should be written directly in Markdown using LaTeX syntax as described above. For more information about authoring content with advanced formatting, see Working with advanced formatting in the GitHub documentation.


这仍然是测试版,并受到批评。 参见“GitHub上的数学:好,坏和丑”,来自Nico Schlömer。 语法介绍:

竞争Markdown和数学渲染器 难以解释的数学问题


正如brc-dd在评论中指出的:

2022年6月:

用于数学表达式的隔离块语法 除了已经支持的分隔符之外,用户现在还可以使用“math fenced”代码块语法来描述数学表达式。 如果使用此方法,则不需要两个美元符号$$分隔符。 这里有一些数学!** ' '的数学 \ sqrt {3} ”。“ 就变成: 阅读有关使用高级格式的更多信息。

虽然GitHub不会解释MathJax公式,但您可以自动生成一个新的Markdown文档,将公式替换为图像。

我建议你看看GitHub应用TeXify:

GitHub应用程序,在你的推文件扩展名*.tex。md和渲染它的TeX表达式为SVG图像

它是如何工作的(从源存储库):

每当你按TeXify将运行并搜索*.tex。Md文件。对于其中的每一个,它将运行readme2tex,它将接受美元符号之间的LaTeX表达式,将其转换为普通的SVG图像,然后将输出保存到.md扩展文件中(这意味着将处理名为README.tex.md的文件,并将输出保存为README.md)。在此之后,将提交输出文件和新的SVG图像并将其推回您的repo。