美文网首页RR语言
R Markdown转pdf

R Markdown转pdf

作者: TOP生物信息 | 来源:发表于2019-09-27 21:06 被阅读0次

    不记得这是我第几次尝试了,总之肯定在5次以上,在此之前花了很多时间也没有搞出来。本来rmarkdown转Word和HTML已经很好很简单了(点击knit就行),但总觉得pdf更适合保存和分享。

    在RStudio IDE中完成rmd2pdf的转换,需要配置一个LaTex环境,我用的MikTeX。有地方说还需要下载Pandoc,其实并不需要,因为RStudio含有Pandoc(的功能)。

    MikTeX的下载很简单,到官网可以直接下载(
    https://miktex.org/download),下载过程中按照默认设置即可,这样不需要额外添加至PATH环境变量。下载完成后,到终端输入pdflatex --helpxelatex --help看有没有反应。

    在RStudio中点击新建R Markdown文件

    编辑界面和一般的markdown编辑差不多,比较特别的有上方的YAML部分,和R语言的Chunk代码块。YAML部分很重要,以后有机会重点学一下。

    假设我已经编辑好了,准备保存+展示了,点击Knit选择展示形式。HTML, Word这两个基本不会报错,直接用,pdf可能就要花些时间了(即使你已经下载了MikTeX)。

    如果选择Knit to PDF之后报错,类似这样:

    Error: Failed to compile 1.tex. See https://yihui.name/tinytex/r/#debugging for debugging tips.
    In addition: Warning message:
    In readLines(logfile) : incomplete final line found on '1.log'
    Execution halted
    

    不用想原因了——想不出来的,这种报错反正我是看不懂什么原因。只能靠搜索了。

    我用百度搜了很久,没有找到一个正确的答案,换了bing搜索,没想到第一个就是这个,当然是英文的,
    https://stackoverflow.com/questions/55398823/r-markdown-wont-knit-to-pdf。再一次证明,百度药丸。

    根据提示,设置一下MikTeX。我照做了,于是这个问题就解决了。

    现在你可以愉快地转pdf了。

    (只是用来做个示范,这个pdf不是我写的)

    这里还有一个问题,就是如果rmd中有中文,会报出新的错误,类似:

    ! Package inputenc Error: Unicode character 榛?(U+9EC4)
    (inputenc)                not set up for use with LaTeX.
    

    这是我后面要解决的问题。


    回过头来看,这个格式转换的问题其实也是一个搜索的问题,高效准确的搜索能节省你很多时间。什么叫高效准确的搜索:用英文描述你的问题,上Google或是bing。

    相关文章

      网友评论

        本文标题:R Markdown转pdf

        本文链接:https://www.haomeiwen.com/subject/lmwauctx.html