我一直在用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$".

我希望能够将LaTeX的每个片段预处理为一个不错的反锯齿PNG文件,然后通过HTML <img>标记将其包含在我的Markdown中。但我完全不知道如何获取LaTeX的片段并得到一张漂亮的图像

有正确的边界框吗 是平滑

我只知道如何获得DVI、PostScript或PDF格式的完整页面。

我相信这个问题已经解决了,但我还没能猜出正确的搜索词。有什么建议如何解决它或在哪里寻找现有的解决方案?


编辑:在安装了mathTeX之后,我可以说代码是不灵活的,它违反了Linux文件系统层次结构标准,而且它是业余工作——从这个词的好坏两方面来看都是如此。代码非常复杂,没有明显的错误。我会寻找替代方案。

此外,很明显,在底层,解决方案是基于dvipng的。


一年后:我从来没有得到我一直希望的无缝整合,但我在自己设计的剧本上蹒跚前行。事实证明,使用dvips -E和ImageMagick的转换程序而不是dvipng更容易一些。这样做的好处是可以更好地控制缩放等事情,并且可以轻松地制作透明的背景。 好奇的人可以看看这个例子。

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


当前回答

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

其他回答

Kramdown的行为和你描述的一样

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

而且它比Markdown更可靠,定义更明确。

可以使用Lunamark代码在Lua中解析Markdown(参见其Github repo),这意味着Markdown可以直接通过Luatex中的宏进行解析,并支持转换为Pandoc支持的许多格式(即,该库非常适合在lualatex, context, Metafun, Plain Luatex和texlua脚本中使用)。

该项目是由Pandoc的作者John MacFarlane发起的,该工具的开发与Pandoc非常接近,并且具有相似的(即优秀的)质量。

Khaled Hosny编写了一个Context模块,提供了方便的宏支持。Michal对“是否有Markdown支持的软件包?”question给出了为Latex提供类似支持的代码。

我用一个反问来回答你的问题……

你对组织模式有什么看法?它不像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 |

代表的只是你所认为的……

乳胶是用texmode的preview-latex渲染成碎片的。

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

它支持元数据(标题,关键字,日期,作者等),表,asciimath, mathml,地狱我相信你可以把乳胶数学代码放在那里。它基本上是一个扩展,以降价添加所有其他非常有用的功能。它使用XSLT,因此您可以轻松地创建自己的LaTeX样式,并直接进行转换。我一直在用它,我很喜欢它。

我希望降价能包括多重降价。那太好了。

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

你在用什么语言?

如果您可以使用ruby,那么maruku可以配置为使用各种latex->MathML转换器处理数学。instki使用这个。也可以扩展PHPMarkdown以使用itex2MML来转换数学。基本上,您可以在Markdown引擎的适当位置插入额外的步骤。

使用ruby和PHP,这就完成了。我想这些解决方案也可以适用于其他语言——我已经得到了itex2MML扩展来生成perl绑定。