如何将LaTeX与Markdown混合使用?

Nor*_*sey 174 html markdown latex mathematical-typesetting

我一直在使用Markdown作为课堂笔记,这很棒.我甚至对Markdown做了一些预处理,所以我可以做像桌子这样的事情.但是这个学期我正在教一个有很多数学的课,而且我很乐意将LaTeX公式与Markdown一起使用,如下所示:

The refinement relation is written $a \sqsubseteq b$, which can be 
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Run Code Online (Sandbox Code Playgroud)

我希望能够获取LaTeX的每个片段并将其预处理成一个很好的抗锯齿PNG文件,然后我可以通过HTML <img>标记将其包含在我的Markdown中.但我完全不知道如何拍摄LaTeX片段并获得一个漂亮的图像

  • 有合适的边界框
  • 是抗锯齿的

我所知道的是如何获得DVI,PostScript或PDF格式的完整页面.

我确定这个问题已得到解决,但我无法猜出正确的搜索条件.有任何建议如何解决或在哪里寻找现有的解决方案?


编辑:安装了mathTeX之后,我可以说代码是不灵活的,它违反了Linux文件系统层次结构标准,而且它是业余工作 - 无论是好词还是坏词.代码非常复杂,没有明显的错误.我会寻找替代品.

此外,很明显,在底部,解决方案是基于dvipng.


一年之后:我从来没有得到过我一直希望的无缝集成,但我一直在用自己设计的脚本跛行.事实证明,而不是dvipng它更容易使用dvips -EconvertImageMagick 的程序.这样做的好处是可以稍微控制缩放等内容,并且可以轻松实现透明背景.好奇的人可以检查这个例子.

我不能向任何人推荐这个解决方案.但我不能推荐MathTeX.

Ant*_*dez 72

你试过Pandoc吗?


duf*_*ymo 41

也许mathJAX就是票.它建立在2004年份的JavaScript库jsMath之上.

截至2015年2月5日,我转而推荐KaTeX - 来自可汗学院的最高性能的Javascript LaTeX库.


fom*_*mil 23

将以下代码添加到Markdown文件的顶部以获得MathJax渲染支持

<style TYPE="text/css">
code.has-jax {font: inherit; font-size: 100%; background: inherit; border: inherit;}
</style>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [['$','$'], ['\\(','\\)']],
        skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] // removed 'code' entry
    }
});
MathJax.Hub.Queue(function() {
    var all = MathJax.Hub.getAllJax(), i;
    for(i = 0; i < all.length; i += 1) {
        all[i].SourceElement().parentNode.className += ' has-jax';
    }
});
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML-full"></script>
Run Code Online (Sandbox Code Playgroud)

然后`$ x ^ 2 $`或`$$ x ^ 2 $$`将按预期呈现:-)

如果您不想使用在线分发,则可以随时安装本地版本的MathJax,但您可能需要通过本地Web服务器来托管它.

更新:这些天我只使用pandoc而不是规范降价,但上述内容仍然有用.


Cha*_*art 11

我会用反问题回答你的问题......

您如何看待Org-mode?它不像Markdown那样纯净,但它与Markdown一样,我觉得它很容易使用,它允许嵌入Latex.参看 http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html

后记

如果你没有看过org-mode,它有一个强大的力量作为Markdown的通用"自然标记语言",即它对表的处理.来源:

| 1 | 0 | 0 |
| -1 | 1 | 0 |
| -1 | -1 | 1 |

代表你认为它会...

Latex使用tex-mode的预览乳胶进行渲染.


Mic*_*ica 8

你应该看看multimarkdown http://fletcherpenney.net/multimarkdown/

它支持元数据(标题,关键字,日期,作者等),表格,asciimath,mathml,我敢肯定你可以在那里粘贴乳胶数学代码.它基本上是降价的扩展,以添加所有这些其他非常有用的功能.它使用XSLT,因此您可以轻松地制作自己的LaTeX样式,并直接进行转换.我一直都在使用它,我非常喜欢它.

我希望减价只会包含多标记.这会很不错.

编辑:Multimarkdown将生成html,latex和一些其他格式.html可以附带您选择的样式表.它也将转换为MathML,如果我没记错的话,会在Firefox和Safari/Chrome中显示.


rsa*_*acc 6

RStudio有一个很好的免费IDE,允许Markdown和LaTeX.


Ign*_*ams 5

您可能会发现mimeTeX有用。

  • 继任者mathTeX看起来更好--很明显,“ dvipng”是主力军。感谢您的指导!+1 (2认同)

mat*_*att 5

kramdown正是你所描述的:

https://kramdown.gettalong.org/syntax.html#math-blocks

它比Markdown更可靠,定义更明确.