TeX 相对于 R Markdown 的主要优势是什么?

TeX 相对于 R Markdown 的主要优势是什么?

我最近发现,你可以使用R 降价。似乎有非常好的功能。一些示例:

  • 首先,它直接与统计软件(例如 R Rtudio)集成。因此,您无需使用两个软件(例如 R Studio 和 TeXstudio)。

  • 它与计算机代码(提供语法高亮)和其他自然的 Markdown 功能完美结合

  • 它与 HTML 和其他在线类型的界面完美地集成在一起,因此,你编写的东西提供了一个比 TeX 更通用的平台,主要(但不是唯一)专用于 pdf。

  • 它还允许创建演讲

  • 它接受数学代码,有一个非常简单的书目系统以及它自己的TikZ 等效的花式图包。

现在,使用 (La)TeX 大约 3 年后,我对它非常满意。然而,一个自然而然的问题是,我是否应该开始探索 R Markdown,这不仅仅是因为我也使用 R,而且 R 在很多方面都超越了其他(非免费)软件(例如 Stata、Matlab)。正如我上面给出的几个例子所示,在我看来,R Markdown 最终是 TeX 的直接竞争对手。

所以,与 R Markdown 相比,使用 TeX 有什么好处?(想象一下,你要说服文档排版新手使用 TeX 而不是 R Markdown)。

注意:这是一个严肃的问题,无意冒犯社区中的任何人。我认为,如果有人想参与排版系统比较的辩论,这是一个关键问题。我非常有兴趣听听其他人在这方面的经验。

答案1

如您所知,R markdown 文件可以生成多种格式,但制作 PDF 是通过 LaTeX 导出完成的,正如pandocDavid 指出的那样,所以在这种情况下相当于编写 RStudio 所称的 R Sweave 文件(带有 .Rnw 扩展名,即 R noweb 文件,即带有 Sweave/knitr 块的 LaTeX)。

.Rmd与编写 R Sweave 文件 ( ) 相比,编写 R markdown 文件 ( )的优势.Rnw在于:

  1. Markdown 语法简单。对于未接受过 LaTeX 代码培训的人来说,这是一个很大的优势。

  2. 更容易导出为其他格式。由于 markdown 语法比 LaTeX 简单,因此导出复杂的 LaTeX 代码(其中某些部分在其他标记语言中没有对应部分)会更省事。

但也存在一些缺点:

  1. 又一种 markdown 语法。Markdown 的成功从一开始就受到自身的毒害,产生了无数的 markdown 风格,而且未来还没有无可争议的标准。当我编写一些 markdown 代码时,我经常不完全确定某些代码是否可以在 R markdown 中工作,或者它是否特定于另一种风格。当然,R markdown 具有更完整和通用的语法之一(因为您可以切换到原始 markdown 规范、完整的 pandoc markdown、风味的 GitHub markdown、MultiMarkdown、PHP markdown 或任何仅允许所有可能扩展中的一些自定义变体,如允许/禁止自动链接等),但多功能性与简单性背道而驰,增加了关于如何以及何时可以编写一些 markdown 代码并在 PDF 中获得所需结果的相当多的困惑。

\usepackage在某种程度上,TeX 风格及其通过、 s 或文档类进行的扩展也存在同样的情况\input,但 LaTeX 和最常见的软件包已经足够受欢迎,值得考虑事实上标准。

  1. 即使有了所有扩展,markdown 语法与 LaTeX 相比还是相当有限的。幸运的是,它允许在 YAML 标头中插入 LaTeX 代码和 LaTeX 包,但这样就不再是一种简单的语法,而且,即使使用这种语法也很难获得所需的结果。例如,尝试使用 R markdown 生成一个有两列的 PDF,其中表格和图形是浮点数,其宽度恰好与列的宽度相同,这在 LaTeX 中相当简单。或者尝试在 markdown 中使用主/从文档进行管理。

  2. LaTeX/PDF 输出。Pandoc 在 LaTeX 转换方面表现非常出色,但并不总是您手动编写的代码,也不总是所需的 PDF 输出。如果您最终保留 LaTeX 源代码进行编辑,那么最好的办法就是开始为自己编写一个干净的.Rnw文件。

相关内容