Markdown + R 可以替代 LaTeX 完成论文写作吗

如题所述

我的观点是:不可能替代。其实只要认真的思考一下什么是排版,了解过一些印刷排版的资料,有过排版长文甚至书籍的经历,在 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,但是网页排版跟印刷排版毕竟不同,搞网页标准化的人希望能能够搞定实际的印刷排版,但是现在来看,还是很幼稚。网页内容的排
版离印刷排版还有很大的差距,将来如何我不好作评论。
温馨提示:答案为网友推荐,仅供参考
相似回答