有没有办法在README中渲染LaTex ?md在GitHub存储库?我在谷歌上搜索了堆栈溢出,但没有一个相关的答案似乎可行。
当前回答
你可以获得持续集成服务(例如Travis CI)来呈现LaTeX并将结果提交到github。CI将在每次新提交后部署一个“云”worker。工作人员将您的文档编译为pdf,并使用ImageMagick将其转换为图像,或者使用PanDoc尝试LaTeX->HTML转换,其中成功与否可能取决于您的文档。Worker然后将图像或html提交到您的存储库,从那里可以在自述文件中显示。
示例TravisCi配置构建PDF,将其转换为PNG,并将其提交到您的repo的静态位置是粘贴下面。您需要添加一行来获取PDF,将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 worker,下载一个latex docker镜像,将文档编译为pdf,并将其提交到一个名为branchanme-pdf的分支。
要了解更多的例子,请参阅这个github回购及其附带的sx讨论,PanDoc示例, https://dfm.io/posts/travis-latex/,以及Medium上的这篇文章。
其他回答
您还可以看看我的工具latexMarkdown2Markdown,它可以将LaTeX转换为SVG并生成带有章节编号的内容表。
自述文件2Tex
我一直在写一个脚本,它可以自动地把LaTeX排版很好地转换成github风格的markdown: https://github.com/leegao/readme2tex
在Github上渲染LaTeX有一些挑战。首先,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
编辑:正如锗指出的那样,它对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">
完成了!。通过加载页面查看你的等式。
你可以用markdown,例如:
=\beta_0&space;+&space;\beta_1&space;x&space;+&space;u)
代码可以在这里输入:https://www.codecogs.com/latex/eqneditor.php。
自2022年5月以来,这已得到官方支持:
内联:
Where $x = 0$, evaluate $x + 1$
块:
Where
$$x = 0$$
Evaluate
$$x + 1$$
推荐文章
- 了解Git和GitHub的基础知识
- 在GitHub上有一个公共回购的私人分支?
- 只用GitHub动作在特定分支上运行作业
- Git合并与强制覆盖
- 是否有一个链接到GitHub下载文件的最新版本的存储库?
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- Github:我能看到回购的下载数量吗?
- 我如何确定文件编码在OS X?
- 如何运行一个github-actions步骤,即使前一步失败,同时仍然失败的工作
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 在GitHub repo上显示Jenkins构建的当前状态
- 如何取消在github上的拉请求?
- HEAD和master的区别
- 在另一个目录中运行操作
- GitHub克隆与OAuth访问令牌