Github上README.md文件中的Latex渲染

227

有没有办法在GitHub存储库的README.md中呈现LaTex?我已经搜索了Google和Stack Overflow,但似乎没有一个可行的答案。


1
这是不可能直接实现的。您是否有特定需要使用LaTex的事情?例如,如果您想要数学方程式,可能可以通过一些特定的技巧来实现。告诉我们您想呈现什么,也许有人能够指出一个解决方法。 - Waylan
2
是的,我想要数学方程和对齐方程,以及内联数学符号。就这样。 - user90593
2
你考虑过使用Jupyter笔记本吗?现在甚至可以插入Python代码 ;) - Charlie Parker
6
GitHub自2022年5月起支持Latex/MathJax。 - VonC
显示剩余3条评论
18个回答

1
我一直在寻找答案,发现在另一个问题中这个答案最适合我。即使用githubcontent数学渲染器,例如显示: enter link description here 使用此链接需注意LaTeX需要进行URL编码,但对我来说效果还不错。

1
你可以使用持续集成服务(例如Travis CI)来渲染LaTeX并将结果提交到Github。每次新的提交后,CI都会部署一个“云”工作器。该工作器将您的文档编译为pdf,并使用ImageMagick将其转换为图像,或者尝试使用PanDoc将LaTeX-> HTML转换(成功可能取决于您的文档)。然后,工作器将图像或html提交到您的存储库中,在那里它可以显示在自述文件中。

下面是一个示例TravisCi配置,用于构建PDF,将其转换为PNG并将其提交到您存储库中的静态位置。您需要添加一行来获取pdfconverts PDF到图像

sudo: required
dist: trusty
os: linux
language: generic
services: docker
env:
  global:
  - GIT_NAME: Travis CI
  - GIT_EMAIL: builds@travis-ci.org
  - TRAVIS_REPO_SLUG: your-github-username/your-repo
  - GIT_BRANCH: master
# I recommend storing your GitHub Access token as a secret key in a Travis CI environment variable, for example $GH_TOKEN.
  - secure: ${GH_TOKEN}
script:
- wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
- chmod +x latexdockercmd.sh
- "./latexdockercmd.sh latexmk -cd -f -interaction=batchmode -pdf yourdocument.tex -outdir=$TRAVIS_BUILD_DIR/"
- cd $TRAVIS_BUILD_DIR
- convert -density 300 -quality 90 yourdocument.pdf yourdocument.png
- git checkout --orphan $TRAVIS_BRANCH-pdf
- git rm -rf .
- git add -f yourdoc*.png
- git -c user.name='travis' -c user.email='travis' commit -m "updated PDF"
# note we are again using GitHub access key stored in the CI environment variable
- git push -q -f https://your-github-username:$GH_TOKEN@github.com/$TRAVIS_REPO_SLUG $TRAVIS_BRANCH-pdf
notifications:
  email: false

这个Travis Ci配置启动了一个Ubuntu工作器,下载一个latex docker镜像,将您的文档编译为pdf并提交到名为branchanme-pdf的分支。
更多示例请参见此github repo其相应的sx讨论, PanDoc示例, https://dfm.io/posts/travis-latex/,以及Medium上的此篇文章

0

0

0

好消息! 根据这个博客文章,现在GitHub支持在readme文件中使用Mathjax。

您可以使用行内LaTeX语法,使用$分隔符,或者使用$$分隔符进行块内操作。


2
是的,我在这里详细说明了(https://dev59.com/T2gu5IYBdhLWcg3wing4#72310304)。 - VonC

0
你也可以看一下我的工具latexMarkdown2Markdown,它可以将LaTeX转换为SVG,并生成带有章节编号的目录表。

-1

你可以使用Markdown,例如

![equ](https://latex.codecogs.com/gif.latex?log(y)=\beta_0&space;+&space;\beta_1&space;x&space;+&space;u)

代码可以在这里输入:https://www.codecogs.com/latex/eqneditor.php


-3

编辑:正如germanium所指出的那样,它不适用于README.md,但适用于其他git页面,尽管没有解释。

我的快速解决方案是:

步骤1. 将latex添加到您的.md文件中

$$x=\sqrt{2}$$

注意:数学公式必须使用$$...$$或\\(... \\)

步骤2. 将以下内容添加到您的scripts.html或主题文件中(在末尾追加此代码)

<script type="text/javascript" async

src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">

完成!通过加载页面查看您的等式。


3
scripts.html 文件是什么?我在 GitHub 的功能中找不到任何关于它的参考资料。 - Jay Lemmon
你有主题文件(Jekyll主题文件)吗?这段代码用于在Git页面中显示LaTeX。 - CKM
6
需要澄清的是,这只适用于Git页面,而不是常规存储库中的README.md文件。 - germanium
@germanium,你能解释一下为什么README.md上不起作用吗?如果你读了我上面的评论,它说的是git pages。 - CKM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接