经过研究,我发现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没有显示任何数学符号!请帮帮我,谢谢!
GitHub markdown解析由SunDown (ex libUpSkirt)库执行。
该库的座右铭是“符合标准、快速、安全的C语言markdown处理库”。考虑到你的问题,这里重要的词是“安全”:)。
事实上,允许执行javascript与MarkDown标准的文本到html合同有点不符。
此外,所有看起来像HTML标记的内容都被转义或删除。
告诉我如何显示数学符号在一般github markdown。
最好的办法是找一个类似yuml的网站。me,它可以通过解析提供的URL查询字符串生成实时图像。
更新
我发现一些网站为用户提供这样的服务:codedogs.com(似乎不再支持嵌入)或iTex2Img。
你可能想尝试一下。当然,其他的可能存在,一些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=)
它将显示以下图像
注意:为了使图像正确显示,您必须确保url的querystring部分是百分比编码的。你可以很容易地找到在线工具来帮助你完成这项任务,比如www.url-encode-decode.com
Markdown支持内联HTML。内联HTML可以用于快速和简单的内联方程,也可以使用外部工具进行更复杂的渲染。
快速简单的内联
对于快速和简单的内联项目,使用HTML &实体代码。将这种思想与markdown中的下标文本结合起来的一个例子是:hθ(x) = θo x + θ1x,其代码如下。
h<sub>θ</sub>(x) = θ<sub>o</sub> x + θ<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上渲染。
多行显示
如果你需要多行渲染,看看这个答案。
我使用下面提到的过程转换方程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的输出。华友世纪! !
现在已经是2020年了,让我来总结一下源代码存储库主机的数学公式呈现支持的进展。
GitHub和Bitbucket
GitHub和Bitbucket仍然不支持数学公式的呈现,无论是默认的分隔符还是其他。
Bitbucket Cloud / BCLOUD-11192 -在MarkDown文档中添加LaTeX支持(BB-12552)
GitHub / markup—呈现数学方程
GitHub / markup—支持latex
GitHub社区论坛-[功能请求]乳胶数学在Markdown
talk.commonmark.org—数学公式可以添加到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
谁支持通用分隔符?
Hugo使用的Markdown解析器
其他渲染方法
使用web api渲染根据一个黑客显示乳胶公式在GitHub markdown,你甚至可以写jupyter笔记本。
readme2tex
另一种可能是依赖GitHub自己的笔记本渲染器。这甚至可以在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
你可以将你的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">
这将显示给轻模式用户:
并显示给暗模式用户:
自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}
”。“
就变成:
阅读有关使用高级格式的更多信息。