2012-04-12 785 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)複製並粘貼到打開的文檔中。

相關問題