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

问题描述 投票:102回答:8

在我调查之后,我发现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 markdown mathjax
8个回答
122
投票

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

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

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

实际上,允许执行javascript将略微偏离MarkDown标准的文本到HTML合同。

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

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

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

更新

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

给出以下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=)

它将显示以下图像

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。您可以轻松找到帮助您完成该任务的在线工具,例如www.url-encode-decode.com


49
投票

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

快速简单的内联

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

    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编码渲染并使用该输出手动创建如下链接:

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


8
投票

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

基本的东西似乎完美地工作,就像中心方程式

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

或内联方程

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

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


7
投票

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


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图像将被提交并推回到您的仓库。


0
投票

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


0
投票

对你的问题有很好的解决方案 - 使用TeXify github插件(由Tom Hale回答提到 - 但我在下面的给定链接中提出了他的答案) - 关于这个github插件的更多细节和解释为什么这是你可以在answer找到的好方法。


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

© www.soinside.com 2019 - 2024. All rights reserved.