2012-04-12 390 views
22

R,Rstudio和SO的新手 - 我对任何失礼提前道歉。如何在复制/粘贴到Word时保留rstudio的格式?

我想在Word 2010中重现我的代码以完成家庭作业。这些脚本是用rstudio编写的,我想在粘贴到Word时保留rstudio的格式。原则上,我喜欢rstudio使用的字体颜色和间距。我发现,当我从SAS粘贴到Word时,格式保留,但在这里没有骰子。

我通常会寻找复制特殊/粘贴特殊选项来做到这一点,但我找不到任何。当我尝试将特殊字符粘贴到单词中时,仅显示未格式化的文本选项。我宁愿不逐行重新格式化文本,因为我认为它在rstudio中看起来相当不错。

我想将rstudio中的脚本保存为某种格式,以保留其格式,但我找不到任何方法来执行此操作。有没有人有一个想法,我可能会把这个关闭?

在此先感谢

+0

StackOverflow用于编程问题。复制和粘贴不是编程,所以你的问题是非常关键的。 – 2012-04-12 17:44:56

+0

乔兰,乔希,对不起,我在这里脱离了话题...仍然习惯了我的环境。是的,我意识到这是一种疯狂,但这正是她想要的。 如果普遍的共识是OT,我会立即删除。 – dubhousing 2012-04-12 17:50:20

+14

我们应该少一点教条。我认为对于开始这项业务的人来说,这很接近编程。 – 2012-04-12 18:14:21

回答

23

从RStudio的脚本编辑器(具有4或5种颜色)或从RStudio(仅有2种颜色)的R控制台(脚本+输出)粘贴是不完全清楚的。

如果您正在从控制台粘贴 - 请再次检查“粘贴特殊”。应该有一个“HTML格式”选项可以满足你的需求(尽管你可能需要调整字体的大小以使页面边距适当)。

如果您是从脚本编辑器粘贴的,那么您使用直接的复制粘贴解决方案时运气不佳。但有一个复制和粘贴和复制和粘贴解决方案...

一个解决方案可以使用Notepad++。从RStudio中,保存脚本(带有“.R”扩展名),然后在Notepad ++中打开脚本。 (或者从RStudio复制并粘贴到Notepad ++,但要确保将文件的语言 - 从“语言”菜单 - 设置为R)。当您的脚本在Notepad ++中正确突出显示时,请转到“插件> NppExport>将HTML复制到剪贴板”菜单以复制打开的文件。然后可以用HTML格式将其粘贴到MS Word中。

+0

太棒了!我正在脚本编辑器中工作,并正在寻找从那里粘贴。没有意识到Notepad ++是那么聪明。非常感谢! – dubhousing 2012-04-13 23:51:40

+0

它确实按预期工作。我将标记为正确 - 没有注意到upvote/downvote按钮下面的选项(我现在还不能使用)。 再次感谢! – dubhousing 2012-04-14 16:12:08

+0

在Windows 10上使用PowerPoint 2016也 – scs 2016-09-21 18:21:10

0

后您从Rstudio控制台窗口复制并粘贴到Word文档中,你需要以突出显示所有刚刚复制的文本,改变字体为宋体。这将为您提供与您在Rstudio控制台窗口中相同的间距和阵容。

+1

差不多。线路之间会有太多空间,因为每个线路都开始一个新的段落。最好的是定义一个样式表代码,并将“after”设置为0pt。 – 2012-04-12 18:16:10

+0

谢谢你们,我会尽量把你们的两条建议联系起来。 – dubhousing 2012-04-12 18:27:59

6

假设你有互联网接入

  1. 复制并粘贴到gist.gisthub.com
  2. 选择“R”作为语言 - 这应该提供颜色
  3. 打造成(秘密或公开)要点
  4. 复制并从要点粘贴到您的文字处理器。

与记事本相比++解决方案:

  • 联机备份到你的代码,用的时候你修剪它时的记录。
  • 如果您是使用公用计算机的学生,则无需安装任何其他软件。
+0

好吧,这真棒。感谢您指出! – dubhousing 2013-08-17 00:11:23

+1

很好的答案。唯一的问题是,也许你不想公开分享你的代码。 – fsmart 2015-07-09 08:18:57

+1

不再工作,他们似乎已经删除了选择您的语言的选项 – stats0007 2017-11-13 02:53:58

13

万一别人寻找这个问题...

另一种方式让所有的源代码使用RStudio是使用File/Compile Notebook选择一个好看的格式在Word文档中,选择MS Word作为输出格式。

使用此选项,将生成一个.docx文档,其中包含脚本的输出以及原始源代码。虽然,脚本将被执行。

如果你不想让你的代码被评估(你只需要一个简单的复制粘贴),你可以在脚本的开头添加#+eval=FALSE,然后源代码将被复制到Word文档中评估。

该方法依赖于knitr。这是一个例子,如果有人想开始玩这个。

#' --- 
#' title: "My homework" 
#' author: John Doe 
#' date: June 15, 2015 
#' output: word_document 
#' --- 

# The header above sets some metadata used in the knitr output 

# Conventional comments are formatted as regular comments 

# Comments starting with "#+" control different knitr options. 

#+echo=FALSE,message=FALSE,warning=FALSE 
library(ggplot2) 


#+echo=TRUE 
#' Comments with a "+" sign are used to tell knitr what should be 
#' done with the chunk of code: 
#' 
#' - echo: Show the original code or not 
#' - eval: Run the original code or not 
#' - message: Print messages 
#' - warning: Print warnings 
#' - error: Print errors 
#' ... 

#' Comments with an apostrophe "'" will be printed as regular text. 
#' This is very useful to explain what you are actually doing! 

# Regular comments can be used to document the code as usual 
# Figures are printed: 
ggplot(mpg, aes(x=cty, y=hwy)) + geom_point(aes(color=class)) 

#' Formatting **options** are possible. 
#' Even [links](http://stackoverflow.com/questions/10128702/how-to-preserve-formatting-from-rstudio-when-copy-pasting-to-word) 
#' 


#' This will show all the packages and versions used to generate this document. 
#' It can be used to make sure that your teacher has all he needs to run your script 
#' if he/she wants to. 
sessionInfo() 

Word document example

0

我zeehio同意使用Knitr可能是最好的选择。但另一种方法是使用Pretty R tool和“打开文档文本”步骤here。基本上只是将你的代码复制并粘贴到漂亮的R中,并将输出(不是html)复制并粘贴到打开的文档中。