222

经过调查,我发现 mathjax 可以做到这一点。但是当我在我的降价文件中编写一些示例时,它没有显示正确的方程式:

我在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 页面中显示数学符号。

4

15 回答 15

189

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

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

该库的座右铭是“C 中符合标准、快速、 安全 的降价处理库”。考虑到您的问题,重要的词是“安全”:)。

实际上,允许执行 javascript 有点偏离 MarkDown 标准的 text-to-HTML 合同。

此外,所有看起来像 HTML 标记的东西要么被转义,要么被剥离。

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

您最好的选择是找到一个类似于yuml.me的网站,该网站可以通过解析提供的 URL 查询字符串来生成动态图像。

更新

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

给定以下降价语法

![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 的查询字符串部分是百分比编码的。您可以轻松找到在线工具来帮助您完成该任务,例如www.url-encode-decode.com

于 2012-06-29T06:08:14.723 回答
182

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

快速简单的内联

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

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

可以在此处找到常用数学符号的 HTML & 实体代码。希腊字母代码在这里

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

使用 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}" />

以降价表示成为

![\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}) 

\大 x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}

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

GitHub仅支持有时使用上述原始 html 语法为我提供可读的 LaTeX。如果上述方法对您不起作用,则另一种选择是选择URL 编码渲染并使用该输出手动创建如下链接:

\大 x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}

![\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 合并到替代图像文本中,并使用编码的 URL 在 GitHub 上呈现。

多线渲染

如果您需要多行渲染,请查看此答案

于 2017-12-13T17:17:59.617 回答
28

现在是2020年了,让我总结一下源代码存储库主机的数学公式渲染支持的进展情况。

GitHub 和比特桶

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

Bitbucket Cloud / BCLOUD-11192 -- 在 MarkDown 文档中添加 LaTeX 支持 (BB-12552)

GitHub / markup -- 渲染数学方程式

GitHub / 标记 -- 支持乳胶

GitHub 社区论坛 -- [功能请求] Markdown 中的 LaTeX 数学

talk.commonmark.org -- 可以将数学公式添加到降价中

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 风味的 Markdown——数学

谁支持通用分隔符?

Hugo 使用的 Markdown 解析器

其他渲染方式

于 2020-04-16T13:40:40.280 回答
18

另一种可能是依赖 GitHub 自己的 notebook 渲染器。这甚至可以在 SO 中使用。

要呈现x_{1,2} = \frac{-b \pm \sqrt{b^2-4ac}}{2b}使用以下 HTMLimg标记:

<img src="https://render.githubusercontent.com/render/math?math=x_{1,2} = \frac{-b \pm \sqrt{b^2-4ac}}{2b}">

现场演示:

这种方法的优点是您可以直接在 Markdown 中编辑公式,并且预览会相应更新。
您可以通过编辑此答案来尝试一下。(如果它们没有添加到答案中,请丢弃您的编辑;))

来源:https ://gist.github.com/a-rodin/fef3f543412d6e1ec5b6cf55bf197d7b

于 2021-05-26T19:59:41.690 回答
15

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

基本的东西似乎工作得很好,比如中心方程

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

或内联方程

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

虽然,我真正想要的一个功能根本没有在 github 中呈现\mbox{},这真是太糟糕了。但是,总而言之,这是在 github 上渲染方程式的最成功的方式。

于 2016-10-14T20:50:44.690 回答
14

如果只是想自己在浏览器中显示数学,您可以尝试使用带有 MathJax 的 Chrome 扩展 GitHub。这很方便。

于 2016-08-13T08:48:42.690 回答
6

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

我建议你看看 GitHub 应用TeXify

GitHub 应用程序在您的推送中查找扩展名为 *.tex.md 的文件,并将其 TeX 表达式呈现为 SVG 图像

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

