有没有办法在GitHub存储库中的README.md中呈现LaTex?我用谷歌搜索并搜索堆栈溢出但没有相关的答案似乎可行。
对于简短的表达式而不是那么花哨的数学,你可以使用内联HTML在代码架上获得乳胶渲染数学,然后嵌入生成的图像。这是一个例子:
- <img src="https://latex.codecogs.com/gif.latex?O_t=\text { Onset event at time bin } t " />
- <img src="https://latex.codecogs.com/gif.latex?s=\text { sensor reading } " />
- <img src="https://latex.codecogs.com/gif.latex?P(s | O_t )=\text { Probability of a sensor reading value when sleep onset is observed at a time bin } t " />
这会产生类似下一个的东西
更新:这在eclipse中效果很好但不幸的是在github中没有。唯一的解决方法是下一个:
拿你的乳胶方程式转到http://www.codecogs.com/latex/eqneditor.php,在显示公式的区域的底部有一个小的下拉菜单,选择URL编码,然后将其粘贴到你的github markdown中:
![equation](http://latex.codecogs.com/gif.latex?O_t%3D%5Ctext%20%7B%20Onset%20event%20at%20time%20bin%20%7D%20t)
![equation](http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D)
![equation](http://latex.codecogs.com/gif.latex?P%28s%20%7C%20O_t%20%29%3D%5Ctext%20%7B%20Probability%20of%20a%20sensor%20reading%20value%20when%20sleep%20onset%20is%20observed%20at%20a%20time%20bin%20%7D%20t)
我一直在制作一个脚本,可以自动完成将LaTeX很好地排版到Github风格的降价中的大部分内容:https://github.com/leegao/readme2tex
渲染LaTeX for Github有一些挑战。首先,Github风味的markdown剥离了大多数标签和大多数属性。这意味着没有基于Javascript的库(如Mathjax)或任何CSS样式。
然后,自然解决方案似乎是嵌入预编译方程的图像。但是,您很快就会意识到,LaTeX不仅仅是将美元符号封闭的公式转换成图像。
简单地嵌入来自在线编译器的图像会给文档带来非常不自然的外观。事实上,我认为它在你的日常x ^ 2数学俚语中比在跳跃时更具可读性。
我相信确保您的文档以自然和可读的方式排版非常重要。这就是为什么我编写了一个脚本,除了将公式编译成图像之外,还确保生成的图像正确匹配并与文本的其余部分对齐。
例如,这里是一个.md
文件的摘录,关于使用readme2tex
排版的正则表达式的一些枚举属性:
正如您所料,顶部的方程组通过启动相应的align*
环境来指定
**Theorem**: The translation $[\![e]\!]$ given by
\begin{align*}
...
\end{align*}
...
请注意,虽然内联方程($ ... $)与文本一起运行,但显示方程(由\begin{ENV}...\end{ENV}
或$$...$$
分隔的方程)居中。这使已经习惯了LaTeX的人们能够轻松地保持工作效率。
如果这听起来像是可以帮助的东西,请务必检查出来。 https://github.com/leegao/readme2tex
我的诀窍是使用Jupyter笔记本。
GitHub内置支持渲染.ipynb文件。您可以在笔记本中编写内联并显示LaTeX代码,GitHub将为您呈现。
这是一个示例笔记本文件:https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e
也可以使用这个在线编辑器:https://www.codecogs.com/latex/eqneditor.php,它可以动态生成SVG
文件。您可以在文档中添加如下链接:![](https://latex.codecogs.com/svg.latex?y%3Dx%5E2)
,其结果为:。
我将带有方程式的存储库上传到Gitlab,因为它在.md文件中对LaTeX有本机支持:
```math
SE = \frac{\sigma}{\sqrt{n}}
```
内联乳胶的语法是$`\sqrt{2}`$
。
Gitlab在浏览器中使用JavaScript渲染方程而不是显示图像,这提高了方程的质量。
更多信息here。
让我们希望Github将来也能实现这一点。
我测试了其他人提出的一些解决方案,我想推荐TeXify在agurodriguez评论中创建并提出并由Tom Hale进一步描述 - 我想提出他的答案,并给出一些理由,为什么这是非常好的解决方案:
*.tex.md
文件时,TeXify将检测更改并生成*.md
文件,其中乳胶公式将通过保存在repo中的tex
目录中的图片进行交换。因此,如果您创建README.tex.md文件,那么TeXify将生成带有图片而不是tex公式的README.md。所以解析tex公式和生成文档是在每次提交和推送时自动完成的:)tex
目录中的图片,而README.md文件使用指向该图片的链接,您甚至可以卸载TeXify,所有旧文档仍然可以工作:)。 tex
目录和*.tex.md
文件将保留在存储库中,因此您可以访问原始乳胶配方和图片(您还可以安全地存储在tex
目录中,您手工制作的其他文档图片 - TeXify不会触及它们)。http://latex.codecogs.com/gif.latex?s%3D%5Ctext%20%7B%20sensor%20reading%20%7D
有一些缺点:链接中的公式不容易(方便)阅读和更新,如果第三方服务会有一些问题,你的旧文档将停止工作...在TeXify你的旧即使您卸载该插件,文档也会一直有效(因为从乳胶公式生成的所有图片都保留在tex
目录中的repo中)。Here is link到我的一些repo,我使用Tezify从README.tex.md文件生成文档。
要在推送到GitHub时自动转换,请查看TeXify应用程序:
GitHub应用程序,用于查找扩展名为* .tex.md的文件,并将其TeX表达式呈现为SVG图像
它是如何工作的(来自source repository):
无论何时推送,TeXify都会在上次提交时运行并搜索* .tex.md文件。对于其中的每一个,它将运行readme2tex,它将把美元符号之间的LaTeX表达式括起来,将其转换为普通的SVG图像,然后将输出保存到.md扩展文件中(这意味着名为README.tex.md的文件)将被处理,输出将保存为README.md)。之后,输出文件和新的SVG图像将被提交并推回到您的仓库。