web-dev-qa-db-fra.com

Comment préserver le formatage de rstudio lors du copier/coller dans Word?

Nouveau sur R, Rstudio et SO - toutes mes excuses pour les faux pas.

Je souhaite reproduire mon code dans Word 2010 pour un devoir. Les scripts ont été écrits en rstudio et je voudrais conserver le formatage de rstudio lors du collage dans Word. J'aime principalement les couleurs de police et l’espacement utilisé par rstudio. Je constate que lorsque je colle de SAS vers Word, la mise en forme est préservée, mais pas de dés ici.

Je chercherais habituellement des options spéciales copier/coller spéciales pour le faire, mais je n'en trouve pas. Lorsque j'essaie de coller des éléments spéciaux dans Word, seules les options de texte non formatées sont présentées. Je préférerais ne pas reformater le texte ligne par ligne, car je pense qu'il a l'air plutôt sympa en ré-studio.

J'ai pensé à essayer de sauvegarder le script dans rstudio dans un format qui préserverait sa mise en forme, mais je n'ai trouvé aucun moyen de le faire. Est-ce que quelqu'un a une idée de comment je pourrais retirer ceci?

Merci d'avance

25
dubhousing

Il est difficile de savoir si vous collez depuis l'éditeur de script de RStudio (qui contient 4 ou 5 couleurs) ou depuis la console R (script + sortie) dans RStudio (qui n'a que 2 couleurs).

Si vous collez depuis la console, cochez à nouveau "Collage spécial". Il devrait y avoir une option pour "Format HTML" qui fera ce dont vous avez besoin (bien que vous deviez peut-être redimensionner la police pour que tout soit bien ajusté en fonction des marges de votre page). 

Si vous collez à partir de l'éditeur de script, vous n'avez pas de chance avec une solution directe de copier-coller. Mais il existe une solution copier-coller-coller-copier-coller ...

Une solution pourrait être d'utiliser Notepad ++ . Dans RStudio, enregistrez votre script (avec une extension ".R"), puis ouvrez-le dans Notepad ++. (Ou copiez et collez de RStudio vers Notepad ++, mais assurez-vous de définir la langue du fichier - à partir du menu "Langue" - sur R). Lorsque votre script est correctement mis en surbrillance dans Notepad ++, accédez au menu "Plug-ins> NppExport> Copier HTML dans le presse-papier" pour copier le fichier ouvert. Cela peut ensuite être collé dans MS Word avec le format HTML.

29

Juste au cas où quelqu'un d'autre cherche cette question ...

Une autre façon d’avoir tout le code source dans un document Word avec un beau format à l’aide de RStudio consiste à utiliser l’option File/Compile Notebook, en choisissant MS Word comme format de sortie.

En utilisant cette option, un document .docx sera généré avec la sortie de votre script ainsi que le code source original. Le script sera exécuté, cependant.

Si vous ne voulez pas que votre code soit évalué (vous voulez juste un simple copier-coller), vous pouvez ajouter #+eval=FALSE au début de votre script et le code source sera alors reproduit dans le document Word sans évaluation.

Cette approche repose sur knitr . Voici un exemple si quelqu'un veut commencer à jouer avec cela.

#' ---
#' 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

16
zeehio

En supposant que vous avez un accès Internet

  1. Copier et coller dans Gist.gisthub.com
  2. Sélectionnez 'R' comme langue - cela devrait fournir des couleurs
  3. Hit créer (secret ou public) Gist
  4. Copiez et collez de Gist dans votre traitement de texte.

Par rapport à la solution notepad ++:

  • Une sauvegarde en ligne de votre code, avec un enregistrement de l'heure à laquelle vous l'avez coupé.
  • Vous n'avez pas besoin d'installer un autre logiciel, utile si vous êtes un étudiant utilisant un ordinateur public.
8
sfuj

Si vous avez juste besoin du code tel que formaté: 

Étape 1: Ajoutez simplement # + eval = FALSE au début de votre code.

Étape 2: Ensuite, allez dans Fichier -> Document tricoté. Compilez le fichier dans msword/PDF/Html.

OR

Ajoutez simplement # + eval = FALSE au début de votre code.

Appuyez sur CTRL + MAJ + K, puis compilez le fichier au format msword/PDF/Html.

Si vous avez besoin du code avec sortie, n'entrez pas, ajoutez # + eval = FALSE au début de votre code et effectuez directement l'étape 2.

1
sumeet kumar

Je suis d'accord avec zeehio que l'utilisation de Knitr est probablement la meilleure option. Mais une autre méthode consiste à utiliser l’outil Pretty R et les étapes "ouvrir le texte du document" ici . En gros, copiez et collez votre code dans R, puis copiez et collez le résultat (pas le code HTML) dans le document ouvert.

1
Scott Worland

Après avoir copié et collé dans la fenêtre de la console Rstudio dans un document Word, vous devez mettre en surbrillance tout le texte que vous venez de copier et changer la police en Courier New. Cela vous donnera le même espacement et la même configuration que dans la fenêtre de la console Rstudio.

0
Schumacher