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


当前回答

自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。

你可以将你的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上渲染。

多行显示

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

TeXify不再工作。检查我的repo readme2tex-action如何创建Github动作。

添加动作。Yml文件到.github/workflow /action.yml。 如有必要,请更改分支主名称。

我使用下面提到的过程转换方程markdown。这对我来说很有效。非常简单!!

比方说,我想表示矩阵乘法方程

步骤1:

从这里获取公式脚本- https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/ 我的例子:我想表示Z(I,j)=X(I,k) * Y(k, j);K =1到n的求和公式。 参考网站,需要的脚本是=> Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

步骤2:

使用URL编码器- https://www.urlencoder.org/将脚本转换为有效的URL 我的例子:

步骤3:

使用本网站通过复制粘贴步骤2中的“eq”请求参数中的输出来生成图像- http://www.sciweavers.org/tex2img.php?eq=<b><i>粘贴-output-here</i></b>&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit= -我的例子: http://www.sciweavers.org/tex2img.php?eq=Z_i_j= \ sum_ {k = 1} ^ {10} % 20 x_i_k % 20 * % 20 y_k_j&bc = White&fc = Black&im = jpg&fs = 12 ff = arev&edit =

步骤4:

参考图片使用markdown语法- ![alt文本](在这里输入url) -复制这个在你的markdown和你是好的: ![Z(i,j)=X(i,k) * Y(k, j);k=1 ~ n](http://www.sciweavers.org/tex2img.php?eq=Z_i_j%3D%5Csum_%7Bi%3D1%7D%5E%7B10%7D%20X_i_k%20%2A%20Y_k_j&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=)

下图是markdown的输出。华友世纪! !