如何在一般github的降价中显示数学方程式(不是github的博客)

时间:2012-06-29 05:21:28

标签: github markdown mathjax

在我调查之后,我发现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中显示数学符号。

14 个答案:

答案 0 :(得分:119)

  

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

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

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

实际上,允许执行javascript会有点像MarkDown标准的文本到HTML合同。

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

  

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

您最好的选择是找到类似于 yuml.me 的网站,该网站可以通过解析提供的网址查询字符串来生成即时图片。

更新

我发现有些网站为用户提供此类服务: codedogs.com 似乎不再支持嵌入)或 {{3} } 即可。 你可能想尝试一下。当然,其他人可能存在,一些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=)

它将显示以下图像

iTex2Img

注意:为了正确显示图片,您必须确保网址的查询字符串部分为 equation http://www.sciweavers.org/tex2img.php?eq=1%2Bsin%28mc%5E2%29&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit= 。您可以轻松找到可帮助您完成该任务的在线工具,例如 percent encoded

答案 1 :(得分:45)

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

快速简单的内联

对于快速简单的内联项,请使用HTML&符号entity codes。将此想法与降价标记中的下标文本组合的示例是:h θ(x)=θ o x +θ 1 x,代码以下是。

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

可以找到常见数学符号的HTML&符号实体代码here。希腊字母代码here

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

使用LaTeX和Codecogs的复杂可扩展内联渲染

如果您的需求更大,请使用像CodeCogs这样的外部LaTeX渲染器。使用CodeCogs editor创建等式。选择svg进行渲染,为嵌入代码选择HTML。 Svg在调整大小时效果很好。 HTML允许在查看源代码时轻松读取LaTeX。复制页面底部的嵌入代码并将其粘贴到markdown中。

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

这将此answer和此answer结合在一起。

GitHub 仅支持somtimes使用上面的原始html语法为我提供可读的LaTeX。如果上述方法不适用于您,则另一个选择是选择 URL Encoded 呈现并使用该输出手动创建如下链接:

\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?x%3D%5Cfrac%7B-b%5Cpm%5Csqrt%7Bb%5E2-4ac%7D%7D%7B2a%7D)

这会在alt图像文本中手动合并LaTex,并使用编码的URL在GitHub上进行渲染。

多行渲染

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

答案 2 :(得分:12)

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

GitHub和Bitbucket

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

Bitbucket Cloud / BCLOUD-11192 -- Add LaTeX Support in MarkDown Documents (BB-12552)

GitHub / markup -- Rendering math equations

GitHub / markup -- Support latex

GitHub Community Forum -- [FEATURE REQUEST] LaTeX Math in Markdown

talk.commonmark.org -- Can math formula added to the 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

谁支持通用定界符?

A Markdown parser used by Hugo

其他渲染方式

答案 3 :(得分:8)

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

基本的东西似乎完美无缺,就像中心方程一样

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

或内联方程

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

虽然,我真正想要的其中一个函数在github中根本没有渲染\mbox{},这是一个无赖。但是,总而言之,这是在github上渲染方程式的最成功方法。

答案 4 :(得分:6)

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

答案 5 :(得分:3)

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

我建议您查看GitHub应用TeXify

  

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

工作原理(来自source repository):

  

无论什么时候推送,TeXify都会在上次提交时运行并搜索* .tex.md文件。对于其中的每一个,它将运行readme2tex,它将把美元符号之间的LaTeX表达式括起来,将其转换为普通的SVG图像,然后将输出保存到.md扩展文件中(这意味着名为README.tex.md的文件)将被处理,输出将保存为README.md)。之后,输出文件和新的SVG图像将被提交并推回到您的仓库。

答案 6 :(得分:2)

另一种可能是依赖 GitHub 自己的 notebook 渲染器。这甚至适用于 SO。

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

<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

答案 7 :(得分:1)

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

您可以do this online快速周转,或在本地安装/配置 Pandoc。

答案 8 :(得分:1)

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

答案 9 :(得分:1)

我刚刚发布了一个小 Chrome 应用程序 Purple Pi,它可以让您在 GitHub 页面和其他任何地方使用 LaTeX 数学,实际上甚至是 StackOverflow。

enter image description here

enter image description here

作为用户,您只需安装一次,作为页面作者,您只需在页面中包含一个激活链接。

答案 10 :(得分:0)

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

答案 11 :(得分:0)

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

答案 12 :(得分:0)

我使用下面提到的过程将方程式转换为减价。这对我来说很好。非常简单!

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

步骤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表示为求和公式。

enter image description here

引用该网站,所需的脚本为=> Z_i_j=\sum_{k=1}^{10} X_i_k * Y_k_j

步骤2:

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

我的示例:

enter image description here

步骤3:

使用此网站通过将步骤2的输出复制粘贴到“ eq” 请求参数中-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=White&fc=Black&im=jpg&fs=12&ff=arev&edit=

enter image description here

步骤4:

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

    -将此内容复制到您的减价中,您就可以了:

![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的输出。哇!


enter image description here

答案 13 :(得分:-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}。$$
对我有用