[R Markdown] 为什么我放弃了用LaTex写作业文档 [20210914 更新] – 未来遗迹

[R Markdown] 为什么我放弃了用LaTex写作业文档 [20210914 更新] – 未来遗迹,第1张

在长久以来用 LaTex 写作业的日子里, 我逐渐意识到了一个问题. 在我写作业文档的过程中, 绝大部分时候是在写数学公式和插入图片, 而不是玩弄 LaTex 的排版技巧. 那么, 为什么我需要为了最长不过十余页的作业文档不停地敲击复杂的, 不直观的, 无法直接预览的LaTex文件呢? 杀鸡焉用牛刀? 为什么不用一些简单但是更高效的工具呢? 抱着这种怀疑, 我搜索到了R Markdown.

Contents [隐藏]

为什么我需要 R Markdown?

LaTex的确很强, 功能很完善, 但是"功能强大"也同时意味着它复杂. 即使有很优秀的自动补全(比如VSC里面的LaTex Workshop), 我仍然需要输入大量额外的字符. 并且LaTex插入图片尤其烦人, 图片的插入和缩放都非常折磨人. 再者, LaTex的编译系统不是很友好, 报错完全报不准. 在长期的使用过程中我感觉到使用LaTex编写小文档是一件实际上很浪费时间的事情. 在相当多的情形下, 我宁愿放弃一些对于排版的控制能力, 来节省排版的时间, 尽快输出想要的结果.

其实之前我就考虑过使用Markdown来写作业, 因为它语法简介直观, 而且大部分Markdown编辑器都可以实时预览. 但是我在Markdown上的尝试受到了两个强大的阻力:

  • Markdown(尤其是带了数学公式的 Markdown) 转 PDF 文件不方便
  • 页眉页脚不方便自定义

对于这两个问题, 我曾经试图使用过Pandoc, 我之前的文章也提到过, Pandoc参数设置复杂, 简单直接的命令行调用带来的文档转换效果并不理想. 但是, 总归是有人早就想到了这些问题, 于是有了 R Markdown.

R Markdown也是利用Pandoc来进行文档转换的, 它的语法以Markdown语法为基础, 支持一些扩展语法, 同时支持直接内嵌 LaTex (可以让hardcore LaTex Player 愉♂悦地玩弄他们那些可有可无的排版技巧). 经过我这几天的实际尝试, 效果非常好, 而且在 Visual Studio Code 中可以直接利用 Markdown 的实时预览功能.

安装 R Markdown 环境

在本文第一次发布的一年多的时间里, 我最终发现, 作为 Windows 用户, 其实把整个工具链(R, Pandoc, LaTex)放到 WSL 中, 才是最方便的. 而至于各个工具要什么版本的, 其实都是其次.

注意! 原本的(推荐用 scoop 安装 MikTex 的)方法经过我自己一段时间的使用之后, 出现了编译异常, 原因在于 MikTex 在下载时有时会彻底卡死, 这一问题既是切换到国内源也依然存在. 在经过多方尝试之后, 转向 tinytex, 这是一个精简版的 TexLive, 很小巧 (150Mb on macOS/Linux and 220Mb on Windows). 当然了, 用 TexLive 也完全没有问题.

对于 Linux 平台(包括 WSL), 通过包管理器安装上述的三个工具即可. 例如在 Ubuntu, 你需要做的是.

sudo apt install r-base pandoc texlive-full

当然其中的 texlive-full 也可以不安装,由 r 的包 tinytex 来代替(安装方法参加下文)。总之保持系统中只有一套 LaTex 环境即可。

对于Windows平台, 如果你使用scoop, 你可以直接在 Power Shell 中运行如下的命令

scoop install r pandoc

这会分别安装 R, Pandoc. (什么? 你不用scoop? 那你可以手动去网站上下载安装)

安装好之后需要打开 R 的交互式 Terminal(如果通过scoop安装, 在Power Shell中需要使用r.ps1来启动, 因为r在PS里面是显示上一条命令), 安装rmarkdown 与 tinytex.

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » [R Markdown] 为什么我放弃了用LaTex写作业文档 [20210914 更新] – 未来遗迹

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情