我的观点是:不可能替代。其实只要认真的思考一下什么是排版,了解过一些印刷排版的资料,有过排版长文甚至书籍的经历,在 LaTeX 中遇到过一些难以解决的棘手问题,应该会对什么是排版有所感觉,就会知道 LaTeX 不能替代的地方在哪里。因为“排版”不等同于“结构标记”。详细的说,仅仅从论文写作的角度来说,也就是说,只是把把想要写的内容用电脑敲出来,该画的图画出来,该计算的结果计算出来,从这个意义来讲,Markdown+R 倒是可行,这其实也是每个作者希望的方式,其实也应该是开发者所追求的的目标——内容与格式的分离、计算结果直接输出至文档。但就现在的情况以及未来的趋势来看,我认为Markdown+R或者+其他的某种科学计算语言(比如 SageTeX、SciPy)或者绘图程序(比如 TeXGraph、Gnuplot)不能成为 LaTeX 的替代,因为他们做的事情是书写加上简单的标记。另外需要提到的是,像这种把写作与计算相结合的尝试非常多,我觉得 R 在这里并不是关键,除了前面提到的几个例子,TeXmacs、Scientific Workplace都支持直接在写作中计算、绘图等,MATLAB 甚至直接在 MS Word 中边写文章边计算,而且用 Mathematica 直接书写效果也是差强人意。不过,他们还是无法替代 LaTeX 最为排版工具的地位(他们涉及的只是最简单的标记或者最基础层次的排版,无法对版面、文字等进行精细的设置、调整)。其实,我们现在的目标格式都是 PDF,说白了,那个 LaTeX 代码也是一个中间过程,我们希望的结果是:作者用简单的标记语言(比如Markdown)书写,再加上一些科学计算语言使得我们可以把计算的结果也直接得到,然后生成“排版”规范的科技文献的PDF。纵观现在各种实现方式,最后一步都是拿 (La)TeX 来完成的(当然要出去TeXmacs、Mahtematica和Scientific Workplace),其实机器生成的 (La)TeX 代码也非常有有限,难道大家认为直接写的 (La)TeX 代码都不一定能排版好的文章,难道用这二手的机器生成的 (La)TeX 代码就完美的解决了?如果要排版,还是需要手工调整 (La)TeX 代码。如果排版要求不高,自己看的话,工作量不是很大,还可以接受,毕竟 (La)TeX 的标记要稍稍繁琐一些。但是如果是比较长的文章,对真正意义上的排版比较讲究的话,这个工作量就大了,甚至要比直接写 LaTeX 代码更加麻烦。所以说有一定的使用价值,毕竟标记简单,但是局限性很大,不能替代 LaTeX 的地位。再来扯淡一些:我们来看看Markdown 是什么:“Markdown” is two things: (1) a plain text formatting syntax; and (2) a software tool, written in Perl, that converts the plain text formatting to HTML. 它的哲学是:The overriding design goal for Markdown’s formatting syntax is to make it as readable as possible. The idea is that a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions. 这是原始的 Markdown 语法(标记)以及转换程序(markdown.pl)。可以看出,他最初不是用来排版的,只是一些简单的格式化,并且希望能够只用纯文本就可以清晰的体现格式,让标记显得自然。后来Markdown由于它的这种简洁易用火了,但同时也发现了它在很多方面的不足,尽管可以直接书写 html 来实现更多的标记,但大家自然是不肯局限于此的,于是结合已有的 org-mode、rst 等等标记,又有了很多的拓展和变种。比如 Markdown Extra, MultiMarkdown, Maruku, kramdown, Pandoc Markdown, Github Markdown, Stackexchange Markdown 等等。他们在标记以及转换程序上都有做出了很多的修改,而且可以支持各种不同的输出格式。我最喜欢的也是我认为最有前景的 Pandoc,在 Markdown 的基础之上做出了非常多的扩展,包括跟 LaTeX 的结合、各表表格、参考文献、交叉引用、页眉页脚、图表标题都可以实现,但即使这样,作为论文排版这就够了吗?而且,在加入这这些复杂的东西之后,可以明显感觉到,原文本并不能很好的遵循最初的设想(a Markdown-formatted document should be publishable as-is, as plain text, without looking like it’s been marked up with tags or formatting instructions)了。只是又造了一个轮子而已,而且还造的功能不全。一般大家仅仅认为TeX只是一种标记,加粗、倾斜、章节、插图、超链接等等,特别的,感觉它只是对数学公式的一个标记,于是就认为这些东西 Markdown(加上扩展) 都可以做到,这其实是对“排版”这个词的认识太有限。也正是这一点使大家认为 Markdown 就可以替代 LaTeX 了。TeX 作为一个排版程序大大家都不怎么关注,这确实也不是一般作者需要关注的东西,但是它确实在那里,有其难以撼动的的地位。实际上前面说了,如论如何,我们最终的排版是交给 TeX 来完成的,如果直接写的 LaTeX 代码都难以很好的完成,二手代码就更难了,一些机械化的东西可以由转换来实现(比如生成表格的代码),但是排版并不完全是机械性的劳动。大家熟悉的网页的内容的排版工作,是由浏览器完成的,标记 HTML + 样式 CSS + 辅助的程序 JS 然后就可以完成排版了,也有一些利用TeX算法来完成网页排版的JS,比如 hyphenator.js,但是网页排版跟印刷排版毕竟不同,搞网页标准化的人希望能能够搞定实际的印刷排版,但是现在来看,还是很幼稚。网页内容的排版离印刷排版还有很大的差距,将来如何我不好作评论。