在R-Studio中使用语法颜色打印

在R-Studio中使用语法颜色打印,r,rstudio,R,Rstudio,在R中,我总是喜欢打印脚本,因为它提供了一个良好的概述,可以调整最终的错误。我喜欢R-Studio中的语法突出显示,因为它有助于阅读和快速理解代码 有没有办法用我在编辑器中看到的突出显示来打印文本?这不是R-Studio解决方案,但会用语法突出显示来打印R源代码。RStudio不会以彩色打印,但很容易将代码保存为PDF;在这种情况下,将保留语法格式。我最喜欢的包装是knitr library(knitr) stitch("file_name.R") 默认输出为.tex格式的PDF/Marku

在R中,我总是喜欢打印脚本,因为它提供了一个良好的概述,可以调整最终的错误。我喜欢R-Studio中的语法突出显示,因为它有助于阅读和快速理解代码


有没有办法用我在编辑器中看到的突出显示来打印文本?

这不是R-Studio解决方案,但会用语法突出显示来打印R源代码。

RStudio不会以彩色打印,但很容易将代码保存为PDF;在这种情况下,将保留语法格式。我最喜欢的包装是knitr

library(knitr) 
stitch("file_name.R")
默认输出为.tex格式的PDF/Markup。如果您不想排版,运行下面的将导出为.html

stitch(script="file_name.R", system.file("misc", "knitr-template.Rhtml", package="knitr"))
简要说明 这是对中此问题的回答,因为问题的最后一行:

有没有一种方法可以用我在中看到的突出显示来打印文本 编辑

因此,我们在这里不仅限于且仅使用Rstudio软件

在探索了@rrg给出的令人敬畏的答案并意识到它逐行运行代码后,我在他的答案下面写了一条评论并继续谷歌搜索。我的问题是,我编写的代码太大,运行起来非常耗时,因此为了获得语法突出显示的版本而运行它是不可行的

大多数在线解决方案都涉及到notepad++这是一个Windows应用程序,我是一个专门的Linux用户,所以我寻找了一种在Linux(可能还有Mac)中实现这一点的方法

我解决问题的方法是: 受此启发,我使用著名且深受喜爱的Vim将R转换为语法突出显示的HTML,然后因为您可以在浏览器中打开HTML,您可以使用它做任何您想要的事情(打印、屏幕截图等)

  • 在Vim中激活synax高亮显示:

    • 开放式终端
    • 然后通过键入
      vim~/.vimrc
    • 按键盘上的i键进入“插入模式”
    • 使用键盘上的箭头键转到文件末尾
    • 在文件末尾键入语法
    • 现在您需要保存并退出。为此,您需要按键盘上的Esc按钮退出“插入模式”,然后键入
      :x
      ,然后按Enter键保存并关闭文件
    • 如果要更改语法高亮显示的颜色方案,请访问
  • 从终端用Vim打开文件:

    vim YOUR_FILE_PATH
    
  • 在vim中打开R代码后,如果愿意,可以按Esc键打开行号,然后写入
    :set number
    并按Enter键

  • 要将R转换为HTML,请按Esc键以确保未处于“插入模式”,然后键入
    :TOhtml
    ,然后按Enter键。这将导致在终端中有一个拆分窗口,一半是您的R代码,另一半是您的新HTML代码id

  • 要保存文件,请在键盘上键入两次
    :x
    和Enter按钮以保存两个文件(如果您没有在R文件中键入任何额外内容,则R文件将保持不变,并且您的HTML文件将在R代码附近以相同的名称创建)

  • 现在用你最喜欢的浏览器打开它(在我的例子中是Vivaldi),然后做你想做的任何事情(在我的例子中是将整个HTML转换成PNG)

  • 对于那些使用Mac电脑(因此无法使用记事本++)的用户来说,剪切和粘贴到Xcode并从Xcode打印也可以

    正如Ron Jensen之前的评论一样,这不是R Studio的解决方案,但为了“让它工作起来”,我希望这对某些人有所帮助

    最佳方式:
    下载并粘贴r代码。然后选择语法突出显示Xcode

    这已被修改为
    stitch(script=“file\u name.R”)
    注意
    script
    而不是
    file
    这可能是迄今为止最好的解决方案,但问题是它运行代码。我的代码运行起来非常耗时,我只想突出显示3k行代码的语法。有什么解决办法吗?那么你得到的颜色和RSTUDIODEOE中的完全一样,对R不起作用code@jzadra我又检查了一遍,它对甲烷仍然有效,你是对的。当我选择XCode时,我希望它在粘贴代码的文本框中发生变化。我看不出来,但在打印时会发生变化。@jzadra是的,这是一种奇怪的行为。