2015-01-10 14 views
5

Ich versuche herauszufinden, welche Befehl und Standardoptionen RStudio verwendet, wenn Sie die Schaltfläche "HTML stricken" in RStudio Version 0.98.1091, weil ich eine etwas andere Zwischenabschrift-Datei bekomme, wenn ich die knit() Funktion von der Konsole ausführen.Was macht "Knit HTML" in Rstudio 0.98?

Insbesondere wenn ich die folgenden Header für die R Abschlags-Datei:

--- 
title: "Report Title" 
author: Daddy the Runner 
date: "`r format(Sys.time(), '%A, %B %d, %Y')`" 
output: 
    html_document: 
    keep_md: true 
--- 

ich folgende Abschlags-Datei zu erhalten, wenn die "Knit HTML" Taste:

# Report Title 
Daddy the Runner 
`r format(Sys.time(), '%A, %B %d, %Y')` 

Wenn ich ausführen der folgende Befehl ein: knit("myReport.Rmd"), erhalte ich die folgende Abschlags-Datei:

--- 
title: "Report Title" 
author: Daddy the Runner 
date: "Saturday, January 10, 2015" 
output: 
    html_document: 
    keep_md: true 
--- 

Natürlich erzeugt die RStudio-Schaltfläche die Zwischenabschriftdatei mit einigen anderen Optionen, aber ich kann keine Informationen darüber in den RStudio-Dokumenten finden.

Das Hauptproblem ist die Datumszeile. Aus irgendeinem Grund führt RStudio den Inline-R-Chunk nicht in der Kopfzeile aus, wenn die Markdown-Datei erstellt wird. (Es wird jedoch ausgeführt, bevor der endgültige HTML-Code erzeugt wird.) Dagegen führt der Funktionsaufruf knit() den Inline-Chunk beim Generieren der Markdown-Datei aus.

Der einzige andere Unterschied, den ich in den zwei Markdown-Dateien bemerkte, ist die Erstellung von Plots. Die beiden Methoden erzeugen Grafiken unterschiedlicher Größe (Befehlszeile: 504 x 504) versus (Schaltfläche: 672 x 480) und legen sie in verschiedenen Verzeichnissen ab.

Ich versuchte die Empfehlung in dieser What commands are run when pressing "Knit HTML" on an R Markdown file in Rstudio 0.96? Frage, um einen Sys.sleep(30) Anruf einzufügen, aber das gab keine Informationen darüber, welchen Aufruf RStudio verwendet, um das Dokument zu stricken. Es hat die Ausgabe im R Markdown-Konsolenfenster angehalten, was unnötig war, weil RStudio die gesamte Ausgabe trotzdem behält. Was ich in der Ausgabe nicht sah, war der Befehl RStudio.

Jeder Einblick in die Natur dieser Unterschiede würde sehr geschätzt werden. Während ich gerne IDE-Umgebungen und die Annehmlichkeiten, die sie bieten, verwende, mag ich es wirklich zu verstehen, was sie tun, damit ich ihr Verhalten besser vorhersehen kann.

+3

iirc, 'knitr :: knit' wenn Stricken erforderlich ist, dann' rmarkdown :: render' die pandoc mit Optionen nennt – rawr

+0

@rawr Sie richtig in Erinnerung hatte. Ich konnte die RStudio-Ergebnisse mit rmarkdown :: render reproduzieren und es gab eine umfangreiche Liste von Pandoc-Optionen, die in der Konsolenausgabe angezeigt wurden. Danke für Ihre Hilfe. –

+3

Einer von Ihnen kann den Kommentar als Antwort kopieren und einfügen, und der OP kann ihn als akzeptiert markieren. –

Antwort

0

Als ich im RMarkdown Registerkarte (rechts Registerkarte Konsole) zu buchen, es sieht aus wie sie knitr::knit laufen und dann eine ziemlich beteiligt pandoc Shell Linie

/usr/local/lib/rstudio/bin/pandoc/pandoc filename.utf8.md --to html --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash-implicit_figures --output filename.html --smart --email-obfuscation none --self-contained --standalone --section-divs --table-of-contents --toc-depth 3 --template /home/me/R/i686-pc-linux-gnu-library/3.1/rmarkdown/rmd/h/default.html --variable 'theme:flatly' --include-in-header /tmp/user/1001/RtmpKz5GnI/rmarkdown-str3bba3848bd7b.html --mathjax --variable 'mathjax-url:https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML' --no-highlight --variable highlightjs=/home/cd/R/i686-pc-linux-gnu-library/3.1/rmarkdown/rmd/h/highlight

Vom ersten /usr/local/lib/rstudio/bin/pandoc/pandoc ich daraus schließen, dass sie bringen ihre eigenen pandoc, wahrscheinlich Verdoppelung ist besser als Debugging, um nett mit allen idiosynkratischen pandoc Versionen zu spielen.


mir So wie es aussieht RStudio tut folgendes:

  1. stricken
  2. pandoc mit ihren speziellen pandoc Version und eine Menge Fahnen

und Schritt # 2 ist wo die Interpretation Ihrer Kopfzeile

--- 
title: "Report Title" 
author: Daddy the Runner 
date: "`r format(Sys.time(), '%A, %B %d, %Y')`" 
output: 
    html_document: 
    keep_md: true 
--- 

passiert.

HTH.

3

Wie @rawr wies in den Kommentaren aus:

rmarkdown::render('your_document.Rmd', 'html_document', 'new_titel.html') 

Werke und schafft das gleiche Dokument wie die Knit HTML Taste.

0

Ich glaube, es nutzt derzeit die html_document Funktion im RMarkdown Paket