经过研究,我发现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页面。


当前回答

你可以将你的LaTeX嵌入到render.githubusercontent.com渲染的图像URL中,例如:

<img src="https://render.githubusercontent.com/render/math?math={x + y}">

这将呈现如下:

你会发现这里少了一个+号。为了解决这个问题,你可以URL编码加号为%2b或URL编码整个等式,这将呈现如下:

不幸的是,它总是以黑色呈现,所以你会想要使用这个GitHub特定的技巧来为使用暗模式的用户呈现白色文本,为使用浅色模式的用户呈现黑色文本,方法是使用#gh-light-mode-only和使用LaTeX命令\color{white}和#gh-dark-mode-only标签来包含方程:

<img src="https://render.githubusercontent.com/render/math?math={x - y}#gh-light-mode-only">
<img src="https://render.githubusercontent.com/render/math?math={\color{white}x - y}#gh-dark-mode-only">

这将显示给轻模式用户:

并显示给暗模式用户:

其他回答

另一种解决方法是使用jupyter笔记本,并在单元格中使用markdown模式来渲染方程。

基本的东西似乎很完美,比如居中方程

\begin{equation}
...
\end{equation}

或者内联方程

$ \sum_{\forall i}{x_i^{2}} $

虽然,我真正想要的一个函数在github中根本没有呈现是\mbox{},这是一个遗憾。但是,总的来说,这是在github上渲染方程的最成功的方式。

如果只是想自己在浏览器中展示数学,你可以尝试Chrome扩展GitHub和MathJax。这很方便。

你可以将你的LaTeX嵌入到render.githubusercontent.com渲染的图像URL中,例如:

<img src="https://render.githubusercontent.com/render/math?math={x + y}">

这将呈现如下:

你会发现这里少了一个+号。为了解决这个问题,你可以URL编码加号为%2b或URL编码整个等式,这将呈现如下:

不幸的是,它总是以黑色呈现,所以你会想要使用这个GitHub特定的技巧来为使用暗模式的用户呈现白色文本,为使用浅色模式的用户呈现黑色文本,方法是使用#gh-light-mode-only和使用LaTeX命令\color{white}和#gh-dark-mode-only标签来包含方程:

<img src="https://render.githubusercontent.com/render/math?math={x - y}#gh-light-mode-only">
<img src="https://render.githubusercontent.com/render/math?math={\color{white}x - y}#gh-dark-mode-only">

这将显示给轻模式用户:

并显示给暗模式用户:

Markdown支持内联HTML。内联HTML可以用于快速和简单的内联方程,也可以使用外部工具进行更复杂的渲染。

快速简单的内联

对于快速和简单的内联项目,使用HTML &实体代码。将这种思想与markdown中的下标文本结合起来的一个例子是:hθ(x) = θo x + θ1x,其代码如下。

    h<sub>&theta;</sub>(x) = &theta;<sub>o</sub> x + &theta;<sub>1</sub>x

常见数学符号的HTML &实体代码可以在这里找到。这里是希腊字母的密码。一个广泛的列表html实体代码到Unicode字符可以在这里找到。

虽然这种方法有局限性,但它实际上适用于所有的降价,并且不需要任何外部库。

使用LaTeX和Codecogs进行复杂的可伸缩内联渲染

如果你的需求更大,可以使用像CodeCogs这样的外部LaTeX渲染器。用CodeCogs编辑器创建一个方程。选择svg来呈现,选择HTML来嵌入代码。Svg在调整大小时呈现良好。当您查看源代码时,HTML使LaTeX易于阅读。从页面底部复制嵌入代码,并将其粘贴到您的标记中。

<img src="https://latex.codecogs.com/svg.latex?\Large&space;x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" title="\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}" />

用markdown表示

![\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}](https://latex.codecogs.com/svg.latex?\Large&space;x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}) 

它结合了这个和这个答案。

对我来说,GitHub只支持使用上面的原始html语法来编写可读的LaTeX。如果上面的不工作,你的另一个选择是选择URL编码呈现,并使用该输出手动创建一个链接,如:

![\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}](https://latex.codecogs.com/svg.latex?x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D)

这手动将LaTex合并到alt图像文本中,并使用一个编码的URL在GitHub上渲染。

多行显示

如果你需要多行渲染,看看这个答案。

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

我建议你看看GitHub应用TeXify:

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

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

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