每当您推送时,TeXify 都会在您的最后一次提交中运行并搜索 *.tex.md 文件。对于其中的每一个,它将运行 readme2tex ,它将采用美元符号之间的 LaTeX 表达式,将其转换为纯 SVG 图像,然后将输出保存到一个 .md 扩展文件中(这意味着一个名为 README.tex.md 的文件将被处理,输出将保存为 README.md)。之后,输出文件和新的 SVG 图像将被提交并推送回您的存储库。

于 2018-06-02T09:52:54.597 回答
4

我使用下面提到的过程将方程转换为降价。这对我来说非常有效。它非常简单!

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

第1步:

从这里获取公式的脚本 - https://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/

我的例子:我想表示Z(i,j)=X(i,k) * Y(k, j); k=1 to n一个求和公式。 参考网站,需要的脚本是=>

在此处输入图像描述

Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

第2步:

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

我的示例:

在此处输入图像描述

第 3 步:

使用此网站通过在“eq”请求参数中复制粘贴步骤 2 的输出来生成图像http://www.sciweavers.org/tex2img.php?eq=<b><i>paste-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}%20X_i_k%20*%20Y_k_j&bc=白&fc=黑&im=jpg&fs=12&ff=arev&edit=

在此处输入图像描述

第4步:

使用 markdown 语法的参考图像 - ![alt text](enter url here)

-将其复制到您的 markdown 中,您就可以开始了:

![Z(i,j)=X(i,k) * Y(k, j); k=1 to 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的输出。欢呼!!


在此处输入图像描述

于 2019-11-24T00:52:40.667 回答
3

我刚刚发布了一个小小的 Chrome 扩展程序xhub,它可以让你在 GitHub 页面中使用 LaTeX 数学(以及更多)。

在此处输入图像描述

优点:

  • 你不必在你的仓库中设置任何东西,只需在你的 Markdown 中使用数学(来自GitLab的语法):
    Some display math:
    ```math
    e^{i\pi} + 1 = 0
    ```
    and some inline math, $`a^2 + b^2 = c^2`$.
    
  • 它适用于浅色和深色背景。
  • 您可以复制并粘贴数学

缺点:

  • 您必须安装一次浏览器扩展程序。
于 2021-05-10T15:00:04.293 回答
2

您的问题有一个很好的解决方案 - 使用TeXify github 插件(由Tom Hale回答提到 - 但我在下面的给定链接中开发了他的答案) - 有关此 github 插件的更多详细信息以及为什么这是您可以在该答案中找到的好方法的解释。

于 2018-12-30T20:38:00.117 回答
1

我在降价文件的头部使用了以下内容

<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}.$$
它对我有用

于 2018-06-30T19:01:00.703 回答
1

“快速而肮脏”的解决方案是使用标准 TeX 方程维护标准 .md 文件,例如 .md 文件_README.md。当您满意时,通过Pandoc传递整个文件以从标准转换MarkdownMarkdown (Github flavour),并将输出复制到README.md.

您可以在线执行此操作以快速周转,或在本地安装/配置 Pandoc。

于 2021-01-22T11:43:35.983 回答
1

Mathcha 是一个复杂的数学编辑器,但它可用于渲染单个方程式并将它们保存为纯 html,然后您可以将其作为内联 html 添加到文档中,或者您可以保存为 SVG 并作为图像插入。 https://www.mathcha.io/

于 2021-01-28T20:16:26.820 回答
0

关于 tex→image 转换,工具 LaTeXiT 产生更高质量的输出。我相信它在大多数 TeX 发行版中是标准的,但如果你还没有它,你当然可以在网上找到它。您需要做的就是将它放入 TeX,将图像拖到桌面,然后从桌面拖到图像托管站点(我使用 imgur)。

于 2014-09-19T14:20:32.650 回答
0

TeXify 不再工作。查看我的 repo readme2tex-action以了解如何创建 Github 操作。

  • 将 action.yml 文件添加到您的存储库中.github/workflows/action.yml
  • main如有必要,更改分支名称。
于 2022-01-27T22:53:46.293 回答